diff options
Diffstat (limited to 'gnu')
102 files changed, 3559 insertions, 2741 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 0c5e68ee08..dd48ceb415 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -542,6 +542,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/orange.scm \ %D%/packages/orpheus.scm \ %D%/packages/ots.scm \ + %D%/packages/oyacc.scm \ %D%/packages/package-management.scm \ %D%/packages/pantheon.scm \ %D%/packages/parallel.scm \ @@ -1182,6 +1183,7 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/d-feet-drop-unused-meson-argument.patch \ + %D%/packages/patches/daemontools-gcc14.patch \ %D%/packages/patches/dante-non-darwin.patch \ %D%/packages/patches/date-ignore-zonenow.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ @@ -1748,6 +1750,7 @@ dist_patch_DATA = \ %D%/packages/patches/libcroco-CVE-2020-12825.patch \ %D%/packages/patches/libcyaml-libyaml-compat.patch \ %D%/packages/patches/libexpected-use-provided-catch2.patch \ + %D%/packages/patches/libgcrypt-arm32-register-pressure.patch \ %D%/packages/patches/libgda-CVE-2021-39359.patch \ %D%/packages/patches/libgda-disable-data-proxy-test.patch \ %D%/packages/patches/libgda-fix-build.patch \ @@ -2035,6 +2038,8 @@ dist_patch_DATA = \ %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/password-store-tree-compat.patch \ %D%/packages/patches/pciutils-hurd64.patch \ + %D%/packages/patches/pcsxr-find-harfbuzz.patch \ + %D%/packages/patches/pcsxr-fix-definitions.patch \ %D%/packages/patches/pdl-2.019-glut-bitmap-fonts.patch \ %D%/packages/patches/pdl-2.100-reproducibility.patch \ %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ @@ -2447,7 +2452,6 @@ dist_patch_DATA = \ %D%/packages/patches/vcmi-disable-privacy-breach.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ - %D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index d3b08323f7..55cf07ab6b 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -25,11 +25,16 @@ (define-module (gnu packages abiword) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (guix download) #:use-module (guix build-system glib-or-gtk) #:use-module (guix gexp) + #:use-module (guix git-download) #:use-module (gnu packages) + #:use-module (gnu packages aspell) + #:use-module (gnu packages bash) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages autogen) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages enchant) @@ -40,30 +45,31 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages ots) + #:use-module (gnu packages perl) #:use-module (gnu packages popt) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) + #:use-module (gnu packages xorg) #:use-module (gnu packages wv) #:use-module (gnu packages xml)) (define-public abiword (package (name "abiword") - (version "3.0.5") + (version "3.0.7") (source - (origin - (method url-fetch) - (uri - ;; XXX: The main site <https://www.abisource.com/> is down. Only a (partial) - ;; mirror is available at <http://www.nl.abisource.com/>. - (string-append "http://www.nl.abisource.com/downloads/abiword/" version - "/source/abiword-" version ".tar.gz")) - (sha256 - (base32 "1d1179pnslijpjhz1q155fsc828rrlqf7lsn2inqsl3hk5z28mqj")) - (patches - (search-patches "abiword-explictly-cast-bools.patch")))) - + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/AbiWord/") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hp11vdfm70n840ib19szxkibfs0v1hhklslz4xipfwrdvpwk1km")) + (patches + (search-patches "abiword-explictly-cast-bools.patch")))) (build-system glib-or-gtk-build-system) (arguments ;; NOTE: rsvg is disabled, since Abiword (list #:configure-flags ;; supports it directly, and its BS is broken. @@ -80,6 +86,7 @@ "pdb " "pdf " "presentation " "s5 " "sdw " "t602 " "urldict " "wikipedia " "wml " "xslfo") "--enable-introspection" + "--enable-scripting" (string-append "--with-gir-dir=" #$output "/share/gir-1.0") @@ -93,22 +100,34 @@ ;; Manually starting the X server before the test phase did not help ;; the tests to pass. #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; FIXME: Use #:bootstrap-scripts instead. + (add-before 'bootstrap 'bootstrap-common + (lambda _ + (substitute* "autogen-common.sh" + (("/bin/sh") + (string-append + #$(this-package-native-input "bash-minimal") + "/bin/sh")))))) #:make-flags #~(list "gtk_update_icon_cache=true"))) (inputs - (list boost + (list aspell + boost enchant fontconfig fribidi - glib goffice gtk+ + libgcrypt libchamplain libglade libgsf libjpeg-turbo libpng (librsvg-for-system) + libxft libxml2 libxslt ots @@ -118,13 +137,22 @@ wv zlib)) (native-inputs - (list gobject-introspection + (list `(,glib "bin") + autoconf + autoconf-archive + autogen + automake + bash-minimal + findutils + grep intltool - `(,glib "bin") libtool + perl pkg-config - python-wrapper)) - (home-page "http://www.nl.abisource.com/") + python-wrapper + sed + gobject-introspection)) + (home-page "https://gitlab.gnome.org/World/AbiWord/") (synopsis "Word processing program") ;; HACKERS: The comment below is here so that it shows up early in the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7012b5dd3b..237f0e02a8 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -269,7 +269,8 @@ usual file attributes can be checked for inconsistencies.") "daemontools-" version ".tar.gz")) (sha256 (base32 - "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5")))) + "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5")) + (patches (search-patches "daemontools-gcc14.patch")))) (build-system gnu-build-system) (arguments (list #:tests? #f ;; No tests as far as I can tell. @@ -4641,7 +4642,7 @@ information tool.") (define-public fastfetch (package (name "fastfetch") - (version "2.48.1") + (version "2.49.0") (source (origin (method git-fetch) @@ -4650,7 +4651,7 @@ information tool.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gzpmc7vx5dqfjbga6facfqxybgb1hps6h2y9blngjwsskicsi7v")) + (base32 "1mka26ga6jmrimkl93xf97pg8y1k3b41vsb3ds61wi6n257daprk")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "src/3rdparty"))))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index a96b4661fd..745120b85c 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1967,6 +1967,50 @@ support for reading and writing various compression algorithms including: @url{http://facebook.github.io/zstd/,Zstandard}.") (license license:bsd-3)))) +(define-public python-asdf-transform-schemas + (hidden-package + (package + (name "python-asdf-transform-schemas") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "asdf_transform_schemas" version)) + (sha256 + (base32 "0clp3a2ldfhvsh5c7zqd7nr2bvv62a89aaf8p4a2vzgzjvhghl0g")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Check why all tests fail in this file. + #:test-flags #~(list "--deselect=tests/test_invalid.py"))) + (native-inputs + (list python-asdf-bootstrap + python-pytest + python-setuptools-next + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-asdf-standard)) + (home-page "https://github.com/asdf-format/asdf-transform-schemas") + (synopsis "ASDF schemas for transforms") + (description + "This package provides ASDF schemas for validating transform tags. +Users should not need to install this directly; instead, install an +implementation package such as asdf-astropy.") + (license license:bsd-3)))) + +(define-public python-asdf-transform-schemas-bootstrap + (hidden-package + (package/inherit python-asdf-transform-schemas + (arguments + (list #:tests? #f + #:phases #~(modify-phases %standard-phases + (delete 'sanity-check)))) + (native-inputs + (list python-setuptools-next + python-wheel)) + (propagated-inputs '())))) + (define-public python-asdf-zarr (package (name "python-asdf-zarr") @@ -4453,6 +4497,34 @@ semi-analytic models, to cosmological hydrodynamic simulations, and even observationally-derived galaxy merger catalogs.") (license license:expat))) +(define-public python-hvpy + (package + (name "python-hvpy") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hvpy" version)) + (sha256 + (base32 "0bly1bgp0axxhzzf5imqsgmms41z8cxbjahxsibvb55dk94gwig6")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ; Requires HTTP(S) access to api.beta.helioviewer.org + (native-inputs + (list python-pytest + python-pytest-astropy + python-setuptools + python-wheel)) + (propagated-inputs + (list python-pydantic-2 + python-pydantic-settings + python-requests)) + (home-page "https://helioviewer.org/") + (synopsis "Helioviewer Python API Wrapper") + (description "@code{hvpy} is a Python API wrapper around the formal +@url{Helioviewer API, https://api.helioviewer.org/docs/v2/}.") + (license license:bsd-2))) + (define-public python-irispy-lmsal (package (name "python-irispy-lmsal") @@ -4662,6 +4734,89 @@ Telescope,JWST} from a set of input dark current files and a set of flat field files.") (license license:bsd-3))) +(define-public python-kanon + (package + (name "python-kanon") + (version "0.6.6") + (source + (origin + (method git-fetch) ; no release in PyPI + (uri (git-reference + (url "https://github.com/ALFA-project-erc/kanon") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sg9yrsas5xmhbw6mhfyxsxh9i060af6v02whr9fqgv687fiyrhc")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list ;"--numprocesses" "auto" + ;; XXX: This tests failing a lot. + "-k" (string-append "not test_attribute_forwardin" + " and not test_declination" + " and not test_init_basedquantity" + " and not test_ptolemy_viz" + " and not test_ptolemy_viz" + " and not test_quantity" + " and not test_read" + " and not test_shifting" + " and not test_sun_true_position" + " and not test_sun_true_position") + "--ignore=kanon/tables/__init__.py") + #:phases + #~(modify-phases %standard-phases + ;; See <https://github.com/ALFA-project-erc/kanon/issues/149>. + (delete 'sanity-check) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + (("version = \"0.0.0\"") (string-append "version = \"" #$version "\"")) + ;; RuntimeError: Unable to detect version control + ;; system. Checked: Git. Not installed: Mercurial, Darcs, + ;; Subversion, Bazaar, Fossil, Pijul. See + ;; <https://github.com/blacklanternsecurity/bbot/issues/1257>. + (("enable = true") "enable = false")))) + (add-before 'check 'prepare-test-environment + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs + (list git-minimal/pinned + python-poetry-core + python-poetry-dynamic-versioning + python-pytest-astropy + python-pytest-xdist + python-requests-mock)) + (propagated-inputs + (list python-astropy-6 + python-matplotlib + python-numpy + python-pandas + python-requests + python-scipy + ;; Optional + python-ipykernel + python-papermill)) + (home-page "https://dishas.obspm.fr") + (synopsis "History of astronomy") + (description "This package provides a history of astronomy library. +Current Features: +@itemize +@item define standard positional numeral systems with standard arithmetics +(BasedReal) +@item set your own precision contexts and algorithms on arithmetical +operations (PrecisionContext) +@item keep track of all operations +@item build or import ancient astronomical tables +@item perform arithmetical and statistical operations +@item support for BasedReal values +@item define new calendar types +@item date conversions +@item collection of mathematical models used for all kinds of geocentric +astronomical tables +@end itemize") + (license license:bsd-3))) + (define-public python-lenstronomy (package (name "python-lenstronomy") @@ -5273,6 +5428,56 @@ position-frequency slice.") (list python-setuptools python-wheel))))) +(define-public python-pyerfa + (package + (name "python-pyerfa") + (version "2.0.1.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyerfa" version)) + (sha256 + (base32 "1h7nw61wqx9qsznnl8qandixr6c1n3f65hyqwzanav44wi7v5mhp")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Remove bundled submodule library. + (delete-file-recursively "liberfa"))))) + (build-system pyproject-build-system) + (arguments + (list + ;; Disable only one failing test: + ;; AttributeError: __warningregistry__ + ;; See https://github.com/liberfa/pyerfa/issues/126 + #:test-flags #~(list "-k" "not test_errwarn_reporting") + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'use-system-liberfa + (lambda _ + (setenv "PYERFA_USE_SYSTEM_LIBERFA" "1"))) + (add-before 'check 'build-extensions + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (native-inputs + (list python-pytest-doctestplus + python-pytest + python-setuptools + python-setuptools-scm + python-wheel)) + (inputs + (list erfa)) + (propagated-inputs + (list python-numpy)) + (home-page "https://github.com/liberfa/pyerfa") + (synopsis "Python bindings for ERFA") + (description + "PyERFA is the Python wrapper for the ERFA library (Essential +Routines for Fundamental Astronomy), a C library containing key algorithms for +astronomy, which is based on the SOFA library published by the International +Astronomical Union (IAU). All C routines are wrapped as Numpy universal +functions, so that they can be called with scalar or array inputs.") + (license license:bsd-3))) + (define-public python-pyhalo (package (name "python-pyhalo") @@ -6186,34 +6391,6 @@ instruments.") (license (list license:bsd-3 ; licenses/LICENSE.rst, same as python-astropy license:expat)))) ; licenses/KOSMOS_LICENSE -(define-public python-hvpy - (package - (name "python-hvpy") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "hvpy" version)) - (sha256 - (base32 "0bly1bgp0axxhzzf5imqsgmms41z8cxbjahxsibvb55dk94gwig6")))) - (build-system pyproject-build-system) - (arguments - (list #:tests? #f)) ; Requires HTTP(S) access to api.beta.helioviewer.org - (native-inputs - (list python-pytest - python-pytest-astropy - python-setuptools - python-wheel)) - (propagated-inputs - (list python-pydantic-2 - python-pydantic-settings - python-requests)) - (home-page "https://helioviewer.org/") - (synopsis "Helioviewer Python API Wrapper") - (description "@code{hvpy} is a Python API wrapper around the formal -@url{Helioviewer API, https://api.helioviewer.org/docs/v2/}.") - (license license:bsd-2))) - (define-public python-jplephem (package (name "python-jplephem") @@ -6248,89 +6425,6 @@ Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or milliarcsecond).") (license license:expat))) -(define-public python-kanon - (package - (name "python-kanon") - (version "0.6.6") - (source - (origin - (method git-fetch) ; no release in PyPI - (uri (git-reference - (url "https://github.com/ALFA-project-erc/kanon") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0sg9yrsas5xmhbw6mhfyxsxh9i060af6v02whr9fqgv687fiyrhc")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list ;"--numprocesses" "auto" - ;; XXX: This tests failing a lot. - "-k" (string-append "not test_attribute_forwardin" - " and not test_declination" - " and not test_init_basedquantity" - " and not test_ptolemy_viz" - " and not test_ptolemy_viz" - " and not test_quantity" - " and not test_read" - " and not test_shifting" - " and not test_sun_true_position" - " and not test_sun_true_position") - "--ignore=kanon/tables/__init__.py") - #:phases - #~(modify-phases %standard-phases - ;; See <https://github.com/ALFA-project-erc/kanon/issues/149>. - (delete 'sanity-check) - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - (("version = \"0.0.0\"") (string-append "version = \"" #$version "\"")) - ;; RuntimeError: Unable to detect version control - ;; system. Checked: Git. Not installed: Mercurial, Darcs, - ;; Subversion, Bazaar, Fossil, Pijul. See - ;; <https://github.com/blacklanternsecurity/bbot/issues/1257>. - (("enable = true") "enable = false")))) - (add-before 'check 'prepare-test-environment - (lambda _ - (setenv "HOME" "/tmp")))))) - (native-inputs - (list git-minimal/pinned - python-poetry-core - python-poetry-dynamic-versioning - python-pytest-astropy - python-pytest-xdist - python-requests-mock)) - (propagated-inputs - (list python-astropy-6 - python-matplotlib - python-numpy - python-pandas - python-requests - python-scipy - ;; Optional - python-ipykernel - python-papermill)) - (home-page "https://dishas.obspm.fr") - (synopsis "History of astronomy") - (description "This package provides a history of astronomy library. -Current Features: -@itemize -@item define standard positional numeral systems with standard arithmetics -(BasedReal) -@item set your own precision contexts and algorithms on arithmetical -operations (PrecisionContext) -@item keep track of all operations -@item build or import ancient astronomical tables -@item perform arithmetical and statistical operations -@item support for BasedReal values -@item define new calendar types -@item date conversions -@item collection of mathematical models used for all kinds of geocentric -astronomical tables -@end itemize") - (license license:bsd-3))) - (define-public python-photutils (package (name "python-photutils") @@ -7211,56 +7305,6 @@ science instruments plus the fine guidance sensor, including both direct imaging, coronagraphic, and spectroscopic modes.") (license license:bsd-3))) -(define-public python-pyerfa - (package - (name "python-pyerfa") - (version "2.0.1.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pyerfa" version)) - (sha256 - (base32 "1h7nw61wqx9qsznnl8qandixr6c1n3f65hyqwzanav44wi7v5mhp")) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Remove bundled submodule library. - (delete-file-recursively "liberfa"))))) - (build-system pyproject-build-system) - (arguments - (list - ;; Disable only one failing test: - ;; AttributeError: __warningregistry__ - ;; See https://github.com/liberfa/pyerfa/issues/126 - #:test-flags #~(list "-k" "not test_errwarn_reporting") - #:phases - #~(modify-phases %standard-phases - (add-before 'build 'use-system-liberfa - (lambda _ - (setenv "PYERFA_USE_SYSTEM_LIBERFA" "1"))) - (add-before 'check 'build-extensions - (lambda _ - (invoke "python" "setup.py" "build_ext" "--inplace")))))) - (native-inputs - (list python-pytest-doctestplus - python-pytest - python-setuptools - python-setuptools-scm - python-wheel)) - (inputs - (list erfa)) - (propagated-inputs - (list python-numpy)) - (home-page "https://github.com/liberfa/pyerfa") - (synopsis "Python bindings for ERFA") - (description - "PyERFA is the Python wrapper for the ERFA library (Essential -Routines for Fundamental Astronomy), a C library containing key algorithms for -astronomy, which is based on the SOFA library published by the International -Astronomical Union (IAU). All C routines are wrapped as Numpy universal -functions, so that they can be called with scalar or array inputs.") - (license license:bsd-3))) - (define-public python-pynbody (package (name "python-pynbody") @@ -7628,50 +7672,6 @@ and use. Unlike FITS, the metadata is highly structured and is designed up-front for extensibility.") (license license:bsd-3))) -(define-public python-asdf-transform-schemas - (hidden-package - (package - (name "python-asdf-transform-schemas") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "asdf_transform_schemas" version)) - (sha256 - (base32 "0clp3a2ldfhvsh5c7zqd7nr2bvv62a89aaf8p4a2vzgzjvhghl0g")))) - (build-system pyproject-build-system) - (arguments - (list - ;; XXX: Check why all tests fail in this file. - #:test-flags #~(list "--deselect=tests/test_invalid.py"))) - (native-inputs - (list python-asdf-bootstrap - python-pytest - python-setuptools-next - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-asdf-standard)) - (home-page "https://github.com/asdf-format/asdf-transform-schemas") - (synopsis "ASDF schemas for transforms") - (description - "This package provides ASDF schemas for validating transform tags. -Users should not need to install this directly; instead, install an -implementation package such as asdf-astropy.") - (license license:bsd-3)))) - -(define-public python-asdf-transform-schemas-bootstrap - (hidden-package - (package/inherit python-asdf-transform-schemas - (arguments - (list #:tests? #f - #:phases #~(modify-phases %standard-phases - (delete 'sanity-check)))) - (native-inputs - (list python-setuptools-next - python-wheel)) - (propagated-inputs '())))) - (define-public python-asdf-coordinates-schemas (hidden-package (package diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index c481b5a3de..153eed9d9a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2850,6 +2850,11 @@ partial release of the General MIDI sound set.") (string-append "--ldflags=-Wl,-rpath=" #$output "/lib")) #:phases '(modify-phases %standard-phases + (add-after 'unpack 'fix-includes + (lambda _ + (substitute* "src/LV2/DSP/gx_common.h" + (("#include <cstdlib>" all) + (string-append all "\n#include <cstdint>"))))) (add-after 'unpack 'python3.11-compatibility (lambda _ (substitute* "wscript" @@ -3522,18 +3527,18 @@ player-like clients.") (version "0.10.0") (source (origin (method url-fetch) - (uri (string-append "http://das.nasophon.de/download/pyliblo-" + (uri (string-append "https://das.nasophon.de/download/pyliblo-" version ".tar.gz")) (sha256 (base32 "13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:tests? #f)) ;no tests (native-inputs - (list python-cython)) + (list python-cython python-setuptools python-wheel)) (inputs (list liblo)) - (home-page "http://das.nasophon.de/pyliblo/") + (home-page "https://das.nasophon.de/pyliblo/") (synopsis "Python bindings for liblo") (description "Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC) @@ -3570,14 +3575,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") (define-public python-soundfile (package (name "python-soundfile") - (version "0.13.0") + (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "soundfile" version)) (sha256 (base32 - "0mc3g5l9fzj57m62zrwwz0w86cbihpna3mikgh8kpmz7ppc9jcz8")))) + "0nqf7z2wrb70vppjv5729565h0p3azgl6nqa10bp6a9h3smqvimj")))) (build-system pyproject-build-system) (arguments (list @@ -4843,21 +4848,18 @@ encode and decode wavpack files.") (license license:gpl3+)))) (define-public libmixed - ;; Release is much outdated. - (let ((commit "9b2668e0d85175b0e92864cfbf1b9e58f77c92e0") - (revision "1")) (package (name "libmixed") - (version (git-version "2.0" revision commit)) + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Shirakumo/libmixed") - (commit commit))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ql2h0hh4jl96sc9i6mk1d6qq261bvsfapinvzr9gx3lpzycpfb7")))) + (base32 "0g9z8mzrdp1j4w4dv6z2xkgknip6m6384n953y20wdvhs71gia1v")))) (build-system cmake-build-system) (arguments (list @@ -4885,7 +4887,7 @@ in audio/video/games. It can serve as a base architecture for complex DSP systems.") (license (list license:bsd-2 ; libsamplerate license:gpl2 ; spiralfft - license:zlib))))) + license:zlib)))) (define-public libmodplug (package @@ -6450,7 +6452,7 @@ as is the case with audio plugins.") (define-public carla (package (name "carla") - (version "2.4.1") + (version "2.5.10") (source (origin (method git-fetch) @@ -6460,7 +6462,7 @@ as is the case with audio plugins.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01ngkmfcxyg1bb4qmfvlkkjbx4lx62akxqhizl8zmqnhfcy4p9bx")))) + (base32 "1p7nvydnmg5l457w3089bwj1a5z509ydlpwvf19k86i348a1lm6v")))) (build-system gnu-build-system) (arguments (list #:tests? #f ; no "check" target @@ -6477,11 +6479,10 @@ as is the case with audio plugins.") (lambda _ (chmod (string-append #$output "/share/carla/carla") #o555))) (add-after 'install 'wrap-executables - (lambda* (#:key inputs #:allow-other-keys) - (wrap-script (string-append #$output "/bin/carla") - #:guile (search-input-file inputs "bin/guile") - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH"))))))))) + (lambda _ + (wrap-program (string-append #$output "/bin/carla") + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))))))))) (inputs (list alsa-lib ffmpeg @@ -6500,10 +6501,7 @@ as is the case with audio plugins.") ;; (ModuleNotFoundError: No module named 'PyQt5') python-wrapper qtbase-5 - zlib - - ;; For WRAP-SCRIPT above. - guile-2.2)) + zlib)) (native-inputs (list pkg-config)) (home-page "https://kx.studio/Applications:Carla") diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index ea8cf4bb99..f7c3768145 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -39,7 +39,7 @@ (version "8.2.8") (source (origin (method url-fetch) - (uri (list (string-append "https://github.com/ivmai/bdwgc/releases" + (uri (list (string-append "https://github.com/bdwgc/bdwgc/releases" "/download/v" version "/gc-" version ".tar.gz") (string-append "https://www.hboehm.info/gc/gc_source" @@ -73,7 +73,7 @@ ((target-ppc64le?) (list #:make-flags ;; This is a known workaround upstream. - ;; https://github.com/ivmai/bdwgc/issues/479 + ;; https://github.com/bdwgc/bdwgc/issues/479 #~(list "CFLAGS_EXTRA=-DNO_SOFT_VDB"))) ((target-ppc32?) (list #:make-flags @@ -129,7 +129,7 @@ C or C++ programs, though that is not its primary goal.") (version "7.6.12") (source (origin (method url-fetch) - (uri (string-append "https://github.com/ivmai/bdwgc/releases" + (uri (string-append "https://github.com/bdwgc/bdwgc/releases" "/download/v" version "/gc-" version ".tar.gz")) (sha256 (base32 @@ -153,7 +153,7 @@ C or C++ programs, though that is not its primary goal.") (source (origin (method url-fetch) (uri (string-append - "https://github.com/ivmai/libatomic_ops/releases/download/v" + "https://github.com/bdwgc/libatomic_ops/releases/download/v" version "/libatomic_ops-" version ".tar.gz")) (sha256 (base32 @@ -182,7 +182,7 @@ C or C++ programs, though that is not its primary goal.") memory update operations on a number of architectures. These might allow you to write code that does more interesting things in signal handlers, write lock-free code, experiment with thread programming paradigms, etc.") - (home-page "https://github.com/ivmai/libatomic_ops/") + (home-page "https://github.com/bdwgc/libatomic_ops/") ;; Some source files are X11-style, others are GPLv2+. (license gpl2+))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4ca7998cc7..c59c7fa5db 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com> ;;; Copyright © 2025 nomike Postmann <nomike@nomike.com> ;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +79,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages bioconductor) #:use-module (gnu packages boost) + #:use-module (gnu packages certs) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages cmake) @@ -2835,41 +2837,51 @@ specifying the usage of each program for each cell in the data.") parsing of Variant Call Format (VCF) files.") (license license:expat))) -(define-public python-decoupler-py +(define-public python-decoupler (package - (name "python-decoupler-py") - ;; Upstream places release on a new branch, see - ;; <https://github.com/saezlab/decoupler-py/issues/175>. - (version "1.8.0") + (name "python-decoupler") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/saezlab/decoupler-py") - (commit version))) + (url "https://github.com/scverse/decoupler") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0c3yg7jjb1nxb6hsh9wn7wr8w0ba55gixdbf5fp443nhv1cwlajj")))) + "0b15n5sq940sn29jsgmdkkm4fcpzfq1n221scfwhjxb4ybdpsz4v")))) (build-system pyproject-build-system) (arguments (list #:test-flags - '(list "-k" - ;; These tests require internet access - (string-append "not test_get_resource" - " and not test_show_resources" - " and not test_get_dorothea" - " and not test_get_progeny" - " and not test_get_ksn_omnipath" - ;; This attempts to download things for Omnipath - " and not test_get_collectri")) + '(list "-k" (string-join + ;; Tests requiring internet access to reach out + ;; <datasets.cellxgene.cziscience.com>, <ftp.ebi.ac.uk>, + ;; <omnipathdb.org>, <raw.githubusercontent.com>, + ;; <static.omnipathdb.org>, <www.ensembl.org>, + ;; <www.ncbi.nlm.nih.gov>, and <zenodo.org>. + (list "not test_collectri" + "test_covid5k" + "test_dorothea" + "test_download" + "test_download_anndata" + "test_ensmbl_to_symbol" + "test_erygast1k" + "test_hallmark" + "test_hsctgfb" + "test_knocktf" + "test_msvisium" + "test_pbmc3k" + "test_progeny" + "test_resource" + "test_show_resources" + "test_translate" + ;; XXX: Some precision mismatched. + "test_func_gsea" + "test_net_corr") + " and not ")) #:phases '(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - ;; numba = "^0.60.0"; all tests passed. - (("0.60.0") "0.61.0")))) (add-before 'check 'set-home ;; Some tests require a home directory to be set. (lambda _ (setenv "HOME" "/tmp"))) @@ -2878,27 +2890,35 @@ parsing of Variant Call Format (VCF) files.") (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-adjusttext python-anndata - python-ipython - python-matplotlib - python-nbsphinx + python-dcor + python-docrep + python-igraph + python-ipywidgets + python-marsilea python-numba - python-numpy - python-numpydoc - python-omnipath - python-scanpy - python-scikit-learn + python-requests python-scipy - python-skranger + python-session-info2 python-tqdm - python-typing-extensions)) - (native-inputs (list python-poetry-core python-pytest)) - (home-page "https://github.com/saezlab/decoupler-py") + python-xgboost)) + (native-inputs + (list nss-certs-for-test + python-hatchling + python-gseapy + python-memory-profiler + python-pytest + python-scanpy)) + (home-page "https://github.com/scverse/decoupler") (synopsis "Framework for modeling, analyzing and interpreting single-cell RNA-seq data") (description "This package provides different statistical methods to extract biological activities from omics data within a unified framework.") - (license license:gpl3+))) + (license license:bsd-3))) + +;; See: <https://github.com/scverse/decoupler/blob/main/CHANGELOG.md#200> +(define-public python-decoupler-py + (deprecated-package "python-decoupler-py" python-decoupler)) (define-public python-demuxem (package @@ -3119,16 +3139,16 @@ servers supporting the protocol.") (define-public python-liana-py (package (name "python-liana-py") - (version "1.4.0") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/saezlab/liana-py") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1kwbhfmsjhfc6m4kcp4zc2xgzg1qf16ywfkdamn868anwwrvjxzb")))) + "1k6l371wd00m95l5pb2jsmzzxh5nc5v21fg2v0cslr9761q151r9")))) (build-system pyproject-build-system) (arguments (list @@ -3159,27 +3179,30 @@ servers supporting the protocol.") " and not test_bivar_product" ;; XXX unclear failure: large difference in data ;; frames. - " and not test_aggregate_res") + " and not test_aggregate_res" + ;; XXX: ValueError: Only CSR and CSC matrices are + ;; supported. + " and not test_bivar_nondefault" + " and not test_masked_spearman" + " and not test_vectorized_spearman" + " and not test_basic_interpolation" + " and not test_different_methods" + " and not test_fill_value" + " and not test_use_raw_layer_parameters") ;; These need the optional squidpy, which we don't have yet. - "--ignore=liana/tests/test_misty.py" + "--ignore=tests/test_misty.py" ;; These need the optional corneto. - "--ignore=liana/tests/test_causalnet.py" + "--ignore=tests/test_causalnet.py" ;; Needs internet access. - "--ignore=liana/tests/test_orthology.py") + "--ignore=tests/test_orthology.py") #:phases '(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - ;; Don't fail the sanity check when these optional inputs aren't - ;; available. - (substitute* "pyproject.toml" - (("^pre-commit =.*") "")))) ;; Numba needs a writable directory to cache functions. (add-before 'build 'set-numba-cache-dir (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-anndata python-cell2cell - python-decoupler-py + python-decoupler python-hypothesis python-ipykernel python-ipython @@ -3199,10 +3222,8 @@ servers supporting the protocol.") python-tqdm tzdata)) (native-inputs - (list python-black - python-poetry-core - python-pytest - python-pytest-cov)) + (list python-hatchling + python-pytest)) (home-page "https://github.com/saezlab/liana-py") (synopsis "LIANA is a ligand-receptor analysis framework") (description "This is a Ligand-Receptor inference framework. The @@ -5012,7 +5033,7 @@ package provides command line tools using the Bio++ library.") (define-public blast+ (package (name "blast+") - (version "2.14.0") + (version "2.17.0") (source (origin (method url-fetch) (uri (string-append @@ -5020,7 +5041,7 @@ package provides command line tools using the Bio++ library.") version "/ncbi-blast-" version "+-src.tar.gz")) (sha256 (base32 - "003mn7m4y306k7visv3in3ikfgm8m41z0jq9lyvz10iv1hdpyixz")) + "0ix1bqgaywi3ggis4qvaipb0mk3llhgf52vmc97f744risl5f82h")) (modules '((guix build utils))) (snippet '(begin @@ -5636,7 +5657,7 @@ with MOFA+ in Python.") (define-public python-mudata (package (name "python-mudata") - (version "0.3.1") + (version "0.3.2") (source (origin (method git-fetch) (uri (git-reference @@ -5645,7 +5666,7 @@ with MOFA+ in Python.") (file-name (git-file-name name version)) (sha256 (base32 - "1m1qsqgk8snllavfj99qgm2j7cccviwg7k0k1kfbvqn0bkzc87sa")))) + "17s1w3746d35pcwr97ynhr7s5hfk76vsfcinwyqynx9k3xxi9br4")))) (build-system pyproject-build-system) (arguments (list @@ -7071,16 +7092,16 @@ trees (phylogenies) and characters.") (define-public python-py2bit (package (name "python-py2bit") - (version "0.3.0") + (version "0.3.3") (source (origin (method url-fetch) (uri (pypi-uri "py2bit" version)) (sha256 (base32 - "1vw2nvw1yrl7ikkqsqs1pg239yr5nspvd969r1x9arms1k25a1a5")))) + "0w1p4l1jwg9kkifm0jsg33a212ps0jn61islmnng2afp77y5nkr6")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-setuptools python-setuptools-scm python-wheel)) (home-page "https://github.com/dpryan79/py2bit") (synopsis "Access 2bit files using lib2bit") (description @@ -8748,18 +8769,7 @@ HMMs).") (sha256 (base32 "1kbr4ydjjhizz6r5m3xd4f0wj7qnn8zs0vnzghhgaa0yhbya5r19")))) - (build-system python-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - ;; Avoid rebuilding the extension. Everything is built during the - ;; 'install phase anyway. - (delete 'build) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-v"))))))) + (build-system pyproject-build-system) (propagated-inputs (list python-matplotlib python-numpy @@ -8769,6 +8779,8 @@ HMMs).") python-pandas python-pytest python-scipy + python-setuptools + python-wheel swig)) (home-page "https://github.com/htseq") (synopsis "Framework for analyzing high-throughput sequencing data") @@ -12324,7 +12336,7 @@ of these reads to align data quickly through a hash-based indexing scheme.") (define-public sortmerna (package (name "sortmerna") - (version "4.3.4") + (version "4.3.7") (source (origin (method git-fetch) @@ -12334,7 +12346,7 @@ of these reads to align data quickly through a hash-based indexing scheme.") (file-name (git-file-name name version)) (sha256 (base32 - "0f8jfc8vsq6llhbb92p9yv7nbp566yqwfcmq3g2hw0n7d8hyl3a8")))) + "14p3zi6ysnrs2l33r5mc0fr0la2jnnxmqdcif02fppln8w31j753")))) (build-system cmake-build-system) (outputs '("out" ;for binaries "db")) ;for sequence databases @@ -12359,6 +12371,11 @@ of these reads to align data quickly through a hash-based indexing scheme.") "/include")) #:phases '(modify-phases %standard-phases + (add-after 'unpack 'fix-includes + (lambda _ + (substitute* "src/sortmerna/kseq_load.cpp" + (("#include <iostream>" all) + (string-append all "\n#include <cstdint>"))))) (add-after 'unpack 'find-concurrentqueue-headers (lambda* (#:key inputs #:allow-other-keys) ;; Ensure that headers can be found @@ -17038,7 +17055,7 @@ The following file formats are supported: (define-public salmon (package (name "salmon") - (version "1.10.1") + (version "1.10.3") (source (origin (method git-fetch) (uri (git-reference @@ -17047,7 +17064,7 @@ The following file formats are supported: (file-name (git-file-name name version)) (sha256 (base32 - "0grpcajxf2bch4b74zb66pdssda8yc7jvxj5ckaw0xvw1605rpcj")) + "0vii7nlx0ddn62qniwx4abfj6ajwl3w6mizavpa0mkhpxnm06rqw")) (modules '((guix build utils))) (snippet ;; Delete bundled headers for eigen3. @@ -17162,7 +17179,7 @@ The following file formats are supported: (file-name (git-file-name "pufferfish" version)) (sha256 (base32 - "0fcv5rd2k4fabsg489sjfxgjisivhwk1w26gfc88rgpszdkcla36")))))) + "0h12h4wv7k3if1m6as7wvrbd7djm0zsg1vs0xn84bnrswwv5z2l3")))))) (home-page "https://github.com/COMBINE-lab/salmon") (synopsis "Quantification from RNA-seq reads using lightweight alignments") (description "Salmon is a program to produce highly-accurate, @@ -19733,7 +19750,7 @@ implementation differs in these ways: (define-public python-scanpy (package (name "python-scanpy") - (version "1.10.4") + (version "1.11.2") (source (origin (method git-fetch) @@ -19743,12 +19760,14 @@ implementation differs in these ways: (file-name (git-file-name name version)) (sha256 (base32 - "139d6fsdbhg1hqqq5yyl8hr3cqz2mj70i0i8r1mq6z6a8qmq1p4z")))) + "18ddb3jkyjan87f5kymyq951sa5955z41f10h6z954map8dy2136")))) (build-system pyproject-build-system) (arguments (list + ;; 736 passed, 95 skipped, 20 xfailed, 148 warnings #:test-flags '(list "-m" "not gpu" + "--numprocesses" (number->string (parallel-job-count)) ;; These tests require Internet access. "--ignore-glob=tests/notebooks/*" "--ignore=tests/test_clustering.py" @@ -19766,9 +19785,10 @@ implementation differs in these ways: "--ignore=tests/test_preprocessing.py" "--ignore=tests/test_read_10x.py" "--ignore=plotting/_tools/scatterplots.py" - ;; The following tests requires 'scanorama', which isn't - ;; packaged yet. - "--ignore=tests/external/test_scanorama_integrate.py" + ;; Adding additional options does not help to resolve the + ;; faileur: TypeError: _FlakyPlugin._make_test_flaky() got an + ;; unexpected keyword argument 'reruns'. + "--ignore=tests/test_backed.py" "-k" ;; Plot tests that fail. (string-append "not test_clustermap" @@ -19779,6 +19799,8 @@ implementation differs in these ways: " and not test_paga_plots" " and not test_violin" " and not test_scatter_no_basis_per_obs" + " and not test_spatial_general" + " and not test_visium_empty_img_key" ;; These are doctests that fail because of missing ;; datasets. @@ -19796,7 +19818,21 @@ implementation differs in these ways: " and not test_pca_layer" " and not test_pca_sparse" " and not test_pca_reproducible" - " and not test_clip")) + " and not test_clip" + + ;; Missing test data. + " and not test_covariance_eigh_impls" + " and not test_embedding_colorbar_location" + " and not test_sparse_dask_input_errors" + " and not test_sparse_dask_input_errors" + " and not test_spatial_external_img" + + ;; Somehow broken tests. + " and not test_sim_toggleswitch" + " and not scanpy.datasets._datasets.krumsiek11" + " and not scanpy.datasets._datasets.toggleswitch" + " and not scanpy.external.pp._scanorama_integrate.scanorama_integrate" + " and not scanpy.preprocessing._simple.filter_cells")) #:phases #~(modify-phases %standard-phases ;; XXX This should not be necessary, but I noticed while building @@ -19820,9 +19856,12 @@ implementation differs in these ways: (string-append (getcwd) ":" #$(this-package-native-input "python-anndata:source") ":" (getenv "GUIX_PYTHONPATH"))))) - ;; Numba needs a writable dir to cache functions. - (add-before 'check 'set-numba-cache-dir - (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) + (add-before 'check 'pre-check + (lambda _ + ;; Numba needs a writable dir to cache functions. + (setenv "NUMBA_CACHE_DIR" "/tmp") + ;; For Matplotlib. + (setenv "HOME" "/tmp")))))) (propagated-inputs (list python-anndata python-dask @@ -19838,27 +19877,30 @@ implementation differs in these ways: python-packaging python-pandas python-patsy + python-pytoml python-scikit-learn python-scipy - python-setuptools ; For pkg_resources. python-seaborn - python-session-info + python-session-info2 + python-setuptools ; For pkg_resources. python-sinfo python-statsmodels python-tables - python-pytoml python-tqdm python-umap-learn)) (native-inputs `(;; This package needs anndata.tests, which is not installed. ("python-anndata:source" ,(package-source python-anndata)) + ("python-flaky" ,python-flaky) ("python-flit" ,python-flit) - ("python-hatchling" ,python-hatchling) ("python-hatch-vcs" ,python-hatch-vcs) + ("python-hatchling" ,python-hatchling) ("python-leidenalg" ,python-leidenalg) ("python-pytest" ,python-pytest) ("python-pytest-mock" ,python-pytest-mock) ("python-pytest-nunit" ,python-pytest-nunit) + ("python-pytest-xdist" ,python-pytest-xdist) + ("python-scanorama" ,python-scanorama) ("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/theislab/scanpy") (synopsis "Single-Cell Analysis in Python") @@ -20392,141 +20434,6 @@ includes operations like compartment, insulation or peak calling.") the HiCExplorer and pyGenomeTracks packages.") (license license:gpl3+))) -(define-public python-hicexplorer - (package - (name "python-hicexplorer") - (version "3.7.4") - (source - (origin - ;; The latest version is not available on Pypi. - (method git-fetch) - (uri (git-reference - (url "https://github.com/deeptools/HiCExplorer") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cjr9l0vcngd0f4dmar388ri1ah1bqybnn53jc85xwh07wfacq7l")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - '(list "hicexplorer/test/general/" - "--ignore" "hicexplorer/test/general/test_hicTADClassifier.py" - "--ignore" "hicexplorer/test/general/test_hicTrainTADClassifier.py" - "-k" - (string-append - ;; Unknown chromosome: ChrX - "not test_build_matrix_restrictionCutFile_two" - ;; fixture 'keepSelfLigation' not found - " and not test_build_matrix_restrictionCutFile_six" - ;; ValueError: object dtype is not supported by sparse matrices - " and not test_hic_transfer_obs_exp_perChromosome" - - ;; No KR balancing available - " and not test_correct_matrix_KR_partial_cool" - " and not test_correct_matrix_KR_cool" - " and not test_correct_matrix_KR_H5")) - #:phases - #~(modify-phases %standard-phases - ;; See https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/23 - (add-after 'unpack 'remove-dependency-on-krbalancing - (lambda _ - (substitute* "hicexplorer/hicCorrectMatrix.py" - (("from krbalancing import.*") "") - (("( *)assert\\(args.correctionMethod == 'KR'\\)" m indent) - (string-append m "\n" - indent "log.error('krbalancing not available')\n" - indent "exit(1)"))) - (substitute* "setup.py" - (("\"krbalancing >= 0.0.5\",") "")) - (substitute* "requirements.txt" - (("krbalancing >= 0.0.5") "")))) - (add-after 'unpack 'fix-references - (lambda _ - (let ((site (string-append #$output "/lib/python" - #$(version-major+minor - (package-version python)) - "/site-packages"))) - (substitute* "hicexplorer/lib/tadClassifier.py" - (("model_location = site.getsitepackages\\(\\)\\[0\\]") - (string-append "model_location = \"" site "\"")))) - (substitute* "hicexplorer/hicFindRestSite.py" - (("subprocess.check_output\\(\\[\"cat\"") - (string-append "subprocess.check_output([\"" - (which "cat") "\"")) - (("cmd = 'sort -k1") - (string-append "cmd = '" (which "sort") " -k1"))))) - ;; The tests aim to detect available memory and run more tests when - ;; there is more available memory. Let's run them deterministically - ;; instead and don't run any tests that require more than 1GB of - ;; RAM. - (add-after 'unpack 'run-only-low-mem-tests - (lambda _ - (with-directory-excursion "hicexplorer/test" - (substitute* '("trivial_runs/test_hicBuildMatrix_trivial_runs_2.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_five.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_four.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_1.py" - "trivial_runs/test_hicBuildMatrix_trivial_runs.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_3.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_three.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_two_2.py" - "trivial_runs/test_hicAggregateContacts_trivial_runs_six.py" - "general/test_hicDifferentialTAD.py" - "general/test_hicDetectLoops.py" - "general/test_hicPlotMatrix.py" - "general/test_hicHyperoptDetectLoops.py" - "general/test_hicCreateThresholdFile.py" - "general/test_hicMergeDomains.py" - "general/test_hicHyperoptDetectLoopsHiCCUPS.py" - "general/test_hicAggregateContacts.py" - "general/test_hicInterIntraTAD.py") - (("^memory =.*") "memory = 1\n")))))))) - (propagated-inputs - (list python-biopython - python-cleanlab - python-cooler - python-fit-nbinom - python-future - python-graphviz - python-hic2cool - python-hicmatrix - python-hyperopt - python-imbalanced-learn - python-intervaltree - python-ipykernel - python-jinja2 - python-matplotlib - python-numpy - python-pandas - python-psutil - python-pybedtools - python-pybigwig - python-pygenometracks - python-pysam - python-scikit-learn - python-scipy - python-tables - python-tqdm - python-unidecode)) - (native-inputs - (list graphviz)) ;for hicexplorer/test/test_compute_function.py - (home-page "https://hicexplorer.readthedocs.io") - (synopsis "Process, analyze and visualize Hi-C data") - (description - "HiCExplorer is a powerful and easy to use set of tools to process, -normalize and visualize Hi-C data. HiCExplorer facilitates the creation of -contact matrices, correction of contacts, TAD detection, A/B compartments, -merging, reordering or chromosomes, conversion from different formats -including cooler and detection of long-range contacts. Moreover, it allows -the visualization of multiple contact matrices along with other types of data -like genes, compartments, ChIP-seq coverage tracks (and in general any type of -genomic scores), long range contacts and the visualization of viewpoints.") - (license license:gpl3))) - (define-public python-pygenometracks (package (name "python-pygenometracks") @@ -22974,8 +22881,8 @@ pairs.") (license license:expat))) (define-public r-hdf5dataframe - (let ((commit "1cdb905b1f6af3339938de3e1ca407908bc93e47") - (revision "1")) + (let ((commit "1e30e6b82b5599d5d98fbcb8bf7312dd1711ca3c") + (revision "2")) (package (name "r-hdf5dataframe") (version (git-version "0.0.0" revision commit)) @@ -22987,12 +22894,12 @@ pairs.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1pk22h56x873gahj2nwnwxzyq5a27h363mxk1491irypvk78dpn9")))) + (base32 "0y6hp31gy17v87ll4rij6pwy6b7k7gnw8iwnvzsaa13ga73g69ak")))) (properties `((upstream-name . "HDF5DataFrame"))) (build-system r-build-system) (propagated-inputs (list r-biocgenerics r-delayedarray r-hdf5array r-rhdf5 r-s4vectors)) - (native-inputs (list r-knitr)) + (native-inputs (list r-knitr r-testthat)) (home-page "https://github.com/BIMSBbioinfo/HDF5DataFrame") (synopsis "Bioconductor-friendly bindings for Parquet") (description @@ -23127,6 +23034,7 @@ guix_python <- \"~a\";" python-scipy python-tifffile python-zarr + which ;tests/testthat/test_conversion.R zlib)) (propagated-inputs (list r-data-table r-dplyr @@ -23655,7 +23563,7 @@ compute communities on graphs weighted or unweighted.") (define-public ivar (package (name "ivar") - (version "1.4.2") + (version "1.4.4") (source (origin (method git-fetch) (uri (git-reference @@ -23664,7 +23572,7 @@ compute communities on graphs weighted or unweighted.") (file-name (git-file-name name version)) (sha256 (base32 - "0v3rsak84ilg4iaynwpmmkj507vham5rjk2pfsmylpaqylgc69yx")))) + "1bwygjv81m4yv5ycxb5gx22k6njgwrzzs7jrsadq6363klcv4irh")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 7121cec4d4..170d32f3e3 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -129,7 +129,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "3.1.4") + (version "3.1.6") (source (origin (method git-fetch) @@ -138,7 +138,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1x99d2cycgxay62cz2ypjjkmjgrbdvz5d3pg4fyv0gnq2srnlcnm")))) + (base32 "0pnrsnwvsqby0vgb33zsrjznb7l82ji7i4aigk32hg3rl674qqvx")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -157,15 +157,15 @@ makes a few sacrifices to acquire fast full and incremental build times.") (invoke "ctest"))))))) (inputs `(("c-ares" ,c-ares) - ("fmt" ,fmt-8) + ("fmt" ,fmt-9) ("grpc" ,grpc) ("nlohmann-json" ,nlohmann-json) ("protobuf" ,protobuf) ("python" ,python-wrapper) ("re2" ,re2) - ("spdlog" ,spdlog-1.10))) + ("spdlog" ,spdlog-1.13))) (native-inputs - `(("abseil-cpp" ,abseil-cpp-cxxstd11) + `(("abseil-cpp" ,abseil-cpp) ("googletest" ,googletest) ("openssl" ,openssl) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 9660cff1c7..b6c767e3bf 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2775,16 +2775,18 @@ across test runs.") (define-public python-pytest-sugar (package (name "python-pytest-sugar") - (version "0.9.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-sugar" version)) (sha256 - (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n")))) - (build-system python-build-system) + (base32 "02kc4y0ry4y9lp63kjq9p7yvbjijfxn1fcn6wx6c1c7mb0rfh8k4")))) + (build-system pyproject-build-system) (propagated-inputs (list python-packaging python-pytest python-termcolor)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://pivotfinland.com/pytest-sugar/") (synopsis "Plugin for pytest that changes the default look and feel") (description diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 503fa18a55..974aa14982 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2553,7 +2553,9 @@ download times, and other distribution and storage costs.") (define-public quazip (package (name "quazip") - (version "1.4") + ;; When updating, change also the version in quazip-qt5, + ;; which shares the same source. + (version "1.5") (source (origin (method git-fetch) @@ -2562,7 +2564,7 @@ download times, and other distribution and storage costs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1jsw4xm5wyaqcj1pma5zzd8f5xbgd5lcjh18ah3kg36xz5i69yi4")))) + (base32 "0ni1656g2xf0cspwjp645hhd2p4iaqki4z26xhkxz04l5nzsdrh0")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no test @@ -2590,7 +2592,7 @@ reading from and writing to ZIP archives.") (package (inherit quazip) (name "quazip-qt5") - (version "1.4") + (version "1.5") (inputs (list qtbase-5 zlib)))) (define-public zchunk @@ -2793,6 +2795,8 @@ RAR, RPM, DEB, tar, and ZIP. It cannot perform functions for archives, whose archiver is not installed.") (license license:gpl2+))) +;; XXX: This software is abandoned since 2018. It may be removed as soon as +;; the build breaks; see also the discussion at #1734. (define-public tarsplitter (package (name "tarsplitter") diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 1a2aa6b75d..ed72c2eb02 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -285,7 +285,7 @@ contents, and discovering ways to shrink the size of Docker/OCI image.") (define-public libslirp (package (name "libslirp") - (version "4.7.0") + (version "4.9.1") (source (origin (method git-fetch) @@ -293,7 +293,7 @@ contents, and discovering ways to shrink the size of Docker/OCI image.") (url "https://gitlab.freedesktop.org/slirp/libslirp") (commit (string-append "v" version)))) (sha256 - (base32 "0dny8187a8qh6akaa37aa9b5pjxx88f02wh6achp4mygff0ipxba")) + (base32 "1jlqda5k5wm0ql0fymkr3dbf1d71gxcj7896r8mz8s1i264gg8rh")) (file-name (git-file-name name version)))) (build-system meson-build-system) (propagated-inputs @@ -311,7 +311,7 @@ containers or various tools.") (define-public slirp4netns (package (name "slirp4netns") - (version "1.3.2") + (version "1.3.3") (source (origin (method git-fetch) @@ -319,7 +319,7 @@ containers or various tools.") (url "https://github.com/rootless-containers/slirp4netns") (commit (string-append "v" version)))) (sha256 - (base32 "13lw48b89583smblp2d4kxb1j23k2qx3i2j5zi91sxwnnn4ndks2")) + (base32 "165z1ccsb8w901965rlzcrbln17l1jdg9k7vsiamlx0q06v24b96")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -684,7 +684,7 @@ being rootless and not requiring any daemon to be running.") (define-public buildah (package (name "buildah") - (version "1.41.0") + (version "1.41.1") (source (origin (method git-fetch) @@ -692,7 +692,7 @@ being rootless and not requiring any daemon to be running.") (url "https://github.com/containers/buildah") (commit (string-append "v" version)))) (sha256 - (base32 "12vl3g5h9m9pw0zpi88j7sjx0db8ardigh2x8h3a3qa9m5hlnqnb")) + (base32 "12mi2084dmk8hg35chfbfbdl1s9ibsq000hhi1n9f0ibk177y6qw")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 3832b67aec..aac96f96a7 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2096,29 +2096,6 @@ augment the C++ standard library. The Abseil library code is collected from Google's C++ code base.") (license license:asl2.0))) -;; This is for grpc-for-python-grpcio; keep this in sync with its actual -;; requirements. -(define-public abseil-cpp-20211102.0 - (let ((base abseil-cpp-20200923.3)) - (package - (inherit base) - (name "abseil-cpp") - (version "20211102.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abseil/abseil-cpp") - (commit "215105818dfde3174fe799600bb0f3cae233d0bf"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "028vlxpmh65kb7s0cpba38qcwk1abyn5br0ffhvvjjh97vld69di")))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:tests? _ #false) #false) - ((#:configure-flags flags) - #~(cons* "-DCMAKE_CXX_STANDARD=11" #$flags))))))) - (define-public abseil-cpp-20220623 (let ((base abseil-cpp-20200923.3)) (package @@ -2202,6 +2179,15 @@ Google's C++ code base.") #~(cons* "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" (delete "-DBUILD_SHARED_LIBS=ON" #$flags))))))))) +(define-public abseil-cpp-cxxstd17 + (abseil-cpp-for-c++-standard abseil-cpp 17)) ;XXX: the default with GCC 11? + +(define-public abseil-cpp-cxxstd11 + (abseil-cpp-for-c++-standard abseil-cpp-20220623 11)) ;last version on C++11 + +(define-public static-abseil-cpp + (make-static-abseil-cpp abseil-cpp)) + (define-public miniaudio (package (name "miniaudio") @@ -2262,15 +2248,6 @@ Google's C++ code base.") made up of a single source file and has no external dependencies.") (license license:expat))) -(define-public abseil-cpp-cxxstd17 - (abseil-cpp-for-c++-standard abseil-cpp 17)) ;XXX: the default with GCC 11? - -(define-public abseil-cpp-cxxstd11 - (abseil-cpp-for-c++-standard abseil-cpp-20220623 11)) ;last version on C++11 - -(define-public static-abseil-cpp - (make-static-abseil-cpp abseil-cpp)) - (define-public pegtl (package (name "pegtl") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 48adf3aaac..1d1c395d8d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37779,14 +37779,14 @@ colored by the number of neighboring points. This is useful to visualize the (define-public r-arrow (package (name "r-arrow") - (version "20.0.0.2") + (version "21.0.0") (source (origin (method url-fetch) (uri (cran-uri "arrow" version)) (sha256 (base32 - "19xnz3df1r9n01dbsf05xkw6q5w8vipzkkb5bpx7jlcp38jnp8zn")))) + "1ipwcgzbzr5xb1ff0ikwxdfhbniqdjmvi4505cmb0divg9p50946")))) (properties `((upstream-name . "arrow") (updater-ignored-native-inputs . ("r-duckdb")) @@ -53413,21 +53413,40 @@ the @code{raster} package that is suitable for extracting raster values using (define-public r-stringfish (package (name "r-stringfish") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (cran-uri "stringfish" version)) (sha256 (base32 - "14vrg6mkwwgw1klgpvjn7936yfxav55rainz71xjjih2j21vq21n")))) + "0x6nad21q7shsl7wjzldb6si7j09dyxksrpq29cxphh79d0ga2ly")))) (properties '((upstream-name . "stringfish") (updater-extra-inputs . ("pcre2")))) (build-system r-build-system) - ;; Tests require r-qs, which depends on this package. - (arguments (list #:tests? #false)) - (inputs (list pcre2)) + (arguments + (list + ;; Tests require r-qs, which depends on this package. + #:tests? #false + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-system-tbb + (lambda _ + (setenv "TBB_ROOT" #$(this-package-input "tbb")))) + (add-before 'install 'relax-gcc-14-strictness + (lambda _ + ;; XXX FIXME: $HOME/.R/Makevars seems to be the only way to + ;; set custom CFLAGS for R? + (setenv "HOME" (getcwd)) + (mkdir-p ".R") + (with-directory-excursion ".R" + (with-output-to-file "Makevars" + (lambda _ + (display (string-append + "CXXFLAGS=-g -O2" + " -Wno-error=changes-meaning\n")))))))))) + (inputs (list pcre2 tbb-2020)) (propagated-inputs (list r-rcpp r-rcppparallel)) (native-inputs diff --git a/gnu/packages/cvassistant.scm b/gnu/packages/cvassistant.scm index 66f66a48f0..0e074f4a14 100644 --- a/gnu/packages/cvassistant.scm +++ b/gnu/packages/cvassistant.scm @@ -49,7 +49,7 @@ (add-after 'unpack 'fix-quazip (lambda* (#:key inputs #:allow-other-keys) (let ((quazip - (search-input-directory inputs "/include/QuaZip-Qt5-1.4"))) + (search-input-directory inputs "/include/QuaZip-Qt5-1.5"))) (substitute* "CVAssistant.pro" (("-lquazip-qt5") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2bfa37ea90..249010399d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -309,41 +309,37 @@ ElasticSearch server") (define-public firebird (package (name "firebird") - (version "3.0.12") + (version "3.0.13") (source - (let ((revision "33787-0")) - (origin - (method url-fetch) - (uri (string-append "https://github.com/FirebirdSQL/" - "firebird/releases/download/v" - version "/" - "Firebird-" version "." revision ".tar.bz2")) - (sha256 - (base32 "07w109k237slwyhgyxma9r5my0dkvksc7ykpw0a4h7gpv06vzcl5")) - (patches (search-patches "firebird-riscv64-support-pt1.patch" - "firebird-riscv64-support-pt2.patch")) - (modules '((guix build utils))) - (snippet - `(begin - (for-each - delete-file-recursively - (list "extern/btyacc/test" ; TODO: package and remove entirely - "extern/editline" - "extern/icu" - "extern/libtommath" - "extern/zlib" - "src/include/firebird/impl/boost" + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FirebirdSQL/firebird") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0h697y53vk7yvlifr35vjl3vkv8m5ny7j05r70qnqcvjy0axqbdn")) + (patches (search-patches "firebird-riscv64-support-pt1.patch" + "firebird-riscv64-support-pt2.patch")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each + delete-file-recursively + (list "extern/btyacc/test" ; TODO: package and remove entirely + "extern/editline" + "extern/icu" + "extern/libtommath" + "extern/zlib" + "src/include/firebird/impl/boost" - ;; Missing licence. - "builds/install/arch-specific/solaris" - "extern/SfIO" - "src/msgs/templates.sql" + ;; Missing licence. + "builds/install/arch-specific/solaris" + "extern/SfIO" + "src/msgs/templates.sql" - ;; Generated files missing sources. - "doc/Firebird-3-QuickStart.pdf" - (string-append "doc/Firebird-" ,version - "-ReleaseNotes.pdf") - "doc/README.SecureRemotePassword.html"))))))) + ;; Generated files missing sources. + "doc/README.SecureRemotePassword.html")))))) (build-system gnu-build-system) (outputs (list "debug" "out")) (arguments @@ -445,13 +441,11 @@ ElasticSearch server") (list "include/firebird/impl" "lib/firebird/plugins/udr"))))))))) (native-inputs - (if (target-riscv64?) - (list autoconf automake libtool) - '())) + (list autoconf automake libtool)) (inputs (list boost editline - icu4c-71 + icu4c-77 libtommath ncurses zlib)) @@ -1316,17 +1310,16 @@ as a drop-in replacement of MySQL.") (define-public mariadb-connector-c (package (name "mariadb-connector-c") - (version "3.1.13") + (version "3.4.5") (source (origin (method url-fetch) (uri (string-append - "https://downloads.mariadb.org/f/connector-c-" version - "/mariadb-connector-c-" version "-src.tar.gz" - "/from/https%3A//mirrors.ukfast.co.uk/sites/mariadb/?serve")) + "https://downloads.mariadb.org/rest-api/connector-c/" + version "/mariadb-connector-c-" version "-src.tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0xb8fiissblxb319y5ifqqp86zblwis789ipb753pcb4zpnsaw82")))) + (base32 "18y1x985pnvvirmwfka81ygsvl7isc52mj9c9hvc69fb2qw1jzmi")))) (inputs (list openssl)) (build-system cmake-build-system) @@ -1996,7 +1989,7 @@ including field and record folding.") (define-public rocksdb (package (name "rocksdb") - (version "6.26.1") + (version "10.4.2") (source (origin (method git-fetch) (uri (git-reference @@ -2005,7 +1998,7 @@ including field and record folding.") (file-name (git-file-name name version)) (sha256 (base32 - "0mylma106w93kxhj89g9y1ccdq7m9m94wrmv5nyr17yc1zsk87sg")) + "1cgr33qv639fyx067sg8nsy8mnfac9xgmmw2qwi2bcmir777ma4q")) (modules '((guix build utils))) (snippet '(begin @@ -3701,15 +3694,66 @@ with Python's asyncio framework.") (define-public python-asyncmy (package (name "python-asyncmy") - (version "0.2.5") + (version "0.2.10") (source - (origin - (method url-fetch) - (uri (pypi-uri "asyncmy" version)) - (sha256 - (base32 "0i18zxy6xvzv6dk791xifn2sw2q4zvqwpzrzy8qx51d3mp8z6gng")))) - (build-system python-build-system) - (native-inputs (list python-cython)) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/long2ice/asyncmy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10sqihiwx7vsdaavgl418hhk7d5rl6d1i60y5bjr76mdfny18q55")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Most tests fail, probably because + ;; of pytest-asyncio version mismatch. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each delete-file + (find-files (site-packages inputs outputs) + "\\.(c|pyx)$")))) + + (replace 'check + (lambda* (#:key tests? #:allow-other-keys #:rest rest) + (when tests? + ;; XXX: Else pytest picks up the wrong __init__.py + (delete-file-recursively "asyncmy") + ;; The tests rely on a MySQL or MariaDB test server + ;; being available. + (let ((datadir "/tmp/mysql") + (socket "/tmp/mysql/mysqld.sock") + (username "root") + (password "123456")) ;default in conftest.py + (invoke "mysqld" "--initialize-insecure" + (string-append "--datadir=" datadir)) + (spawn "mysqld" + (list + "mysqld" + ;; Respect '--datadir'. + "--no-defaults" + (string-append "--datadir=" datadir) + (string-append "--socket=" socket))) + (sleep 1) + (invoke "mysql" + (string-append "--socket=" socket) + "-u" "root" + "-e" (string-append + "ALTER USER 'root'@'localhost' IDENTIFIED BY '" + password "';")) + (apply (assoc-ref %standard-phases 'check) + `(#:tests? ,tests? ,@rest))))))))) + (native-inputs + (list mysql + python-cython + python-poetry-core + python-pytest + python-pytest-asyncio + python-setuptools)) (home-page "https://github.com/long2ice/asyncmy") (synopsis "Fast MySQL driver for Python") (description "@code{asyncmy} is a fast @code{asyncio} MySQL driver, which @@ -4023,30 +4067,19 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") (define-public virtuoso-ose (package (name "virtuoso-ose") - (version "7.2.11") + (version "7.2.15") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/virtuoso/virtuoso/" version "/" "virtuoso-opensource-" version ".tar.gz")) (sha256 - (base32 "0mk25gr1pafmps4nsydjprwswbzwch8b583nlwh7x2031sz7ald1")) - (patches (search-patches "virtuoso-ose-remove-pre-built-jar-files.patch")) + (base32 "1nz6kddwxz5k79g3skj7y45f0l20m8fh8haw42j313xm177xpdp0")) (modules '((guix build utils))) ;; This snippet removes pre-built Java archives. (snippet #~(for-each delete-file-recursively - (list "binsrc/hibernate" - "binsrc/jena" - "binsrc/jena2" - "binsrc/jena3" - "binsrc/jena4" - "binsrc/rdf4j" - "binsrc/sesame" - "binsrc/sesame2" - "binsrc/sesame3" - "binsrc/sesame4" - "libsrc/JDBCDriverType4"))))) + (find-files "." "\\.jar$"))))) (build-system gnu-build-system) (arguments (list @@ -4059,9 +4092,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") "--enable-static=no") #:phases #~(modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (invoke "sh" "autogen.sh"))) (add-after 'unpack 'avoid-embedding-kernel-and-timestamps ;; For a reproducible build, avoid embedding the kernel version and ;; timestamps. @@ -4080,15 +4110,9 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") "appsrc/ODS-FeedManager/make_vad.sh" "appsrc/ODS-Bookmark/make_vad.sh" "appsrc/ODS-Addressbook/make_vad.sh" - "binsrc/dbpedia/make_vad.sh" "binsrc/samples/demo/make_vad.sh" "binsrc/samples/demo/mkdoc.sh" - "binsrc/samples/sparql_demo/make_vad.sh" - "binsrc/bpel/make_vad.sh" - "binsrc/fct/make_vad.sh" - "binsrc/rdf_mappers/make_vad.sh" - "binsrc/isparql/make_vad.sh" - "binsrc/conductor/mkvad.sh") + "binsrc/rdf_mappers/make_vad.sh") (("^UNAME_SYSTEM=.*") "UNAME_SYSTEM=unknown\n") (("^UNAME_RELEASE=.*") "UNAME_RELEASE=unknown\n") (("^PACKDATE=.*") "PACKDATE=2012-04-18\n") @@ -4103,7 +4127,7 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") '("libvirtuoso-t.a" "libvirtuoso-t.la"))))))) (native-inputs - (list autoconf automake bison flex gperf libtool)) + (list autoconf automake bison flex gperf libtool python)) (inputs (list openssl net-tools readline which zlib)) (home-page "https://vos.openlinksw.com/owiki/wiki/VOS/") @@ -5171,7 +5195,7 @@ with integrated support for finding required rows quickly.") (define-public apache-arrow (package (name "apache-arrow") - (version "20.0.0") + (version "21.0.0") (source (origin (method git-fetch) @@ -5181,7 +5205,7 @@ with integrated support for finding required rows quickly.") (file-name (git-file-name name version)) (sha256 (base32 - "1n96m8fbpg8azbwm6hx3adbc2sa070k1zh0lj18yqlw2nqmdslr4")))) + "0lxywrjfwhiznsldpv5bd6g357za5ng64jvy943kp0ndckh5l4g9")))) (build-system cmake-build-system) (arguments (list @@ -5425,132 +5449,6 @@ language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.") (license license:asl2.0))) -(define-public apache-arrow-0.16 - (package - (name "apache-arrow") - (version "0.16.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/apache/arrow") - (commit (string-append "apache-arrow-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "15bplqy5708bxy1mynzjkd3d2g8v2wd36z8l0ap8yyyq54l3gdvy")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'configure 'enter-source-directory - (lambda _ - (chdir "cpp") - (substitute* "src/parquet/CMakeLists.txt" - ((" parquet_constants.cpp") "") - (("set\\(THRIFT_OUTPUT_FILES \\$\\{THRIFT_OUTPUT_FILES\\}.*") "") - ((".*\"\\$\\{THRIFT_OUTPUT_DIR\\}/parquet_constants.cpp\"\\).*") "")))) - (add-after 'unpack 'set-env - (lambda _ - (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) - (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) - (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) - (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))))) - #:build-type "Release" - #:configure-flags - (list "-DARROW_PYTHON=ON" - "-DARROW_GLOG=ON" - "-DARROW_SSE42=OFF" - "-DARROW_BOOST_USE_SHARED=ON" - ;; Parquet options - "-DARROW_PARQUET=ON" - - ;; The maintainers disallow using system versions of - ;; jemalloc: - ;; https://issues.apache.org/jira/browse/ARROW-3507. This - ;; is unfortunate because jemalloc increases performance: - ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. - "-DARROW_JEMALLOC=OFF" - - ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global - ;; option that instructs the build system how to resolve - ;; each dependency. SYSTEM = Finding the dependency in - ;; system paths using CMake's built-in find_package - ;; function, or using pkg-config for packages that do not - ;; have this feature - "-DARROW_DEPENDENCY_SOURCE=SYSTEM" - - ;; Split output into its component packages. - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out")) - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "out") - "/lib") - (string-append "-DCMAKE_INSTALL_BINDIR=" - (assoc-ref %outputs "out") - "/bin") - (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" - (assoc-ref %outputs "include") - "/share/include") - - - "-DARROW_WITH_SNAPPY=ON" - "-DARROW_WITH_ZLIB=ON" - "-DARROW_WITH_ZSTD=ON" - "-DARROW_WITH_LZ4=ON" - "-DARROW_COMPUTE=ON" - "-DARROW_CSV=ON" - "-DARROW_DATASET=ON" - "-DARROW_FILESYSTEM=ON" - "-DARROW_HDFS=ON" - "-DARROW_JSON=ON" - ;; Arrow Python C++ integration library (required for - ;; building pyarrow). This library must be built against - ;; the same Python version for which you are building - ;; pyarrow. NumPy must also be installed. Enabling this - ;; option also enables ARROW_COMPUTE, ARROW_CSV, - ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and - ;; ARROW_JSON. - "-DARROW_PYTHON=ON" - - ;; Building the tests forces on all the - ;; optional features and the use of static - ;; libraries. - "-DARROW_BUILD_TESTS=OFF" - "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" - ;;"-DBENCHMARK_ENABLE_TESTING=OFF" - "-DARROW_BUILD_STATIC=OFF"))) - (inputs - `(("boost" ,boost) - ("brotli" ,brotli) - ("double-conversion" ,double-conversion) - ("snappy" ,snappy) - ("gflags" ,gflags) - ("glog" ,glog) - ("apache-thrift" ,apache-thrift "lib") - ("protobuf" ,protobuf) - ("rapidjson" ,rapidjson) - ("zlib" ,zlib) - ("bzip2" ,bzip2) - ("lz4" ,lz4) - ("zstd" ,zstd "lib") - ("re2" ,re2) - ("grpc" ,grpc) - ("python-3" ,python) - ("python-numpy" ,python-numpy))) - (native-inputs - (list pkg-config apache-thrift)) - (outputs '("out" "include")) - (home-page "https://arrow.apache.org/") - (synopsis "Columnar in-memory analytics") - (description "Apache Arrow is a columnar in-memory analytics layer -designed to accelerate big data. It houses a set of canonical in-memory -representations of flat and hierarchical data along with multiple -language-bindings for structure manipulation. It also provides IPC and common -algorithm implementations.") - (license license:asl2.0))) - (define-public python-pyarrow (package (inherit apache-arrow) @@ -5619,64 +5517,6 @@ implementation, along with tools for interoperability with pandas, NumPy, and other traditional Python scientific computing packages.") (license license:asl2.0))) -(define-public python-pyarrow-0.16 - (package - (inherit apache-arrow-0.16) - (name "python-pyarrow") - (build-system python-build-system) - (arguments - '(#:tests? #f ; XXX There are no tests in the "python" directory - #:phases - (modify-phases %standard-phases - (delete 'build) ; XXX the build is performed again during the install phase - (add-after 'unpack 'enter-source-directory - (lambda _ (chdir "python"))) - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")))) - (add-before 'install 'patch-cmake-variables - (lambda* (#:key inputs #:allow-other-keys) - ;; Replace cmake locations with hardcoded guix links for the - ;; underlying C++ library and headers. This is a pretty awful - ;; hack. - (substitute* "cmake_modules/FindParquet.cmake" - (("# Licensed to the Apache Software Foundation" m) - (string-append "set(PARQUET_INCLUDE_DIR \"" - (assoc-ref inputs "apache-arrow:include") - "/share/include\")\n" m)) - (("find_package_handle_standard_args" m) - (string-append "set(PARQUET_LIB_DIR \"" - (assoc-ref inputs "apache-arrow:lib") - "/lib\")\n" m))))) - (add-before 'install 'patch-parquet-library - (lambda _ - (substitute* "CMakeLists.txt" - (("parquet_shared") "parquet")))) - (add-before 'install 'set-PYARROW_WITH_PARQUET - (lambda _ - (setenv "PYARROW_WITH_PARQUET" "1")))))) - (propagated-inputs - `(("apache-arrow:lib" ,apache-arrow-0.16) - ("apache-arrow:include" ,apache-arrow-0.16 "include") - ("python-numpy" ,python-numpy) - ("python-pandas" ,python-pandas) - ("python-six" ,python-six))) - (native-inputs - (list cmake-minimal - pkg-config - python-cython - python-pytest - python-pytest-runner - python-setuptools-scm)) - (outputs '("out")) - (home-page "https://arrow.apache.org/docs/python/") - (synopsis "Python bindings for Apache Arrow") - (description - "This library provides a Pythonic API wrapper for the reference Arrow C++ -implementation, along with tools for interoperability with pandas, NumPy, and -other traditional Python scientific computing packages.") - (license license:asl2.0))) - (define-public python-fastparquet (package (name "python-fastparquet") diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index da5db84b41..97b2bded46 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2025 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2018, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> @@ -91,7 +91,9 @@ #:out-of-source? #true #:configure-flags #~(list - "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration" + #$@(if (target-ppc64le?) + #~("CFLAGS=-g -O2 -Wno-error=implicit-function-declaration -fpermissive") + #~("CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")) ;; Remove 7 MiB of .a files. "--disable-static" diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 4d1121f476..a5b371a099 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -78,7 +78,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "302") + (version "303") (source (origin (method git-fetch) @@ -87,7 +87,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1h7qkmy8q2l864f4vlpxclxljh7dqr51pwvwra5lfr92bjcy5mdr")))) + (base32 "1asrhbba9jrk7vibr89s03sy0kac0bhh9ddp0gy45zffhhflnxb5")))) (build-system pyproject-build-system) (arguments (list @@ -210,6 +210,7 @@ html2text imagemagick libarchive + libcaca llvm lz4 lzip diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 4d428d4686..cd1d0c0d9a 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -137,7 +137,7 @@ a system that allows you to easily communicate between processes, and separate your project into different processes.") (license license:bsd-3))) -(define-public python-django-4.2 +(define-public python-django (package (name "python-django") (version "4.2.16") @@ -229,24 +229,6 @@ to the @dfn{don't repeat yourself} (DRY) principle.") ;; This CVE seems fixed since 4.2.1. (lint-hidden-cve . ("CVE-2023-31047")))))) -;; archivebox requires django>=3.1.3,<3.2 -(define-public python-django-3.1.14 - (package - (inherit python-django-4.2) - (version "3.1.14") - (source (origin - (method url-fetch) - (uri (pypi-uri "Django" version)) - (sha256 - (base32 - "0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs python-django-4.2) - ;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo. - (append python-pytz))))) - -(define-public python-django python-django-4.2) - (define-public python-django-cache-url (package (name "python-django-cache-url") diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 7cb86ad144..5e981ac02c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -851,7 +851,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.4.6") + (version "3.4.8") (source (origin (method git-fetch) @@ -860,7 +860,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0chdlzasng3q3ss4yfppf8fbkkiqllqz4p6s8a6jgwhcbiylmmdi")) + (base32 "0zydnb9kbk65kbrg01sxl48a5ikdap7lhm1wvmcmk5vhvgxdbb53")) (patches (search-patches "knot-remove-runtime-deps.patch")) (modules '((guix build utils))) @@ -993,14 +993,14 @@ synthesis, and on-the-fly re-configuration.") (define-public knot-resolver (package (name "knot-resolver") - (version "5.7.5") + (version "5.7.6") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-resolver/" "knot-resolver-" version ".tar.xz")) (sha256 (base32 - "0rnz7k5pjqd4ds46iyf6r7xwrci0apm2sr6lpaf9sncjmbwrq8w0")))) + "0x6n0h2vd7756rgyzmzhsvky5j7p4brsynnwp13ya003aqxcs32h")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index a0c90ac5aa..21e20e1842 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -103,6 +104,33 @@ management tool.") (license license:asl2.0))) +;; Needed for old v1 of docker-compose; remove once Docker is updated to a +;; more recent version which has the command "docker compose" built-in. +(define-public python-docker-5 + (package + (inherit python-docker) + (name "python-docker") + (version "5.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/docker-py") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9")))) + (build-system python-build-system) + ;; Integration tests need a running Docker daemon. + (arguments (list #:tests? #f)) + (native-inputs '()) + (inputs (modify-inputs (package-inputs python-docker) + (prepend python-six) + (delete "python-urllib3"))) + (propagated-inputs + (modify-inputs (package-propagated-inputs python-docker) + (prepend python-docker-pycreds python-urllib3-1.26))))) + (define-public python-dockerpty (package (name "python-dockerpty") @@ -139,16 +167,25 @@ client.") "1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c")))) (build-system python-build-system) ;; TODO: Tests require running Docker daemon. - (arguments '(#:tests? #f)) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-pyyaml + (lambda _ + (substitute* "setup.py" + ((", < 6") + ""))))))) (inputs (list python-cached-property python-distro - python-docker + python-docker-5 python-dockerpty python-docopt python-dotenv python-jsonschema-3 - python-pyyaml-5 + python-pyyaml python-requests python-six python-texttable diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 33855baef4..3d6ec79b69 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -536,7 +536,7 @@ specialized device.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "OpenBoard.pro" (("/usr/include/quazip5") - (search-input-directory inputs "/include/QuaZip-Qt5-1.4/quazip")) + (search-input-directory inputs "/include/QuaZip-Qt5-1.5/quazip")) (("-lquazip5") "-lquazip1-qt5") (("/usr/include/poppler") diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index a13ad2196a..05bee696b2 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -106,7 +106,7 @@ individual low-level driver modules.") (home-page "https://www.comedi.org/") (license license:lgpl2.1))) -(define-public librnd +(define librnd (package (name "librnd") (version "4.3.2") @@ -561,12 +561,12 @@ The following features are currently available: (define-public opensta ;; There are no releases, we use last commit. - (let ((commit "eb8d39a7dd81b5ca2582ad9bbce0fb6e094b3e0f") + (let ((commit "12f03395ec80d3593f4796b2a3cf5480e75735bd") (revision "0")) (package (name "opensta") ;; The version string is taken from the CMakeLists.txt. - (version (git-version "2.6.2" revision commit)) + (version (git-version "2.7.0" revision commit)) (source (origin (method git-fetch) @@ -575,20 +575,27 @@ The following features are currently available: (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0bpc7fj4pd5713yny2vrh542jbag1kj20g0ji01c9scqb9av5qw5")))) + (base32 "1gka50p4wv2b49d8jbw5fs3qg7cppa8ynl3diqgdf8mqgskwapzf")))) (build-system cmake-build-system) (arguments (list + ;; Tests expect output sta binary inside source tree. + #:out-of-source? #f #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "../source/test/regression"))))) + (invoke "../test/regression")))) + (add-before 'build 'create-build-dir + (lambda _ + (mkdir-p "./build") + (chdir "./build")))) #:configure-flags #~(list (string-append "-DCUDD_DIR=" #$(this-package-input "cudd")) - (string-append "-DBUILD_SHARED_LIBS=YES")))) + (string-append "-DBUILD_SHARED_LIBS=YES") + "-B./build"))) (native-inputs (list bison flex swig)) (inputs (list cudd eigen tcl tcllib zlib)) (synopsis "Parallax Static Timing Analyzer") diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 96ba0421ea..0e53223f10 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2024 Andrew Tropin <andrew@trop.in> -;;; Copyright © 2024 Ivan Sokolov <ivan-p-sokolov@ya.ru> +;;; Copyright © 2024, 2025 Ivan Sokolov <ivan-p-sokolov@ya.ru> ;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org> ;;; ;;; This file is part of GNU Guix. @@ -200,23 +200,24 @@ being successfully used in web development and the embedded software domain.") (delete 'bootstrap) (delete 'configure) (replace 'build - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (setenv "MIX_ENV" "prod") (invoke "mix" "compile"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (define X.Y #$(version-major+minor (package-version elixir))) - (define out (string-append (assoc-ref outputs "out") - "/lib/elixir/" X.Y "/hex")) - (mkdir-p out) - (let* ((prod-dir "_build/prod/lib/hex") + (lambda _ + (let* ((X.Y #$(version-major+minor + (package-version + (lookup-package-input this-package "elixir")))) + (out (string-append #$output "/lib/elixir/" X.Y "/hex")) + (prod-dir "_build/prod/lib/hex") (prod-dir-mix (string-append prod-dir "/.mix"))) (and (directory-exists? prod-dir-mix) (delete-file-recursively prod-dir-mix)) - (copy-recursively "_build/prod/lib/hex" out))))))) + (mkdir-p out) + (copy-recursively prod-dir out))))))) (synopsis "Package manager for the Erlang VM") (description "This project provides tasks that integrate with Mix, Elixir's build tool.") - (home-page "https://hexdocs.pm/makeup_elixir/") + (home-page "https://hexdocs.pm/hex/api-reference.html") (license license:bsd-2))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 222d065db3..86ab5354f6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14171,7 +14171,7 @@ interface.") (define-public emacs-orderless (package (name "emacs-orderless") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -14179,11 +14179,12 @@ interface.") (url "https://github.com/oantolin/orderless") (commit version))) (sha256 - (base32 "1la91fk322n600h4wnavx7a6rdc44mz4v4gg1fb3cpwjsw746sl8")) + (base32 "0cgklam29vsfrl70n3cqv1dxbsnpzjylfxabfs9v1yz02q27nggv")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments (list + #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo @@ -14194,7 +14195,8 @@ interface.") (native-inputs (list texinfo)) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/oantolin/orderless") - (synopsis "Emacs completion style that matches multiple regexps in any order") + (synopsis + "Emacs completion style that matches multiple regexps in any order") (description "This package provides an orderless completion style that divides the pattern into space-separated components, and matches candidates that match all of the components in any order. Each component can match in @@ -14590,7 +14592,7 @@ expansion and overwriting the marked region with a new snippet completion.") (define-public emacs-marginalia (package (name "emacs-marginalia") - (version "2.0") + (version "2.2") (source (origin (method git-fetch) @@ -14599,21 +14601,20 @@ expansion and overwriting the marked region with a new snippet completion.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00dzckksfzvwjdy3v1g71nvkxnnpw2bmh8bmhf56qn3nzfj2yr89")))) + (base32 "1grn94v5pidb9wk2vgxx5n3fmhcgx9i14lrwm5clvsvncysy7zhg")))) (build-system emacs-build-system) (arguments (list + #:tests? #f ;no tests #:phases #~(modify-phases %standard-phases - (add-after 'install 'makeinfo + (add-before 'install 'makeinfo (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" "--eval=(find-file \"README.org\")" - "--eval=(org-texinfo-export-to-info)") - (install-file "marginalia.info" - (string-append #$output "/share/info"))))))) + "--eval=(org-texinfo-export-to-info)")))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-compat)) @@ -17693,6 +17694,34 @@ of its name.") names, e.g., @samp{#0000ff} is displayed in white with a blue background.") (license license:gpl3+))) +(define-public emacs-colorful-mode + (package + (name "emacs-colorful-mode") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DevelopmentCool2449/colorful-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cm5bpw2x15h6pf5vxcp2f7jf1rkpnq7qq8idlv9n9p5nnxwik1d")))) + (build-system emacs-build-system) + ;; No automated tests. The test directory contains sample files for + ;; visual inspection. + (arguments (list #:tests? #f)) + (propagated-inputs (list emacs-compat)) + (home-page "https://github.com/DevelopmentCool2449/colorful-mode") + (synopsis "Highlight color strings in buffers") + (description + "@code{colorful-mode} is a minor mode to highlight any color +format, such as hex codes or HTML color names, in buffers in real time. It is +inspired by @code{rainbow-mode} but uses overlays instead of text properties +to support a different feature set. It also supports conversion of color +strings between formats.") + (license license:gpl3+))) + (define-public emacs-indent-bars (package (name "emacs-indent-bars") @@ -20659,7 +20688,7 @@ using a convenient notation.") (let ((commit "c3f4583b0767e7f8c38c83ed29af40af8ba3bdfa")) ;version bump (package (name "emacs-beframe") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -20672,17 +20701,16 @@ using a convenient notation.") (build-system emacs-build-system) (arguments (list + #:tests? #f ;no tests #:phases #~(modify-phases %standard-phases - (add-after 'install 'makeinfo + (add-before 'install 'makeinfo (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" "--eval=(find-file \"README.org\")" - "--eval=(org-texinfo-export-to-info)") - (install-file "beframe.info" - (string-append #$output "/share/info"))))))) + "--eval=(org-texinfo-export-to-info)")))))) (native-inputs (list texinfo)) (home-page "https://protesilaos.com/emacs/beframe") @@ -32489,17 +32517,32 @@ buffer displays recursive dir sizes.") (define-public emacs-dired-preview (package (name "emacs-dired-preview") - (version "0.4.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/protesilaos/dired-preview") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "016g2scl3ifngy67s5dalnywxxj1xdf1mibpqda2zgynx0czvv7l")))) + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/protesilaos/dired-preview") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p6v1dx33f7ypi026pp4jjzh81n5vl4gy63cwhql0sbwsbxsz8y9")))) (build-system emacs-build-system) + (arguments + (list + #:test-command + #~(list "ert-runner" "-L" "tests" "tests/dired-preview-test.el") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'makeinfo + (lambda _ + (invoke "emacs" + "--batch" + "--eval=(require 'ox-texinfo)" + "--eval=(find-file \"README.org\")" + "--eval=(org-texinfo-export-to-info)")))))) + (native-inputs (list emacs-ert-runner texinfo)) (home-page "https://protesilaos.com/emacs/dired-preview") (synopsis "Automatically preview file at point in Dired") (description @@ -37584,6 +37627,65 @@ between \"frame-width\" and \"frame-height\", between \"public\", \"variableN\".") (license license:gpl2+))) +(define-public emacs-recomplete + (let ((commit "0e4a2bad35886e31742117eee3d610e13586ac5e") + (revision "0")) + (package + (name "emacs-recomplete") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/ideasman42/emacs-recomplete") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dasj12k9664s77cxnkbrszy2vkfwd6iz6mrj9xzsq7mjgg5gk58")))) + (build-system emacs-build-system) + (arguments (list #:test-command #~(list "make" "test"))) + (home-page "https://codeberg.org/ideasman42/emacs-recomplete") + (synopsis "Immediate completion, without prompting") + (description + "@code{recomplete} is a completion library for quickly completing or +correcting words in cases where the first candidate is the likely choice. +Unlike most completion, it immediately performs the completion action, calling +again to cycle over options. Completion candidates are displayed in the echo +area.") + (license license:gpl3+)))) + +(define-public emacs-cycle-at-point + (package + (name "emacs-cycle-at-point") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/ideasman42/emacs-cycle-at-point") + (commit "83d94733fd8ed64f2ba40f4e1df7ecbfe8260e51"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17h93idzdg5y30q46y5njsvixwlq3isnynym6b6gp3sy50xqgjgs")))) + (build-system emacs-build-system) + (arguments + (list + ;; `make test' assumes recomplete repository is in a sibling directory. + #:test-command + #~(list "emacs" "-Q" "--batch" + "-l" "tests/cycle-at-point-tests" + "-f" "ert-run-tests-batch-and-exit"))) + (propagated-inputs (list emacs-recomplete)) + (home-page "https://codeberg.org/ideasman42/emacs-cycle-at-point") + (synopsis "Immediately cycle text at the cursor, without prompting") + (description + "@code{cycle-at-point} provides commands to cycle text at the cursor. +Repeatedly invoke the command to cycle over available options. Completion +candidates are displayed in the echo area. Users can define their own +completion lists. Common use cases include true and false literals, +arithmetic operators, and months of the year.") + (license license:gpl3+))) + (define-public emacs-ediprolog (package (name "emacs-ediprolog") @@ -38539,7 +38641,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (define-public emacs-fj (package (name "emacs-fj") - (version "0.17") + (version "0.21") (source (origin (method git-fetch) @@ -38548,7 +38650,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0857h9pkzdmf2cgd3ss4q405n219gfdsfryp6w4mr0mp87dpgz84")))) + (base32 "0pvk69i6nz1gf36labj6cdskw8qsx44hx2z78s2fcvr8z4a345rl")))) (build-system emacs-build-system) (arguments (list #:tests? #f)) ; no tests (propagated-inputs (list emacs-fedi emacs-magit emacs-tp)) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 130b2e0877..7c8202dd71 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -3571,59 +3571,58 @@ assembler, and debugger for the Intel 8085 microprocessor. (define-public pcsxr ;; No release since 2017. - (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) + (let ((commit "666604321bf2d3dd5e5f58b534cfce41e72ad7d1") + (revision "1")) (package (name "pcsxr") - ;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded - (version "1.9.95") + ;; From CMakeLists.txt. + (version (git-version "1.9.94" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/pcsxr/PCSX-Reloaded") + (url "https://github.com/MaddTheSane/PCSX-Reloaded") (commit commit))) + (patches (search-patches "pcsxr-find-harfbuzz.patch" + "pcsxr-fix-definitions.patch")) (sha256 - (base32 - "138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza")) + (base32 "0lcypcawnipm02m3wnjsrm9r10llabncx78ramk7iw03a646dngj")) (file-name (git-file-name name commit)))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no "test" target - #:configure-flags - (list "-DSND_BACKEND=pulse" - "-DENABLE_CCDDA='ON'" - "-DUSE_LIBARCHIVE='ON'" - "-DUSE_LIBCDIO='ON'") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'cd-subdir - (lambda _ (chdir "pcsxr") #t)) - (add-before 'configure 'fix-cdio-lookup - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cmake/FindCdio.cmake" - (("/usr/include/cdio") - (search-input-directory inputs "/include/cdio"))))) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/pcsxr") - ;; For GtkFileChooserDialog. - `("GSETTINGS_SCHEMA_DIR" = - (,(string-append (assoc-ref inputs "gtk+") - "/share/glib-2.0/schemas"))))))))) - (native-inputs - (list pkg-config intltool - `(,glib "bin"))) - (inputs - (list bash-minimal - libcdio - sdl2 - gtk+ - ffmpeg-4 - libxv - libarchive - pulseaudio)) - (home-page "https://archive.codeplex.com/?p=pcsxr") + (list + #:tests? #f ;no "test" target + #:configure-flags + #~(list "-DSND_BACKEND=pulse" + "-DENABLE_CCDDA='ON'" + "-DUSE_LIBARCHIVE='ON'" + "-DUSE_LIBCDIO='ON'" + "-DCMAKE_C_FLAGS=-Wno-incompatible-pointer-types") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'fix-cdio-lookup + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/FindCdio.cmake" + (("/usr/include/cdio") + (search-input-directory inputs "/include/cdio"))))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/pcsxr") + ;; For GtkFileChooserDialog. + `("GSETTINGS_SCHEMA_DIR" = + (,(string-append (assoc-ref inputs "gtk+") + "/share/glib-2.0/schemas"))))))))) + (native-inputs (list pkg-config intltool + `(,glib "bin"))) + (inputs (list bash-minimal + libcdio + sdl2 + gtk+ + ffmpeg-4 + libxv + libarchive + pulseaudio)) + (home-page "https://github.com/MaddTheSane/PCSX-Reloaded") (synopsis "PlayStation emulator") (description "A PlayStation emulator based on PCSX-df Project with bugfixes and diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index 71f45bc57d..6298bd4904 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) #:use-module (gnu packages version-control) #:use-module (guix gexp) #:use-module (guix packages) @@ -39,6 +40,7 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix licenses) #:use-module (srfi srfi-1)) @@ -149,7 +151,7 @@ Ispell-compatible.") (sha256 (base32 "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found #:phases @@ -163,6 +165,8 @@ Ispell-compatible.") "/lib/libenchant-2.so\"")))))))) (inputs (list enchant)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://github.com/pyenchant/pyenchant") (synopsis "Spellchecking library for Python") (description "PyEnchant is a spellchecking library for Python, based on the diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 77383428b5..cba13fff86 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -3446,9 +3446,9 @@ models in the STL and OFF file formats.") (license license:gpl2+)))) (define-public pythonscad - (let ((commit "e2641ca1a208a9a54a034a8818a9774ad4d5867c") + (let ((commit "e1d49035b8dd4cac187a03f04dd9de9d61972cbf") (version "0.0.0") - (revision "0")) + (revision "1")) (package (inherit openscad) (name "pythonscad") @@ -3464,7 +3464,7 @@ models in the STL and OFF file formats.") ;; deleted in the patch-source build phase. (recursive? #t))) (sha256 - (base32 "1i6yajamdrha2kpgyhn7jn6dv35qmgq0zsqv8cdzdqg5142v66ay")) + (base32 "1q0ib5iz4l2vpi8208fghgwcfb0n7a0ypm1ch860dl0zd1p4zljz")) (modules '((guix build utils))) (snippet #~(begin ;; Delete all unbundled libraries to replace them with @@ -3477,13 +3477,23 @@ models in the STL and OFF file formats.") (file-name (git-file-name name version)))) (arguments (substitute-keyword-arguments (package-arguments openscad) - ((#:configure-flags flags - '()) - #~(append #$flags - (list "-DENABLE_LIBFIVE=ON" "-DUSE_BUILTIN_LIBFIVE=OFF" - (string-append "-DPYTHON_VERSION=" - #$(version-major+minor - (package-version python)))))) + ((#:configure-flags flags) + #~(begin + (use-modules (srfi srfi-1)) + (append + (remove (lambda (flag) + (or (string-prefix? "-DOPENSCAD_VERSION=" flag) + (string-prefix? "-DOPENSCAD_COMMIT=" flag))) + #$flags) + (list "-DENABLE_LIBFIVE=ON" + "-DUSE_BUILTIN_LIBFIVE=OFF" + (string-append "-DOPENSCAD_VERSION=" + #$version) + (string-append "-DOPENSCAD_COMMIT=" + #$commit) + (string-append "-DPYTHON_VERSION=" + #$(version-major+minor + (package-version python))))))) ((#:phases phases) #~(modify-phases #$phases (replace 'patch-source diff --git a/gnu/packages/fediverse.scm b/gnu/packages/fediverse.scm index 5378c9437e..167742e5cf 100644 --- a/gnu/packages/fediverse.scm +++ b/gnu/packages/fediverse.scm @@ -265,7 +265,7 @@ seamlessly with your desktop environment.") (define-public snac2 (package (name "snac") - (version "2.80") + (version "2.81") (source (origin (method git-fetch) @@ -274,7 +274,7 @@ seamlessly with your desktop environment.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1npplr8mdw876g27473myyyghhizaffx46jvl8hiqx90qix4kzzi")))) + (base32 "12wnd7r9k1fmf9yikczhiplbjjvpi66c7n22hs6xla3qqm7vwcm3")))) (build-system gnu-build-system) (inputs (list curl openssl)) (arguments diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 20c5356765..0ef4c206c9 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -562,10 +562,80 @@ It's not clear at the moment whether one day it will be possible to do so.") (license license:agpl3+))) +(define-public python-electrum-ecc + (package + (name "python-electrum-ecc") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "electrum_ecc" version)) + (sha256 + (base32 "1lmp5zmhabaxp6jha3xlsmqviivrxxhsy20x6z42ayqgd9cvhczp")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the vendored dependency. + (delete-file-recursively "libsecp256k1"))))) + (build-system pyproject-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-env + (lambda* (#:key inputs #:allow-other-keys) + ;; Do not attempt to compile vendored libsecp256k1. + (setenv "ELECTRUM_ECC_DONT_COMPILE" "1") + ;; Make the package find our libsecp256k1. + (substitute* "src/electrum_ecc/ecc_fast.py" + (("library_paths = \\[\\]") + (string-append + "library_paths = ['" + (search-input-file inputs "/lib/libsecp256k1.so") + "']")))))))) + (native-inputs (list python-pytest python-setuptools python-wheel)) + (inputs (list libsecp256k1)) + (home-page "https://github.com/spesmilo/electrum-ecc") + (synopsis "Pure python ctypes wrapper for libsecp256k1") + (description "This package provides a pure Python ctypes wrapper for +@code{libsecp256k1}.") + (license license:expat))) + +(define-public electrum-aionostr + (package + (name "electrum-aionostr") + (version "0.0.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "electrum_aionostr" version)) + (sha256 + (base32 "10fgidah8ca59j3gssg9b434j49c1dd9cs3224nanjsxwl0ivsqf")))) + (build-system pyproject-build-system) + (arguments + (list + ;; Test below fails to match an exit code, pointing to this in Click: + ;; https://github.com/pallets/click/pull/1489 + ;; This was fixed in Click 8.2.0. + #:test-flags #~(list "-k" "not test_command_line_interface"))) + (inputs (list python-aiohttp + python-aiohttp-socks + python-aiorpcx + python-cryptography + python-electrum-ecc)) + (native-inputs (list python-click + python-pytest + python-setuptools + python-wheel)) + (home-page "https://github.com/spesmilo/electrum-aionostr") + (synopsis "Asyncio nostr client") + (description "This package is a fork of @code{aionostr} that does not +require Coincurve.") + (license license:bsd-3))) + (define-public electrum (package (name "electrum") - (version "4.4.6") + (version "4.6.1") (source (origin (method url-fetch) @@ -573,42 +643,51 @@ do so.") version "/Electrum-" version ".tar.gz")) (sha256 - (base32 "1f0hb8xmqv1j9pf82xpyvxnn2dzmi93rhf0sh0iqakja2pbl4707")) + (base32 "1h7z019sp99csrj1djmhlm9y7vyyzl7wvar7z9x4jx59lmmvs1xs")) (modules '((guix build utils))) (snippet '(begin ;; Delete the bundled dependencies. (delete-file-recursively "packages"))))) - (build-system python-build-system) + (build-system pyproject-build-system) + (arguments + (list + ;; Either pycryptodomex or cryptography must be available. + ;; This package uses python-cryptography, but this test checks for + ;; cryptodomex anyway. Skip it since it's not useful. + #:test-flags #~(list "-k" "not test_pycryptodomex_is_available") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-deps + (lambda _ + (substitute* "contrib/requirements/requirements.txt" + ;; These packages have tight version requirements because + ;; the developer does not want to introduce Hatchling in + ;; the build environment. They do work at runtime. + (("attrs.*") "attrs") + (("dnspython.*") "dnspython")))) + (add-before 'check 'set-home + (lambda _ ; 3 tests run mkdir + (setenv "HOME" "/tmp")))))) + (native-inputs (list python-pytest python-setuptools python-wheel)) (inputs - (list libsecp256k1 + (list electrum-aionostr python-aiohttp python-aiohttp-socks python-aiorpcx python-attrs - python-bitstring - python-btchip-python python-certifi python-cryptography python-dnspython + python-electrum-ecc python-hidapi - python-ledgerblue + python-jsonpatch python-protobuf - python-pyqt + python-pyaes + python-pyqt-6 python-qdarkstyle python-qrcode zbar)) - (arguments - `(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-libsecp256k1-input - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "electrum/ecc_fast.py" - (("library_paths = \\[\\]") - (string-append "library_paths = ['" - (assoc-ref inputs "libsecp256k1") - "/lib/libsecp256k1.so']")))))))) (home-page "https://electrum.org/") (synopsis "Bitcoin wallet") (description @@ -698,7 +777,7 @@ blockchain.") ;; the system's dynamically linked library. (package (name "monero") - (version "0.18.4.0") + (version "0.18.4.1") (source (origin (method git-fetch) @@ -716,7 +795,7 @@ blockchain.") delete-file-recursively '("external/miniupnp" "external/rapidjson")))) (sha256 - (base32 "0dfb9yxpfijdjgl67dgmhgn4xd42rnwfn4nnp0dfakq34imv2cjh")))) + (base32 "0k4z01l8dvnazh650yarwn6ja1wrxcqq4g7302xw0dhw7h1qvy1j")))) (build-system cmake-build-system) (native-inputs (list doxygen @@ -803,7 +882,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.18.4.0") + (version "0.18.4.1") (source (origin (method git-fetch) @@ -819,7 +898,7 @@ the Monero command line client and daemon.") ;; See the 'extract-monero-sources' phase. (delete-file-recursively "monero"))) (sha256 - (base32 "0gzq3cq54mr85f86yibsska19lri2w2ak98pb4z237dffgjqkaj5")))) + (base32 "1r2cfzh4lc94mb7fqa8f41613msnsyy5kz6mzcr4npjpm8bxqs8k")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -2516,7 +2595,7 @@ mining.") (define-public p2pool (package (name "p2pool") - (version "4.6") + (version "4.9") (source (origin (method git-fetch) @@ -2525,7 +2604,7 @@ mining.") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) - (sha256 (base32 "1qal9ilpyxds6nk2fgzfypk3y1qxh06f6lly3alawz385gf68fkv")) + (sha256 (base32 "0898a823mi38z6dwdm6crb2l98rv79sznmqwa0ss96xggvk12nlw")) (modules '((guix build utils))) (snippet #~(for-each delete-file-recursively @@ -2536,6 +2615,8 @@ mining.") "external/src/rapidjson" "external/src/robin-hood-hashing"))))) (build-system cmake-build-system) + (native-inputs + (list xz)) (inputs (list cppzmq curl libuv rapidjson robin-hood-hashing zeromq)) (arguments @@ -2550,8 +2631,9 @@ mining.") (chdir "tests") (invoke "cmake" "-DWITH_LTO=OFF" "../../source/tests") (invoke "make" "-j" (number->string (parallel-job-count))) - (invoke "gzip" "-d" "sidechain_dump.dat.gz") - (invoke "gzip" "-d" "sidechain_dump_mini.dat.gz") + (invoke "xz" "-d" "sidechain_dump.dat.xz") + (invoke "xz" "-d" "sidechain_dump_mini.dat.xz") + (invoke "xz" "-d" "sidechain_dump_nano.dat.xz") (invoke "./p2pool_tests") (chdir "..")))) (replace 'install diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 4ea711924e..6ee675778c 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -103,14 +103,14 @@ UI builder called FLUID that can be used to create applications in minutes.") (define-public fltk (package (inherit fltk-1.3) - (version "1.4.3") + (version "1.4.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fltk/fltk") (commit (string-append "release-" version)))) (sha256 - (base32 "0v14a5x00h0ylvvvz26pj05c6zl3m5s5viiy5zlnjqjfliqdy0ci")))))) + (base32 "1nfl37c9yplp4gxjjlajysfj2vsr47xjlcq78ambd7im4wbjgj76")))))) (define-public ntk diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f081229d6a..26cd1a6405 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -4570,6 +4570,26 @@ enough to remain readable even at high resolutions.") Bonnie Scranton, and Edward Tufte.") (license license:expat)))) +(define-public font-commit-mono + (package + (name "font-commit-mono") + (version "1.143") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/eigilnikolajsen/commit-mono/" + "releases/download/" + "v" version + "/CommitMono-" version ".zip")) + (sha256 + (base32 "1l4yqjif6ijdpjsncana6swlh1mz0vbzaxkgk4580m3mgimg5lgp")))) + (build-system font-build-system) + (home-page "https://commitmono.com/") + (synopsis "Commit Mono programming font") + (description + "Commit Mono is an anonymous and neutral programming typeface.") + (license license:silofl1.1))) + (define-public font-cica (package (name "font-cica") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4d60ff60d1..9ef6df8d80 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1490,6 +1490,10 @@ It offers the following features: (base32 "08ddhywdy2qg17m592ng3yr0p1ih96irg8wg729g75hsxxq9ipks")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; Disable added pointer type checks (quesoglc no longer maintained) + '("CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types"))) (native-inputs (list pkg-config)) (inputs (list fontconfig freeglut fribidi glew)) (home-page "https://quesoglc.sourceforge.net") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index e0231f88fe..aa1454ca96 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -675,11 +675,32 @@ Go. It also includes runtime support libraries for these languages.") (define %gcc-13-x86_64-micro-architectures (append %gcc-12-x86_64-micro-architectures - '("graniterapids"))) ;Intel + '("graniterapids" ;Intel + "lujiazui"))) + +(define %gcc-14-aarch64-micro-architectures + (append %gcc-13-aarch64-micro-architectures + '("armv9.4-a"))) + +(define %gcc-14-ppc64le-micro-architectures + (append %gcc-10-ppc64le-micro-architectures + '("power11"))) (define %gcc-14-x86_64-micro-architectures (append %gcc-13-x86_64-micro-architectures - '("znver5"))) ;AMD + '("znver5" ;AMD + "yongfeng"))) + +(define %gcc-15-aarch64-micro-architectures + (append %gcc-14-aarch64-micro-architectures + '("armv9.5-a"))) + +(define %gcc-15-x86_64-micro-architectures + (append + (fold delete %gcc-14-x86_64-micro-architectures + '("knm" "knl")) + '("diamondrapids" ;Intel + "shijidadao"))) (define-public gcc-7 (package @@ -887,10 +908,10 @@ It also includes runtime support libraries for these languages.") (("\\.\\./lib64") "../lib")))))))) (properties `((compiler-cpu-architectures - ("aarch64" ,@%gcc-13-aarch64-micro-architectures) + ("aarch64" ,@%gcc-14-aarch64-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures) - ("i686" ,@%gcc-13-x86_64-micro-architectures) - ("powerpc64le" ,@%gcc-10-ppc64le-micro-architectures) + ("i686" ,@%gcc-14-x86_64-micro-architectures) + ("powerpc64le" ,@%gcc-14-ppc64le-micro-architectures) ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) @@ -932,11 +953,11 @@ It also includes runtime support libraries for these languages.") (string-append lib "/include")))))))))))) (properties `((compiler-cpu-architectures - ("aarch64" ,@%gcc-13-aarch64-micro-architectures) + ("aarch64" ,@%gcc-15-aarch64-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures) - ("i686" ,@%gcc-13-x86_64-micro-architectures) - ("powerpc64le" ,@%gcc-10-ppc64le-micro-architectures) - ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) + ("i686" ,@%gcc-15-x86_64-micro-architectures) + ("powerpc64le" ,@%gcc-14-ppc64le-micro-architectures) + ("x86_64" ,@%gcc-15-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 35700b2382..ecb324d738 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -554,7 +554,7 @@ topology functions.") gtk libadwaita libgee - libgweather4 + libgweather librsvg libsecret libshumate @@ -2079,7 +2079,7 @@ based on the Osmium library.") (define-public osm2pgsql (package (name "osm2pgsql") - (version "1.11.0") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -2088,7 +2088,7 @@ based on the Osmium library.") (file-name (git-file-name name version)) (sha256 (base32 - "135vqahlcrhwa3b9hfgbiqkzbbsjd4i79fp41cd0rp4zarcpi47p")) + "1plaayi3mfwpsz48abjqnw4ymvqrwzlwhb44dwfpaz02qqqhvcg6")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -2105,7 +2105,7 @@ based on the Osmium library.") bzip2 cli11 expat - fmt-8 + fmt-11 libosmium luajit nlohmann-json @@ -2860,14 +2860,14 @@ The API also works with MaxMind’s free GeoLite2 databases.") (define-public routino (package (name "routino") - (version "3.4.1") + (version "3.4.3") (source (origin (method url-fetch) (uri (string-append "https://www.routino.org/download/routino-" version ".tgz")) (sha256 (base32 - "0aw5idqz7nv458llgwp5wcgikf34xcblpq46mq7msxfib0m8vahb")))) + "0m0yq665sdsiikbl0win564d841wb87prsfni8wajz6969yhdfjf")))) (build-system gnu-build-system) (native-inputs (list perl)) (inputs (list bzip2 xz zlib)) @@ -2925,7 +2925,7 @@ data.") (define-public qmapshack (package (name "qmapshack") - (version "1.17.1") + (version "1.18.0") (source (origin (method git-fetch) @@ -2934,36 +2934,34 @@ data.") (commit (string-append "V_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ckadklk67dp1pvkacfkr8379g2pwk73q85jfzm8viclcqmfvb62")))) + (base32 "04r2m7qwzqwgnwhi15999n0w7fmddjcmdv8mxm8c0flrjw8zmkpq")))) (build-system qt-build-system) (native-inputs - (list pkg-config qttools-5)) + (list pkg-config)) (inputs - (list curl - gdal + (list gdal libjpeg-turbo proj - qtbase-5 - qtdeclarative-5 - qtlocation-5 - qtwebchannel-5 - qtwebengine-5 - quazip-5 - routino - sqlite ; See wrap phase - zlib)) + qt5compat + qtpositioning + qttools + qtwebengine + quazip + routino)) (arguments - `(#:tests? #f + (list + #:qtbase qtbase + #:tests? #f ;no tests #:phases - (modify-phases %standard-phases + #~(modify-phases %standard-phases (add-after 'unpack 'fix-cmake-modules - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (substitute* "CMakeLists.txt" - (("find_package\\(Qt5PrintSupport REQUIRED\\)" all) - (string-append all "\nfind_package(Qt5Positioning REQUIRED)"))) + (("find_package\\(Qt6PrintSupport REQUIRED\\)" all) + (string-append all "\nfind_package(Qt6Positioning REQUIRED)"))) (substitute* "cmake/Modules/FindROUTINO.cmake" (("/usr/local") - (assoc-ref inputs "routino")))))))) + #$(this-package-input "routino")))))))) (synopsis "GPS mapping application") (description "QMapShack can be used to plan your next outdoor trip or to visualize and diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e2af4d567b..9e3a641f07 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1632,7 +1632,7 @@ extraction, and lookup for applications on the desktop.") json-glib mit-krb5 libadwaita - libgweather4 + libgweather libnma libpwquality libsecret @@ -5991,16 +5991,6 @@ coordinates) using the Nominatim service. geocode-glib caches requests for faster results and to avoid unnecessary server load.") (license license:lgpl2.0+))) -(define-public geocode-glib-with-libsoup2 - (package - (inherit geocode-glib) - (name "geocode-glib-with-libsoup2") - (arguments (substitute-keyword-arguments (package-arguments geocode-glib) - ((#:configure-flags flags ''()) - #~(delete "-Dsoup2=false" #$flags)))) - (inputs (modify-inputs (package-inputs geocode-glib) - (replace "libsoup" libsoup-minimal-2))))) - (define-public upower (package (name "upower") @@ -6145,69 +6135,6 @@ service via the system message bus.") services for numerous locations.") (license license:gpl2+))) -;; libgweather no longer follows the GNOME version, and recommends changing -;; the package name in distributions to avoid accidental downgrades. See -;; <https://discourse.gnome.org/t/changes-in-libgweather-for-gnome-42/7770/2>. -;; TODO: how to prevent the updater from picking version 40? -(define-public libgweather4 - (package - (inherit libgweather) - (name "libgweather4") - (version "4.2.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libgweather/" - (version-major+minor version) "/" - "libgweather-" version ".tar.xz")) - (sha256 - (base32 - "00v2rb9dizfvcsq3bgrz68bsi1k04ln5fqhx1q06m5yql0nq32mg")))) - (arguments - (list - #:configure-flags - #~(list (string-append "-Dzoneinfo_dir=" - (search-input-directory %build-inputs - "share/zoneinfo"))) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'set-HOME - (lambda _ - (setenv "HOME" "/tmp"))) - (add-after 'unpack 'disable-problematic-tests - (lambda _ - (substitute* "libgweather/tests/meson.build" - ;; The timezones test fails for unknown reasons (see: - ;; https://gitlab.gnome.org/GNOME/libgweather/-/issues/188). - ((".*'name': 'timezones'.*") "") - ;; The 'metar' test is known to fail, fixed but not yet released - ;; upstream (see: - ;; https://gitlab.gnome.org/GNOME/libgweather/-/issues/168). - ((".*'name': 'metar'.*") "")))) - (delete 'check) ;move after the install phase - (add-after 'install 'check - (assoc-ref %standard-phases 'check))))) - (native-inputs - (list gettext-minimal - gi-docgen - `(,glib "bin") ;for glib-mkenums - gobject-introspection - (libc-utf8-locales-for-target) - gsettings-desktop-schemas - pkg-config - python - python-pygobject - vala)) - ;; TODO: It would be good to make the package respect TZDIR instead - ;; of using a "hard coded" version of tzdata. - (inputs (list tzdata)) - (propagated-inputs - ;; gweather4.pc refers to all of these. - (list geocode-glib - glib - json-glib - libsoup - libxml2)))) - (define-public gnome-settings-daemon (package (name "gnome-settings-daemon") @@ -6272,7 +6199,7 @@ services for numerous locations.") lcms libcanberra libgudev - libgweather4 + libgweather libnotify (librsvg-for-system) libwacom @@ -8505,7 +8432,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") gnome-online-accounts json-glib libcanberra - libgweather4 + libgweather libphonenumber mit-krb5 openldap @@ -8518,30 +8445,6 @@ contacts, tasks, and calendar information. It was originally developed for Evolution (hence the name), but is now used by other packages as well.") (license license:lgpl2.0))) -;;; This version can be used for projects with dependencies stuck on libsoup2. -(define-public evolution-data-server-3.44 - (package - (inherit evolution-data-server) - (name "evolution-data-server") - (version "3.44.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 "1sxjrjr31wqbp9g4pf6dwj8rc4mi7c5fbfd489ha92ym7246bin0")))) - (inputs - (modify-inputs (package-inputs evolution-data-server) - (replace "gnome-online-accounts" gnome-online-accounts-3.44) - (replace "libgweather4" libgweather) - (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2))) - (propagated-inputs - (modify-inputs (package-propagated-inputs evolution-data-server) - (delete "gtk") - (replace "libsoup" libsoup-minimal-2))))) - (define-public caribou (package (name "caribou") @@ -9751,7 +9654,7 @@ printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ ibus libcanberra libcroco - libgweather4 + libgweather libnma libsoup mesa-headers @@ -10491,7 +10394,7 @@ associations for GNOME.") gsettings-desktop-schemas gtk libadwaita - libgweather4)) + libgweather)) (synopsis "Weather monitoring for GNOME desktop") (description "GNOME Weather is a small application that allows you to monitor the current weather conditions for your city, or anywhere in the @@ -10924,7 +10827,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") gsound gtk libadwaita - libgweather4)) + libgweather)) (home-page "https://wiki.gnome.org/Apps/Clocks") (synopsis "GNOME's clock application") (description @@ -10974,7 +10877,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") gsettings-desktop-schemas libadwaita libdazzle - libgweather4)) + libgweather)) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description @@ -11299,14 +11202,6 @@ compiled.") (home-page "https://wiki.gnome.org/Projects/Folks") (license license:lgpl2.1+))) -(define-public folks-with-libsoup2 - (package - (inherit folks) - (name "folks-with-libsoup2") - (inputs - (modify-inputs (package-inputs folks) - (replace "evolution-data-server" evolution-data-server-3.44))))) - (define-public gfbgraph (package (name "gfbgraph") @@ -12418,7 +12313,7 @@ generic enough to work for everyone.") gspell highlight libcanberra - libgweather4 + libgweather libnotify libsoup nss diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index d2ec53ac48..013e974dfa 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -165,14 +165,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "151bi13xx8dz5c9v33chp6ch5q8wmbxb9z7l37g4vqsdkgy0k7m8")))) + "1ix843yqhcl8d5gh5652pw2scx4p5n836ca80ymms5rl136lycnz")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 486af36202..eae66e64b6 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015-2021, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015-2021, 2024, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2019, 2025 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> @@ -207,6 +207,18 @@ Daemon and possibly more in the future.") (add-before 'configure 'setenv (lambda _ (setenv "GCRYPT_NO_BENCHMARKS" "t"))))) + '()) + ,@(if (target-arm32?) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'apply-upstream-patch + (lambda _ + (let ((patch-file + #$(local-file + (search-patch + "libgcrypt-arm32-register-pressure.patch")))) + (invoke "patch" "--force" "-p1" "-i" patch-file)))))) '()))) (outputs '("out" "debug")) (home-page "https://gnupg.org/") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 7e5ebef0e9..49aa0fd961 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014-2025 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2016-2019, 2021, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2019, 2021, 2024, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Nikita <nikita@n0.is> @@ -931,8 +931,8 @@ variable defined below. It requires guile-json to be installed." rust `(,rust "cargo") rust-cbindgen - llvm-17 - clang-17 + llvm-20 + clang-20 perl node-lts python-wrapper @@ -1678,10 +1678,18 @@ ca495991b7852b855")) (eudev-lib (string-append eudev "/lib")) ;; For the integration of native notifications (same reason as icecat) (libnotify #$(this-package-input "libnotify")) - (libnotify-lib (string-append libnotify "/lib"))) + (libnotify-lib (string-append libnotify "/lib")) + (mesa #$(this-package-input "mesa")) + (mesa-lib (string-append mesa "/lib")) + (pciutils #$(this-package-input "pciutils")) + (pciutils-lib (string-append pciutils "/lib")) + (libva #$(this-package-input "libva")) + (libva-lib (string-append libva "/lib"))) (wrap-program (car (find-files lib "^icedove$")) `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib ,eudev-lib ,libnotify-lib ,gpgme-lib))))))))) + `("LD_LIBRARY_PATH" prefix + (,pulseaudio-lib ,eudev-lib ,libnotify-lib ,gpgme-lib + ,mesa-lib ,libva-lib ,pciutils-lib))))))))) (inputs (list alsa-lib bash-minimal @@ -1712,11 +1720,13 @@ ca495991b7852b855")) libxinerama libxscrnsaver libxt + libva mesa mit-krb5 nspr nss pango + pciutils pixman pulseaudio sqlite diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3f79d9862e..eb04e2eb86 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org> @@ -1012,6 +1012,17 @@ in the style of communicating sequential processes (@dfn{CSP}).") ;; as the bootstrap toolchain. (alist-replace "go" (list go-1.21) (package-native-inputs go-1.21))))) +(define %go-1.23-arm64-micro-architectures + ;; https://go.dev/wiki/MinimumRequirements#arm64 + ;; Allowed values are v8.{0-9} and v9.{0-5}. This may be followed by an option + ;; specifying extensions implemented by target hardware. Valid options are + ;; ,lse and ,crypto. + ;; Match Guix's specifications and then rewrite in (guix transformations). + (append (map (lambda (suffix) (string-append "armv8" suffix "-a")) + '("" ".1" ".2" ".3" ".4" ".5" ".6" ".7" ".8" ".9")) + (map (lambda (suffix) (string-append "armv9" suffix "-a")) + '("" ".1" ".2" ".3" ".4" ".5")))) + (define-public go-1.23 (package (inherit go-1.22) @@ -1025,7 +1036,13 @@ in the style of communicating sequential processes (@dfn{CSP}).") (commit (string-append "go" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq")))))) + (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq")))) + (properties + `((compiler-cpu-architectures + ("aarch64" ,@%go-1.23-arm64-micro-architectures) + ("armhf" ,@%go-1.17-arm-micro-architectures) + ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures) + ("x86_64" ,@%go-1.18-x86_64-micro-architectures)))))) (define-public go-1.24 (package diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index c0d54bfe18..cdb4c839f0 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1009,6 +1009,7 @@ application suites.") (inherit gtk+-2) (name "gtk+") (version "3.24.43") + (replacement gtk+/fixed) (source (origin (method url-fetch) @@ -1126,6 +1127,38 @@ application suites.") (variable "GUIX_GTK3_PATH") (files '("lib/gtk-3.0"))))))) +(define-public gtk+/fixed + (package + (inherit gtk+) + (name "gtk+") + (version "3.24.49") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gtk") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00")))) + (arguments + (substitute-keyword-arguments (package-arguments gtk+) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'disable-failing-tests + (lambda _ + ;; These tests fail only in the containerized environment, for + ;; unknown reasons. + (substitute* "testsuite/gtk/meson.build" + ((".*\\['defaultvalue'],.*") "") + ((".*\\['objects-finalize',.*") "")) + ;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests + ;; fail for unknown reasons (see: + ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>). + (substitute* "testsuite/reftests/meson.build" + ((" 'flipping-icons.ui',.*") "") + ((" 'gtk-icontheme-sizing.ui',.*") "")))))))))) + (define-public gtk (package (name "gtk") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b34570a810..e707e44fc8 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -4884,36 +4884,6 @@ return accumulators. It is implemented by wrapping the sample implementation in a thin Guile compatibility layer.") (license license:gpl3+)))) -(define-public guile-srfi-159 - (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb") - (revision "0")) - (package - (name "guile-srfi-159") - (version (git-version "0" revision commit)) - (home-page "https://bitbucket.org/bjoli/guile-srfi-159") - (source (origin - (method hg-fetch) - (uri (hg-reference (changeset commit) - (url home-page))) - (sha256 - (base32 - "1zw6cmcy7xdbfiz3nz9arqnn7l2daidaps6ixkcrc9b6k51fdv3p")) - (file-name (git-file-name name version)))) - (build-system guile-build-system) - (arguments - ;; The *-impl.scm files are actually included from module files; they - ;; should not be compiled separately, but they must be installed. - '(#:not-compiled-file-regexp "-impl\\.scm$")) - (inputs - (list guile-2.2)) - (synopsis "Formatting combinators for Guile") - (description - "The @code{(srfi-159)} module and its sub-modules implement the -formatting combinators specified by -@uref{https://srfi.schemers.org/srfi-159/srfi-159.html, SRFI-159}. These are -more expressive and flexible than the traditional @code{format} procedure.") - (license license:bsd-3)))) - (define-public guile-srfi-180 (let ((commit "9188bf9724c6d320ef804579d222e855b007b193") (revision "0")) @@ -6339,22 +6309,20 @@ Relay Chat} (IRC).") (define-public guile-websocket (package (name "guile-websocket") - (version "0.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://files.dthompson.us/guile-websocket/" - "guile-websocket-" version ".tar.gz")) - (sha256 - (base32 - "143ng1x5xwy218wd1svj718ikqnrglwsywyzpd3ap9jnivw66g7f")))) + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://files.dthompson.us/releases/" + "guile-websocket/guile-websocket-" version + ".tar.gz")) + (sha256 + (base32 "0mbxbwc5flrafh77sl0cbfclpk3vys0hh3fqmdl9v3nqyl0cbsij")))) (build-system gnu-build-system) (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0"))) - (native-inputs - (list autoconf automake pkg-config)) - (inputs - (list guile-3.0 guile-gnutls)) + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) + (native-inputs (list autoconf automake pkg-config)) + (inputs (list guile-3.0 guile-gnutls)) (synopsis "Websocket server/client for Guile") (description "Guile-websocket provides an implementation of the WebSocket protocol as defined by RFC 6455.") @@ -6978,25 +6946,24 @@ or @code{LuaBind} but for Scheme.") (name "guile-cbor") (version "0.1.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://inqlab.net/git/guile-cbor.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/pukkamustard/guile-cbor/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) (build-system gnu-build-system) - (arguments `()) - (native-inputs - (list autoconf automake pkg-config texinfo)) + (native-inputs (list autoconf automake pkg-config texinfo)) (inputs (list guile-3.0)) (synopsis "Guile implementation of CBOR") (description - "The Concise Binary Object Representation (CBOR), as specified by RFC 8949, is -a binary data serialization format. CBOR is similar to JSON but serializes to -binary which is smaller and faster to generate and parse. This package provides -a Guile implementation of CBOR.") - (home-page "https://inqlab.net/git/guile-cbor.git") + "The Concise Binary Object Representation (CBOR), as specified by RFC +8949, is a binary data serialization format. CBOR is similar to JSON but +serializes to binary which is smaller and faster to generate and parse. This +package provides a Guile implementation of CBOR.") + (home-page "https://codeberg.org/pukkamustard/guile-cbor/") (license license:gpl3+))) (define-public guile-qr-code @@ -7593,28 +7560,47 @@ termios API is used. GNU Guile doesn't have an interface for that built in. This module implements this interface by use of Guile's dynamic FFI.") (license license:bsd-2))) +(define-public guile-bstructs + (package + (name "guile-bstructs") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://files.dthompson.us/releases" + "/guile-bstructs/guile-bstructs-" version ".tar.gz")) + (sha256 + (base32 "0f847aiyzhrlvd2jmckyqrkrvi7i9mg8rmyhbh7fs1vzykcf67wb")))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake pkg-config texinfo)) + (inputs (list guile-3.0)) + (synopsis "Efficient binary structures for Guile") + (description + "Guile-bstructs provides an efficient implementation of +low-level binary structures for Guile Scheme inspired by Chez Scheme's +ftypes.") + (home-page "https://dthompson.us/projects/guile-bstructs.html") + (license license:asl2.0))) + (define-public guile-goblins (package (name "guile-goblins") - (version "0.15.1") + (version "0.16.0") (source (origin (method url-fetch) (uri (string-append "https://files.spritely.institute/releases" - "/guile-goblins/guile-goblins-" - version ".tar.gz")) + "/guile-goblins/guile-goblins-" version ".tar.gz")) (sha256 - (base32 - "05qqryhhs9rci01j08nbchmif1h9889bwqqv830ywygl1bld50ys")))) + (base32 "0w3lxhj95vcp6w38z5ygpjf5lw8j523j2znkmg22p1jyqx7kl7c8")))) (build-system gnu-build-system) (arguments - (list #:make-flags - #~(list "GUILE_AUTO_COMPILE=0"))) - (native-inputs - (list pkg-config texinfo)) + (list + #:make-flags + #~(list "GUILE_AUTO_COMPILE=0"))) + (native-inputs (list pkg-config texinfo)) (inputs (list guile-3.0)) - (propagated-inputs - (list guile-fibers guile-gnutls guile-websocket)) + (propagated-inputs (list guile-fibers guile-gnutls guile-websocket)) (home-page "https://spritely.institute/goblins") (synopsis "Distributed programming environment for Guile") (description diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index e626509067..5a1f654652 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -888,32 +888,20 @@ is programmed in Haskell.") (define-public scroll (package (name "scroll") - (version "1.20180421") + (version "1.20250228.2") (source (origin (method url-fetch) (uri (hackage-uri "scroll" version)) (sha256 (base32 - "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj")))) + "1p1741zqsxg017d08ym1clzqcdlai487wb6q12m1q7dr6i8c0gfj")))) (build-system haskell-build-system) - (properties '((upstream-name . "scroll"))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'install 'touch-static-output - (lambda* (#:key outputs #:allow-other-keys) - ;; The Haskell build system adds a "static" output by - ;; default, and there is no way to override this until - ;; <https://issues.guix.gnu.org/41569> is fixed. Without - ;; this phase, the daemon complains because we do not - ;; create the "static" output. - (with-output-to-file (assoc-ref outputs "static") - (lambda () - (display "static output not used\n"))) - #t))))) + (properties '((upstream-name . "scroll") + (updater-extra-inputs "ghc-base-compat"))) (inputs - (list ghc-case-insensitive + (list ghc-base-compat + ghc-case-insensitive ghc-data-default ghc-ifelse ghc-monad-loops diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 6b8cce3cfc..fd7519b957 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2019, 2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> @@ -7901,7 +7901,9 @@ between 2 and 3 times faster than the Mersenne Twister.") "lib/UI/NCurses/Enums.chs" "lib/UI/NCurses/Panel.chs") (("<ncursesw/") "<")) - #t))) + ;; KEY_EVENT doesn't appear in our ncurses.h + (substitute* "lib/UI/NCurses/Enums.chs" + ((".*KEY_EVENT.*") ""))))) #:cabal-revision ("1" "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca"))) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 952d550892..0c0351dd9d 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020, 2022, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> @@ -112,6 +112,16 @@ (substitute* "source/test/Makefile.in" ((" intltest ") " "))))) #~()) + #$@(if (target-arm32?) + #~((add-after 'unpack 'disable-failing-test + (lambda _ + ;; The caltest test started to fail to compile after + ;; the upgrade to gcc-14 but it's unclear which test is + ;; failing or how to disable just that one test. + ;; Error: co-processor offset out of range + (substitute* "source/test/Makefile.in" + ((" intltest ") " "))))) + #~()) (add-after 'install 'avoid-coreutils-reference ;; Don't keep a reference to the build tools. (lambda _ @@ -124,7 +134,7 @@ globalisation support for software applications. This package contains the C/C++ part.") (license x11) - (home-page "http://site.icu-project.org/"))) + (home-page "https://icu.unicode.org/"))) (define-public icu4c icu4c-73) @@ -164,41 +174,17 @@ C/C++ part.") (base32 "0gjg1zrnqk4vmidqgqx4xbz05898px212gnff8242is7zrmv9b6z")))))) -(define-public icu4c-70 - (package - (inherit icu4c) - (version "70.1") - (source (origin - (method url-fetch) - (uri (icu4c-uri version)) - (sha256 - (base32 - "1m9zgkaf5lyh65nyc6n0n5bs2f5k53nnj1ih6nskpwbvq4l5884d")))) - (arguments - (if (target-riscv64?) - (substitute-keyword-arguments (package-arguments icu4c) - ((#:phases phases) - #~(modify-phases #$phases - (replace 'disable-failing-test - ;; It is unknown why these tests are failing. - (lambda _ - (substitute* "source/test/cintltst/ucptrietest.c" - ((".*addTest.*") "")) - (substitute* "source/test/intltest/numbertest_api.cpp" - (("(TESTCASE_AUTO\\(unitUsage\\));" all) - (string-append "//" all)))))))) - (package-arguments icu4c))))) - -(define-public icu4c-69 +(define-public icu4c-77 (package (inherit icu4c) - (version "69.1") + (name "icu4c") + (version "77.1") (source (origin (method url-fetch) (uri (icu4c-uri version)) (sha256 (base32 - "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc")))))) + "0qa0yapkypywhzx8ai1p27125h9v1qy89f7v3w1kjz1jfwgl73jq")))))) (define-public icu4c-build-root (package diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 22ad2308a5..0f5cf2a302 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -496,7 +496,7 @@ different data arrays similar to those available in the numdiff software.") (define-public opencv (package (name "opencv") - (version "4.11.0") + (version "4.12.0") (source (origin (method git-fetch) (uri (git-reference @@ -510,8 +510,7 @@ different data arrays similar to those available in the numdiff software.") ;; available in Guix. (with-directory-excursion "3rdparty" (for-each delete-file-recursively - '("carotene" - "cpufeatures" + '("cpufeatures" "flatbuffers" "ffmpeg" "include" @@ -525,7 +524,6 @@ different data arrays similar to those available in the numdiff software.") "libwebp" "openexr" "openjpeg" - "openvx" "protobuf" ;;"quirc" "tbb" @@ -535,7 +533,7 @@ different data arrays similar to those available in the numdiff software.") (for-each delete-file (find-files "." "\\.jar$")))) (sha256 (base32 - "1ha0230yw9ihybmg2b3mkk9vbnlgzlwx597v2hm14y403047zvgb")))) + "1n5qif1ispmdby1cmwf9f8isdx07phyhb19jsmgrw5bk3k23dcyy")))) (build-system cmake-build-system) (arguments `(#:parallel-tests? #f @@ -719,7 +717,7 @@ different data arrays similar to those available in the numdiff software.") (file-name (git-file-name "opencv_extra" version)) (sha256 (base32 - "1zs8ps01vq1pvs5zmpw0wd7xc2l85yqd85vksdj8kddkx6alda8j")))) + "0awang2hl7z194rlnic38ry6fgxy8b7k2qqasinjqznxab4dkhvz")))) ("opencv-contrib" ,(origin (method git-fetch) @@ -728,7 +726,7 @@ different data arrays similar to those available in the numdiff software.") (file-name (git-file-name "opencv_contrib" version)) (sha256 (base32 - "0wsvd7pnj0p6dvdl4x4r46dkrkxkd61v411ih30j3wa9l7m7vmv0")))))) + "1ai1kanlq1wr3173q86yfj6r9h3kkvjx18cakjr31jkb25qyrmny")))))) (inputs (list eigen ffmpeg-4 @@ -1311,7 +1309,11 @@ libraries designed for computer vision research and implementation.") (outputs '("out" "python")) (arguments (list - #:tests? #f ;tests require network access and external data + #:imported-modules (append %cmake-build-system-modules + %pyproject-build-system-modules) + #:modules '(((guix build pyproject-build-system) #:prefix py:) + (guix build cmake-build-system) + (guix build utils)) #:configure-flags #~(list "-DITK_USE_GPU=ON" "-DITK_USE_SYSTEM_LIBRARIES=ON" @@ -1379,7 +1381,19 @@ libraries designed for computer vision research and implementation.") (delete-file (string-append "Modules/Remote/" - "MorphologicalContourInterpolation.remote.cmake"))))))) + "MorphologicalContourInterpolation.remote.cmake")))) + (add-after 'unpack 'fix-numpy-bool + (lambda _ + ;; <https://github.com/InsightSoftwareConsortium/ITK/pull/5402> + (substitute* (string-append "Wrapping/Generators/" + "Python/itk/support/types.py") + (("np\\.bool") "np.bool_")))) + (delete 'check) ;tests require network access and external data + (add-after 'install 'python-sanity-check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (py:add-installed-pythonpath inputs outputs) + (invoke "python3" "-c" "import itk"))))))) (inputs (list eigen expat fftw @@ -1399,6 +1413,7 @@ libraries designed for computer vision research and implementation.") gcc-13 git-minimal pkg-config + python-numpy ;for phase 'python-sanity-check swig-next which (origin @@ -1456,11 +1471,15 @@ combine the information contained in both.") (string-prefix? "-DITK_USE_PYTHON_LIMITED_API=" flag) (string-prefix? "-DITK_USE_SYSTEM_CASTXML=" flag) (string-prefix? "-DITK_USE_SYSTEM_SWIG=" flag)))) - #$cf)))) + #$cf)) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (delete 'python-sanity-check))))) (inputs (modify-inputs (package-inputs insight-toolkit) (delete "python"))) (native-inputs (modify-inputs (package-native-inputs insight-toolkit) (delete "castxml") + (delete "python-numpy") (delete "swig")))))) (define-public itk-snap diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 54a9aa9ba0..885f8ea8c4 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1964,14 +1964,14 @@ OpenJDK.") (define-public ant/java8 (package (name "ant") - (version "1.10.13") + (version "1.10.15") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "01l4g9b1xnnq450ljvhrlvcf8wzzmr45wmhkybrx0hcdi166y06s")) + "1ccr852dxg5affdqafg04gi3l89q5c6l9lqrz50jhj05kidljax2")) (modules '((guix build utils))) (snippet '(begin @@ -3090,6 +3090,7 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (apply invoke `("gcc" "-shared" "-O3" "-fPIC" "-Wl,--exclude-libs,ALL" + "-Wno-error=implicit-function-declaration" ,@(find-files "jhdf5" "\\.c$") ,@(find-files "hdf-java" "\\.c$") ,(string-append "-I" hdf5 "/include") diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index d1926c3426..097207a089 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -72,6 +72,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages lsof) #:use-module (gnu packages networking) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) #:use-module (gnu packages messaging) #:use-module (gnu packages multiprecision) @@ -271,6 +272,7 @@ Breeze is the default theme for the KDE Plasma desktop.") (build-system qt-build-system) (arguments (list #:qtbase qtbase + #:test-exclude "flatpaktest" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'remove-qmlmodule-required @@ -282,13 +284,12 @@ Breeze is the default theme for the KDE Plasma desktop.") (lambda _ (setenv "LDFLAGS" (string-append "-Wl,-rpath=" #$output "/lib/plasma-discover")))) - (replace 'check + (add-before 'check 'check-setup (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "XDG_DATA_DIRS" (string-append (getcwd) - ":" (getenv "XDG_DATA_DIRS"))) - (invoke "ctest" "-E" "knsbackendtest"))))))) + ":" (getenv "XDG_DATA_DIRS"))))))))) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list appstream-qt6 attica @@ -314,14 +315,17 @@ Breeze is the default theme for the KDE Plasma desktop.") kdeclarative kcmutils kidletime + libostree ; required by flatpak + markdown packagekit-qt6 purpose + qcoro-qt6 qt5compat qtdeclarative qtsvg + qtwebview qcoro-qt6)) ;; -- The following features have been disabled: - ;; * Ostree, Library to manage ostree repository. Required to build the rpm-ostree backend ;; * RpmOstree, rpm-ostree binary to manage the system. Required to build the rpm-ostree backend ;; ;; -- The following OPTIONAL packages have not been found: @@ -1955,7 +1959,8 @@ on QtMultimedia and @command{yt-dlp}.") kstatusnotifieritem qtdeclarative)) (propagated-inputs (list plasma-workspace)) - (arguments (list #:qtbase qtbase)) + (arguments (list #:tests? #f ; no tests + #:qtbase qtbase)) (home-page "https://invent.kde.org/plasma/plasma-browser-integration") (synopsis "Integrate browsers into the Plasma Desktop") (description @@ -3125,7 +3130,8 @@ of a Plasma shell.") plasma-workspace qtdeclarative qtwebengine)) - (arguments (list #:qtbase qtbase)) + (arguments (list #:qtbase qtbase + #:tests? #f)) ; no tests (synopsis "Control center to configure Plasma Desktop") (description "This package provides configuration UI for Plasma Desktop.") (home-page "https://invent.kde.org/plasma/systemsettings") diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 8e2db6861f..1a5881e912 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -893,7 +893,7 @@ commonly called @code{ftoa} or @code{dtoa}.") (define-public libreoffice (package (name "libreoffice") - (version "25.2.3.2") ;keep in sync with hunspell dictionaries + (version "25.2.5.2") ;keep in sync with hunspell dictionaries (source (origin (method url-fetch) @@ -906,7 +906,7 @@ commonly called @code{ftoa} or @code{dtoa}.") "https://downloadarchive.documentfoundation.org/libreoffice/old/" version "/src/libreoffice-" version ".tar.xz"))) (sha256 - (base32 "1pysqa31by4rhghnfyz8xbygqn6d6fjqm2py1apxkw3xa8g4cm7a")))) + (base32 "0fdkn9lf2q5d7kminsbcn1g2ih2ilaw2jnyarsns4jczch4v57wc")))) (build-system glib-or-gtk-build-system) (arguments (list diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8dc546ad69..79a72941ee 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -514,17 +514,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.15-version "6.15.6") +(define-public linux-libre-6.15-version "6.15.9") (define-public linux-libre-6.15-gnu-revision "gnu") (define deblob-scripts-6.15 (linux-libre-deblob-scripts linux-libre-6.15-version linux-libre-6.15-gnu-revision (base32 "05fr8s00ljj7v26z3gb1yrfna42i7zy36x6wrg74ai5hwwc7jfnd") - (base32 "05153ci3sk9gsq8vgk6phvzszldaj2psmyp10cjivm3gl6qvkbhk"))) + (base32 "1dgdrdgzjn2lqw2x7slpkka1x1mgvzy56jhvbfvypzfgs3lpiqhi"))) (define-public linux-libre-6.15-pristine-source (let ((version linux-libre-6.15-version) - (hash (base32 "1z5l0b59q56qj6s56cxzv43lhfx9z9sp4vfziw60fz97ak4qdd9b"))) + (hash (base32 "0zcma8ycdwwzd4yci9752acsv85wh27lahclh5x2yc4jakw3lkz9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.15))) @@ -548,52 +548,52 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-6.12-version "6.12.38") +(define-public linux-libre-6.12-version "6.12.41") (define-public linux-libre-6.12-gnu-revision "gnu") (define deblob-scripts-6.12 (linux-libre-deblob-scripts linux-libre-6.12-version linux-libre-6.12-gnu-revision (base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp") - (base32 "1hc3fgc0wajlwbsjkvfcxvmjw4bcxfbrnbfbcasbczz7if4f0fvf"))) + (base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j"))) (define-public linux-libre-6.12-pristine-source (let ((version linux-libre-6.12-version) - (hash (base32 "1k0gcwavn5iws3z1as39227i2hnc62qnfddjfqy7k7ymhf6zldgh"))) + (hash (base32 "09qfpxyxi3z8cd64r2r5mxvh54a5sx8p5mk4d50y4ga2k6pa66bb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.12))) -(define-public linux-libre-6.6-version "6.6.98") +(define-public linux-libre-6.6-version "6.6.101") (define-public linux-libre-6.6-gnu-revision "gnu") (define deblob-scripts-6.6 (linux-libre-deblob-scripts linux-libre-6.6-version linux-libre-6.6-gnu-revision (base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq") - (base32 "1zzpk2hpv76lylip4j7jkn0jqcjj15h3jff22x22i73mwz2kiqgk"))) + (base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk"))) (define-public linux-libre-6.6-pristine-source (let ((version linux-libre-6.6-version) - (hash (base32 "1raxyhvv0yay3k1izwcqdbq9322nflflfzcn9d1jrhmb032k8si9"))) + (hash (base32 "1h71zbqlsxcafrk218s0rip9rdrj0fzqvsl81ndqnlrnjy3g4kwc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.6))) -(define-public linux-libre-6.1-version "6.1.145") +(define-public linux-libre-6.1-version "6.1.147") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts linux-libre-6.1-version linux-libre-6.1-gnu-revision (base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza") - (base32 "1hzjr44hy8px4n3x5my2syhd60chkfy79ajgzvlz04pc5yf6ihpi"))) + (base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0qrkcrqb0migsrq6xl1idyz8n6vjbdk74z4sc9na97b6n5vp0r9i"))) + (hash (base32 "1xv6whvxjcdmvv0cil7nnac4hs2hxjnc98agx08xiqs179k2b3r1"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.188") +(define-public linux-libre-5.15-version "5.15.189") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -603,27 +603,27 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1nfcrdwa2mgih57ch9kh8gc6jl950a7vpqgr56xk1b02303km5f4"))) + (hash (base32 "1hshd26ahn6dbw6jnqi0v5afpk672w7p09mk7iri93i7hxdh5l73"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.239") +(define-public linux-libre-5.10-version "5.10.240") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version linux-libre-5.10-gnu-revision - (base32 "1lg0sxfjn0hpcdfyqy2r5kchnjfyyx2xraxhmjhwwkpiwl9ph501") - (base32 "11liynz5vayms646gj0rjj8fmrqhv203mwsqs3sx9p8y84v50d4p"))) + (base32 "1wn9k4lbxcc9rzl1rqidlnb472wyayillrh57gyxnghi7j9ghqna") + (base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1nzhl1y6avfl77fyqwjwy3qc6679gp92k0d3aarscrdydcml5yid"))) + (hash (base32 "04sdcf4aqsqchii38anzmk9f9x65wv8q1x3m9dandmi6fabw724d"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.295") +(define-public linux-libre-5.4-version "5.4.296") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1adn0pbk8y1zp1yrz83ch6h4wypm2qvbnx4xig3sls2nfgvmi0f4"))) + (hash (base32 "0fm73yqzbzclh2achcj8arpg428d412k2wgmlfmyy6xzb1762qrx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) @@ -4258,7 +4258,10 @@ that the Ethernet protocol is much simpler than the IP protocol.") (string-append "HDRDIR=" out "/include") (string-append "SBINDIR=" out "/sbin") (string-append "CONFDIR=" out "/etc") - (string-append "MANDIR=" out "/share/man"))) + (string-append "MANDIR=" out "/share/man") + #$@(if (target-ppc64le?) + '("CCOPTS=-O2 -pipe -Wno-incompatible-pointer-types") + '()))) #:phases #~(modify-phases %standard-phases (replace 'configure diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 83e408b972..d1cf95e004 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8110,8 +8110,10 @@ of http://code.google.com/p/mimeparse/, with a Common Lisp flavor.") (sbcl-package->clasp-package sbcl-cl-mimeparse)) (define-public sbcl-cl-mixed - (let ((commit "4aaff134d3902d93a2a8605c10de4bcfc62d7afa") - (revision "0")) + ;; There are no releases, but this commit is entitled + ;; "Bump to libmixed-2.4.0". + (let ((commit "3da661ae199be94f822e3f9ef6bf03bc6456652b") + (revision "1")) (package (name "sbcl-cl-mixed") (version (git-version "2.1.0" revision commit)) @@ -8123,7 +8125,7 @@ of http://code.google.com/p/mimeparse/, with a Common Lisp flavor.") (commit commit))) (file-name (git-file-name "cl-mixed" version)) (sha256 - (base32 "1mrj95lxb1gbxxm89x8gy1ifw2ic1p5wwpapkxcd2jr8abw7zny0")) + (base32 "0i7bb2b3a9i4kgp7dzzs5211xj56zzcpwkjlfxpslfp7iz0685y0")) (modules '((guix build utils))) (snippet ;; Delete bundled libraries. @@ -32970,7 +32972,7 @@ has a small codebase that's easy to understand and use.") (define-public sbcl-wayflan (package (name "sbcl-wayflan") - (version "0.0.4") + (version "0.1.0") (source (origin (method git-fetch) @@ -32979,7 +32981,7 @@ has a small codebase that's easy to understand and use.") (commit (string-append "v" version)))) (file-name (git-file-name "cl-wayflan" version)) (sha256 - (base32 "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy")))) + (base32 "11n8w4fh996gspgcsfhbrcmz7az4yrx9a15jh6n72kswgjzq0s5j")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-parachute)) @@ -33879,6 +33881,9 @@ This library aims to provide developers with more options.") (define-public ecl-zsort (sbcl-package->ecl-package sbcl-zsort)) +(define-public clasp-zsort + (sbcl-package->clasp-package sbcl-zsort)) + (define-public sbcl-zstd (let ((commit "134f058eee11512cf772a8d5b64364acf56a10b8") (revision "1")) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6d0a742a08..3a7771a2e4 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1160,7 +1160,7 @@ libraries for Machine Learning, Neural Nets and statistical estimation.") (define-public picolisp (package (name "picolisp") - (version "24.9") + (version "25.6") (supported-systems '("aarch64-linux" "powerpc64le-linux" "x86_64-linux")) @@ -1169,7 +1169,7 @@ libraries for Machine Learning, Neural Nets and statistical estimation.") (method url-fetch) (uri (string-append "https://software-lab.de/picoLisp-" version ".tgz")) (sha256 - (base32 "1bsp14vjzvlav813mxzgigcdrmsxhrrhlhdzfdvdq6havacm0cwf")))) + (base32 "0cr1w4lcszipfp7d0pk7v42dzqrd6i7b498f81lqymijgp3v4vkd")))) (build-system gnu-build-system) (inputs (list clang readline libffi openssl pkg-config)) (arguments @@ -1703,7 +1703,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "300") + (version "302") (source (origin (method git-fetch) @@ -1712,7 +1712,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1cxdsk31wj8874nijwbcx7c3zsspsclr722jbaivisrm2wx5hbqn")))) + (base32 "01h09lbpgyzv64m8ycpr2vavdpdxhxdgvmc3p0jqrkvnrzhkdlhj")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index ff43859814..e6d456c8f6 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -357,25 +357,6 @@ library.") (modify-inputs (package-propagated-inputs spdlog-1.15) (replace "fmt" fmt-9))))) -(define-public spdlog-1.10 - (package - (inherit spdlog-1.15) - (version "1.10.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gabime/spdlog") - (commit (string-append "v" version)))) - (file-name (git-file-name "spdlog" version)) - (sha256 - (base32 "02xz017ba9fssm1rp1fcfld7h79awbr6fqai9dxaqp02akp3davk")) - (modules '((guix build utils))) - (snippet #~(delete-file-recursively "include/spdlog/fmt/bundled")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs spdlog-1.15) - (replace "fmt" fmt-8))))) - ;; Update when changing the pinned version of fmt. (define-public spdlog spdlog-1.13) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 7ebd79e6f6..7fb07cab0c 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -134,7 +134,7 @@ for configuration, scripting, and rapid prototyping.") (define-public lua-5.4 (package (inherit lua) - (version "5.4.6") + (version "5.4.8") (arguments (substitute-keyword-arguments (package-arguments lua) ((#:make-flags flags) @@ -145,7 +145,7 @@ for configuration, scripting, and rapid prototyping.") (uri (string-append "https://www.lua.org/ftp/lua-" version ".tar.gz")) (sha256 - (base32 "125dncwz8syhxk034m4fpahq7vsprfnwdqfxlffbb83arfws2pkx")) + (base32 "1bi90r9nzmqhjwhr8ysffhmhq30wxxcpqwmbxr33wyaf2npds62g")) (patches (search-patches "lua-5.4-pkgconfig.patch" "lua-5.4-liblua-so.patch")))))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 4d8ff4b5e3..34dd73e32e 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -683,7 +683,7 @@ Performance is achieved by using the LLVM JIT compiler.") (deprecated-package "guile-aiscm-next" guile-aiscm)) (define-public llama-cpp - (let ((tag "b6056")) + (let ((tag "b6101")) (package (name "llama-cpp") (version (string-append "0.0.0-" tag)) @@ -695,7 +695,7 @@ Performance is achieved by using the LLVM JIT compiler.") (commit tag))) (file-name (git-file-name name tag)) (sha256 - (base32 "1y9blrd7c8snazjmjkzj0148v328pigncvf1l9g1ih735b67zpd0")))) + (base32 "0yz97dk19pxqck9l83wvlwzf1i78wrc55hrk9ynraqybdz7yqjdc")))) (build-system cmake-build-system) (arguments (list @@ -763,11 +763,13 @@ Performance is achieved by using the LLVM JIT compiler.") (string-append (assoc-ref outputs "out") "/bin") "^test-"))))))) - (inputs (list curl glslang python python-gguf - vulkan-headers vulkan-loader)) - (native-inputs (list pkg-config shaderc bash-minimal)) + (inputs + (list curl glslang python-gguf python-minimal openblas spirv-headers + spirv-tools vulkan-headers vulkan-loader)) + (native-inputs + (list bash-minimal pkg-config shaderc)) (propagated-inputs - (list python-numpy python-pytorch python-sentencepiece openblas)) + (list python-numpy python-pytorch python-sentencepiece)) (properties '((tunable? . #true))) ;use AVX512, FMA, etc. when available (home-page "https://github.com/ggml-org/llama.cpp") (synopsis "Port of Facebook's LLaMA model in C/C++") @@ -880,8 +882,11 @@ without dependencies, with "15xlax3z31lsn62vlg94hkm75nm40q4679amnfg13jm8m2bnhy5m")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-blast" - "CFLAGS=-fcommon"))) + (list + #:configure-flags + #~(list "--enable-blast" + (string-append "CFLAGS=-fcommon -g -O2" + " -Wno-error=implicit-function-declaration")))) (inputs (list perl)) (home-page "https://micans.org/mcl/") @@ -2287,50 +2292,6 @@ number of threads used in the threadpool-backed of common native libraries used for scientific computing and data science (e.g. BLAS and OpenMP).") (license license:bsd-3))) -(define-public python-imbalanced-learn - (package - (name "python-imbalanced-learn") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "imbalanced-learn" version)) - (sha256 - (base32 "1hgncab4g4xry7yl6wwsj1wmfnxbsajx6qmycvr28wdhvk75c358")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags '(list "-k" - ;; Although we cannot satify the Tensorflow and Keras requirements - ;; (python-keras >= 2.4.3 and tensorflow >= 2.4.3), all tests - ;; besides these pass. - "not balanced_batch_generator and not BalancedBatchGenerator") - #:phases '(modify-phases %standard-phases - (add-after 'unpack 'unbreak-tests - (lambda _ - ;; Some tests require a home directory - (setenv "HOME" - (getcwd))))))) - (propagated-inputs (list python-joblib python-numpy python-scikit-learn - python-scipy python-threadpoolctl)) - (native-inputs (list python-black - python-flake8 - python-keras - python-mypy - python-pandas - python-pytest - python-pytest-cov - python-setuptools - python-wheel - tensorflow)) - (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn") - (synopsis "Toolbox for imbalanced dataset in machine learning") - (description - "This is a Python package offering a number of re-sampling -techniques commonly used in datasets showing strong between-class imbalance. -It is compatible with @code{scikit-learn}.") - (license license:expat))) - (define-public python-hdbscan (package (name "python-hdbscan") @@ -4146,213 +4107,6 @@ any function). It currently contains the interface and IO code from the Shap project, and it will potentially also do the same for the Lime project.") (license license:expat))) -(define-public python-keras-applications - (package - (name "python-keras-applications") - (version "1.0.8") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras_Applications" version)) - (sha256 - (base32 - "1rcz31ca4axa6kzhjx4lwqxbg4wvlljkj8qj9a7p9sfd5fhzjyam")))) - (build-system python-build-system) - ;; The tests require Keras, but this package is needed to build Keras. - (arguments '(#:tests? #f)) - (propagated-inputs - (list python-h5py python-numpy)) - (native-inputs - (list python-pytest python-pytest-cov - python-pytest-xdist)) - (home-page "https://github.com/keras-team/keras-applications") - (synopsis "Reference implementations of popular deep learning models") - (description - "This package provides reference implementations of popular deep learning -models for use with the Keras deep learning framework.") - (license license:expat))) - -(define-public python-keras-preprocessing - (package - (name "python-keras-preprocessing") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras_Preprocessing" version)) - (sha256 - (base32 - "1r98nm4k1svsqjyaqkfk23i31bl1kcfcyp7094yyj3c43phfp3as")))) - (build-system python-build-system) - (propagated-inputs - (list python-numpy python-six)) - (native-inputs - (list python-pandas - python-pillow - python-pytest - python-pytest-cov - python-pytest-xdist - tensorflow)) - (home-page "https://github.com/keras-team/keras-preprocessing/") - (synopsis "Data preprocessing and augmentation for deep learning models") - (description - "Keras Preprocessing is the data preprocessing and data augmentation -module of the Keras deep learning library. It provides utilities for working -with image data, text data, and sequence data.") - (license license:expat))) - -(define-public python-keras - (package - (name "python-keras") - (version "2.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras" version)) - (sha256 - (base32 - "1k68xd8n2y9ldijggjc8nn4d6d1axw0p98gfb0fmm8h641vl679j")) - (modules '((guix build utils))) - (snippet - '(substitute* '("keras/callbacks/callbacks.py" - "keras/engine/training_utils.py" - "keras/engine/training.py" - "keras/engine/training_generator.py" - "keras/utils/generic_utils.py") - (("from collections import Iterable") - "from collections.abc import Iterable") - (("collections.Container") - "collections.abc.Container") - (("collections.Mapping") - "collections.abc.Mapping") - (("collections.Sequence") - "collections.abc.Sequence"))))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'tf-compatibility - (lambda _ - (substitute* "keras/backend/tensorflow_backend.py" - (("^get_graph = .*") - "get_graph = tf.get_default_graph") - (("tf.compat.v1.nn.fused_batch_norm") - "tf.nn.fused_batch_norm") - ;; categorical_crossentropy does not support axis - (("from_logits=from_logits, axis=axis") - "from_logits=from_logits") - ;; dropout accepts a level number, not a named rate argument. - (("dropout\\(x, rate=level,") - "dropout(x, level,") - (("return x.shape.rank") - "return len(x.shape)")))) - (add-after 'unpack 'hdf5-compatibility - (lambda _ - ;; The truth value of an array with more than one element is ambiguous. - (substitute* "tests/keras/utils/io_utils_test.py" - ((" *assert .* == \\[b'(asd|efg).*") "")) - (substitute* "tests/test_model_saving.py" - (("h5py.File\\('does not matter',") - "h5py.File('does not matter', 'w',")) - (substitute* "keras/utils/io_utils.py" - (("h5py.File\\('in-memory-h5py', driver='core', backing_store=False\\)") - "h5py.File('in-memory-h5py', 'w', driver='core', backing_store=False)") - (("h5file.fid.get_file_image") - "h5file.id.get_file_image")) - (substitute* "keras/engine/saving.py" - (("\\.decode\\('utf-?8'\\)") "")))) - (add-after 'unpack 'delete-unavailable-backends - (lambda _ - (delete-file "keras/backend/theano_backend.py") - (delete-file "keras/backend/cntk_backend.py"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; These tests attempt to download data files from the internet. - (delete-file "tests/integration_tests/test_datasets.py") - (delete-file "tests/integration_tests/imagenet_utils_test.py") - (invoke "python" "-m" "pytest" "tests" - "-p" "no:pep8" - ;; FIXME: python-build-system lacks PARALLEL-TESTS? - "-n" (number->string (parallel-job-count)) - ;; This one uses the theano backend that we don't have. - "--ignore=tests/test_api.py" - "--ignore=tests/keras/backend/backend_test.py" - ;; Our Tensorflow version does not have the coder ops library. - "--ignore=tests/keras/callbacks/callbacks_test.py" - ;; ...nor do we have tensorboard - "--ignore=tests/keras/callbacks/tensorboard_test.py" - "-k" - (string-append - ;; See https://github.com/keras-team/keras/pull/7033 - "not test_TimeDistributed_learning_phase " - ;; XXX fails because no closure is provided - "and not test_func_dump_and_load_backwards_compat " - ;; XXX real bug? These are all tests that fail due to - ;; shape mismatch, e.g. "got logits shape [12,3] and - ;; labels shape [9]" - "and not test_model_with_crossentropy_losses_channels_first " - "and not test_masking_correctness_output_size_not_equal_to_first_state_size " - "and not test_convolutional_recurrent " - "and not test_axis " - - ;; XXX fails because of 3/15 values have unexpected differences. - "and not test_masking_correctness_output_not_equal_to_first_state " - ;; XXX fails because of a difference of about 0.1 - "and not test_sample_weighted " - ;; XXX fails because of a difference of about 0.3 - "and not test_scalar_weighted " - ;; XXX fails because of a difference of about 0.2 - "and not test_unweighted " - - ;; XXX I cannot reproduce this in an interactive - ;; Python session, because l2_norm works just fine. - "and not test_weighted " ;TestCosineSimilarity - "and not test_config " ;TestCosineSimilarity - - ;; The following test fails only in the build - ;; container; skip it. - "and not test_selu " - ;; The following test was found flaky and removed in - ;; recent versions. - "and not test_stateful_metrics")))))))) - (propagated-inputs - (list python-h5py - python-keras-applications - python-keras-preprocessing - python-numpy - python-pydot - python-pyyaml - python-scipy - python-six - tensorflow - graphviz)) - (native-inputs - (list python-flaky - python-markdown - python-pandas - python-pytest - python-pytest-cov - python-pytest-timeout - python-pytest-xdist - python-pyux - python-sphinx - python-requests)) - (home-page "https://keras.io/") - (synopsis "High-level deep learning framework") - (description "Keras is a high-level neural networks API, written in Python -and capable of running on top of TensorFlow. It was developed with a focus on -enabling fast experimentation. Use Keras if you need a deep learning library -that: -@itemize -@item Allows for easy and fast prototyping (through user friendliness, - modularity, and extensibility). -@item Supports both convolutional networks and recurrent networks, as well as - combinations of the two. -@item Runs seamlessly on CPU and GPU. -@end itemize\n") - (license license:expat))) - (define-public gloo (let ((version "0.0.0") ; no proper version tag (commit "81925d1c674c34f0dc34dd9a0f2151c1b6f701eb") @@ -6624,20 +6378,25 @@ and Numpy.") (package (name "python-pyro-api") (version "0.1.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "pyro-api" version)) - (sha256 - (base32 - "086r2h6x9i5d9ayl1x65lx6p84rlydzsn8xingxc588ab3ch1fd1")))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyro-ppl/pyro-api") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17x7niagx43cajqq67dxmssr7q94db6axyg154y7vqdxzp25hf7g")))) + (build-system pyproject-build-system) (arguments '(#:tests? #false)) ;requires pyro (native-inputs (list python-flake8 python-ipython python-pytest + python-setuptools python-sphinx - python-sphinx-rtd-theme)) + python-sphinx-rtd-theme + python-wheel)) (home-page "https://github.com/pyro-ppl/pyro-api") (synopsis "Generic API for dispatch to Pyro backends") (description "This package provides a generic API for dispatch to Pyro backends.") @@ -6841,7 +6600,7 @@ linear algebra routines needed for structured matrices (or operators).") (lambda (x) (install-file x src)) (find-files "." "\\.h$")))))))) (inputs (list kaldi openfst openblas)) - (home-page "https://alphacephei.com/vosk") + (home-page "https://alphacephei.com/vosk/") (synopsis "Speech recognition toolkit based on @code{kaldi}") (description "This package provides a speech recognition toolkit based on @code{kaldi}. It supports more than 20 languages and dialects - English, @@ -6862,10 +6621,12 @@ simple speech recognition.") (package (inherit vosk-api) (name "python-vosk") - (build-system python-build-system) + (build-system pyproject-build-system) (propagated-inputs (list python-cffi python-requests python-tqdm python-srt python-websockets)) (inputs (list vosk-api)) + (native-inputs + (list python-setuptools python-wheel)) (arguments (list #:tests? #f ;; TODO There are tests but not run through Makefile. diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 0627370086..9dcc4660d0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -113,6 +113,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages gdb) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) @@ -323,14 +324,14 @@ completely independent from the extension API.") (define-public mailutils (package (name "mailutils") - (version "3.19") + (version "3.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "0iczhhqfp7nkcasf7iy7lkxk7wgifxhrj3bbr7c8lnvc0ch0s8sh")) + "0ag8d9fafzyjk53iyknzvb82risv1jf4wgnann5ii9fx3smzmwx8")) (patches (search-patches "mailutils-variable-lookup.patch")))) (build-system gnu-build-system) @@ -1228,6 +1229,12 @@ and corrections. It is based on a Bayesian filter.") #:tests? #f #:phases #~(modify-phases %standard-phases + ;; See: https://github.com/OfflineIMAP/offlineimap3/pull/205. + (add-after 'unpack 'fix-issue-205 + (lambda _ + (substitute* "offlineimap/localeval.py" + (("import importlib.util\n") + "import importlib.util\nimport importlib.machinery\n")))) (add-after 'build 'build-documentation (lambda _ (substitute* "docs/Makefile" @@ -4830,7 +4837,7 @@ on RFC 3501 and original @code{imaplib} module.") (define-public rspamd (package (name "rspamd") - (version "3.6") + (version "3.12.1") (source (origin (method git-fetch) @@ -4838,16 +4845,26 @@ on RFC 3501 and original @code{imaplib} module.") (url "https://github.com/rspamd/rspamd") (commit version))) (sha256 - (base32 "1ra18c3wczbdqrg9p69k04smjskjkdpxcfff9ff4yi7pmqjaxr8s")) + (base32 "0li75dqqy0irrvv2jddmll2adf15cywif982ijj034hldg9162bc")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DENABLE_LUAJIT=ON" - "-DLOCAL_CONFDIR=/etc/rspamd"))) + (list #:configure-flags #~(list "-DENABLE_LUAJIT=ON" + "-DLOCAL_CONFDIR=/etc/rspamd") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "run-test" + "-j" (number->string (parallel-job-count))))))))) (inputs (list file glib icu4c + libarchive + libbfd + libiberty libsodium luajit openssl diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index dad9d4c4d5..7974a2f0b7 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -11399,7 +11399,7 @@ Mathics3.") (setenv "PYTHONPATH" (getcwd)) (setenv "DJANGO_SETTINGS_MODULE" "mathics_django.settings") (invoke "django-admin" "test")))))) - (propagated-inputs (list python-django-4.2 + (propagated-inputs (list python-django python-mathics-scanner python-mathics-core python-networkx diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8a32f2a75a..c267c8207e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2015, 2025 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021, 2022, 2024, 2025 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> @@ -400,20 +400,23 @@ conferencing.") (define-public qxmpp (package (name "qxmpp") - (version "1.4.0") + ;; kaidan requires a precise version + (version "1.10.3") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/qxmpp-project/qxmpp") + (url "https://invent.kde.org/libraries/qxmpp") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1knpq1jkwk0lxdwczbmzf7qrjvlxba9yr40nbq9s5nqkcx6q1c3i")))) - (build-system cmake-build-system) + (base32 "0qinrbr63b1baqv1a7cph8bma6kj1ib8s8ywq6d9497lc1yl2kgi")))) + (build-system qt-build-system) (arguments - `(#:configure-flags (list "-DBUILD_EXAMPLES=false" - "-DWITH_GSTREAMER=true") + `(#:qtbase ,qtbase + #:configure-flags (list "-DBUILD_EXAMPLES=false" + "-DWITH_GSTREAMER=true" + "-DBUILD_OMEMO=ON") ;needed by kaidan #:test-exclude (string-join ;; These tests use the network. (list "tst_qxmppiceconnection" @@ -423,8 +426,12 @@ conferencing.") (native-inputs (list pkg-config)) (inputs - (list gstreamer qtbase-5)) - (home-page "https://github.com/qxmpp-project/qxmpp") + (list + gstreamer + libomemo-c + qca-qt6 + qt5compat)) + (home-page "https://invent.kde.org/libraries/qxmpp") (synopsis "XMPP client and server library") (description "QXmpp is a XMPP client and server library written in C++ and uses the Qt @@ -1137,14 +1144,14 @@ control of your private keys, no previous conversation is compromised.") (define-public znc (package (name "znc") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (string-append "https://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "06bb6c2nciwbknfschxd2fjkpigd6i0zgwl6jiz5lm7gcadssrdy")))) + "0038qjkc1cxqz16nx9b37gjqzmnavv2kxdbjb4c0c9mz3n2pcvjf")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -1473,7 +1480,7 @@ default.") (define-public kaidan (package (name "kaidan") - (version "0.9.0") + (version "0.12.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/unstable/kaidan/" version @@ -1483,28 +1490,38 @@ default.") #~(begin (delete-file-recursively "3rdparty"))) (sha256 - (base32 "1waqv0fdkhvp3cqy2a2g6i2wc9s0zbvgzknymrwxy99mnx9ymw9g")))) + (base32 "0q8py100nmvyhm8pfnvpxmghbg445x2vgpw3c519bcrr4w7y6yl0")))) (build-system qt-build-system) (arguments - (list #:configure-flags #~(list "-DBUILD_TESTS=true"))) + (list + #:qtbase qtbase + #:configure-flags #~(list "-DBUILD_TESTS=true") + #:test-exclude "PublicGroupChatTest" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + ;; Tests need write permission in $HOME. + (setenv "HOME" "/tmp")))))) (native-inputs (list extra-cmake-modules - perl - pkg-config - python-wrapper)) - (inputs (list kirigami-5 - knotifications-5 - qtbase-5 - qtdeclarative-5 - qtgraphicaleffects - qtlocation-5 - qtquickcontrols2-5 - qtsvg-5 - qtmultimedia-5 - qtxmlpatterns-5 + pkg-config)) + (inputs (list icu4c + kcrash + kdsingleapplication + kio + kirigami + kirigami-addons + knotifications + kquickimageeditor + prison qqc2-desktop-style + qtlocation + qtmultimedia + qtpositioning + qtsvg + qttools qxmpp - sonnet - zxing-cpp-1.2a)) + sonnet)) (home-page "https://www.kaidan.im/") (synopsis "Qt-based XMPP/Jabber Client") (description "Kaidan is a chat client. It uses the open communication @@ -2905,7 +2922,7 @@ validating international phone numbers.") (define-public chatty (package (name "chatty") - (version "0.6.7") + (version "0.7.3") (source (origin (method git-fetch) (uri (git-reference @@ -2920,7 +2937,7 @@ validating international phone numbers.") (file-name (git-file-name name version)) (sha256 (base32 - "11q07vjrrjf3k00kk41vm79brpq0qigz7l328br3g0li979kz32v")))) + "0d6z0mgl1xx384ph5lw3p5rpg3w1ninzyxjjjas3z8i7fyk47inf")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -2947,7 +2964,7 @@ validating international phone numbers.") xorg-server-for-tests)) (inputs (list feedbackd - folks-with-libsoup2 + folks gnome-desktop gsettings-desktop-schemas gspell @@ -2962,7 +2979,7 @@ validating international phone numbers.") purple-mm-sms sqlite)) (propagated-inputs - (list adwaita-icon-theme evolution-data-server-3.44)) + (list adwaita-icon-theme evolution-data-server)) (synopsis "Mobile client for XMPP and SMS messaging") (description "Chatty is a chat program for XMPP and SMS. It works on mobile as well as on desktop platforms. It's based on libpurple and ModemManager.") diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 66b1a761d9..5f6d661587 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -519,7 +519,7 @@ and persisting them to disk using the Whisper time-series library.") python-whisper)) (propagated-inputs (list python-cairocffi - python-django-4.2 + python-django python-django-tagging python-pyparsing python-pytz diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 8e7394946e..860d63b366 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -5247,6 +5247,12 @@ and more. Full API documentation and examples are included.") #:configure-flags '(list "-DWANT_QT5=ON" "-DWANT_VST=OFF") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-carla-export + ;; Taken from NixOS package definition. + (lambda _ + (substitute* "plugins/carlabase/carla.h" + (("CARLA_EXPORT") + "CARLA_API_EXPORT")))) (add-after 'unpack 'unpack-rpmalloc (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "rpmalloc") diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 40fa5981fe..114e5315cf 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -78,26 +78,6 @@ (home-page "https://registry.khronos.org/OpenCL/") (license license:asl2.0))) -(define (make-opencl-headers major-version subversion) - ;; The upstream OpenCL-Headers repository is no longer separating headers by - ;; version; instead, you are supposed to #define CL_TARGET_OPENCL_VERSION. - (deprecated-package (string-append "opencl-headers-" - major-version "." - subversion) opencl-headers)) - -(define-public opencl-headers-2.2 - (make-opencl-headers "2" "2")) -(define-public opencl-headers-2.1 - (make-opencl-headers "2" "1")) -(define-public opencl-headers-2.0 - (make-opencl-headers "2" "0")) -(define-public opencl-headers-1.2 - (make-opencl-headers "1" "2")) -(define-public opencl-headers-1.1 - (make-opencl-headers "1" "1")) -(define-public opencl-headers-1.0 - (make-opencl-headers "1" "0")) - (define-public opencl-clhpp (package (name "opencl-clhpp") diff --git a/gnu/packages/oyacc.scm b/gnu/packages/oyacc.scm new file mode 100644 index 0000000000..4510b640fe --- /dev/null +++ b/gnu/packages/oyacc.scm @@ -0,0 +1,52 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages oyacc) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix build-system gnu)) + +(define-public oyacc + (package + (name "oyacc") + (version "6.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ibara/yacc") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx")))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "test" + #:make-flags + #~(list (string-append "BINDIR=" #$output "/bin") + (string-append "MANDIR=" #$output "/share/man/man1")))) + (synopsis "Portable YACC from OpenBSD") + (description + "@command{oyacc} is a portable version of the OpenBSD's +@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies +besides libc.") + (home-page "https://github.com/ibara/yacc") + (license license:bsd-2))) diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm index 2e4fa08d5a..b17197a858 100644 --- a/gnu/packages/pantheon.scm +++ b/gnu/packages/pantheon.scm @@ -173,10 +173,10 @@ desktop.") (symlink bin link))))))) (inputs (list clutter - evolution-data-server-3.44 - folks-with-libsoup2 + evolution-data-server + folks geoclue - geocode-glib-with-libsoup2 + geocode-glib granite-6 glib gtk diff --git a/gnu/packages/patches/daemontools-gcc14.patch b/gnu/packages/patches/daemontools-gcc14.patch new file mode 100644 index 0000000000..00b772bc3b --- /dev/null +++ b/gnu/packages/patches/daemontools-gcc14.patch @@ -0,0 +1,561 @@ +Taken from Debian, see +https://salsa.debian.org/debian/daemontools/-/blob/6b5584ccae6bd7c8cb6f47dd71062e3b1cd0a038/debian/patches/0005-fix-ftbfs.patch + +From: =?utf-8?b?SmFuIE1vasW+w63FoQ==?= <jan.mojzis@gmail.com> +Date: Sat, 30 Mar 2024 10:15:13 +0100 +Subject: fix ftbfs + +Forwarded: no +--- + daemontools-0.76/src/chkshsgr.c | 3 ++- + daemontools-0.76/src/envdir.c | 2 +- + daemontools-0.76/src/envuidgid.c | 2 +- + daemontools-0.76/src/fghack.c | 6 ++++-- + daemontools-0.76/src/matchtest.c | 1 + + daemontools-0.76/src/multilog.c | 3 ++- + daemontools-0.76/src/pathexec.h | 4 ++-- + daemontools-0.76/src/pathexec_env.c | 6 +++--- + daemontools-0.76/src/pathexec_run.c | 3 ++- + daemontools-0.76/src/pgrphack.c | 2 +- + daemontools-0.76/src/prot.c | 4 +++- + daemontools-0.76/src/seek_set.c | 1 + + daemontools-0.76/src/setlock.c | 2 +- + daemontools-0.76/src/setuidgid.c | 2 +- + daemontools-0.76/src/sgetopt.c | 2 +- + daemontools-0.76/src/sgetopt.h | 2 +- + daemontools-0.76/src/softlimit.c | 2 +- + daemontools-0.76/src/subgetopt.c | 2 +- + daemontools-0.76/src/subgetopt.h | 2 +- + daemontools-0.76/src/supervise.c | 6 ++++-- + daemontools-0.76/src/svc.c | 2 +- + daemontools-0.76/src/svscan.c | 2 +- + daemontools-0.76/src/trycpp.c | 3 +++ + daemontools-0.76/src/tryflock.c | 2 +- + daemontools-0.76/src/trypoll.c | 1 + + daemontools-0.76/src/trysgact.c | 2 +- + daemontools-0.76/src/trysgprm.c | 2 +- + daemontools-0.76/src/tryshsgr.c | 13 ++++++++----- + daemontools-0.76/src/tryulong64.c | 5 ++++- + daemontools-0.76/src/trywaitp.c | 2 +- + daemontools-0.76/src/uint64.h1 | 2 +- + daemontools-0.76/src/uint64.h2 | 5 +++-- + daemontools-0.76/src/x86cpuid.c | 2 ++ + 33 files changed, 62 insertions(+), 38 deletions(-) + +diff --git a/daemontools-0.76/src/chkshsgr.c b/daemontools-0.76/src/chkshsgr.c +index 38c352d..470f565 100644 +--- a/daemontools-0.76/src/chkshsgr.c ++++ b/daemontools-0.76/src/chkshsgr.c +@@ -1,12 +1,13 @@ + /* Public domain. */ + + #include <unistd.h> ++#include <grp.h> + + int main() + { + short x[4]; + + x[0] = x[1] = 0; +- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); ++ if (getgroups(1,(gid_t *)x) == 0) if (setgroups(1,(gid_t *)x) == -1) _exit(1); + _exit(0); + } +diff --git a/daemontools-0.76/src/envdir.c b/daemontools-0.76/src/envdir.c +index beb1b1f..d02bc63 100644 +--- a/daemontools-0.76/src/envdir.c ++++ b/daemontools-0.76/src/envdir.c +@@ -21,7 +21,7 @@ void nomem(void) + + static stralloc sa; + +-int main(int argc,const char *const *argv) ++int main(int argc,char **argv) + { + int fdorigdir; + const char *fn; +diff --git a/daemontools-0.76/src/envuidgid.c b/daemontools-0.76/src/envuidgid.c +index 294960a..f097db1 100644 +--- a/daemontools-0.76/src/envuidgid.c ++++ b/daemontools-0.76/src/envuidgid.c +@@ -15,7 +15,7 @@ char strnum[FMT_ULONG]; + const char *account; + struct passwd *pw; + +-int main(int argc,const char *const *argv) ++int main(int argc,char **argv) + { + account = *++argv; + if (!account || !*++argv) +diff --git a/daemontools-0.76/src/fghack.c b/daemontools-0.76/src/fghack.c +index 34ca1db..262876a 100644 +--- a/daemontools-0.76/src/fghack.c ++++ b/daemontools-0.76/src/fghack.c +@@ -9,12 +9,13 @@ + + int pid; + +-int main(int argc,const char * const *argv,const char * const *envp) ++int main(int argc,char **argv,char **envp) + { + char ch; + int wstat; + int pi[2]; + int i; ++ int dummy; + + if (!argv[1]) + strerr_die1x(100,"fghack: usage: fghack child"); +@@ -28,7 +29,8 @@ int main(int argc,const char * const *argv,const char * const *envp) + case 0: + close(pi[0]); + for (i = 0;i < 30;++i) +- dup(pi[1]); ++ dummy = dup(pi[1]); ++ (void) dummy; + pathexec_run(argv[1],argv + 1,envp); + strerr_die4sys(111,FATAL,"unable to run ",argv[1],": "); + } +diff --git a/daemontools-0.76/src/matchtest.c b/daemontools-0.76/src/matchtest.c +index 980dd1c..1bd4bbc 100644 +--- a/daemontools-0.76/src/matchtest.c ++++ b/daemontools-0.76/src/matchtest.c +@@ -1,3 +1,4 @@ ++#include <unistd.h> + #include "match.h" + #include "buffer.h" + #include "str.h" +diff --git a/daemontools-0.76/src/multilog.c b/daemontools-0.76/src/multilog.c +index be27a6a..ea02909 100644 +--- a/daemontools-0.76/src/multilog.c ++++ b/daemontools-0.76/src/multilog.c +@@ -1,6 +1,7 @@ + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> ++#include <stdio.h> + #include "direntry.h" + #include "alloc.h" + #include "buffer.h" +@@ -172,7 +173,7 @@ void finish(struct cyclog *d,const char *file,const char *code) + + void startprocessor(struct cyclog *d) + { +- const char *args[4]; ++ char *args[4]; + int fd; + + sig_uncatch(sig_term); +diff --git a/daemontools-0.76/src/pathexec.h b/daemontools-0.76/src/pathexec.h +index 61da922..f984f77 100644 +--- a/daemontools-0.76/src/pathexec.h ++++ b/daemontools-0.76/src/pathexec.h +@@ -3,8 +3,8 @@ + #ifndef PATHEXEC_H + #define PATHEXEC_H + +-extern void pathexec_run(const char *,const char * const *,const char * const *); ++extern void pathexec_run(const char *,char **,char **); + extern int pathexec_env(const char *,const char *); +-extern void pathexec(const char * const *); ++extern void pathexec(char **); + + #endif +diff --git a/daemontools-0.76/src/pathexec_env.c b/daemontools-0.76/src/pathexec_env.c +index 2cb101c..a1404ad 100644 +--- a/daemontools-0.76/src/pathexec_env.c ++++ b/daemontools-0.76/src/pathexec_env.c +@@ -22,9 +22,9 @@ int pathexec_env(const char *s,const char *t) + return stralloc_cat(&plus,&tmp); + } + +-void pathexec(const char *const *argv) ++void pathexec(char **argv) + { +- const char **e; ++ char **e; + unsigned int elen; + unsigned int i; + unsigned int j; +@@ -40,7 +40,7 @@ void pathexec(const char *const *argv) + if (!plus.s[i]) + ++elen; + +- e = (const char **) alloc((elen + 1) * sizeof(char *)); ++ e = (char **) alloc((elen + 1) * sizeof(char *)); + if (!e) return; + + elen = 0; +diff --git a/daemontools-0.76/src/pathexec_run.c b/daemontools-0.76/src/pathexec_run.c +index 1770ac7..7929144 100644 +--- a/daemontools-0.76/src/pathexec_run.c ++++ b/daemontools-0.76/src/pathexec_run.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include "error.h" + #include "stralloc.h" + #include "str.h" +@@ -8,7 +9,7 @@ + + static stralloc tmp; + +-void pathexec_run(const char *file,const char * const *argv,const char * const *envp) ++void pathexec_run(const char *file,char **argv,char **envp) + { + const char *path; + unsigned int split; +diff --git a/daemontools-0.76/src/pgrphack.c b/daemontools-0.76/src/pgrphack.c +index 9aa10dc..6b06a84 100644 +--- a/daemontools-0.76/src/pgrphack.c ++++ b/daemontools-0.76/src/pgrphack.c +@@ -4,7 +4,7 @@ + + #define FATAL "pgrphack: fatal: " + +-int main(int argc,const char * const *argv,const char * const *envp) ++int main(int argc,char **argv,char **envp) + { + if (!argv[1]) strerr_die1x(100,"pgrphack: usage: pgrphack child"); + setsid(); /* shouldn't fail; if it does, too bad */ +diff --git a/daemontools-0.76/src/prot.c b/daemontools-0.76/src/prot.c +index 79a88c5..45af0ef 100644 +--- a/daemontools-0.76/src/prot.c ++++ b/daemontools-0.76/src/prot.c +@@ -1,5 +1,7 @@ + /* Public domain. */ + ++#include <unistd.h> ++#include <grp.h> + #include "hasshsgr.h" + #include "prot.h" + +@@ -8,7 +10,7 @@ int prot_gid(int gid) + #ifdef HASSHORTSETGROUPS + short x[2]; + x[0] = gid; x[1] = 73; /* catch errors */ +- if (setgroups(1,x) == -1) return -1; ++ if (setgroups(1,(gid_t *)x) == -1) return -1; + #else + if (setgroups(1,&gid) == -1) return -1; + #endif +diff --git a/daemontools-0.76/src/seek_set.c b/daemontools-0.76/src/seek_set.c +index 19b8265..5299201 100644 +--- a/daemontools-0.76/src/seek_set.c ++++ b/daemontools-0.76/src/seek_set.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include <sys/types.h> + #include "seek.h" + +diff --git a/daemontools-0.76/src/setlock.c b/daemontools-0.76/src/setlock.c +index eec2192..d900540 100644 +--- a/daemontools-0.76/src/setlock.c ++++ b/daemontools-0.76/src/setlock.c +@@ -14,7 +14,7 @@ void usage() { + int flagndelay = 0; + int flagx = 0; + +-int main(int argc,const char *const *argv,const char *const *envp) ++int main(int argc,char **argv,char **envp) + { + int opt; + int fd; +diff --git a/daemontools-0.76/src/setuidgid.c b/daemontools-0.76/src/setuidgid.c +index 8c683de..90485e9 100644 +--- a/daemontools-0.76/src/setuidgid.c ++++ b/daemontools-0.76/src/setuidgid.c +@@ -9,7 +9,7 @@ + const char *account; + struct passwd *pw; + +-int main(int argc,const char *const *argv,const char *const *envp) ++int main(int argc,char **argv,char **envp) + { + account = *++argv; + if (!account || !*++argv) +diff --git a/daemontools-0.76/src/sgetopt.c b/daemontools-0.76/src/sgetopt.c +index 8bb608f..1d6d9f4 100644 +--- a/daemontools-0.76/src/sgetopt.c ++++ b/daemontools-0.76/src/sgetopt.c +@@ -27,7 +27,7 @@ Documentation in sgetopt.3. + int opterr = 1; + const char *optprogname = 0; + +-int getopt(int argc,const char *const *argv,const char *opts) ++int getopt(int argc,char **argv,const char *opts) + { + int c; + const char *s; +diff --git a/daemontools-0.76/src/sgetopt.h b/daemontools-0.76/src/sgetopt.h +index bf8bce6..6a6e111 100644 +--- a/daemontools-0.76/src/sgetopt.h ++++ b/daemontools-0.76/src/sgetopt.h +@@ -16,7 +16,7 @@ + + #include "subgetopt.h" + +-extern int sgetoptmine(int,const char *const *,const char *); ++extern int sgetoptmine(int,char **,const char *); + extern int sgetopterr; + extern const char *sgetoptprogname; + +diff --git a/daemontools-0.76/src/softlimit.c b/daemontools-0.76/src/softlimit.c +index 8be40b8..4d9f81e 100644 +--- a/daemontools-0.76/src/softlimit.c ++++ b/daemontools-0.76/src/softlimit.c +@@ -36,7 +36,7 @@ void doit(int resource,const char *arg) + strerr_die2sys(111,FATAL,"setrlimit failed: "); + } + +-int main(int argc,const char *const *argv,const char *const *envp) ++int main(int argc,char **argv,char **envp) + { + int opt; + +diff --git a/daemontools-0.76/src/subgetopt.c b/daemontools-0.76/src/subgetopt.c +index 266e72a..bbbbb6c 100644 +--- a/daemontools-0.76/src/subgetopt.c ++++ b/daemontools-0.76/src/subgetopt.c +@@ -16,7 +16,7 @@ const char *optarg = 0; + int optproblem = 0; + int optdone = SUBGETOPTDONE; + +-int sgopt(int argc,const char *const *argv,const char *opts) ++int sgopt(int argc,char **argv,const char *opts) + { + int c; + const char *s; +diff --git a/daemontools-0.76/src/subgetopt.h b/daemontools-0.76/src/subgetopt.h +index 41ad26a..7e5636e 100644 +--- a/daemontools-0.76/src/subgetopt.h ++++ b/daemontools-0.76/src/subgetopt.h +@@ -15,7 +15,7 @@ + + #define SUBGETOPTDONE -1 + +-extern int subgetopt(int,const char *const *,const char *); ++extern int subgetopt(int,char **,const char *); + extern const char *subgetoptarg; + extern int subgetoptind; + extern int subgetoptpos; +diff --git a/daemontools-0.76/src/supervise.c b/daemontools-0.76/src/supervise.c +index 483e9a2..3a27f42 100644 +--- a/daemontools-0.76/src/supervise.c ++++ b/daemontools-0.76/src/supervise.c +@@ -2,6 +2,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <signal.h> ++#include <stdio.h> + #include "sig.h" + #include "strerr.h" + #include "error.h" +@@ -81,10 +82,11 @@ void announce(void) + + void trigger(void) + { +- write(selfpipe[1],"",1); ++ int dummy = write(selfpipe[1],"",1); ++ (void) dummy; + } + +-const char *run[2] = { "./run", 0 }; ++char *run[2] = { "./run", 0 }; + + int flagfailed = 0; + +diff --git a/daemontools-0.76/src/svc.c b/daemontools-0.76/src/svc.c +index 08e9a5c..aae2d9d 100644 +--- a/daemontools-0.76/src/svc.c ++++ b/daemontools-0.76/src/svc.c +@@ -19,7 +19,7 @@ char bspace[1]; + + int fdorigdir; + +-int main(int argc,const char *const *argv) ++int main(int argc,char **argv) + { + int opt; + int fd; +diff --git a/daemontools-0.76/src/svscan.c b/daemontools-0.76/src/svscan.c +index 15a8c89..39b8887 100644 +--- a/daemontools-0.76/src/svscan.c ++++ b/daemontools-0.76/src/svscan.c +@@ -36,7 +36,7 @@ void start(char *fn) + struct stat st; + int child; + int i; +- const char *args[3]; ++ char *args[3]; + + if (fn[0] == '.') return; + +diff --git a/daemontools-0.76/src/trycpp.c b/daemontools-0.76/src/trycpp.c +index e4503d4..70bc8d6 100644 +--- a/daemontools-0.76/src/trycpp.c ++++ b/daemontools-0.76/src/trycpp.c +@@ -1,5 +1,8 @@ + /* Public domain. */ + ++#include <stdio.h> ++#include <stdlib.h> ++ + int main() + { + #ifdef NeXT +diff --git a/daemontools-0.76/src/tryflock.c b/daemontools-0.76/src/tryflock.c +index a82ffc2..68599d3 100644 +--- a/daemontools-0.76/src/tryflock.c ++++ b/daemontools-0.76/src/tryflock.c +@@ -4,7 +4,7 @@ + #include <sys/file.h> + #include <fcntl.h> + +-main() ++int main() + { + flock(0,LOCK_EX | LOCK_UN | LOCK_NB); + } +diff --git a/daemontools-0.76/src/trypoll.c b/daemontools-0.76/src/trypoll.c +index 6506617..a7b26df 100644 +--- a/daemontools-0.76/src/trypoll.c ++++ b/daemontools-0.76/src/trypoll.c +@@ -3,6 +3,7 @@ + #include <sys/types.h> + #include <fcntl.h> + #include <poll.h> ++#include <unistd.h> + + int main() + { +diff --git a/daemontools-0.76/src/trysgact.c b/daemontools-0.76/src/trysgact.c +index e264ef2..841b88a 100644 +--- a/daemontools-0.76/src/trysgact.c ++++ b/daemontools-0.76/src/trysgact.c +@@ -2,7 +2,7 @@ + + #include <signal.h> + +-main() ++int main() + { + struct sigaction sa; + sa.sa_handler = 0; +diff --git a/daemontools-0.76/src/trysgprm.c b/daemontools-0.76/src/trysgprm.c +index a46c82c..3e78a82 100644 +--- a/daemontools-0.76/src/trysgprm.c ++++ b/daemontools-0.76/src/trysgprm.c +@@ -2,7 +2,7 @@ + + #include <signal.h> + +-main() ++int main() + { + sigset_t ss; + +diff --git a/daemontools-0.76/src/tryshsgr.c b/daemontools-0.76/src/tryshsgr.c +index c5ed6d6..ba298a7 100644 +--- a/daemontools-0.76/src/tryshsgr.c ++++ b/daemontools-0.76/src/tryshsgr.c +@@ -1,16 +1,19 @@ + /* Public domain. */ + ++#include <unistd.h> ++#include <grp.h> ++ + int main() + { + short x[4]; +- ++ + x[0] = x[1] = 1; +- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); +- +- if (getgroups(1,x) == -1) _exit(1); ++ if (getgroups(1,(gid_t *)x) == 0) if (setgroups(1,(gid_t *)x) == -1) _exit(1); ++ ++ if (getgroups(1,(gid_t *)x) == -1) _exit(1); + if (x[1] != 1) _exit(1); + x[1] = 2; +- if (getgroups(1,x) == -1) _exit(1); ++ if (getgroups(1,(gid_t *)x) == -1) _exit(1); + if (x[1] != 2) _exit(1); + _exit(0); + } +diff --git a/daemontools-0.76/src/tryulong64.c b/daemontools-0.76/src/tryulong64.c +index 003548a..f3b111d 100644 +--- a/daemontools-0.76/src/tryulong64.c ++++ b/daemontools-0.76/src/tryulong64.c +@@ -1,8 +1,11 @@ + /* Public domain. */ + ++#include <unistd.h> ++#include <stdint.h> ++ + int main() + { +- unsigned long u; ++ uint64_t u; + u = 1; + u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u; + u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u; +diff --git a/daemontools-0.76/src/trywaitp.c b/daemontools-0.76/src/trywaitp.c +index 319b81f..76b3329 100644 +--- a/daemontools-0.76/src/trywaitp.c ++++ b/daemontools-0.76/src/trywaitp.c +@@ -3,7 +3,7 @@ + #include <sys/types.h> + #include <sys/wait.h> + +-main() ++int main() + { + waitpid(0,0,0); + } +diff --git a/daemontools-0.76/src/uint64.h1 b/daemontools-0.76/src/uint64.h1 +index 486a380..fde25ca 100644 +--- a/daemontools-0.76/src/uint64.h1 ++++ b/daemontools-0.76/src/uint64.h1 +@@ -3,7 +3,7 @@ + #ifndef UINT64_H + #define UINT64_H + +-/* sysdep: -ulong64 */ ++/* sysdep: -uint64_t */ + + typedef unsigned long long uint64; + +diff --git a/daemontools-0.76/src/uint64.h2 b/daemontools-0.76/src/uint64.h2 +index 8869e43..fd134f2 100644 +--- a/daemontools-0.76/src/uint64.h2 ++++ b/daemontools-0.76/src/uint64.h2 +@@ -3,8 +3,9 @@ + #ifndef UINT64_H + #define UINT64_H + +-/* sysdep: +ulong64 */ ++/* sysdep: +uint64_t */ + +-typedef unsigned long uint64; ++#include <stdint.h> ++typedef uint64_t uint64; + + #endif +diff --git a/daemontools-0.76/src/x86cpuid.c b/daemontools-0.76/src/x86cpuid.c +index f81c593..122eed1 100644 +--- a/daemontools-0.76/src/x86cpuid.c ++++ b/daemontools-0.76/src/x86cpuid.c +@@ -1,6 +1,8 @@ + /* Public domain. */ + + #include <signal.h> ++#include <stdlib.h> ++#include <stdio.h> + + void nope() + { diff --git a/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch b/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch new file mode 100644 index 0000000000..9eff5c42e1 --- /dev/null +++ b/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch @@ -0,0 +1,133 @@ +This patch is from upstream and probably can be dropped with any version +after 1.11.0. + +From 9c93b4607adcf9b3efd53aba43e2d33bf5aef9df Mon Sep 17 00:00:00 2001 +From: Jussi Kivilinna <jussi.kivilinna@iki.fi> +Date: Sun, 4 Aug 2024 18:04:49 +0300 +Subject: [PATCH] mpi/ec-inline: reduce register pressure on 32-bit ARM + +* mpi/ec-inline.h [HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS] (ADD4_LIMB32) +(ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Reuse input registers +as output (use just two unique operators). +-- + +This fixes building ec-nist.c with GCC-14 on 32-bit ARM. + +GnuPG-bug-id: 7226 +Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> +--- + mpi/ec-inline.h | 63 ++++++++++++++++++++++++------------------------- + 1 file changed, 31 insertions(+), 32 deletions(-) + +diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h +index c24d5352..3a526246 100644 +--- a/mpi/ec-inline.h ++++ b/mpi/ec-inline.h +@@ -836,18 +836,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #ifdef HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS + + #define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ +- __asm__ ("adds %3, %7, %11\n" \ +- "adcs %2, %6, %10\n" \ +- "adcs %1, %5, %9\n" \ +- "adc %0, %4, %8\n" \ ++ __asm__ ("adds %3, %3, %11\n" \ ++ "adcs %2, %2, %10\n" \ ++ "adcs %1, %1, %9\n" \ ++ "adc %0, %0, %8\n" \ + : "=r" (A3), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(B3)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(B3)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C3)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ +@@ -857,18 +857,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #define ADD6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ + C5, C4, C3, C2, C1, C0) do { \ + mpi_limb_t __carry6_32; \ +- __asm__ ("adds %3, %7, %10\n" \ +- "adcs %2, %6, %9\n" \ +- "adcs %1, %5, %8\n" \ +- "adc %0, %4, %4\n" \ ++ __asm__ ("adds %3, %3, %10\n" \ ++ "adcs %2, %2, %9\n" \ ++ "adcs %1, %1, %8\n" \ ++ "adc %0, %0, %0\n" \ + : "=r" (__carry6_32), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(0)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(0)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ + "Ir" ((mpi_limb_t)(C0)) \ +@@ -878,18 +878,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + } while (0) + + #define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ +- __asm__ ("subs %3, %7, %11\n" \ +- "sbcs %2, %6, %10\n" \ +- "sbcs %1, %5, %9\n" \ +- "sbc %0, %4, %8\n" \ ++ __asm__ ("subs %3, %3, %11\n" \ ++ "sbcs %2, %2, %10\n" \ ++ "sbcs %1, %1, %9\n" \ ++ "sbc %0, %0, %8\n" \ + : "=r" (A3), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(B3)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(B3)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C3)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ +@@ -899,18 +899,17 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ + C5, C4, C3, C2, C1, C0) do { \ + mpi_limb_t __borrow6_32; \ +- __asm__ ("subs %3, %7, %10\n" \ +- "sbcs %2, %6, %9\n" \ +- "sbcs %1, %5, %8\n" \ +- "sbc %0, %4, %4\n" \ ++ __asm__ ("subs %3, %3, %9\n" \ ++ "sbcs %2, %2, %8\n" \ ++ "sbcs %1, %1, %7\n" \ ++ "sbc %0, %0, %0\n" \ + : "=r" (__borrow6_32), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(0)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ + "Ir" ((mpi_limb_t)(C0)) \ +-- diff --git a/gnu/packages/patches/pcsxr-find-harfbuzz.patch b/gnu/packages/patches/pcsxr-find-harfbuzz.patch new file mode 100644 index 0000000000..69932d719e --- /dev/null +++ b/gnu/packages/patches/pcsxr-find-harfbuzz.patch @@ -0,0 +1,21 @@ +The .cmake files this project includes don't play well with harfbuzz's internal .cmake file. +This patch works around the issues present in the project's CMake configuration. + +diff --git a/cmake/FindPango.cmake b/cmake/FindPango.cmake +index 2a7da99d..c08fbaab 100644 +--- a/cmake/FindPango.cmake ++++ b/cmake/FindPango.cmake +@@ -74,6 +74,13 @@ foreach(pango_dep ${Pango_DEPS}) + set_property (TARGET "${Pango}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${${pango_dep}}") + endforeach(pango_dep) + ++if(NOT HARFBUZZ_INCLUDE_DIR) ++find_package(harfbuzz) ++endif() ++ ++list(APPEND Pango_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR}) ++set_property (TARGET "${Pango}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz") ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Pango + REQUIRED_VARS diff --git a/gnu/packages/patches/pcsxr-fix-definitions.patch b/gnu/packages/patches/pcsxr-fix-definitions.patch new file mode 100644 index 0000000000..8ec389ec09 --- /dev/null +++ b/gnu/packages/patches/pcsxr-fix-definitions.patch @@ -0,0 +1,137 @@ +There are a lot of global variable definitions that aren't valid on modern compilers. According to upstream's Dockerfile, +this project is meant to compile with GCC 6! So there are some declarations that need to be changed. + +diff --git a/gui/Linux.h b/gui/Linux.h +index 2a939050..99404d93 100644 +--- a/gui/Linux.h ++++ b/gui/Linux.h +@@ -44,8 +44,8 @@ + + extern gboolean UseGui; + extern int StatesC; +-char cfgfile[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ +-char cfgfile_basename[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ ++extern char cfgfile[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ ++extern char cfgfile_basename[MAXPATHLEN]; /* ADB Comment this out - make a local var, or at least use gchar funcs */ + + int LoadConfig(); + void SaveConfig(); +diff --git a/gui/LnxMain.c b/gui/LnxMain.c +index d6dd9316..02002bc1 100644 +--- a/gui/LnxMain.c ++++ b/gui/LnxMain.c +@@ -49,6 +49,9 @@ enum { + + gboolean UseGui = TRUE; + ++char cfgfile[MAXPATHLEN] = {0}; ++char cfgfile_basename[MAXPATHLEN] = {0}; ++ + static void CreateMemcard(char *filename, char *conf_mcd) { + gchar *mcd; + struct stat buf; +diff --git a/plugins/bladesio1/sio1.c b/plugins/bladesio1/sio1.c +index 17ac4b65..c6fd585a 100644 +--- a/plugins/bladesio1/sio1.c ++++ b/plugins/bladesio1/sio1.c +@@ -55,8 +55,6 @@ static const unsigned char build = 1; + + static void (CALLBACK *irqCallback)(void) = 0; + +-Settings settings; +- + /* sio status flags. + */ + enum { +diff --git a/plugins/dfinput/pad.h b/plugins/dfinput/pad.h +index 8337fe7e..6d44851d 100644 +--- a/plugins/dfinput/pad.h ++++ b/plugins/dfinput/pad.h +@@ -151,7 +151,7 @@ typedef struct tagKeyDef { + enum { ANALOG_XP = 0, ANALOG_XM, ANALOG_YP, ANALOG_YM }; + + #if SDL_VERSION_ATLEAST(2,0,0) +-SDL_GameControllerButton controllerMap[DKEY_TOTAL]; ++extern SDL_GameControllerButton controllerMap[DKEY_TOTAL]; + #endif + + typedef struct tagPadDef { +diff --git a/plugins/dfnet/cfg.c b/plugins/dfnet/cfg.c +index 921efbe3..1057426a 100644 +--- a/plugins/dfnet/cfg.c ++++ b/plugins/dfnet/cfg.c +@@ -11,6 +11,8 @@ + + #include "dfnet.h" + ++Config conf; ++ + #define CFG_FILENAME "dfnet.cfg" + + void SaveConf() { +diff --git a/plugins/dfnet/dfnet.c b/plugins/dfnet/dfnet.c +index 6c6ec5f9..ddc92169 100644 +--- a/plugins/dfnet/dfnet.c ++++ b/plugins/dfnet/dfnet.c +@@ -24,6 +24,9 @@ const unsigned char build = 3; // increase that with each version + + static char *libraryName = N_("Socket Driver"); + ++fd_set rset; ++fd_set wset; ++ + unsigned long CALLBACK PSEgetLibType(void) { + return PSE_LT_NET; + } +diff --git a/plugins/dfnet/dfnet.h b/plugins/dfnet/dfnet.h +index 937814f5..e2699ad3 100644 +--- a/plugins/dfnet/dfnet.h ++++ b/plugins/dfnet/dfnet.h +@@ -56,7 +56,7 @@ __private_extern char* PLUGLOC(char* toloc); + + typedef void* HWND; + +-struct timeval tm; ++extern struct timeval tm; + + #define CALLBACK + +@@ -70,24 +70,24 @@ typedef struct { + char ipAddress[32]; + } Config; + +-Config conf; ++extern Config conf; + + void LoadConf(void); + void SaveConf(void); + +-int sock; +-char *PadSendData; +-char *PadRecvData; +-char PadSendSize; +-char PadRecvSize; +-char PadSize[2]; +-int PadCount; +-int PadCountMax; +-int PadInit; +-int Ping; +-volatile int WaitCancel; +-fd_set rset; +-fd_set wset; ++extern int sock; ++extern char *PadSendData; ++extern char *PadRecvData; ++extern char PadSendSize; ++extern char PadRecvSize; ++extern char PadSize[2]; ++extern int PadCount; ++extern int PadCountMax; ++extern int PadInit; ++extern int Ping; ++extern volatile int WaitCancel; ++extern fd_set rset; ++extern fd_set wset; + + long sockInit(void); + long sockShutdown(void); diff --git a/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch b/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch deleted file mode 100644 index 548c3c2a1d..0000000000 --- a/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch +++ /dev/null @@ -1,117 +0,0 @@ -This patch disables build targets that contain pre-built Java archives that -would be copied to the build's output. - -Patch by Roel Janssen <roel@gnu.org> -*** a-virtuoso-opensource-7.2.9/binsrc/Makefile.am 1970-01-01 01:00:01.000000000 +0100 ---- b-virtuoso-opensource-7.2.9/binsrc/Makefile.am 2023-03-05 13:05:37.946449855 +0100 -*************** -*** 19,25 **** - # - # - -! SUBDIRS = dav mono virtuoso tests rdf_mappers driver maildrop sqldoc hosting graphql bpel fct tutorial conductor samples vsp ws sync vspx vad cached_resources virtodbc virtoledb virtuoso_sink xddl VirtuosoClient.Net oat isparql jena jena2 jena3 jena4 sesame sesame2 sesame3 sesame4 redland hibernate dbpedia rdb2rdf rdf4j rdf4j_4 websocket - - - # ---------------------------------------------------------------------- ---- 19,25 ---- - # - # - -! SUBDIRS = dav mono virtuoso tests rdf_mappers driver maildrop sqldoc hosting graphql bpel fct tutorial conductor samples vsp ws sync vspx vad cached_resources virtodbc virtoledb virtuoso_sink xddl VirtuosoClient.Net oat isparql redland dbpedia rdb2rdf websocket - - - # ---------------------------------------------------------------------- -*** a-virtuoso-opensource-7.2.9/configure.ac 1970-01-01 01:00:01.000000000 +0100 ---- b-virtuoso-opensource-7.2.9/configure.ac 2023-03-05 13:03:01.302629421 +0100 -*************** -*** 57,63 **** - dnl AM_INIT_AUTOMAKE([1.8]) - dnl AM_INIT_AUTOMAKE([1.9 tar-ustar]) - dnl -! AM_INIT_AUTOMAKE([1.9 tar-ustar]) - - AM_MAINTAINER_MODE - ---- 57,63 ---- - dnl AM_INIT_AUTOMAKE([1.8]) - dnl AM_INIT_AUTOMAKE([1.9 tar-ustar]) - dnl -! AM_INIT_AUTOMAKE([1.9 tar-ustar subdir-objects]) - - AM_MAINTAINER_MODE - -*************** -*** 3210,3216 **** - binsrc/driver/Makefile - binsrc/fct/Makefile - binsrc/graphql/Makefile -- binsrc/hibernate/Makefile - binsrc/hosting/Makefile - binsrc/hosting/mono/Makefile - binsrc/hosting/mono/tests/Makefile ---- 3210,3215 ---- -*************** -*** 3222,3238 **** - binsrc/hosting/ruby/Makefile - binsrc/hosting/shapefileio/Makefile - binsrc/isparql/Makefile -- binsrc/jena/Makefile -- binsrc/jena2/Makefile -- binsrc/jena3/Makefile -- binsrc/jena4/Makefile - binsrc/maildrop/Makefile - binsrc/mono/Makefile - binsrc/oat/Makefile - binsrc/rdf_mappers/Makefile - binsrc/rdb2rdf/Makefile -- binsrc/rdf4j/Makefile -- binsrc/rdf4j_4/Makefile - binsrc/redland/Makefile - binsrc/samples/demo/Makefile - binsrc/samples/hslookup/Makefile ---- 3221,3231 ---- -*************** -*** 3245,3254 **** - binsrc/samples/webapp/Makefile - binsrc/samples/xpath/Makefile - binsrc/samples/xquery/Makefile -- binsrc/sesame/Makefile -- binsrc/sesame2/Makefile -- binsrc/sesame3/Makefile -- binsrc/sesame4/Makefile - binsrc/sqldoc/Makefile - binsrc/sync/Makefile - binsrc/tests/biftest/Makefile ---- 3238,3243 ---- -*************** -*** 3291,3300 **** - docsrc/stylesheets/Makefile - docsrc/xmlsource/Makefile - libsrc/Dk/Makefile -- libsrc/JDBCDriverType4/Makefile -- libsrc/JDBCDriverType4/testsuite_4.0/Makefile -- libsrc/JDBCDriverType4/virtuoso/jdbc/Makefile -- libsrc/JDBCDriverType4/virtuoso/Makefile - libsrc/langfunc/Makefile - libsrc/odbcsdk/Makefile - libsrc/plugin/Makefile ---- 3280,3285 ---- -*** a-virtuoso-opensource-7.2.9/libsrc/Makefile.am 1970-01-01 01:00:01.000000000 +0100 ---- b-virtuoso-opensource-7.2.9/libsrc/Makefile.am 2023-03-05 13:03:17.616027294 +0100 -*************** -*** 19,25 **** - # - # - -! SUBDIRS = util zlib odbcsdk Dk Thread langfunc Wi plugin Tidy Xml.new JDBCDriverType4 - - noinst_HEADERS = Dk.h libutil.h - ---- 19,25 ---- - # - # - -! SUBDIRS = util zlib odbcsdk Dk Thread langfunc Wi plugin Tidy Xml.new - - noinst_HEADERS = Dk.h libutil.h - diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 1406ed90a9..36cf137383 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -300,21 +300,9 @@ a fast alternative to @code{IOStreams}.") (sha256 (base32 "0p8f82ijqa57sk72hjf0qviv1wwinmns0p87wiv2v8fvisnqnxr3")))))) -(define-public fmt-7 - (package - (inherit fmt-8) - (version "7.1.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" - version "/fmt-" version ".zip")) - (sha256 - (base32 "17sc10hfg087z0s774lnn05wwy3bfzmcv7j448p92pr0s02cb62x")))))) - (define-public fmt-6 (package - (inherit fmt-7) + (inherit fmt-8) (version "6.1.2") (source (origin diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index cf6700543c..61c2f13951 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -185,7 +185,7 @@ it.") (define-public trealla (package (name "trealla") - (version "2.79.22") + (version "2.82.2") (source (origin (method git-fetch) @@ -194,7 +194,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "1fhk9lsj71a3l5j0dvn2qjmj85r2ixianjqlf5j5s4d7h08amm2y")) + (base32 "0ahcc7whfl1izzdqmqsxr87i997x07c0sg6ribawmwfpwqf7r0xa")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 6ac17d3733..765836cf65 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -465,6 +465,17 @@ from protobuf specification files.") mechanism for serializing structured data.") (license license:bsd-3))) +(define-public python-protobuf-4 + (package/inherit python-protobuf-5 + (name "python-protobuf") + (version "4.21.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "protobuf" version)) + (sha256 + (base32 "1pabwidv12r73fy0jlslpgi60zd1lbx9rjnb23kgdm8wcsjl043b")))))) + (define-public python-protobuf (package (name "python-protobuf") diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index 8e189c05dc..b5ad5e7519 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -828,6 +828,30 @@ has features such as: @end itemize") (license license:expat))) +(define-public python-hatch-docstring-description + (package + (name "python-hatch-docstring-description") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hatch_docstring_description" version)) + (sha256 + (base32 "1qwa8m4yswn0bkc5xzq30xsaca578axl5ig2r6mkcdxsfg196pdi")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;avoid extra test dependencies + (native-inputs + (list python-hatch-vcs + python-hatchling)) + (propagated-inputs + (list python-hatchling)) + (home-page "https://github.com/flying-sheep/hatch-docstring-description") + (synopsis "Derive PyPI package description from Python package docstring ") + (description + "This package provides a Hatchling plugin to read the description from the +package docstring.") + (license license:gpl3+))) + (define-public python-hatch-fancy-pypi-readme (package (name "python-hatch-fancy-pypi-readme") diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 66320312f7..b98e9dfa09 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -77,6 +77,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -364,6 +365,26 @@ all the files it generates a report.") written in pure Python.") (license license:expat))) +(define-deprecated/public python-case #f + (package + (name "python-case") + (version "1.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "case" version)) + (sha256 + (base32 "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-mock python-nose python-six)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://github.com/celery/case") + (synopsis "Unittest utilities and convenience methods") + (description + "The @code{case} package provides utilities on top of unittest, including +some helpful Python 2 compatibility convenience methods.") + (license license:bsd-3))) + (define-public python-codacy-coverage (package (name "python-codacy-coverage") @@ -2495,16 +2516,17 @@ requests to be replied to with user provided responses.") (version "3.1.0") (source (origin - (method url-fetch) - (uri (pypi-uri "pytest_isort" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/stephrdev/pytest-isort") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0v0qa5l22y3v0nfkpvghbinzyj2rh4f54k871lrp992lbvf02y06")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; No tests in PyPi tarball. - (propagated-inputs - (list python-isort python-pytest)) - (home-page "https://github.com/moccu/pytest-isort/") + (base32 "07hj2z2jsshk0m60j0w10q3yzis69714k7qbw2f0cprc5li9b06n")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-isort python-pytest)) + (native-inputs (list python-poetry-core)) + (home-page "https://github.com/stephrdev/pytest-isort") (synopsis "Pytest plugin to check import ordering using isort") (description "This package provides a pytest plugin to check import ordering using @@ -3867,7 +3889,9 @@ data in a standard way.") (uri (pypi-uri "test-utils" version)) (sha256 (base32 "0cs0gyihnkj8ya4yg3ld3ly73mpxrkn2gq9acamclhqvhxsv7zd6")))) - (build-system python-build-system) + (build-system pyproject-build-system) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://github.com/Kami/python-test-utils/") (synopsis "Utilities for functional and integration tests") (description diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 4361c0b65e..66f6828377 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -524,6 +524,10 @@ several possible methods.") (base32 "0lwniinfr3rb10n0c203a09vz06vxnnj637yqn8ipdlml89gj7kr")))) (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--ignore=tests/test_benchmark.py"))) (propagated-inputs (list python-brotli python-brotlicffi @@ -537,15 +541,12 @@ several possible methods.") python-pyzstd python-texttable)) (native-inputs - (list python-coverage - python-setuptools - python-coveralls + (list python-setuptools python-libarchive-c python-py-cpuinfo python-pyannotate python-pytest python-pytest-benchmark - python-pytest-cov python-pytest-remotedata python-pytest-timeout python-setuptools-scm @@ -932,27 +933,16 @@ provided.") '(begin ;; Remove a bundled copy of the zstd sources. (delete-file-recursively "zstd"))))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list + ;; XXX: This is ugly. TODO python-team: + ;; Migrate pyproject to (json) instead of (guix build json). #:configure-flags - #~(list "--dynamic-link-zstd") - #:phases - #~(modify-phases %standard-phases - (replace 'build - ;; The python-build-system's phase doesn't honour configure-flags. - (lambda* (#:key configure-flags #:allow-other-keys) - (apply invoke "python" "./setup.py" "build" - configure-flags))) - (replace 'check - ;; The python-build-system's phase doesn't honour configure-flags. - (lambda* (#:key tests? test-target configure-flags - #:allow-other-keys) - (when tests? - (apply invoke "python" "./setup.py" test-target - configure-flags))))))) + #~`(@ . (("--build-option" . "--dynamic-link-zstd"))))) (inputs (list `(,zstd "lib"))) - (home-page "https://github.com/animalize/pyzstd") + (native-inputs (list python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/Rogdham/pyzstd") (synopsis "Zstandard bindings for Python") (description "This package provides Python bindings to the Zstandard (zstd) compression library. The API is similar to Python's bz2/lzma/zlib module.") diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index b71f693538..f35795f922 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -253,28 +253,36 @@ possibility to differentiate functions that contain matrix functions as (define-public python-anndata (package (name "python-anndata") - (version "0.11.1") + (version "0.12.1") (source (origin ;; The tarball from PyPi doesn't include tests. (method git-fetch) (uri (git-reference - (url "https://github.com/theislab/anndata") - (commit version))) + (url "https://github.com/theislab/anndata") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0skmjjvxk5gdsx6fkplszff92jsb4l45j23c6mhq1vdi3wqhqhcw")))) + (base32 "1pwqy1pxsiqf13kfshcbqah1a92x4044s6jyr94488ngpqkr275z")))) (build-system pyproject-build-system) (arguments (list #:test-flags - #~(list "-k" #$(string-append - ;; This one test seemingly freezes - "not test_read_lazy_h5_cluster" - ;; Fails with a numpy deprecation warning - ;; but not an actual failure - " and not test_read_write_X")) + #~(list "--numprocesses" (number->string (parallel-job-count)) + ;; XXX: AttributeError: module 'pyarrow.lib' has no attribute + ;; 'PyExtensionType + "--ignore=tests/test_awkward.py" + "-k" (string-join + ;; TypeError: read_text() takes from 1 to 2 positional + ;; arguments but 4 were given + (list "not test_read_csv" + ;; TypeError: _fix_co_filename() argument 2 must be + ;; str, not PosixPath + "test_hints" + ;; Failed: DID NOT WARN. No warnings of type (<class + ;; 'FutureWarning'>,) were emitted. + "test_readloom_deprecations") + " and not ")) #:phases #~(modify-phases %standard-phases ;; Doctests require scanpy from (gnu packages bioinformatics) @@ -293,15 +301,14 @@ possibility to differentiate functions that contain matrix functions as (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-array-api-compat - python-exceptiongroup ;only for Python <3.11 python-h5py python-importlib-metadata + python-legacy-api-wrap python-natsort - python-numcodecs python-packaging python-pandas - python-scipy python-scikit-learn + python-scipy python-setuptools ; For pkg_resources. python-zarr)) (native-inputs @@ -309,17 +316,14 @@ possibility to differentiate functions that contain matrix functions as python-boltons python-dask python-distributed - python-hatchling python-hatch-vcs + python-hatchling python-joblib python-loompy python-matplotlib python-pytest python-pytest-mock - python-pytest-doctestplus python-pytest-xdist - python-toml - python-flit python-setuptools-scm)) (home-page "https://github.com/theislab/anndata") (synopsis "Annotated data for data analysis pipelines") @@ -1540,6 +1544,32 @@ Features: @end itemize") (license license:bsd-2))) +(define-public python-legendkit + (package + (name "python-legendkit") + (version "0.3.6") + (source + (origin + (method git-fetch) ;no tests in PyPI archive + (uri (git-reference + (url "https://github.com/Marsilea-viz/legendkit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03xdhh95w4zydwa4ahp3gyfa6i60c9s5arfcj366knckb1bnpnn9")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pytest)) + (propagated-inputs + (list python-matplotlib)) + (home-page "https://github.com/Marsilea-viz/legendki") + (synopsis "Legend creation and manipulation for matplotlib") + (description + "This package implements a functionality to create and manipulate plot +legends for @code{matplotlib}.") + (license license:expat))) + (define-public python-libneuroml (package (name "python-libneuroml") @@ -1572,6 +1602,39 @@ Features: neuronal models") (license license:bsd-3))) +(define-public python-marsilea + (package + (name "python-marsilea") + (version "0.5.4") + (source + (origin + (method git-fetch) ;no tests in PyPI archive + (uri (git-reference + (url "https://github.com/Marsilea-viz/marsilea") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09pyfx0gn46ypsp991d3n4a4xx6zlbpss078lw6yywnhl834v2i0")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pytest)) + (propagated-inputs + (list python-legendkit + python-matplotlib + python-numpy + python-pandas + python-platformdirs + python-scipy + python-seaborn)) + (home-page "https://github.com/Marsilea-viz/marsilea") + (synopsis "Declarative creation of composable visualizations") + (description + "Marsilea is a Python library for creating composable visualizations in a +declarative way. It is built on top of Matplotlib and provides a high-level +API for you to puzzle different visualizations together like logo.") + (license license:expat))) + (define-public python-meshzoo (package (name "python-meshzoo") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 2cbc1bb167..5ef1782dc5 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -835,7 +835,7 @@ of a fake DNS resolver.") (define-public python-huggingface-hub (package (name "python-huggingface-hub") - (version "0.23.2") + (version "0.31.4") (source (origin (method git-fetch) @@ -844,7 +844,7 @@ of a fake DNS resolver.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hygxqcixkc1d9sr47j2km6z0p17aj4k1dzm4cvpddrvhrgqayq5")))) + (base32 "1rjkrmvvyzxlbnbndrg4v9qq39grn46c26zrdjgpf114gci5pwap")))) (build-system pyproject-build-system) (arguments (list @@ -881,7 +881,13 @@ of a fake DNS resolver.") "-k" (string-append "not test_push_to_hub" " and not test_from_pretrained_model_id_only" - " and not test_from_pretrained_model_id_and_revision")) + " and not test_from_pretrained_model_id_and_revision" + ;; These all require internet access + " and not test_auth" + " and not test_oauth" + " and not test_utils_sha" + " and not test_inference_providers" + " and not test_xet")) #:phases '(modify-phases %standard-phases (add-before 'check 'pre-check @@ -908,6 +914,7 @@ of a fake DNS resolver.") python-pytest-asyncio python-pytest-cov python-pytest-env + python-pytest-mock python-pytest-rerunfailures python-pytest-vcr python-pytest-xdist @@ -918,7 +925,7 @@ of a fake DNS resolver.") python-typing-extensions python-urllib3 python-wheel)) - (home-page "https://github.com/huggingface/huggingface_hub") + (home-page "https://huggingface.co/docs/huggingface_hub/") (synopsis "Client library for accessing the huggingface.co hub") (description "This package provides a client library to download and publish models, @@ -969,14 +976,14 @@ adds functionality on top of @code{wadlib}.") (define-public python-launchpadlib (package (name "python-launchpadlib") - (version "1.10.16") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "launchpadlib" version)) (sha256 - (base32 "106aixwchwyb100wlf4cnj1vgsi2d7x40ps8xv8az27r6qwv3x0d")))) - (build-system python-build-system) + (base32 "0br4j76l83lvyrhm8psml9cqmdsn65rx48w1q1a0s1bmpf85ihml")))) + (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'set-home @@ -984,12 +991,10 @@ adds functionality on top of @code{wadlib}.") ;; Tests require a writable home. (setenv "HOME" "/tmp")))))) (propagated-inputs - (list python-httplib2 - python-keyring - python-lazr-restfulclient - python-lazr-uri)) - (native-inputs (list python-mock python-testresources python-wadllib)) - (home-page "https://help.launchpad.net/API/launchpadlib") + (list python-httplib2 python-lazr-restfulclient python-lazr-uri)) + (native-inputs (list python-pytest python-testresources python-wadllib + python-setuptools python-wheel)) + (home-page "https://documentation.ubuntu.com/launchpad") (synopsis "Python client library for Launchpad's web service") (description "@code{launchpadlib} is a Python library that allows scripting Launchpad via its the web service API.") @@ -1617,17 +1622,30 @@ It features a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack." (define-public python-aiorpcx (package (name "python-aiorpcx") - (version "0.22.1") + (version "0.25.0") (source (origin - (method url-fetch) - (uri (pypi-uri "aiorpcX" version)) + (method git-fetch) + ;; PyPI misses the util.py file used for tests. + (uri (git-reference + (url "https://github.com/kyuupichan/aiorpcX") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0")))) - (build-system python-build-system) + "0sn4xxlpy0kb5b25bqrjzh2m6bskdyydc6cq8bigb7g5dacksn4q")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; This test opens a remote connection. + #~(list "-k" "not test_create_connection_resolve_good"))) + (native-inputs (list python-pytest + python-pytest-asyncio + python-setuptools + python-wheel)) (propagated-inputs - (list python-attrs)) + (list python-attrs python-websockets)) (home-page "https://github.com/kyuupichan/aiorpcX") (synopsis "Generic asyncio RPC implementation") (description @@ -1848,28 +1866,38 @@ routes using HTTP Digest Authentication.") (license license:bsd-2))) (define-public python-css-html-js-minify - (package - (name "python-css-html-js-minify") - (version "2.5.5") - (source (origin - (method url-fetch) - (uri (pypi-uri "css-html-js-minify" version ".zip")) - (sha256 - (base32 - "0v3l2dqdk2y4r6ax259gs4ij1zzm9yxg6491s6254vs9w3vi37sa")))) - (build-system python-build-system) - ;; XXX: The git repository has no tags, and the PyPI releases do not - ;; contain tests. - (arguments '(#:tests? #f)) - (native-inputs (list unzip)) - (home-page "https://github.com/juancarlospaco/css-html-js-minify") - (synopsis "CSS/HTML/JS minifier") - (description - "This package provides a single-file minifier for CSS, HTML, and JavaScript.") - ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From - ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it - ;; looks like the user can choose a license. - (license (list license:gpl3+ license:lgpl3+ license:expat)))) + (let ((commit "8f72452960e41bc5476e50d96481f633eff72750") + (revision "0")) + (package + (name "python-css-html-js-minify") + (version (git-version "2.5.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/juancarlospaco/css-html-js-minify") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lkx03720zk6q16w3d9r3l5kryikd1cmzwrcjzsjxwrq4zfh6vdf")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.cfg" + (("^tests_require.*") ""))))))) + (native-inputs (list python-setuptools python-wheel unzip)) + (home-page "https://github.com/juancarlospaco/css-html-js-minify") + (synopsis "CSS/HTML/JS minifier") + (description + "This package provides a single-file minifier for CSS, HTML, and JavaScript.") + ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From + ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it + ;; looks like the user can choose a license. + (license (list license:gpl3+ license:lgpl3+ license:expat))))) (define-public python-aws-sam-translator (package diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e24cd2288f..91c098e681 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -885,6 +885,24 @@ comparison operators, as defined in the original processes, in parallel, in the console, with an interactive TUI.") (license license:expat))) +(define-public python-orderly-set + (package + (name "python-orderly-set") + (version "5.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "orderly_set" version)) + (sha256 + (base32 "1kp64m0nabhhb0zxr4f8idrmniraahnfwq41gx7adbyqwk48awg8")))) + (build-system pyproject-build-system) + (native-inputs (list python-flit-core python-pytest)) + (home-page "https://github.com/seperman/orderly-set") + (synopsis "Multiple implementations of Ordered Set") + (description "Orderly Set is a package containing multiple implementations +of Ordered Set.") + (license license:expat))) + (define-public python-pastel (package (name "python-pastel") @@ -931,6 +949,42 @@ your terminal.") edit distance algorithm for Python in Cython for high performance.") (license license:bsd-3))) +(define-public python-safety-schemas + (package + (name "python-safety-schemas") + (version "0.0.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "safety_schemas" version)) + (sha256 + (base32 "0smgszbd3nb7jh61cgpycqhcvfwwdyaai5amw8mmf6g9b5x3z5a9")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" (string-join + ;; These tests are failing for unknown reasons. + ;; (AssertionError). + (list "not test_model[ConfigModel-ConfigModel]" + "test_model[MetadataModel-MetadataModel]" + "test_model[PolicyFileModel-PolicyFileModel]" + "test_model[ProjectModel-ProjectModel]" + "test_model[ReportModel-ReportModel]") + " and not ")))) + (propagated-inputs (list python-dparse + python-packaging + python-pydantic-2 + python-ruamel.yaml + python-typing-extensions)) + (native-inputs (list python-deepdiff python-hatchling python-pytest)) + ;; Source code is not yet published outside of PyPI: + ;; https://github.com/pyupio/safety/issues/494 + (home-page "https://pypi.org/project/safety-schemas/") + (synopsis "Schemas for Safety tools") + (description "This package contains models and schemas used by Safety.") + (license license:expat))) + (define-public python-senf (package (name "python-senf") @@ -956,6 +1010,36 @@ new type and helper functions to integrate it nicely with the Python stdlib.") (license license:expat))) +(define-public python-session-info2 + (package + (name "python-session-info2") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "session_info2" version)) + (sha256 + (base32 "0xs1mcdz0hf626m3421ryv4f7b5rixz2hm8x88czx2i9196x69g9")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--deselect=tests/test_synthetic.py::test_gpu" + ;; Tests require Jupyter Client. + "--ignore=tests/test_subprocess.py"))) + (native-inputs + (list python-hatch-docstring-description + python-hatch-vcs + python-hatchling + python-pytest + python-pytest-asyncio)) + (home-page "https://session-info2.readthedocs.io/") + (synopsis "Print versions of imported packages") + (description + "This package implements a functionality to print versions of imported +Python packages.") + (license license:mpl2.0))) + (define-public python-shxparser (package (name "python-shxparser") @@ -5294,29 +5378,6 @@ for additional processing.") "Fastprogress is a progress bar for Jupyter Notebook and console.") (license license:asl2.0))) -(define-public python-case - (package - (name "python-case") - (version "1.5.3") - (source - (origin - (method url-fetch) - (uri (pypi-uri "case" version)) - (sha256 - (base32 - "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) - (build-system python-build-system) - (propagated-inputs - (list python-mock python-nose python-six)) - (native-inputs - (list python-coverage)) - (home-page "https://github.com/celery/case") - (synopsis "Unittest utilities and convenience methods") - (description - "The @code{case} package provides utilities on top of unittest, including -some helpful Python 2 compatibility convenience methods.") - (license license:bsd-3))) - (define-public python-verboselogs (package (name "python-verboselogs") @@ -8538,13 +8599,13 @@ via commands such as @command{rst2man}, as well as supporting Python code.") (define-public python-docx (package (name "python-docx") - (version "1.1.2") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "python_docx" version)) (sha256 (base32 - "1z9ffsvksaaxr90ijzq4k3adzb6p5ipy2j3rrbfjl05rjlpg5w8c")))) + "1ki0cbw3hbiz51ww3fi3vi770lk5r0c62889r819r756v2vxgjbv")))) (build-system pyproject-build-system) (native-inputs (list behave @@ -11176,17 +11237,11 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the (file-name (git-file-name name version)) (sha256 (base32 "0x7nkphr6g5ql5fvgss8l56rgiyjgh6fm8zzs73i94ci9wzlm63w")))) - (build-system python-build-system) + (build-system pyproject-build-system) (propagated-inputs (list python-numpy)) (native-inputs - (list python-nose)) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "nosetests" "--all-modules" "-v" "colorspacious")))))) + (list python-nose python-setuptools python-wheel)) (home-page "https://github.com/njsmith/colorspacious") (synopsis "Python library for colorspace conversions") (description "@code{colorspacious} is a Python library that lets you @@ -11432,16 +11487,20 @@ toolkits.") #:tests? #f ;we're only generating documentation #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'avoid-external-deps + (lambda _ + ;; XXX: Avoid theme-switcher to avoid sphinx error + ;; TemplateNotFound('theme-switcher.html') + ;; XXX: Avoid version-switcher because it depends on an + ;; external file, and we pack only one version anyway. + (substitute* "doc/conf.py" + (("\ +\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ") + "\"navbar_end\": [")))) (replace 'build (lambda _ (setenv "HOME" "/tmp") (chdir "doc") - (substitute* "conf.py" - ;; The sphinx_panels extension causes a "TypeError: first - ;; argument must be callable" to be raised when generating the - ;; info target; remove it (see: - ;; https://github.com/executablebooks/sphinx-panels/issues/74). - ((".*'sphinx_panels',.*") "")) (invoke "make" "html" "info" ;; Don't abort on warnings; build in parallel. (format #f "SPHINXOPTS=-j~a" (parallel-job-count))))) @@ -11464,25 +11523,30 @@ toolkits.") inkscape/pinned python-colorspacious python-ipython + python-ipykernel python-ipywidgets python-mpl-sphinx-theme python-numpydoc python-scipy python-sphinx python-sphinx-copybutton + python-sphinx-design python-sphinx-gallery python-sphinxcontrib-svg2pdfconverter texinfo - texlive-amsfonts - texlive-amsmath - texlive-babel - texlive-etoolbox - texlive-expdlist - texlive-fontspec - texlive-times - texlive-type1cm - texlive-underscore - texlive-unicode-math)) + texlive-dvipng-bin + (texlive-local-tree + (list texlive-amsfonts + texlive-amsmath + texlive-babel + texlive-cm-super + texlive-etoolbox + texlive-expdlist + texlive-fontspec + texlive-times + texlive-type1cm + texlive-underscore + texlive-unicode-math)))) (synopsis "Documentation for the @code{python-matplotlib} package"))) (define-public python-matplotlib-inline @@ -15670,31 +15734,29 @@ SVG, EPS, PNG and terminal output.") (define-public python-seaborn (package (name "python-seaborn") - (version "0.13.1") + (version "0.13.2") (source (origin (method url-fetch) (uri (pypi-uri "seaborn" version)) (sha256 (base32 - "0ycibcs6kvd3xi4zsxna81claqifyb9dn6z6jwc5x7lqqplnbbdz")))) + "1xzzxrbxsmmk39647vcx7avzdbzxw9vz8pc8yklnakcgk100mrlk")))) (build-system pyproject-build-system) + (arguments + (list + ;; 2358 passed, 16 skipped, 6 xfailed, 17 warnings + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count)) ))) + (native-inputs + (list python-flit-core + python-pytest + python-pytest-xdist)) (propagated-inputs (list python-matplotlib python-numpy python-pandas python-scipy python-statsmodels)) - (native-inputs - (list python-flake8 - python-flit-core - python-ipykernel - python-nbconvert - python-numpydoc - python-mypy - python-pytest - python-pytest-cov - python-pytest-xdist - python-pyyaml)) (home-page "https://seaborn.pydata.org/") (synopsis "Statistical data visualization") (description @@ -21438,7 +21500,6 @@ applications.") #~(list "--ignore" "t/unit/transport/test_azurestoragequeues.py"))) (native-inputs (list python-botocore - python-case python-pyro4 python-pytest python-pytest-sugar @@ -21476,8 +21537,7 @@ RabbitMQ messaging server is the most popular implementation.") '("billiard/popen_spawn_win32.py" "billiard/_win.py"))))))) (native-inputs - (list python-case python-psutil python-pytest python-setuptools - python-wheel)) + (list python-psutil python-pytest python-setuptools python-wheel)) (home-page "https://github.com/celery/billiard") (synopsis "Python multiprocessing fork with improvements and bugfixes") (description @@ -21515,8 +21575,7 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.") (("tzdata.*") "tzdata\n"))))))) (native-inputs - (list python-case - python-dnspython + (list python-dnspython python-flaky python-google-cloud-storage python-iniconfig @@ -23131,23 +23190,16 @@ implementation has been adapted, improved, and fixed from Molten.") (define-public python-shellingham (package (name "python-shellingham") - (version "1.5.1") + (version "1.5.4") (source (origin (method url-fetch) (uri (pypi-uri "shellingham" version)) (sha256 - (base32 "0iawv24xx6vhwbhqlxyyg901f8pf6abqyfg0711v1bvlipx83g21")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "-m" "pytest" "-v"))))))) + (base32 "1ph46hv920ha9clwxgrllbrphh0ww4v4pjmkbb9mnzj8kmrs1g4d")))) + (build-system pyproject-build-system) (native-inputs - (list python-pytest python-pytest-mock)) + (list python-pytest python-pytest-mock python-setuptools python-wheel)) (home-page "https://github.com/sarugaku/shellingham") (synopsis "Tool to detect surrounding shell") (description @@ -24695,28 +24747,28 @@ JSON) codec.") (define-public python-nltk (package (name "python-nltk") - (version "3.6.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "nltk" version ".zip")) - (sha256 - (base32 - "1sq32lwgij9h8rsksymnxxr7bqfw3vgx5ijw4azbj6k2xnmmdmap")))) - (build-system python-build-system) + (version "3.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nltk" version)) + (sha256 + (base32 "0s78gayd45vl1wvpa0a44ydij6ybb7xfar8jz2j8kgg47nyjglc7")))) + (build-system pyproject-build-system) (arguments - '(;; The tests require some extra resources to be downloaded. - ;; TODO Try packaging these resources. - #:tests? #f)) - (propagated-inputs - (list python-click python-joblib python-regex python-tqdm)) - (native-inputs - (list unzip)) - (home-page "http://nltk.org/") + ;; Tests require some extra resources to be downloaded. + ;; TODO Try packaging these resources. + '(#:tests? #f)) + (propagated-inputs (list python-click python-joblib python-regex + python-tqdm)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://www.nltk.org/") (synopsis "Natural Language Toolkit") - (description "It provides interfaces to over 50 corpora and lexical - resources such as WordNet, along with a suite of text processing libraries - for classification, tokenization, stemming, tagging, parsing, and semantic - reasoning, wrappers for natural language processing libraries.") + (description + "NLTK provides interfaces to over 50 corpora and lexical resources such as +WordNet, along with a suite of text processing libraries for classification, +tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for +natural language processing libraries.") (license license:asl2.0))) (define-public python-pymongo @@ -28647,35 +28699,21 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style (define-public python-typer (package (name "python-typer") - (version "0.6.1") + (version "0.16.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/tiangolo/typer") + (url "https://github.com/fastapi/typer") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1knv353qhkl2imav3jfp6bgq47m8wkkqhq1dzmqg2sv8rsy7zgl7")))) + (base32 "1axd3840b2vipfp9l36cnh5ipbsladizmjadgsnpnk502qily7sq")))) (build-system pyproject-build-system) (arguments (list - #:test-flags - '(let ((disabled-tests (list "test_show_completion" - "test_install_completion"))) - (list "-k" (string-append "not " - (string-join disabled-tests - " and not ")))) #:phases #~(modify-phases %standard-phases - ;; Unfortunately, this doesn't seem to be enough to fix these two - ;; tests, but we'll patch this anyway. - (add-after 'unpack 'patch-shell-reference - (lambda _ - (substitute* "tests/test_completion/test_completion.py" - (("\"bash\"") (string-append "\"" (which "bash") "\"")) - (("\"/bin/bash\"") - (string-append "\"" (which "bash") "\""))))) (add-before 'check 'pre-check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -28683,12 +28721,14 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style ;; This is for completion tests (with-output-to-file "/tmp/.bashrc" (lambda _ (display "# dummy"))))))))) - (propagated-inputs - (list python-click)) - (native-inputs - (list python-coverage python-flit python-pytest python-rich - python-shellingham)) - (home-page "https://github.com/tiangolo/typer") + (propagated-inputs (list python-click + python-rich + python-shellingham + python-typing-extensions)) + (native-inputs (list python-coverage ; this is required in tests + python-pdm-backend + python-pytest)) + (home-page "https://github.com/fastapi/typer") (synopsis "Typer builds CLI based on Python type hints") (description "Typer is a library for building CLI applications. It's based on Python @@ -30149,14 +30189,14 @@ codecs for use in data storage and communication applications.") (define-public python-zarr (package (name "python-zarr") - (version "2.18.4") + (version "2.18.7") (source (origin (method url-fetch) (uri (pypi-uri "zarr" version)) (sha256 (base32 - "1fr41j8mxhbj7psn00416qs3nm12djhhmybgpqdax0q6vpg0wy9p")))) + "1xbjjpjskykbdskck5p1f0grh6wq36437ll0n5kazi6s2ipzdf5j")))) (build-system pyproject-build-system) (arguments (list @@ -30193,11 +30233,6 @@ codecs for use in data storage and communication applications.") (native-inputs (list python-pytest python-pytest-xdist - python-pytest-doctestplus - python-sphinx - python-sphinx-copybutton - python-sphinx-design - python-sphinx-issues python-setuptools python-wheel)) (home-page "https://github.com/zarr-developers/zarr-python") @@ -34286,19 +34321,16 @@ dates in almost any string formats commonly found on web pages.") (define-public python-dparse (package (name "python-dparse") - (version "0.5.1") + (version "0.6.4") (source - (origin - (method url-fetch) - (uri (pypi-uri "dparse" version)) - (sha256 - (base32 - "0rzkg3nymsbwdjc0ms2bsajkda02jipwyp3xk97qj71f21lz3dd1")))) - (build-system python-build-system) - (native-inputs - (list python-pytest)) - (propagated-inputs - (list python-packaging python-pyyaml python-toml)) + (origin + (method url-fetch) + (uri (pypi-uri "dparse" version)) + (sha256 + (base32 "06i069hij4i53hikrsv332h2ibwfchr42b68hii6rhzdwcwrrclh")))) + (build-system pyproject-build-system) + (native-inputs (list python-hatchling python-pytest)) + (propagated-inputs (list python-packaging python-toml)) (home-page "https://github.com/pyupio/dparse") (synopsis "Parser for Python dependency files") (description "This package provides a parser for Python dependency files.") @@ -34333,31 +34365,55 @@ facility for filtering those results.") (define-public python-safety (package (name "python-safety") - (version "1.9.0") + (version "3.6.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "safety" version)) - (sha256 - (base32 - "1j801xsxfzavjbzhhc934awvnk1b7jc0qsw3jp3ys0241mlj1gr3")))) - (build-system python-build-system) + (origin + (method url-fetch) + (uri (pypi-uri "safety" version)) + (sha256 + (base32 "1qzplv044yfr8w41h0qmjc8lj2admk029azsqbax70wzd4kzh858")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-tests - (lambda _ - (substitute* "tests/test_safety.py" - ;; requires network - (("def test_check_live") "def _test_check_live")) - #t))))) - (propagated-inputs - (list python-click python-dparse python-packaging python-requests)) + (list + #:test-flags + #~(list "-k" (string-join + ;; test_announcements fails with AssertionError. + (list "not test_announcements_if_is_not_tty" + ;; Tests below need a network connection. + "test_check_live" + "test_check_live_cached" + "test_get_packages_licenses_without_api_key") + " and not ")) + #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-home ; some tests run mkdir + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs (list nss-certs-for-test python-hatchling python-pytest)) + (propagated-inputs (list python-authlib + python-click + python-dparse + python-filelock + python-httpx + python-jinja2 + python-marshmallow + python-nltk + python-packaging + python-psutil + python-pydantic-2 + python-requests + python-ruamel.yaml + python-safety-schemas + python-tenacity + python-tomli + python-tomlkit + python-typer + python-typing-extensions)) (home-page "https://github.com/pyupio/safety") (synopsis "Check installed dependencies for known vulnerabilities") - (description "Safety checks installed dependencies for known vulnerabilities. + (description + "Safety checks installed dependencies for known vulnerabilities. By default it uses the open Python vulnerability database Safety DB.") - (license license:expat))) + (license license:expat))) (define-public python-pypandoc (package @@ -35215,23 +35271,23 @@ handling those variations.") (define-public python-qdarkstyle (package (name "python-qdarkstyle") - (version "2.8.1") + (version "3.2.3") (source (origin (method url-fetch) (uri (pypi-uri "QDarkStyle" version)) (sha256 (base32 - "0883vzg35fzpyl1aiijzpfcdfvpq5vi325w0m7xkx7nxplh02fym")))) - (build-system python-build-system) - (arguments - `(;; Fails unable to detect valid Qt bindings even when - ;; added as native-inputs. - #:tests? #f)) + "1bpi0asa7sd5ch6x6b60n5yias04nsx6kcwji40228g9lrs7y2qc")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest + python-qtsass + python-setuptools + python-watchdog + python-wheel)) (propagated-inputs - (list python-helpdev python-qtpy)) - (home-page - "https://github.com/ColinDuquesnoy/QDarkStyleSheet") + (list python-qtpy python-pyqt-6)) + (home-page "https://github.com/ColinDuquesnoy/QDarkStyleSheet") (synopsis "Complete dark stylesheet for Python and Qt applications") (description "QDarkStyle is the most complete dark stylesheet for Python and @@ -38807,26 +38863,31 @@ object, which can be useful if you want to force your objects into a table.") (define-public python-deepdiff (package (name "python-deepdiff") - (version "6.3.0") + (version "8.5.0") (source (origin (method url-fetch) (uri (pypi-uri "deepdiff" version)) (sha256 (base32 - "0i5nnb3nppi2vgbhiakpxiagyhx7l1f50hzcl8fcgica4bkz2fva")))) + "1l8wvirgif61cqwsqzd3kf8slzlrjnffmqxnrfwxak4dz8lkbpd4")))) (build-system pyproject-build-system) - (propagated-inputs (list python-ordered-set)) + (arguments + ;; Ignore Polars test (not packaged). + (list #:test-flags #~(list "-k" "not test_polars"))) + (propagated-inputs (list python-click ; for CLI + python-pyyaml ; for CLI + python-orderly-set + python-orjson)) ; for optimization (native-inputs - (list python-click - python-dateutil + (list python-flit-core python-jsonpickle - python-mock python-numpy + python-pandas + python-pydantic-2 python-pytest - python-pyyaml - python-setuptools - python-wheel - python-toml)) + python-pytest-benchmark + python-pytz + python-tomli-w)) (home-page "https://github.com/seperman/deepdiff") (synopsis "Deep difference and search of any Python object/data") (description diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1538cf1dd8..b55488b1f5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1078,14 +1078,14 @@ def contents() -> str: (define-public python-3.12 (package (name "python-next") - (version "3.12.2") + (version "3.12.11") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (sha256 - (base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y")) + (base32 "1nvskza80hzzh0x3w6i79jxkkrvl9x1ld9am3fqik6hygx5v42y3")) (patches (search-patches "python-3-deterministic-build-info.patch" "python-3.12-fix-tests.patch" "python-3-hurd-configure.patch")) diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index cd320dcf81..b65ac28b06 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -46,7 +46,7 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/llvm-project.git") + (url "https://github.com/ROCm/llvm-project/") (commit (string-append "rocm-" %rocm-version)))) (file-name (git-file-name "llvm-for-rocm" %rocm-version)) (sha256 @@ -60,7 +60,7 @@ (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/rocm-cmake.git") + (url "https://github.com/ROCm/rocm-cmake/") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 @@ -69,7 +69,7 @@ (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) - (home-page "https://github.com/ROCm/rocm-cmake") + (home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/") (synopsis "ROCm cmake modules") (description "ROCm cmake modules provides cmake modules for common build tasks needed for the ROCM software stack.") @@ -82,17 +82,19 @@ tasks needed for the ROCM software stack.") (source %rocm-llvm-origin) (build-system cmake-build-system) (arguments - `(#:build-type "Release" - #:configure-flags - (list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "amd/device-libs")))))) + (list + #:tests? #f ; Not sure how to run them. + #:build-type "Release" + #:configure-flags + #~(list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "amd/device-libs")))))) (inputs (list llvm-for-rocm)) - (home-page "https://github.com/ROCm/ROCm-Device-Libs") + (home-page "https://github.com/ROCm/llvm-project/") (synopsis "ROCm Device libraries") (description "AMD-specific device-side language runtime libraries, namely oclc, ocml, ockl, opencl, hip and hc.") diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm index c083074cc7..36c937dcef 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -49,10 +49,21 @@ #:use-module (gnu packages tls) #:use-module (srfi srfi-1)) +;; XXX: Starting from version 1.47.5, opencensus-proto is required. +;; The package is already deprecated upstream, so it's probably not +;; worth it spending time packaging it in Guix, just inject the source +;; instead, to also avoid us a recursive git fetch. +(define opencensus-proto-for-grpc-source + (origin + (method url-fetch) + (uri "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz") + (sha256 + (base32 "1c3jfl1zgjhhqyqii1wils2k05akkvrw50xmf0q0rs2r885kzqdp")))) + (define-public grpc (package (name "grpc") - (version "1.34.0") + (version "1.52.2") (outputs '("out" "static")) (source (origin (method git-fetch) @@ -62,7 +73,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1fs407hnlnm0b8sncjwys9rc7ia5nb7wxrpx39nq3pzzfs1lv3vq")))) + "09165p6rh5xvcnnwnmy22lwdfchgjg39y02rwj6zg4rzfps8cb43")))) (build-system cmake-build-system) (arguments (list @@ -80,6 +91,11 @@ "-DCMAKE_VERBOSE_MAKEFILE=ON") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-third-party + (lambda _ + (mkdir-p "third_party/opencensus-proto/src") + (invoke "tar" "xvf" #+opencensus-proto-for-grpc-source + "-C" "third_party/opencensus-proto/src"))) (add-before 'configure 'configure-shared (lambda* (#:key configure-flags #:allow-other-keys) (mkdir "../build-shared") @@ -125,24 +141,6 @@ mile of distributed computing to connect devices, mobile applications and browsers to backend services.") (license license:asl2.0))) -(define-public grpc-for-python-grpcio - (package - (inherit grpc) - (name "grpc") - (version "1.47.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grpc/grpc") - (commit (string-append "v" version)) - (recursive? #true))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nl2d92f3576m69991d7gwyk1giavm04fagr612yjh90rni01ikw")))) - (inputs - (list abseil-cpp-20211102.0 c-ares/cmake openssl re2 zlib)))) - ;; Some packages require this older version. (define-public grpc-1.16.1 (package @@ -200,14 +198,13 @@ type information of gRPC.") (define-public python-grpcio (package (name "python-grpcio") - (version "1.47.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (pypi-uri "grpcio" version)) (sha256 - (base32 - "00gqhz0b1sqnfx6zy7h5z41b6mpsq57r1f3p95xradcvmdgskfsx")) + (base32 "1nsgm8q4yahzdab4m3irffdw9zklq4kb7f8hki1ayfgw54ysim55")) (modules '((guix build utils) (ice-9 ftw))) (snippet '(begin @@ -252,7 +249,7 @@ type information of gRPC.") (substitute* '("setup.py" "src/python/grpcio/commands.py") (("'cc'") "'gcc'"))))))) (inputs - (list abseil-cpp-20211102.0 c-ares grpc-for-python-grpcio openssl re2 zlib)) + (list abseil-cpp-cxxstd11 c-ares grpc openssl re2 zlib)) (native-inputs (list python-cython python-setuptools python-wheel)) (propagated-inputs @@ -266,29 +263,32 @@ with the HTTP/2-based RPC framework gRPC.") (define-public python-grpcio-tools (package (name "python-grpcio-tools") - (version "1.47.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "grpcio-tools" version)) - (modules '((guix build utils))) - (snippet - ;; This file is auto-generated. - '(delete-file "grpc_tools/_protoc_compiler.cpp")) - (sha256 - (base32 - "0g3xwv55lvf5w64zb44dipwqz7729cbqc7rib77ddqab91w56jzn")))) - (build-system python-build-system) + (version "1.52.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "grpcio-tools" version)) + (modules '((guix build utils))) + (snippet + ;; This file is auto-generated. + '(delete-file "grpc_tools/_protoc_compiler.cpp")) + (sha256 + (base32 "0m5xwhz3l0n3b1bzjncynwflnc5iyv4xrjq046ppcck4rpj9fgn0")))) + (build-system pyproject-build-system) (arguments - (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda _ - (setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1")))))) - (native-inputs (list python-cython)) - (propagated-inputs (list python-grpcio python-protobuf)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1")))))) + (native-inputs (list python-cython python-setuptools python-wheel)) + (propagated-inputs (list python-grpcio python-protobuf-4)) (home-page "https://grpc.io") (synopsis "Protobuf code generator for gRPC") - (description "The gRPC tools for Python provide a special plugin for -generating server and client code from @file{.proto} service definitions.") + (description + "The gRPC tools for Python provide a special plugin for generating server +and client code from @file{.proto} service definitions.") (license license:asl2.0))) (define-public apache-thrift diff --git a/gnu/packages/ruby-xyz.scm b/gnu/packages/ruby-xyz.scm index 80bf94a365..13539b5364 100644 --- a/gnu/packages/ruby-xyz.scm +++ b/gnu/packages/ruby-xyz.scm @@ -11644,7 +11644,7 @@ part of the Prawn PDF generator.") (define-public ruby-puma (package (name "ruby-puma") - (version "6.6.0") + (version "6.6.1") (source (origin (method git-fetch) ;for tests @@ -11654,7 +11654,7 @@ part of the Prawn PDF generator.") (file-name (git-file-name name version)) (sha256 (base32 - "1pdd7s403pi4y75s1sb4jkghhmm2w9zcqifj7z7yx4z0qfs7lvzv")))) + "0wppz08pfwz1ypidjiz199i5jl2qvb9ppg0sdvf0kc7azpx5mphl")))) (build-system ruby-build-system) (arguments (list @@ -14049,37 +14049,30 @@ common interface over different adapters.") (define-public ruby-nio4r (package (name "ruby-nio4r") - (version "2.5.2") + (version "2.7.4") (source (origin - (method url-fetch) - (uri (rubygems-uri "nio4r" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/socketry/nio4r") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c")))) + "1planm0yrzgkjqvxbfrcp477k030f1cyplpf8g1p7dppgzk2iqqm")))) (build-system ruby-build-system) (arguments - '(#:phases + '(#:test-target "spec" + #:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-unnecessary-dependencies + (add-after 'extract-gemspec 'delete-certificate (lambda _ - (substitute* "spec/spec_helper.rb" - ;; Coveralls is for uploading test coverage information to an - ;; online service, and thus unnecessary for building the Guix - ;; package - (("require \"coveralls\"") "") - (("Coveralls\\.wear!") "") - ;; Remove rspec/retry as we are not retrying the tests - (("require \"rspec/retry\"") "") - (("config\\.display_try_failure_messages = true") "") - (("config\\.verbose_retry = true") "")))) + (substitute* "nio4r.gemspec" + (("spec.cert_chain = .*") "") + (("spec.signing_key = .*") "")))) (add-before 'check 'compile (lambda _ - (invoke "rake" "compile"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec"))))))) + (invoke "rake" "compile")))))) (native-inputs (list bundler ruby-rake-compiler ruby-rspec ruby-rubocop)) (synopsis "New I/O for Ruby") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index aec39961d9..ae7cf5fb27 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -105,152 +105,116 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) -(define (mit-scheme-source-directory system version) - (string-append "mit-scheme-" - (if (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system)) - "" - "c-") - version)) - (define-public mit-scheme (package (name "mit-scheme") - (version "11.2") - (source #f) ; see below + (version "12.1") + (source #f) ; See below. (outputs '("out" "doc")) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda* (#:key inputs #:allow-other-keys) - (invoke "tar" "xzvf" - (assoc-ref inputs "source")) - (chdir ,(mit-scheme-source-directory (%current-system) - version)) - ;; Delete these dangling symlinks since they break - ;; `patch-shebangs'. - (for-each delete-file - (find-files "src/compiler" "^make\\.")) - (chdir "src") - #t)) - (add-after 'unpack 'patch-/bin/sh - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - (substitute* '("../tests/ffi/autogen.sh" - "../tests/ffi/autobuild.sh" - "../tests/ffi/test-ffi.sh" - "../tests/runtime/test-process.scm" - "runtime/unxprm.scm") - (("/bin/sh") (which "sh")) - (("\\./autogen\\.sh") - (string-append (which "sh") " autogen.sh")) - (("\\./configure") - (string-append (which "sh") " configure"))) - #t)) - ;; disable array-parameter warnings that become errors while - ;; compiling microcode target - (add-before 'configure 'set-flags - (lambda* (#:key inputs #:allow-other-keys) - (setenv "CFLAGS" "-Wno-array-parameter") - (setenv "CPPFLAGS" "-Wno-array-parameter"))) - (replace 'build - (lambda* (#:key system outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (if (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system)) - (invoke "make" "compile-microcode") - (invoke "./etc/make-liarc.sh" - (string-append "--prefix=" out))) - #t))) - (add-after 'configure 'configure-doc - (lambda* (#:key outputs inputs #:allow-other-keys) - (with-directory-excursion "../doc" - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (bin/sh (string-append bash "/bin/sh"))) - (invoke bin/sh "./configure" - (string-append "--prefix=" out) - (string-append "SHELL=" bin/sh)) - #t)))) - (add-after 'build 'build-doc - (lambda* _ - (with-directory-excursion "../doc" - (invoke "make")) - #t)) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (old-doc-dir (string-append out "/share/doc")) - (new-doc/mit-scheme-dir - (string-append doc "/share/doc/" ,name "-" ,version))) - (with-directory-excursion "../doc" - (for-each (lambda (target) - (invoke "make" target)) - '("install-info-gz" "install-man" - "install-html" "install-pdf"))) - (mkdir-p new-doc/mit-scheme-dir) - (copy-recursively - (string-append old-doc-dir "/" ,name) - new-doc/mit-scheme-dir) - (delete-file-recursively old-doc-dir) - #t)))))) + (list + ;; XXX: Some makefile dependencies are probably wrong, leading to + ;; missing files when building in parallel. + #:parallel-build? #f + #:make-flags #~(list "compile-microcode") + #:phases + #~(modify-phases %standard-phases + ;; MIT/GNU Scheme is not bootstrappable, so it's recommended to + ;; compile from the architecture-specific tarballs, which contain + ;; pre-built binaries. It leads to more efficient code than when + ;; building the tarball that contains generated C code instead of + ;; those binaries. + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + ((assoc-ref %standard-phases 'unpack) + #:inputs inputs + #:source + #+(origin + (method url-fetch) + (uri + (string-append + "mirror://gnu/mit-scheme/stable.pkg/" version + "/mit-scheme-" + (cond + ((target-x86-64?) + (string-append version "-x86-64")) + ((target-aarch64?) + (string-append version "-aarch64le")) + (else + ;; XXX: According to the manual, it should exist, but + ;; seems dropped/forgotten starting from version 10.1. + (string-append "c-" version))) + ".tar.gz")) + (sha256 + (cond + ((target-x86-64?) + (base32 + "035f92vni0vqmgj9hq2i7vwasz7crx52wll4823vhfkm1qdv5ywc")) + ((target-aarch64?) + (base32 + "12ra9bc93x8g07impbd8jr6djjzwpb9qvh9zhxvvrba3332zx3vh")) + (else + (base32 "\ +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))))) + (chdir "src"))) + (add-after 'unpack 'patch-/bin/sh + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((sh (search-input-file (or native-inputs inputs) + "bin/sh"))) + (setenv "CONFIG_SHELL" sh) + (substitute* '("../tests/ffi/autogen.sh" + "../tests/ffi/autobuild.sh" + "../tests/ffi/test-ffi.sh" + "../tests/runtime/test-process.scm" + "runtime/unxprm.scm") + (("/bin/sh") + sh) + (("\\./autogen\\.sh") + (string-append sh " autogen.sh")) + (("\\./configure") + (string-append sh " configure")))))) + (add-after 'configure 'configure-doc + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (with-directory-excursion "../doc" + (let* ((sh (search-input-file (or native-inputs inputs) + "bin/sh"))) + (mkdir-p #$output:doc) + (invoke sh "./configure" + (string-append "SHELL=" sh) + (string-append "--prefix=" #$output:doc) + (string-append "--docdir=" #$output:doc + "/share/doc/" #$name "-" #$version)))))) + (add-after 'build 'build-doc + (lambda _ + (with-directory-excursion "../doc" + (invoke "make" "install")))) + (add-after 'install 'fixup-install + (lambda _ + (let ((share (string-append #$output "/share")) + (dest (string-append #$output:doc "/share/info/"))) + (for-each + (lambda (file) (install-file file dest)) + (find-files share "\\.info\\.gz$")) + (delete-file-recursively share)))) + (add-before 'check 'disable-slow-tests + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (setenv "FAST" "y") + (setenv "SHELL" (search-input-file (or native-inputs inputs) + "bin/sh"))))))) (native-inputs - `(;; Autoconf, Automake, and Libtool are necessary for the FFI tests. - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("texlive" ,(texlive-local-tree - (list texlive-epsf - texlive-texinfo))) - ("texinfo" ,texinfo) - ("ghostscript" ,ghostscript) - ("m4" ,m4))) - (inputs - `(("libx11" ,libx11) - ("ncurses" ,ncurses) - - ("source" - - ;; MIT/GNU Scheme is not bootstrappable, so it's recommended to - ;; compile from the architecture-specific tarballs, which contain - ;; pre-built binaries. It leads to more efficient code than when - ;; building the tarball that contains generated C code instead of - ;; those binaries. - ,(origin - (method url-fetch) - (uri (string-append "mirror://gnu/mit-scheme/stable.pkg/" - version "/mit-scheme-" - (match (%current-system) - ("x86_64-linux" - (string-append version "-x86-64")) - ("aarch64-linux" - (string-append version "-aarch64le")) - (_ - (string-append "c-" version))) - ".tar.gz")) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "17822hs9y07vcviv2af17p3va7qh79dird49nj50bwi9rz64ia3w")) - ("aarch64-linux" - (base32 - "11maixldk20wqb5js5p4imq221zz9nf27649v9pqkdf8fv7rnrs9")) - (_ - (base32 - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))))))) - - ;; Fails to build on MIPS, see <http://bugs.gnu.org/18221>. - ;; Also, the portable C version of MIT/GNU Scheme did not work in time for - ;; release in version 10.1. - (supported-systems '("x86_64-linux" "i686-linux")) - + ;; XXX: Autoconf, Automake, and Libtool are necessary for the FFI tests. + (list bash-minimal + autoconf + automake + libtool + (texlive-local-tree (list texlive-epsf texlive-texinfo)) + texinfo + ghostscript + m4)) + (inputs (list libx11 ncurses)) + ;; XXX: Fails to build on MIPS, see <http://bugs.gnu.org/18221>. + (supported-systems '("x86_64-linux" "aarch64-linux")) (home-page "https://www.gnu.org/software/mit-scheme/") (synopsis "Scheme implementation with integrated editor and debugger") (description diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index 32132371a5..be72a39d33 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -78,7 +78,6 @@ (inputs (list guile-3.0 imagemagick ghostscript ; for 'convert' - ploticus lout)) ;; The 'skribilo' command needs them, and for people using Skribilo as a diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 649bb33cf4..1211a5f3e7 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -672,18 +672,32 @@ grid layout. It is no longer maintained and users are encouraged to use (package (name "python-sphinxcontrib-programoutput") (version "0.17") - (source (origin - (method url-fetch) - (uri (pypi-uri "sphinxcontrib-programoutput" version)) - (sha256 - (base32 - "0zrb2ny6y7nk84qmw5mds84fc4pxgqf4sjy7bk95b0zfrawfj3ih")))) - (build-system python-build-system) - (propagated-inputs (list python-sphinx)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenNTI/sphinxcontrib-programoutput") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02hpx6jnsx0cb1d1kk56gpj69x51m2d0prwwhsyhpwv257s64kz3")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively + (string-append (site-packages inputs outputs) + "/sphinxcontrib/programoutput/tests")) + (delete-file "src/sphinxcontrib/programoutput/__init__.py")))))) + (propagated-inputs (list python-sphinx)) + (native-inputs (list python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/OpenNTI/sphinxcontrib-programoutput") (synopsis "Sphinx extension to include program output") (description "A Sphinx extension to literally insert the output of arbitrary commands into documents, helping you to keep your command examples up to date.") - (home-page "https://github.com/NextThought/sphinxcontrib-programoutput") (license license:bsd-2))) (define-public python-sphinxcontrib-qthelp @@ -1278,13 +1292,17 @@ Syntax Tree} at different stages: before transforms, after transforms, etc.") (name "python-nbsphinx") (version "0.8.8") (source - (origin - (method url-fetch) - (uri (pypi-uri "nbsphinx" version)) - (sha256 - (base32 - "1v1lzkfx2lslhslqb110zxmm4dmdg6hs2rahf713c2rk9f10q2dm")))) - (build-system python-build-system) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spatialaudio/nbsphinx") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s98kab9jddy4jskllqcmwr222i85a25asi78f8nf0cpqbsvy1k6")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ; No tests upstream. (propagated-inputs (list python-docutils python-jinja2 @@ -1292,6 +1310,8 @@ Syntax Tree} at different stages: before transforms, after transforms, etc.") python-nbformat python-sphinx python-traitlets)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://nbsphinx.readthedocs.io/") (synopsis "Jupyter Notebook Tools for Sphinx") (description "@code{python-nbsphinx} is a Sphinx extension that diff --git a/gnu/packages/spreadsheet.scm b/gnu/packages/spreadsheet.scm index 8c6e543a50..2de8139342 100644 --- a/gnu/packages/spreadsheet.scm +++ b/gnu/packages/spreadsheet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> -;;; Copyright © 2021, 2023-2024 jgart <jgart@dismail.de> +;;; Copyright © 2021, 2023-2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +26,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix licenses) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -36,6 +37,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages time) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics) @@ -99,15 +101,20 @@ (define-public visidata (package (name "visidata") - (version "3.1.1") + (version "3.2") (source + ;; PyPI tarball is missing the requirements.txt file. (origin - (method url-fetch) - (uri (pypi-uri "visidata" version)) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/saulpw/visidata") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0cdhx0n79n9z5d22nr90kkg93ndxcnyl4margs4f8l88iwaq8i4c")))) - (build-system python-build-system) + "1rpds8x7hdwh48v2dja1qq5bamnd63rb8p416nnn8d2n58xkvs4h")))) + (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -124,7 +131,9 @@ python-openpyxl python-xlrd)) (native-inputs - (list python-pytest)) + (list python-pytest + python-setuptools + python-wheel)) (synopsis "Terminal spreadsheet multitool for discovering and arranging data") (description "VisiData is an interactive multitool for tabular data. It combines the diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index bcbd0f30f7..e685cdf4a5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -468,6 +468,63 @@ publication-quality data plots. A large amount of 3rd-party packages are available, greatly increasing its breadth and scope.") (license license:gpl3+))) +(define-public python-dcor + (package + (name "python-dcor") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dcor" version)) + (sha256 + (base32 "0cc4an2p3ifm62d50w5h83myyhck6vcnrgp691rpid0x21v9glzm")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" (string-join + ;; TODO: Report upstream, failing with NumPy deprecation + ;; warning and errors: + ;; AttributeError: 'numpy.ndarray' object has no attribute '_array'. + ;; AttributeError: module 'numpy' has no attribute 'bool'. + (list "not test_u_v_statistics" + "test_same_distribution_different_means" + "test_same_distribution_same_parameters" + "test_independent_variables" + "test_same_variable") + " and not ") + "dcor/tests"))) + (native-inputs + (list python-pytest + python-setuptools-next)) + (propagated-inputs + (list python-joblib + python-numba + python-numpy + python-scipy)) + (home-page "https://dcor.readthedocs.io/") + (synopsis "Distance correlation and related E-statistics in Python") + (description + "@code{dcor} is distance correlation and energy statistics in Python. + +E-statistics are functions of distances between statistical observations in +metric spaces. Distance covariance and distance correlation are dependency +measures between random vectors introduced in +@url{https://github.com/vnmabus/dcor#srb07,[SRB07]} with a simple E-statistic +estimator. + +This package offers functions for calculating several E-statistics such as: + +@itemize +@item estimator of the energy distance +@url{https://github.com/vnmabus/dcor#sr13,[SR13]} +@item biased and unbiased estimators of distance covariance and distance +correlation @url{https://github.com/vnmabus/dcor#srb07,[SRB07]} +@item estimators of the partial distance covariance and partial distance +covariance @url{https://github.com/vnmabus/dcor#sr14,[SR14]} +@end itemize") + (license license:expat))) + (define-public python-dynesty (package (name "python-dynesty") @@ -1272,13 +1329,13 @@ sampler for Markov chain Monte Carlo (MCMC).") (define-public python-statsmodels (package (name "python-statsmodels") - (version "0.14.2") + (version "0.14.4") (source (origin (method url-fetch) (uri (pypi-uri "statsmodels" version)) (sha256 - (base32 "1bfnxkzdcz5fj7hh1gc021hc3b9181f1mfph4kd1ra6kg8a501c9")) + (base32 "0rwbi57ckg7hgrmdf0g1paqcvp5n6f06xfzrcz075p30j3ry0sax")) (modules '((guix build utils))) (snippet '(for-each delete-file (find-files "." "\\.c$"))))) @@ -1302,21 +1359,16 @@ sampler for Markov chain Monte Carlo (MCMC).") (string-append "import matplotlib;matplotlib.use('Agg');" line)))))))) (propagated-inputs - (list python-numpy python-packaging python-pandas python-patsy + (list python-numpy + python-packaging + python-pandas + python-patsy python-scipy)) (native-inputs - (list python-colorama - python-cython - python-flake8 - python-isort - python-joblib + (list python-cython-3 python-matplotlib - python-pytest - python-pytest-randomly - python-pytest-xdist - python-setuptools-scm - python-setuptools - python-wheel)) + python-setuptools-next + python-setuptools-scm)) (home-page (string-append "https://www.statsmodels.org/v" version "/")) (synopsis "Statistical modeling and econometrics in Python") @@ -2966,7 +3018,7 @@ functions.") (define-public python-rchitect (package (name "python-rchitect") - (version "0.4.7") + (version "0.4.8") (source (origin (method git-fetch) @@ -2975,7 +3027,7 @@ functions.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ijbb0v77ir7j64r4r4kznv03wyc57rcqa9jnsc46476il79dcrk")))) + (base32 "0r41ad8mk7bmqsw96sizahzvz1z6cp4rpll166y0yhwdrv86nmj7")))) (build-system pyproject-build-system) (propagated-inputs (list python-cffi python-packaging python-six)) (native-inputs (list python-pytest @@ -2996,7 +3048,7 @@ main use is as the driver for radian, the R console.") (define-public python-radian (package (name "python-radian") - (version "0.6.13") + (version "0.6.15") (source (origin (method git-fetch) @@ -3005,7 +3057,7 @@ main use is as the driver for radian, the R console.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nnwgvifhsxdac7rr9d2zspc97xx0vyzxn1v9g4bnm9061rragc3")))) + (base32 "089ys59cnw5l5k0656arhn805j8pkw21q4qf7gq9p9hifi1lpnpm")))) (build-system pyproject-build-system) (arguments (list diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index dae4719b51..30a1370c6d 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2024 Luis Guilherme Coelho <lgcoelho@disroot.org> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> +;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se> ;;; ;;; This file is part of GNU Guix. ;;; @@ -355,7 +356,7 @@ file system, and many more features.") (define-public newsraft (package (name "newsraft") - (version "0.28") + (version "0.32") (source (origin (method git-fetch) @@ -364,7 +365,7 @@ file system, and many more features.") (commit (string-append name "-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10i5khna9wpaisarmzym9dvfaq91mnf1wvwsymnzl052d4n106l9")))) + (base32 "1jdj1820k7dsgpv2ks9amr71lvq1nl1y95jgfqb02fkid1gana4v")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 047145dd63..0a978f9c9f 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -414,34 +414,34 @@ a task.") (define-public blanket (package (name "blanket") - (version "0.5.0") + (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rafaelmardojai/blanket/") - (commit version))) + (url "https://github.com/rafaelmardojai/blanket/") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00i821zqfbigxmc709322r16z75qsw4rg23yhv35gza9sl65bzkg")))) + (base32 "1inqb8z2vbmfybcrqbla76sny7cg2qz932agynqj4pn9a3zwnw9f")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:tests? #f ;the "Validate appstream file" test fails - #:phases - (modify-phases %standard-phases - (add-after 'wrap 'wrap-libs - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'wrap-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")) (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) (python-path (getenv "GUIX_PYTHONPATH"))) - (wrap-program (string-append out "/bin/blanket") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) - `("GUIX_PYTHONPATH" ":" prefix (,python-path))))))))) + (wrap-program (search-input-file outputs "/bin/blanket") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) + `("GUIX_PYTHONPATH" ":" prefix (,python-path))))))))) (native-inputs - (list desktop-file-utils + (list blueprint-compiler + desktop-file-utils gettext-minimal `(,glib "bin") gobject-introspection @@ -453,8 +453,9 @@ a task.") gsettings-desktop-schemas gst-plugins-bad gst-plugins-good ;for ScaleTempo plugin - gtk+ + gtk libhandy + libadwaita python python-gst python-pygobject)) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index 5fdc41553b..47f8d4a09a 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -40,7 +40,7 @@ (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/oneapi-src/oneTBB") + (url "https://github.com/uxlfoundation/oneTBB/") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -79,14 +79,14 @@ ((".*test_multifunction_node.*") "") ((".*test_async_node.*") "")))))) (else '()))))) - (home-page "https://www.threadingbuildingblocks.org") + (home-page "https://uxlfoundation.github.io/oneTBB/") (synopsis "C++ library for parallel programming") (description - "Threading Building Blocks (TBB) is a C++ runtime library that abstracts -the low-level threading details necessary for optimal multi-core performance. -It uses common C++ templates and coding style to eliminate tedious threading -implementation work. It provides parallel loop constructs, asynchronous -tasks, synchronization primitives, atomic operations, and more.") + "@acronym{TBB, Threading Building Blocks} is a C++ runtime library that +abstracts the low-level threading details necessary for optimal multi-core +performance. It uses common C++ templates and coding style to eliminate +tedious threading implementation work. It provides parallel loop constructs, +asynchronous tasks, synchronization primitives, atomic operations, and more.") (license asl2.0))) (define-public python-tbb diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 4d14c334ae..e34c33b989 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1071,28 +1071,19 @@ usable with any list--including files, command history, processes and more.") (define-public python-pyte (package (name "python-pyte") - (version "0.8.1") + (version "0.8.2") (source (origin - (method url-fetch) - (uri (pypi-uri "pyte" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/selectel/pyte") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1c4pn2qijk6q8q25klfq365gbvlkrh8c0lz5lrr7b7kmh6vx3gxr")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-failing-test - ;; TODO: Reenable when the `captured` files required by this test - ;; are included in the archive. - (lambda _ - (delete-file "tests/test_input_output.py") - #t))))) - (propagated-inputs - (list python-wcwidth)) - (native-inputs - (list python-pytest-runner python-pytest)) + (base32 "1cdhnl6rp4kcbs3s766519k80pf5ma18mgv6cyidf4nbgysjavmv")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-wcwidth)) + (native-inputs (list python-pytest python-setuptools python-wheel)) (home-page "https://pyte.readthedocs.io/") (synopsis "Simple VTXXX-compatible terminal emulator") (description "@code{pyte} is an in-memory VTxxx-compatible terminal @@ -1136,13 +1127,13 @@ than a terminal.") (define-public python-curtsies (package (name "python-curtsies") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "curtsies" version)) (sha256 - (base32 "03kn093lr84qg8fmqrn1jb0zak6a1ir9q106lm8jijfpbchk7gkf")))) + (base32 "09c8c4vssm2zkq017xj99vhcrisfva4nkz92w8dly4jjz7xhyahh")))) (build-system pyproject-build-system) (native-inputs (list python-pyte diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index e1c69ceb60..baf526b4fe 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -959,7 +959,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (define-public mg (package (name "mg") - (version "20240709") + (version "20250523") (source (origin (method git-fetch) (uri (git-reference @@ -968,7 +968,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (file-name (git-file-name name version)) (sha256 (base32 - "02q3976glcih0icqvfz2fxrc723si57q080ba4ali5hw4wwggnk4")) + "1a08jvljmysangmwzv9ga84iy0s7afr7vb1gabivrxagkb5j70f5")) (modules '((guix build utils))) (snippet '(begin (substitute* "GNUmakefile" diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 63b8372c82..2fe41d1358 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -164,18 +164,33 @@ applications, and several support tools.") (version "1.1.8") (source (origin - (method url-fetch) - (uri (pypi-uri "pytimeparse" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wroberts/pytimeparse") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "02kaambsgpjx3zi42j6l11rwms2p35b9hsk4f3kdf979gd3kcqg8")))) + (base32 "1r5ybq2brdinqlvvdmfv2lz4g1hwz2zd6k21qwzzw17jfxdv2m6g")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively + (string-append (site-packages inputs outputs) + "/pytimeparse/tests")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "unittest"))))))) (native-inputs - (list python-nose)) - (build-system python-build-system) + (list python-setuptools python-wheel)) (home-page "https://github.com/wroberts/pytimeparse") (synopsis "Time expression parser") - (description "This small Python module parses various kinds of time -expressions.") + (description + "This small Python module parses various kinds of time expressions.") (license expat))) (define-public python-pytzdata diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a2fdd1858b..f950fa050e 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2025 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> @@ -1853,10 +1853,17 @@ a built-in cache to decrease server I/O pressure.") ;; because it is used as the shebang of generated scripts that ;; are invoked during the test phase. (string-append "SHELL_PATH=" - (search-input-file %build-inputs "/bin/sh")))))) + (search-input-file %build-inputs "/bin/sh")))) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (replace 'unpack-git + (lambda _ + ;; Unpack the source of git into the 'git' directory. + (invoke "tar" "--strip-components=1" "-C" "git" "-xf" + #$(this-package-input "git-source.tar.xz")))))))) (inputs (modify-inputs (package-inputs cgit) - (replace "git-source" + (replace "git-source.tar.xz" ;; cgit-pink is tightly bound to git. Use GIT_VER from the Makefile, ;; which may not match the current (package-version git). (origin diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cbdb31e3fe..daac0fbefe 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -72,6 +72,7 @@ ;;; Copyright © 2024 aurtzy <aurtzy@gmail.com> ;;; Copyright © 2025 Formbi <formbi@protonmail.com> ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.ccom> +;;; Copyright © 2025 VnPower <vnpower@loang.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3016,6 +3017,31 @@ To load this plugin, specify the following option when starting mpv: @file{$HOME/.config/mpv/scripts}.") (license license:expat))) +(define-public mpvpaper + (package + (name "mpvpaper") + (version "1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/GhostNaN/mpvpaper") + (commit version))) + (sha256 + (base32 "0pzc6f5r85qd0dgp6aa6pp8ba2m7ghzd3pc4xnqnarh2bx55jf95")) + (file-name (git-file-name name version)))) + (build-system meson-build-system) + (inputs + (list mpv libdisplay-info wlroots)) + (native-inputs + (list pkg-config cmake-minimal)) + (home-page "https://github.com/GhostNaN/mpvpaper") + (synopsis + "Video wallpaper program for wlroots-based wayland compositors") + (description "The mpvpaper package provides a wallpaper program for +wlroots-based wayland compositors, allowing you to play videos as your +wallpaper using mpv.") + (license license:gpl3))) + (define-public libvpx (package (name "libvpx") @@ -3231,7 +3257,7 @@ YouTube.com and many more sites.") (define-public yt-dlp (package (name "yt-dlp") - (version "2025.06.30") + (version "2025.07.21") (source (origin (method git-fetch) @@ -3243,7 +3269,7 @@ YouTube.com and many more sites.") (snippet '(substitute* "pyproject.toml" (("^.*Programming Language :: Python :: 3\\.13.*$") ""))) (sha256 - (base32 "14pk2rk5vm9469ghkvciaz74fihbl8dfi27qj6xnxv71hpm5w03p")))) + (base32 "051y9pb2imdrpi065d9l2xfmd68l22ahbz90z81yqv7kv84j9mal")))) (build-system pyproject-build-system) (arguments `(#:tests? ,(not (%current-target-system)) @@ -3277,7 +3303,17 @@ YouTube.com and many more sites.") (replace 'check (lambda* (#:key tests? test-flags #:allow-other-keys) (when tests? - (apply invoke "pytest" "-k" "not download" test-flags))))))) + (apply invoke "pytest" + "-k" + (string-append + "not download" + ;; TestHTTPRequestHandler tests are disabled due to + ;; https://github.com/yt-dlp/yt-dlp/issues/13927 + " and not " + "test_incompleteread" + " and not " + "test_partial_read_then_full_read") + test-flags))))))) (inputs (list ffmpeg python-brotli python-certifi python-mutagen @@ -4140,7 +4176,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "31.1.1") + (version "31.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -4150,7 +4186,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "0dddcvwlh3skd2hd8cmgy74r6l6pmcya9a6hrl9x402y7ywxd50m")) + "1wiaiva2wh9781mcwmlkf3xfg805q0s8gz4q7n1vnmk27750i6j1")) (patches (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) @@ -5914,7 +5950,7 @@ It counts more than 100 plugins.") (define-public motion (package (name "motion") - (version "4.5.1") + (version "4.7.0") (home-page "https://motion-project.github.io/") (source (origin (method git-fetch) @@ -5923,7 +5959,7 @@ It counts more than 100 plugins.") (commit (string-append "release-" version)))) (sha256 (base32 - "09j919bba75d05rkqpib5rcmn1ff5nvn4ss8yy4fi6iz0lnacffx")) + "1pwsl1v0aqh5k5608siy0614lyf5bscy9a47ha8i5vqsbqxy4s3c")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 143c884198..89e1e78811 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -169,6 +169,8 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages wget) + #:use-module (gnu packages vnc) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -2441,7 +2443,7 @@ Open Container Initiative (OCI) image layout and its tagged images.") (define-public skopeo (package (name "skopeo") - (version "1.19.0") + (version "1.20.0") (source (origin (method git-fetch) (uri (git-reference @@ -2450,7 +2452,7 @@ Open Container Initiative (OCI) image layout and its tagged images.") (file-name (git-file-name name version)) (sha256 (base32 - "1gwp8k9bxkis7qwcy7l2mrclii039fqrslvkb5q4rfhlrzqcqbay")))) + "1436w3i0w1x60r43j8kw9iaxjvyi99h5yaxzvxc3z3r5la8ka3mv")))) (build-system gnu-build-system) (native-inputs (list go-1.23 @@ -2659,28 +2661,54 @@ by default and can be made read-only.") (define-public bochs (package (name "bochs") - (version "2.8") - (source - (origin - (method url-fetch) - (uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/" - version "/bochs-" version ".tar.gz")) - (sha256 - (base32 "0n80v8wjd9i3rhc51sq7n7xw2paz7g1scsrmkxx1yhfqyypi6nx8")))) + (version "3.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/bochs/bochs/" version + "/bochs-" version ".tar.gz")) + (sha256 + (base32 + "1al1fx8dbb0ny7a4wbngnz8pqav0nl6rhakb434jqnpka4mm8vyb")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; no tests exist - (inputs - (list libxrandr)) - (home-page "https://bochs.sourceforge.net/") - (synopsis "Emulator for x86 PC") - (description - "Bochs is an emulator which can emulate Intel x86 CPU, common I/O -devices, and a custom BIOS. It can also be compiled to emulate many different -x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors. -Bochs can run most Operating Systems inside the emulation including Linux, -DOS or Microsoft Windows.") - (license license:lgpl2.0+))) + (list #:tests? #f ;no test suite + #:configure-flags + ;; Enable support for more modern machine emulation not enabled by + ;; default. + #~(list "--enable-x86-64" + "--enable-smp" + "--enable-all-optimizations" + "--enable-readline" + "--enable-avx" + "--enable-evex" + "--enable-amx" + "--enable-vmx=2" + "--enable-svm" + "--enable-protection-keys" + "--enable-cet" + "--enable-es1370" + "--enable-sb16" + "--enable-uintr" + "--enable-3dnow" + "--enable-usb" + "--enable-usb-ohci" + "--enable-usb-ehci" + "--enable-usb-xhci" + "--enable-pnic" + "--enable-e1000" + "--enable-using-libslirp" + "--with-vncsrv"))) + (native-inputs (list pkg-config)) + (inputs (list libslirp libx11 libvnc readline wxwidgets)) + (home-page "https://bochs.sourceforge.io/") + (synopsis "IA-32 (x86) PC emulator") + (description "Bochs is a highly portable IA-32 (x86) PC emulator written +in C++. It includes emulation of the Intel x86 CPU, common I/O devices, and a +custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from +early 386 to the most recent x86-64 Intel and AMD processors. Bochs is +capable of running most operating systems inside the emulation including +GNU/Linux, DOS or Microsoft Windows.") + (license license:lgpl2.1+))) (define-public xen (package diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index c7883d1bbc..e260a17437 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -1,5 +1,4 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> @@ -174,235 +173,6 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.") (license license:gpl2+))) -(define-public tigervnc-client - (package - (name "tigervnc-client") - (version "1.14.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/TigerVNC/tigervnc") - (commit (string-append "v" version)))) - (sha256 - (base32 "1n6slj7i93gvf0ji4mb3azycv3c4wqzfd7zlx9260b79jv8jvsln")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments - '(#:tests? #f ; tests that do exists are not automated - #:phases (modify-phases %standard-phases - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion "vncviewer" - (invoke "make" "install"))))))) - (native-inputs - (list autoconf gettext-minimal automake)) - (inputs - (list zlib - gnutls - libjpeg-turbo - ;;ffmpeg ;TODO: add this for h264 encoding - fltk-1.3 - linux-pam - libx11 - libxext - libxtst - libxrandr - libxdamage - pixman)) - (home-page "https://tigervnc.org/") - (synopsis "High-performance VNC remote desktop client") - (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} -client and server. @dfn{VNC} is a remote display system that lets you view and -interact with a virtual desktop environment running on another computer on the -network. Client and server may be running on different operating systems and -architectures. - -TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use -of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video -applications. It also provides extensions for advanced authentication methods -and @acronym{TLS, Transport-Level Security} encryption. - -This package installs only the VNC client (@command{vncviewer}), the application -used to connect to VNC servers such as the tigervnc-server package.") - (license license:gpl2))) - -(define %tigervnc-client-source (package-source tigervnc-client)) - -;; A VNC server is, in fact, an X server so it seems like a good idea to build -;; on the work already done for xorg-server package. This is not entirely -;; compatible with the recommendation in BUILDING.txt where the client is -;; built first, then the source code of the X server is copied into a subdir -;; of the build directory, patched with VNC additions and then build and -;; installed as Xvnc. The procedure was turned around, where TigerVNC code is -;; downloaded and built inside the Guix X server build dir. Also, the VNC -;; patching process for the X server is automated in a straightforward manner. -(define-public tigervnc-server - (package - (inherit xorg-server) - (name "tigervnc-server") - (version (package-version tigervnc-client)) - (source - (origin - (inherit (package-source xorg-server)) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Copy the VNC extension into the xorg-server sources. - (copy-recursively #$(file-append %tigervnc-client-source - "/unix/xserver") - ".") - ;; Include a full copy of tigervnc-client sources, so that the - ;; complete sources involved are available and can be edited during - ;; the build. - (copy-recursively #$%tigervnc-client-source "tigervnc-client") - ;; Adjust the VNC extension build system files so that it refers - ;; to it. - (substitute* "hw/vnc/Makefile.am" - (("(TIGERVNC_SRCDIR=).*" _ head) - (string-append head "$(CURDIR)/../../tigervnc-client\n")) - (("(TIGERVNC_BUILDDIR=).*" _ head) - (string-append head - "$(CURDIR)/../../tigervnc-client/build\n"))) - ;; Ensure the Autotools build system gets re-bootstrapped. - (delete-file "configure"))) - ;; Patch the xorg-server build system so that it builds the VNC - ;; extension. - (patches (cons (file-append %tigervnc-client-source - "/unix/xserver21.patch") - (origin-patches (package-source xorg-server)))) - (file-name (string-append name "-" version ".tar.xz")))) - (arguments - (substitute-keyword-arguments - (package-arguments xorg-server) - ((#:tests? #f #f) - #f) - ((#:configure-flags flags) - #~(cons* "--with-pic" ; taken from BUILDING.txt - "--without-dtrace" - "--disable-static" - "--disable-dri2" - "--disable-xinerama" - "--disable-xvfb" - "--disable-xnest" - "--disable-xorg" - "--disable-dmx" - "--disable-xwin" - "--disable-xephyr" - "--disable-kdrive" - "--disable-config-hal" - "--disable-config-udev" - "--disable-dri2" - "--enable-glx" - (delete "--enable-xephyr" #$flags))) - ((#:modules modules) - `(append '((ice-9 ftw) - (ice-9 match) - (guix build utils) - (guix build gnu-build-system)) - modules)) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'unpack 'adjust-pam-config - (lambda _ - (substitute* "tigervnc-client/unix/vncserver/tigervnc.pam" - (("pam_systemd.so") - "pam_elogind.so")))) - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "tigervnc-client/unix/vncserver/vncserver.in" - (("`mcookie`") - (format #f "`~a`" (search-input-file inputs "bin/mcookie"))) - ;; Adjust the places where the vncserver script looks for - ;; X11 fonts. - (("'/usr/share/X11/fonts'" all) - (format #f "'~a', '~a', ~a" - "/run/current-system/profile/share/fonts/X11" - (string-append #$(this-package-input "font-alias") - "share/fonts/X11") - all)) - ;; Adjust the location where .desktop files will be saved. - (("/usr/share/xsessions") - "/run/current-system/profile/share/xsessions") - ;; Do not require a system-provided Xsession shell script. - ;; Guix System has none, causing the for loop to iterate - ;; over an empty list. - (("\"/etc/X11/xinit/Xsession\", \"/etc/X11/Xsession\"") - "()") - (("if \\(not defined \\$Xsession)") - "if (0)") - (("@cmd, \\$Xsession,") - "@cmd,")))) - (add-before 'build 'build-tigervnc - (lambda* (#:key parallel-build? #:allow-other-keys) - (mkdir-p "tigervnc-client/build") - (with-directory-excursion "tigervnc-client/build" - (invoke "cmake" "-G" "Unix Makefiles" - (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) - "..") - (invoke "make" "-j" (number->string (if parallel-build? - (parallel-job-count) - 1)))))) - (replace 'build - (lambda* (#:key parallel-build? #:allow-other-keys) - (invoke "make" "-j" (number->string (if parallel-build? - (parallel-job-count) - 1))))) - (add-before 'install 'install-tigervnc-aux - (lambda _ - (invoke "make" "-C" "tigervnc-client/build/unix" "install"))) - (replace 'install - (lambda _ - (invoke "make" "install"))) - (add-after 'install 'wrap-vncserver - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-script (search-input-file outputs "libexec/vncserver") - (list "PATH" 'prefix - (map (lambda (p) - (dirname (search-input-file inputs p))) - '("bin/uname" - "bin/xauth" - "bin/xinit")))))))))) - (native-inputs - (modify-inputs (append (package-native-inputs xorg-server) - (package-native-inputs tigervnc-client)) - (append %tigervnc-client-source - autoconf - automake - libtool - gettext-minimal - font-util - cmake-minimal - perl))) - (inputs - (modify-inputs (append (package-inputs xorg-server) - (package-inputs tigervnc-client)) - (prepend coreutils - font-alias - guile-3.0 - perl - util-linux - xauth - xinit))) - (propagated-inputs - (modify-inputs (package-propagated-inputs xorg-server) - (prepend xauth))) - (synopsis "High-performance VNC remote desktop server based on Xorg") - (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} -client and server. @dfn{VNC} is a remote display system that lets you view and -interact with a virtual desktop environment running on another computer on the -network. Client and server may be running on different operating systems and -architectures. - -TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use -of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video -applications. It also provides extensions for advanced authentication methods -and @acronym{TLS, Transport-Level Security} encryption. - -This package installs the VNC server. Permitted users can log into a graphical -session on the machine where the server is running, using a VNC client such as -the tigervnc-client package."))) - (define-public turbovnc (package (name "turbovnc") diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 58a4c758a4..e511423525 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2022 Lu hui <luhux76@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech> -;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2022, 2025 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2024 Allan Adair <allan@adair.no> ;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; @@ -811,7 +811,7 @@ others.") python-attrs python-colorama python-keyring - python-lxml + python-lxml-4.9 python-prompt-toolkit python-requests python-pyqt diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a9b5f732ab..93e91e75ef 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6345,7 +6345,7 @@ developed as part of the NetSurf project.") "0750q884ax8wygl64wq03zdjj8h838ch3f8jdfkv4gz809zj4my3")))) (build-system gnu-build-system) (native-inputs - (list netsurf-buildsystem pkg-config gperf-3.0)) + (list netsurf-buildsystem pkg-config gperf)) (inputs (list libwapcaplet)) (propagated-inputs @@ -8874,7 +8874,7 @@ compressed JSON header blocks. (define-public nghttp3 (package (name "nghttp3") - (version "1.10.1") + (version "1.11.0") (source (origin (method url-fetch) @@ -8883,7 +8883,7 @@ compressed JSON header blocks. "nghttp3-" version ".tar.gz")) (sha256 (base32 - "18lik57yb3zc5g17s18ymd268p037wly0hgvw6n9h48l09jqqv68")))) + "04ds0h2ppajx9brafd9rx4k9jsqm6cb0qjkj2lvpps1d5bd0pliw")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -9694,6 +9694,7 @@ It contains the code shared by all Kiwix ports.") (build-system qt-build-system) (arguments (list + #:qtbase qtbase #:tests? #f ; no tests #:modules '((guix build qt-build-system) ((guix build gnu-build-system) #:prefix gnu:) @@ -9715,17 +9716,17 @@ It contains the code shared by all Kiwix ports.") libmicrohttpd libzim pugixml - qtbase-5 - qtdeclarative-5 - qtwebchannel-5 - qtwebengine-5 - qtwayland-5 + qtbase + qtdeclarative + qtwebchannel + qtwebengine + qtwayland xapian zlib `(,zstd "lib"))) (native-inputs (list pkg-config - qtbase-5)) + qtbase)) (home-page "https://wiki.kiwix.org/wiki/Software") (synopsis "Viewer and manager of ZIM files") (description "Kiwix Desktop allows you to enjoy a lot of different content @@ -9858,43 +9859,6 @@ provided by a TLS reverse proxy (e.g. tlstunnel, hitch or stunnel).") the Fediring.") (license (list license:cc0 license:bsd-2))))) -(define-public archivebox - (package - (name "archivebox") - (version "0.6.2") - (source (origin - (method url-fetch) - (uri (pypi-uri name version)) - (sha256 - (base32 - "1mnq82ynq01l7vx957bbx4bvgwdh59qsnx6pdydaqszbakp74yyc")))) - (build-system python-build-system) - (propagated-inputs - (list curl - node-lts)) - (inputs - (list python - youtube-dl - wget - git - python-w3lib - python-ipython - python-croniter - python-crontab - python-dateparser - python-django-extensions - python-django-3.1.14 - python-mypy-extensions)) - (native-inputs - (list python-wheel)) - (synopsis "Self-hosted Web archiving") - (description "ArchiveBox is a powerful, self-hosted Web archiving -solution to collect, save, and view sites you want to preserve offline. -You can feed it URLs one at a time, or schedule regular imports. It saves -snapshots of the URLs you feed it in several formats.") - (home-page "https://archivebox.io/") - (license license:expat))) - (define-public awslogs (package (name "awslogs") diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 92f86c25f8..545b20d477 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1929,43 +1929,6 @@ limited size and a few external dependencies. It is configurable via ;; LICENSE LICENSE.dwm LICENSE.tinywl (license (list license:gpl3+ license:expat license:cc0)))) -(define-public nitrogen - (package - (name "nitrogen") - (version "1.6.1") - (source (origin - (method url-fetch) - (uri (string-append "http://github.com/l3ib/nitrogen/" - "releases/download/" version "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "0zc3fl1mbhq0iyndy4ysmy8vv5c7xwf54rbgamzfhfvsgdq160pl")))) - (build-system gnu-build-system) - (inputs - (list gtk+-2 gtkmm-2 glib glibmm)) - (native-inputs - (list pkg-config)) - (home-page "http://projects.l3ib.org/nitrogen/") - (synopsis "Background browser and setter for X windows") - (description - "This package is a background browser and setter for X windows. It's -features are: - -@itemize -@item Multihead and Xinerama aware -@item Recall mode to used via startup script -@item Uses freedesktop.org standard for thumbnails -@item Can set GNOME background -@item Command lie set modes for script use -@item Inotify monitoring of browse directory -@item Lazy loading of thumbnails - conserves memory -@item \"Automatic\" set mode - determines best mode to set an image based on -its size -@item Display preview images in a tiled icon layout -@end itemize") - (license license:gpl2+))) - (define-public polybar (package (name "polybar") @@ -2327,7 +2290,7 @@ corners, shadows, inactive window dimming, etc.") (define-public swaylock (package (name "swaylock") - (version "1.8.0") + (version "1.8.3") (source (origin (method git-fetch) @@ -2336,7 +2299,7 @@ corners, shadows, inactive window dimming, etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1n4m5nk2jj4f0p11760zdd51ncsb469d06hm0f5487v01p3igq6p")))) + (base32 "01zwlfpf3s8wd8gl2sjfch1z66mqx9n2plgbdang7plqc3r01474")))) (build-system meson-build-system) (inputs (append (if (%current-target-system) (list wayland-protocols) @@ -2590,7 +2553,7 @@ compository, supporting the following features: (define-public waybar (package (name "waybar") - (version "0.13.0") + (version "0.14.0") (source (origin (method git-fetch) @@ -2599,7 +2562,7 @@ compository, supporting the following features: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0bdwdyxgrfv1ffabf1n4wqq1wz20qig9j9w0k76nhzw979ha7x99")))) + (base32 "1b1783382y38mzzrzw53p20lwpfs0n2npqbs91j9ddgg6xk82s4q")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "--wrap-mode=nodownload"))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 13cbcc94d8..1af8930ce1 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2021, 2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Petter <petter@mykolab.ch> @@ -906,26 +906,22 @@ typing tool (@code{wtype}, @code{xdotool}, etc.), or via standard output.") (source (origin (method url-fetch) - (uri - (string-append - "https://www.cairographics.org/releases/pixman-" - version ".tar.gz")) + (uri (string-append "https://www.cairographics.org/releases/pixman-" + version ".tar.gz")) (sha256 (base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) - (patches - (search-patches - "pixman-CVE-2016-5296.patch")))) + (patches (search-patches "pixman-CVE-2016-5296.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list - "--disable-static" - "--enable-timers" - "--enable-gnuplot"))) - (native-inputs - (list pkg-config)) - (inputs - (list libpng zlib)) + (list "--disable-static" + "--enable-timers" + "--enable-gnuplot" + ,@(if (target-arm32?) + `("--disable-arm-simd") + '())))) + (native-inputs (list pkg-config)) + (inputs (list libpng zlib)) (synopsis "Low-level pixel manipulation library") (description "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid @@ -3745,7 +3741,7 @@ desktop notifications.") (define-public wofi (package (name "wofi") - (version "1.4.1") + (version "1.5.1") (source (origin (method hg-fetch) (uri (hg-reference @@ -3754,7 +3750,7 @@ desktop notifications.") (file-name (git-file-name name version)) (sha256 (base32 - "1z2pmmwq2h3lfsvdazjiz9s3978rcqan7dqdk5iwk4sz2m96irv9")))) + "1xqgpqx7zing9b2w73f8x1shk52g63jyncnq36ss7wbh69c7rsmg")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t)) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d1678fa2f8..4de513599d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,17 +14,18 @@ ;;; Copyright © 2017-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022, 2024 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018, 2020, 2022 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com> ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> @@ -65,6 +66,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) @@ -81,11 +83,13 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages cups) #:use-module (gnu packages compression) #:use-module (gnu packages digest) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) + #:use-module (gnu packages fltk) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -95,6 +99,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-check) @@ -108,6 +113,7 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nettle) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) @@ -121,7 +127,9 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages spice) + #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages vnc) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg)) @@ -5363,6 +5371,250 @@ draggable titlebars and borders.") (package (inherit xorg-server)))) +;;; XXX: Not really at home, but unless we break the inheritance between +;;; tigervnc-server and xorg-server, it must live here to avoid cyclic module +;;; dependencies. +(define-public tigervnc-client + ;; The latest version doesn't build with GCC 14 when enabling ffmpeg + ;; support; pick the latest commit from the master branch. + (let ((commit "83e9c55d4c6a4a989d056a6ed9613bde74bcc50b") + (revision "0")) + (package + (name "tigervnc-client") + (version (git-version "1.15.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TigerVNC/tigervnc") + (commit commit))) + (sha256 + (base32 "1gqa5lbin4qb2k6iapd4hjxk85byaj6zs8vx0az30i7v18jib1c6")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + (invoke "ctest" "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "--test-dir" "tests/unit/")))) + (replace 'install + (lambda _ + (with-directory-excursion "vncviewer" + (invoke "make" "install"))))))) + (native-inputs (list appstream gettext-minimal googletest)) + (inputs + (list ffmpeg + fltk-1.3 + gnutls + libjpeg-turbo + libx11 + libxdamage + libxext + libxrandr + libxtst + linux-pam + nettle + pixman + zlib)) + (home-page "https://tigervnc.org/") + (synopsis "High-performance VNC remote desktop client") + (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} +client and server. @dfn{VNC} is a remote display system that lets you view and +interact with a virtual desktop environment running on another computer on the +network. Client and server may be running on different operating systems and +architectures. + +TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use +of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video +applications. It also provides extensions for advanced authentication methods +and @acronym{TLS, Transport-Level Security} encryption. + +This package installs only the VNC client (@command{vncviewer}), the application +used to connect to VNC servers such as the tigervnc-server package.") + (license license:gpl2+)))) + +(define %tigervnc-client-source (package-source tigervnc-client)) + +;; A VNC server is, in fact, an X server so it seems like a good idea to build +;; on the work already done for xorg-server package. This is not entirely +;; compatible with the recommendation in BUILDING.txt where the client is +;; built first, then the source code of the X server is copied into a subdir +;; of the build directory, patched with VNC additions and then build and +;; installed as Xvnc. The procedure was turned around, where TigerVNC code is +;; downloaded and built inside the Guix X server build dir. Also, the VNC +;; patching process for the X server is automated in a straightforward manner. +(define-public tigervnc-server + (package + (inherit xorg-server) + (name "tigervnc-server") + (version (package-version tigervnc-client)) + (source + (origin + (inherit (package-source xorg-server)) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Copy the VNC extension into the xorg-server sources. + (copy-recursively #$(file-append %tigervnc-client-source + "/unix/xserver") + ".") + ;; Include a full copy of tigervnc-client sources, so that the + ;; complete sources involved are available and can be edited during + ;; the build. + (copy-recursively #$%tigervnc-client-source "tigervnc-client") + ;; Adjust the VNC extension build system files so that it refers + ;; to it. + (substitute* "hw/vnc/Makefile.am" + (("(TIGERVNC_SRCDIR=).*" _ head) + (string-append head "$(CURDIR)/../../tigervnc-client\n")) + (("(TIGERVNC_BUILDDIR=).*" _ head) + (string-append head + "$(CURDIR)/../../tigervnc-client/build\n"))) + ;; Ensure the Autotools build system gets re-bootstrapped. + (delete-file "configure"))) + ;; Patch the xorg-server build system so that it builds the VNC + ;; extension. + (patches (cons (file-append %tigervnc-client-source + "/unix/xserver21.patch") + (origin-patches (package-source xorg-server)))) + (file-name (string-append name "-" version ".tar.xz")))) + (arguments + (substitute-keyword-arguments + (package-arguments xorg-server) + ((#:tests? #f #f) + #f) + ((#:configure-flags flags) + #~(cons* "--with-pic" ; taken from BUILDING.txt + "--without-dtrace" + "--disable-static" + "--disable-dri2" + "--disable-xinerama" + "--disable-xvfb" + "--disable-xnest" + "--disable-xorg" + "--disable-dmx" + "--disable-xwin" + "--disable-xephyr" + "--disable-kdrive" + "--disable-config-hal" + "--disable-config-udev" + "--disable-dri2" + "--enable-glx" + (delete "--enable-xephyr" #$flags))) + ((#:modules modules) + `(append '((ice-9 ftw) + (ice-9 match) + (guix build utils) + (guix build gnu-build-system)) + modules)) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'adjust-pam-config + (lambda _ + (substitute* "tigervnc-client/unix/vncserver/tigervnc.pam" + (("pam_systemd.so") + "pam_elogind.so")))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tigervnc-client/unix/vncserver/vncserver.in" + (("`mcookie`") + (format #f "`~a`" (search-input-file inputs "bin/mcookie"))) + ;; Adjust the places where the vncserver script looks for + ;; X11 fonts. + (("'/usr/share/X11/fonts'" all) + (format #f "'~a', '~a', ~a" + "/run/current-system/profile/share/fonts/X11" + (string-append #$(this-package-input "font-alias") + "share/fonts/X11") + all)) + ;; Adjust the location where .desktop files will be saved. + (("/usr/share/xsessions") + "/run/current-system/profile/share/xsessions") + ;; Do not require a system-provided Xsession shell script. + ;; Guix System has none, causing the for loop to iterate + ;; over an empty list. + (("\"/etc/X11/xinit/Xsession\", \"/etc/X11/Xsession\"") + "()") + (("if \\(not defined \\$Xsession)") + "if (0)") + (("@cmd, \\$Xsession,") + "@cmd,")))) + (add-before 'build 'build-tigervnc + (lambda* (#:key parallel-build? #:allow-other-keys) + (mkdir-p "tigervnc-client/build") + (with-directory-excursion "tigervnc-client/build" + (invoke "cmake" "-G" "Unix Makefiles" + (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) + "..") + (invoke "make" "-j" (number->string (if parallel-build? + (parallel-job-count) + 1)))))) + (replace 'build + (lambda* (#:key parallel-build? #:allow-other-keys) + (invoke "make" "-j" (number->string (if parallel-build? + (parallel-job-count) + 1))))) + (add-before 'install 'install-tigervnc-aux + (lambda _ + (invoke "make" "-C" "tigervnc-client/build/unix" "install"))) + (replace 'install + (lambda _ + (invoke "make" "install"))) + (add-after 'install 'wrap-vncserver + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-script (search-input-file outputs "libexec/vncserver") + (list "PATH" 'prefix + (map (lambda (p) + (dirname (search-input-file inputs p))) + '("bin/uname" + "bin/xauth" + "bin/xinit")))))))))) + (native-inputs + (modify-inputs (append (package-native-inputs xorg-server) + (package-native-inputs tigervnc-client)) + (append (package-source tigervnc-client) + autoconf + automake + libtool + gettext-minimal + font-util + cmake + perl))) + (inputs + (modify-inputs (append (package-inputs xorg-server) + (package-inputs tigervnc-client)) + (prepend coreutils + font-alias + guile-3.0 + perl + util-linux + xauth + xinit))) + (propagated-inputs + (modify-inputs (package-propagated-inputs xorg-server) + (prepend xauth))) + (synopsis "High-performance VNC remote desktop server based on Xorg") + (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing} +client and server. @dfn{VNC} is a remote display system that lets you view and +interact with a virtual desktop environment running on another computer on the +network. Client and server may be running on different operating systems and +architectures. + +TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use +of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video +applications. It also provides extensions for advanced authentication methods +and @acronym{TLS, Transport-Level Security} encryption. + +This package installs the VNC server. Permitted users can log into a graphical +session on the machine where the server is running, using a VNC client such as +the tigervnc-client package."))) + (define-public eglexternalplatform (package (name "eglexternalplatform") diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index 80c35717a9..a0720f7073 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -705,6 +705,8 @@ placed in a udev rules file." (provision (list (string->symbol name))) ;; Make sure the homes are already present (requirement requirement) + (modules `((ice-9 match) + ,@%default-modules)) (stop #~(lambda args (match (quote #$policy) diff --git a/gnu/services/vnc.scm b/gnu/services/vnc.scm index 0b18830d2b..2cfa4d90e5 100644 --- a/gnu/services/vnc.scm +++ b/gnu/services/vnc.scm @@ -19,6 +19,7 @@ (define-module (gnu services vnc) #:use-module (gnu packages admin) #:use-module (gnu packages vnc) + #:use-module (gnu packages xorg) #:use-module ((gnu services) #:hide (delete)) #:use-module (gnu system shadow) #:use-module (gnu services configuration) |