diff options
Diffstat (limited to 'gnu/packages')
91 files changed, 3639 insertions, 3133 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2e10b5bdc0..a2778cc84b 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -217,14 +217,14 @@ (define-public aide (package (name "aide") - (version "0.19.1") + (version "0.19.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/aide/aide/releases/download/v" version "/aide-" version ".tar.gz")) (sha256 - (base32 "0lhbx7ilwzpfl77vi7b6cklhgzk1iwyfp4fvvgvlmmq30igvzy3d")))) + (base32 "1i3lbsw1mhsnq54bx48zikdiph1ihxn021ca7kmys4b1yh2jnxi3")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--with-posix-acl" @@ -575,7 +575,7 @@ interface and is based on GNU Guile.") (if (or (target-arm?) (target-riscv64?)) guile-fibers-1.1 - guile-fibers)))) + guile-fibers-1.3)))) ;pinned version to avoid rebuilds (inputs (modify-inputs (package-inputs shepherd-0.9) (replace "guile-fibers" (this-package-native-input "guile-fibers")))))) @@ -2922,7 +2922,7 @@ system is under heavy load.") (define-public stress-ng (package (name "stress-ng") - (version "0.18.04") + (version "0.19.03") (source (origin (method git-fetch) @@ -2931,7 +2931,7 @@ system is under heavy load.") (commit (string-append "V" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "100w4qkrzpg7jjl4dw0c376xi811qnjmlbffiy43i945f9vl3dc7")))) + (base32 "1phrmjvvjn55pyfljfkk604d8q8wn17l416v91hskj98v7b7yhck")))) (build-system gnu-build-system) (arguments ;; XXX The test suite seems to cause instability on the VisionFive 2 @@ -3015,7 +3015,7 @@ environment variable is set and output is to tty.") (define-public lr (package (name "lr") - (version "1.6") + (version "2.0") (source (origin (method git-fetch) @@ -3024,14 +3024,14 @@ environment variable is set and output is to tty.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qixmvxikyz02348xc0a718m9b1pzcazvf36rjbdk6ayn66g9hsd")))) + (base32 "05k971vf6080igfila8iav5d4j7sgh301123yng9lvsmr8frf8mf")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There are no tests. - #:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output)) - #:phases (modify-phases %standard-phases - (delete 'configure)))) + (list #:tests? #f ; There are no tests. + #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) (synopsis "Tool to generate customized file listings") (description "lr is a tool for generating file listings, which includes the best @@ -4639,7 +4639,7 @@ information tool.") (define-public fastfetch (package (name "fastfetch") - (version "2.50.2") + (version "2.51.1") (source (origin (method git-fetch) @@ -4648,7 +4648,7 @@ information tool.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "17pasb0cckp9pjjcmfi07lfmsg5wf59gynxq7m5w57jlzq10k3vm")) + (base32 "1c5z1mgpgm8nzxkdjfh0412zdnv1f8i1vvic2h5v99f9cmdjwr25")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "src/3rdparty"))))) @@ -4666,15 +4666,7 @@ information tool.") "/share/hwdata/pci.ids") (string-append "-DCUSTOM_AMDGPU_IDS_PATH=" #$(this-package-input "libdrm") - "/share/libdrm/amdgpu.ids")) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-yyjson - (lambda _ - ;; workaround for https://github.com/fastfetch-cli/fastfetch/pull/1904 - (substitute* "src/util/FFstrbuf.h" - (("\"3rdparty/yyjson/yyjson.h\"") - "<yyjson.h>"))))))) + "/share/libdrm/amdgpu.ids")))) (inputs (list dbus glib hwdata diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index f9bc43f952..c884c1561c 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -1358,7 +1358,23 @@ mounted via FUSE.") #:tests? #f ; no tests provided upstream #:phases ;; There is no configure step. - #~(modify-phases %standard-phases (delete 'configure)))) + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-calloc-order + ;; As of the 1.1.5 release, the calloc argument order is + ;; wrong, and GCC 14 recognises this. We correct it here. + ;; When updating this package, remove these patches + ;; (fixed in master). + (lambda _ + (substitute* "backed_block.cpp" + (("calloc[(]sizeof[(]struct backed_block_list[)], 1[)]") + "calloc(1, sizeof(struct backed_block_list))")) + (substitute* "simg2simg.cpp" + (("calloc[(]sizeof[(]struct sparse_file[*][)], files[)]") + "calloc(files, sizeof(struct sparse_file*))")) + (substitute* "sparse.cpp" + (("calloc[(]sizeof[(]struct sparse_file[)], 1[)]") + "calloc(1, sizeof(struct sparse_file))"))))))) (inputs (list zlib)) (home-page "https://github.com/anestisb/android-simg2img") (synopsis "Convert Android sparse images to raw ext4 images") diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 5d159a90ef..3312ce2fb5 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -28,12 +28,10 @@ #:use-module (guix svn-download) #:use-module (guix gexp) #:use-module (guix packages) - #:use-module (guix build-system font) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages bash) #:use-module (gnu packages compression) - #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages java) #:use-module (gnu packages maths) @@ -86,86 +84,6 @@ an implementation of the ISO standard 13751.") (license license:gpl3+)))) -(define-public font-apl2741-unicode - (let ((commit "1e11efae38e5095bfe49a786b111d563e83dad03")) - (package - (name "font-apl2741-unicode") - (version "1668049300") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abrudz/APL2741.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0i1yk1x99lr2swlbq9r7dny5w70zwiwi8lpfcw4n7k7pfbw0xh7y")))) - (build-system trivial-build-system) - (native-inputs (list fontforge)) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (out (assoc-ref %outputs "out")) - (dest (string-append out "/share/fonts/truetype")) - (fontforge (string-append - (assoc-ref %build-inputs "fontforge") - "/bin/fontforge"))) - (mkdir-p dest) - (invoke fontforge "-lang=ff" "-c" "Open($1); Generate($2)" - (string-append source "/APL2741.sfd") - (string-append dest "/APL2741.ttf")))))) - (synopsis "APL2741 Unicode font") - (home-page "https://abrudz.github.io/APL2741/") - (description "APL font based on Adrian Smith's IBM Selectric APL2741 -golf-ball font. It supports most special characters used by popular APL -implementations, some additional mathematical and typographical symbols, -single line drawing characters, as well as the full Unicode APL range, -including both uppercase and lowercase underscored alphabets, as-of-yet unused -symbols, and almost all Latin-1 accented letters.") - (license license:unlicense)))) - -(define-public font-apl333 - (package - (name "font-apl333") - ;; Version number as for apl-385, last modified 2013-04-20. - (version "20130420") - (source - (origin - (method url-fetch) - (uri (string-append "https://apl385.com/fonts/" "apl333.zip")) - (sha256 - (base32 "0yn0ha7d14vp4ma3lxbc9kpyrn20m7brjisr6w55c9mi24w9v3a5")))) - (build-system font-build-system) - (home-page "https://apl385.com/fonts/index.htm") - (synopsis "Variable-width APL font inspired by Comic Sans Serif") - (description - "Variable-width version of Adrian Smith's APL385 font developed with APL -software vendors in the late 1980s.") - (license license:public-domain))) - -(define-public font-apl385 - (package - (name "font-apl385") - ;; No version number or release, unzipping source and checking file times - ;; shows the font file was last modified on 2016-08-21. - (version "20160821") - (source - (origin - (method url-fetch) - (uri (string-append "https://apl385.com/fonts/" "apl385.zip")) - (sha256 - (base32 "132qfsnx0v6qf8x8iy3flivv449nz42nnpkwjysmz65w6wqxpk1g")))) - (build-system font-build-system) - (home-page "https://apl385.com/fonts/index.htm") - (synopsis "Monospaced APL font inspired by Comic Sans Serif") - (description - "Adrian Smith's monospaced APL font developed with APL software vendors -in the late 1980s.") - (license license:public-domain))) - (define-public dzaima-apl (package (name "dzaima-apl") diff --git a/gnu/packages/apple.scm b/gnu/packages/apple.scm deleted file mode 100644 index b59eee1802..0000000000 --- a/gnu/packages/apple.scm +++ /dev/null @@ -1,59 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 B. Wilson <elaexuotee@wilsonb.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 apple) - #:use-module (gnu packages bison) - #:use-module (guix build-system gnu) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module ((guix licenses) #:prefix license:)) - -(define-public apple-bash - (package - (name "apple-bash") - (version "125") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/apple-oss-distributions/bash.git") - (commit (string-append "bash-" version)))) - (sha256 - (base32 "1d4s1z57yiyhgb6i22kb9al31j1fv9a4rp1bb747ny6grdvc4919")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (native-inputs (list bison)) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda _ - ;; An XCode project wraps the actual bash source. - (chdir "bash-3.2") - ;; The xlocale.h header was removed in glibc 2.26. - (substitute* "lib/glob/smatch.c" - (("xlocale.h") "locale.h")) - ;; EBADEXEC is XNU-specific. - (substitute* "execute_cmd.c" - (("EBADEXEC") "ENOEXEC"))))))) - (home-page "https://github.com/apple-oss-distributions/bash/") - (synopsis "Bash used on Apple macOS systems") - (description - "This is the version of Bash, forked from GNU Bash 3.2, released on Apple -macOS systems.") - (license license:gpl2+))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 5e5120ee92..1051fde7cb 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2024-2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Vasilii Smirnov <vasilii.smirnov@mailbox.org> ;;; Copyright © 2025 Daniel Ziltener <dziltener@lyrion.ch> +;;; Copyright © 2025 Hugo Buddelmeijer <hugo@buddelmeijer.nl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,7 +138,7 @@ (define-public alfa (package (name "alfa") - (version "2.2") + (version "2.3") (source (origin (method git-fetch) (uri (git-reference @@ -145,7 +146,7 @@ (commit (string-append "v" version)))) (sha256 (base32 - "0aqxqar36822mh373awsl79j7zn8vik4yddyydsxv0c76gn4i2k3")) + "1wi7pjra49qyyz8qz2qcgjcjck16ld0zczavxqn2xksdx1p99ajs")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -279,7 +280,7 @@ wide set of telescopes.") (define-public astroterm (package (name "astroterm") - (version "1.0.8") + (version "1.0.9") (source (origin (method git-fetch) @@ -288,7 +289,7 @@ wide set of telescopes.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10y776rh6ww1zjk96cd497ipbr54q0wdd1g7ybsrffdbrzc6l8jx")))) + (base32 "03vrprrahhfp7jbl1apmpxmv05fb8lw469fnsnq7sajdhc3waifx")))) (build-system meson-build-system) (arguments (list @@ -631,7 +632,8 @@ accurately in real time at any rate desired.") (arguments (list #:configure-flags - #~(list (string-append "--with-bzip2=" #$(this-package-input "bzip2"))) + #~(list "--enable-reentrant" + (string-append "--with-bzip2=" #$(this-package-input "bzip2"))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths @@ -743,6 +745,54 @@ learning framework primarily developed and used for astronomical data analysis.") (license license:asl2.0))) +(define-public cpl + (package + (name "cpl") + (version "7.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-" + version ".tar.gz")) + (sha256 + (base32 "083ppsa6ifc52m0s4ww4l9cajnh2f0y3s5bxaq31drihhrd2c355")))) + (build-system gnu-build-system) + (arguments + ;; pycpl expects to find a lib/esopipes-plugins directory. This is + ;; overruled by the PYESOREX_PLUGIN_DIR search path, but the default + ;; directory is still consulted and therefor needs to exist. + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'create-plugins-directory + (lambda _ + (mkdir-p (string-append #$output "/lib/esopipes-plugins"))))))) + (native-inputs + (list automake + autoconf + libtool + pkg-config + perl)) + (inputs + (list cfitsio + wcslib + fftw + fftwf)) + (home-page "https://www.eso.org/sci/software/cpl/") + (synopsis "Common Pipeline Library for astronomical data reduction") + (description + "The @acronym{CPL, Common Pipeline Library} comprises a set of ISO-C +libraries that provide a comprehensive, efficient and robust software toolkit +to develop astronomical data-reduction tasks (known as recipes). These +data-reduction tasks can then be executed manually by a user, or can be +triggered in an automated data-reduction framework (known as pipelines) which +are used at @acronym{ESO, European Southern Observatory} to monitor the health +status of @acronym{VLT, Very Large Telescope} instruments, for quick-look data +processing at the observatory, and the creation of data products available +from the ESO archive facility.") + (license license:gpl2+))) + (define-public erfa (package (name "erfa") @@ -768,6 +818,45 @@ Standards of Fundamental Astronomy} library published by the @acronym{IAU, International Astronomical Union}.") (license license:bsd-3))) +(define-public esorex + (package + (name "esorex") + (version "3.13.10") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.eso.org/pub/dfs/pipelines/libraries/esorex/esorex-" + version ".tar.gz")) + (sha256 + (base32 "1mkxjm2rnmviqfblnr4wwb3simvs7f5dly66qylvdfynvg3gk2d9")))) + (build-system gnu-build-system) + (native-inputs + (list automake + autoconf + libtool + pkg-config + perl)) + (inputs + (list cfitsio + wcslib + cpl)) + (native-search-paths + (list (search-path-specification + (variable "ESOREX_PLUGIN_DIR") + (files '("lib/esopipes-plugins"))))) + (home-page "https://www.eso.org/sci/software/cpl/esorex.html") + (synopsis "The European Southern Observatory Recipe Execution Tool") + (description + "EsoRex is the @acronym{European Southern Observatory,ESO} Recipe +Execution Tool. It can list, configure and execute @acronym{Common Pipeline +Library,CPL}-based recipes from the command line.") + ;; Set a rerlease-monitoring-url because the ftp directory includes + ;; prereleases that should not be refreshed to. + (properties `((release-monitoring-url + . "https://www.eso.org/sci/software/cpl/download.html"))) + (license license:gpl2+))) + (define-public eye (package (name "eye") @@ -798,6 +887,82 @@ applications of EyE include adaptive filtering, feature detection and cosmetic corrections.") (license license:cecill))) +(define-public ginga + (package + (name "ginga") + (version "5.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ginga" version)) + (sha256 + (base32 "0wv8fb8p8icsvkh2rn8jcxxx33kgac36gm9xqbgpm2z7z6m4haa7")))) + (build-system pyproject-build-system) + (arguments + (list + ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001 + #:test-flags #~(list "-k" "not test_fwhm") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + ;; Relax matplotlib warning: ... because the default path + ;; (/homeless-shelter/.config/matplotlib) is not a writable + ;; directory ... + (setenv "HOME" "/tmp")))))) + (native-inputs + (list python-attrs + python-pytest-doctestplus + python-pytest-astropy + python-pytest-astropy-header + python-setuptools-next)) + (inputs + (list python-astropy + python-numpy + python-packaging + python-pillow + python-puremagic + python-pyyaml + python-qtpy + ;; [recomended] + opencv + python-astroquery + python-dateutil + python-exif-read + python-matplotlib + python-photutils + python-pillow-heif + python-scipy + ;; [qt6] + python-pyqt-6 + ;; [pyside6] + python-pyside-6 + ;; [tk,web] + python-pycairo + python-tornado)) + (home-page "https://ejeschke.github.io/ginga/") + (synopsis "Scientific image viewer and toolkit for FITS files") + (description + "Ginga is a toolkit designed for building viewers for scientific image +data in Python, visualizing 2D pixel data in numpy arrays. It can view +astronomical data such as contained in files based on the FITS (Flexible Image +Transport System) file format. It is written and is maintained by software +engineers at the National Astronomical Observatory of Japan (NAOJ), the Space +Telescope Science Institute (STScI), and other contributing entities. + +The Ginga toolkit centers around an image display object which supports +zooming and panning, color and intensity mapping, a choice of several +automatic cut levels algorithms and canvases for plotting scalable geometric +forms. In addition to this widget, a general purpose \"reference\" FITS +viewer is provided, based on a plugin framework. A fairly complete set of +standard plugins are provided for features that we expect from a modern FITS +viewer: panning and zooming windows, star catalog access, cuts, star +pick/FWHM, thumbnails, etc.") +(license license:bsd-3))) + +(define-public ginga-qt5 + (deprecated-package "ginga-qt5" ginga)) + (define-public glnemo2 (package (name "glnemo2") @@ -1093,7 +1258,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit, (define-public indi (package (name "indi") - (version "2.1.4") + (version "2.1.5") (source (origin (method git-fetch) @@ -1102,7 +1267,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit, (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18rrp8mp0j126c1v3rpksyjkacq86520qmq4r5bkl78yf9dfxq3i")))) + (base32 "03qr5kvjr9dy8pwppn74mblkjxvm1nksbw2d9xinva8x4lxv8pry")))) (build-system cmake-build-system) (arguments (list @@ -1714,20 +1879,22 @@ model-fitting photometry or morphological analyses.") #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) #:phases #~(modify-phases %standard-phases + ;; It fails to check SunPy's optional inputs versions. + (delete 'sanity-check) (add-before 'check 'set-home (lambda _ ;; E PermissionError: [Errno 13] Permission denied: ;; '/homeless-shelter' (setenv "HOME" "/tmp")))))) (native-inputs - (list python-pytest + (list nss-certs-for-test + python-pytest python-pytest-astropy python-pytest-cov python-pytest-doctestplus python-pytest-xdist - python-setuptools - python-setuptools-scm-next - python-wheel)) + python-setuptools-next + python-setuptools-scm-next)) (propagated-inputs (list python-sunpy)) (home-page "https://aia.lmsal.com/") @@ -1805,13 +1972,13 @@ Main features: (define-public python-asdf (package (name "python-asdf") - (version "4.3.0") + (version "4.4.0") (source (origin (method url-fetch) (uri (pypi-uri "asdf" version)) (sha256 - (base32 "0z88vzk3z9cdfafv8rbw4l6kz6panxamd21zafs6hj0w3zxpa7cn")))) + (base32 "0gincjs1vn6wxryazbkgmxy45cn1azb2yphj7nwg05yjwccn257p")))) (build-system pyproject-build-system) (arguments (list @@ -1870,8 +2037,21 @@ implementation of the ASDF Standard.") (build-system pyproject-build-system) (arguments (list + ;; tests: 4419 passed, 1 skipped #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count))) + #~(list "--numprocesses" (number->string (parallel-job-count)) + "-k" (string-join + ;; AttributeError: 'AsdfFile' object has no attribute + ;; '_open_impl' + (list "not test_legacy_icrs_deseialize" + "test_read_examples[example0]" + "test_read_examples[example1]" + "test_read_examples[example2]" + "test_read_examples[example3]" + "test_read_examples[example4]" + "test_read_examples[example5]" + "test_read_examples[example6]") + " and not ")) #:phases #~(modify-phases %standard-phases (add-before 'check 'set-home-env @@ -1889,7 +2069,7 @@ implementation of the ASDF Standard.") python-asdf-coordinates-schemas python-asdf-standard python-asdf-transform-schemas - python-astropy + python-astropy-minimal python-numpy python-packaging)) (home-page "https://github.com/astropy/asdf-astropy") @@ -2425,13 +2605,13 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.) (define-public python-astropy (package (name "python-astropy") - (version "7.0.1") + (version "7.1.0") (source (origin (method url-fetch) (uri (pypi-uri "astropy" version)) (sha256 - (base32 "0q74735xzrvxxpjv3sa8w68sfnziw1jilr70qba7qhxj8fsfwbrr")) + (base32 "1iakikzhw173djb2p24229ndpvzpbcanyg9h4k7viccm48r59wn8")) (modules '((guix build utils))) (snippet '(begin @@ -2447,6 +2627,7 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.) (build-system pyproject-build-system) (arguments (list + ;; tests: 29347 passed, 373 skipped, 233 xfailed, 32 warnings #:test-flags #~(list "--pyargs" "astropy" ;; XXX: Tests are not thread save when they are more than 8. @@ -2486,37 +2667,56 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.) pkg-config python-cython-3 python-extension-helpers - python-ipython python-objgraph - python-pandas python-pytest python-pytest-astropy python-pytest-astropy-header - python-pytest-mpl + python-pytest-doctestplus python-pytest-xdist - python-scikit-image - python-setuptools - python-setuptools-scm + python-setuptools-scm-next python-sgp4 python-skyfield - python-threadpoolctl - python-timezonefinder - python-wheel)) + python-threadpoolctl)) (inputs - (list expat wcslib)) + (list expat + wcslib)) (propagated-inputs (list python-astropy-iers-data - python-configobj - python-h5py - python-jplephem - python-matplotlib + python-configobj ;to replace custom module python-numpy python-packaging - python-ply - python-pyarrow + python-ply ;to replace custom module python-pyerfa python-pyyaml - python-scipy)) + ;; [recommended] + python-matplotlib + python-scipy + ;; [jupyter] + ;; python-ipydatagrid ;no packaged + python-ipykernel + python-ipython + python-ipywidgets + python-jupyter-core + python-pandas + ;; [optional] + python-asdf + python-asdf-astropy + python-beautifulsoup4 + python-bleach + python-bottleneck + python-certifi + python-dask + python-fsspec + python-h5py + python-html5lib + python-jplephem + python-mpmath + python-pandas + python-pyarrow + python-pytz + python-s3fs + python-sortedcontainers + python-uncompresspy)) (home-page "https://www.astropy.org/") (synopsis "Core package for Astronomy in Python") (description @@ -2586,13 +2786,13 @@ astronomy and astrophysics.") (define-public python-astropy-iers-data (package (name "python-astropy-iers-data") - (version "0.2025.7.21.0.41.39") + (version "0.2025.8.18.0.40.14") (source (origin (method url-fetch) (uri (pypi-uri "astropy_iers_data" version)) (sha256 - (base32 "14qa0h3jx5iawmb0cpwak1wna0jhjsi18zm4wmdicyb9kly7b0p4")))) + (base32 "1srqhva7snjaygfji4947q4lxhdqph1l97lxjvk4s8ls5w32yrhc")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) ; no tests @@ -2627,13 +2827,15 @@ celestial-to-terrestrial coordinate transformations.") pkg-config python-cython-3 python-extension-helpers - python-setuptools - python-setuptools-scm - python-wheel)) + python-setuptools-scm-next)) (propagated-inputs - (modify-inputs (package-propagated-inputs python-astropy) - (delete python-matplotlib - python-scipy))))) + (list python-astropy-iers-data + python-configobj ;to replace custom module + python-numpy + python-packaging + python-ply ;to replace custom module + python-pyerfa + python-pyyaml)))) (define-public python-astroquery (package @@ -2780,44 +2982,32 @@ aim of simplifying and streamlining data conversion and standardization.") (define-public python-bayesicfitting (package (name "python-bayesicfitting") - (version "3.2.3") + (version "3.2.4") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/dokester/BayesicFitting") - (commit (string-append "v" version)))) + (url "https://github.com/dokester/BayesicFitting") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q7s7glf4b46vln67x7ggbpkbi4anyh3f3ldwafc2hggsrmx683q")))) + (base32 "1fdxrmcbjfpvz1czmvq4kz2scdiw77kyzsgv6c0isijk1hckgcik")))) (build-system pyproject-build-system) (arguments (list + ;; XXX: To run full tests suite is quite expansive, select the one which + ;; is mentioned in <BayesicFitting/test/testall.csh>. #:test-flags #~(list "-m" "unittest" "discover" - "-p" "Test*.py" + "-p" "TestUserModel.py" "--top-level-directory" ".") #:phases #~(modify-phases %standard-phases - ;; XXX: Some tests fail for some reason. Disable those tests for now. - (add-before 'check 'disable-failing-tests - (lambda _ - (substitute* "BayesicFitting/test/TestNestedSampler.py" - ;; Fails with "AssertionError: False is not true". - (("def test3") - "def _test3") - ;; Fails with "Thread Error" exception. - (("def test1") - "def _test1")) - (substitute* "BayesicFitting/test/TestPhantomSampler.py" - ;; Fails with "Thread Error" exception. - (("def test1") - "def _test1")))) (replace 'check (lambda* (#:key tests? test-flags #:allow-other-keys) (when tests? - (chdir "BayesicFitting/test") - (apply invoke "python" test-flags))))))) + (with-directory-excursion "BayesicFitting/test" + (apply invoke "python" test-flags)))))))) (native-inputs (list python-setuptools python-wheel)) @@ -2827,7 +3017,7 @@ aim of simplifying and streamlining data conversion and standardization.") python-matplotlib python-numpy python-scipy)) - (home-page "https://www.bayesicfitting.nl") + (home-page "https://dokester.github.io/BayesicFitting/") (synopsis "Python Toolbox for Astronimical Bayesian fitting") (description "The BayesicFitting package is a python version of the the fitter classes @@ -3012,7 +3202,7 @@ bad pixel tracking throughout the reduction process.") (define-public python-cdflib (package (name "python-cdflib") - (version "1.3.4") + (version "1.3.6") (source (origin (method git-fetch) ; no tests in PyPI release @@ -3021,7 +3211,7 @@ bad pixel tracking throughout the reduction process.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1j0q0mgs6y5zyf3sjz49msp471kwl1la4rabga5pbyzfwfmxlihj")))) + (base32 "1rlzmwnlz77n8c62h050jc2njy10bfby671p3w7y6r6y6642xrdi")))) (build-system pyproject-build-system) (arguments (list #:phases @@ -3037,16 +3227,17 @@ bad pixel tracking throughout the reduction process.") python-pytest python-pytest-cov python-pytest-remotedata - python-setuptools + python-setuptools-next python-setuptools-scm - python-wheel python-xarray)) (propagated-inputs (list python-numpy)) (home-page "https://github.com/MAVENSDC/cdflib") (synopsis "Python library to deal with NASA's CDF astronmical data format") - (description "This package provides a Python @acronym{CDF, Computable -Document Format} reader toolkit. + (description + "This package provides a Python @acronym{CDF, Computable Document Format} +reader toolkit. + It provides the following functionality: @itemize @item Ability to read variables and attributes from CDF files @@ -3464,7 +3655,7 @@ files and provide related services.") (define-public python-czml3 (package (name "python-czml3") - (version "2.3.5") + (version "2.3.6") (source (origin (method git-fetch) @@ -3475,7 +3666,7 @@ files and provide related services.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1c2nw1rdllla76z8gkfv2a1dqc302cayhhkqn3xn4b0vgsn1z1k2")))) + (base32 "1b8zsbixa0n1zqjs497i0f3v7fr0vgj7jxqdsiqg0g5l66gq0c4f")))) (build-system pyproject-build-system) (native-inputs (list python-pytest @@ -3499,13 +3690,13 @@ Cesium.") (define-public python-dkist (package (name "python-dkist") - (version "1.14.0") + (version "1.15.0") (source (origin (method url-fetch) (uri (pypi-uri "dkist" version)) (sha256 - (base32 "061hgrg69cpnn2j6gaivjbkxwiz6rpmyf6igxq58h82g4r7yl6ya")))) + (base32 "0j5jxf624s746syam472k2xz3m77p66z9d7c8rz19f0xv3792xql")))) (build-system pyproject-build-system) (arguments (list @@ -3515,6 +3706,8 @@ Cesium.") "--deselect=dkist/net/tests/test_client.py::test_fetch_with_headers") #:phases #~(modify-phases %standard-phases + ;; XXX: It fails to check SunPy's optional inputs versions. + (delete 'sanity-check) (add-before 'check 'pre-check (lambda _ (setenv "HOME" "/tmp")))))) @@ -3532,12 +3725,16 @@ Cesium.") python-pytest-mpl python-pytest-remotedata python-pytest-xdist - python-setuptools - python-setuptools-scm-next - python-wheel)) + python-setuptools-next + python-setuptools-scm-next)) (propagated-inputs (list python-aiohttp python-asdf + python-asdf-astropy + python-asdf-coordinates-schemas + python-asdf-standard + python-asdf-transform-schemas + python-asdf-wcs-schemas python-astropy python-dask python-globus-sdk @@ -3545,6 +3742,7 @@ Cesium.") python-matplotlib python-ndcube python-numpy + python-packaging python-parfive python-platformdirs python-sunpy @@ -3559,7 +3757,7 @@ help you search, obtain and use DKIST data as part of your Python software.") (define-public python-drizzle (package (name "python-drizzle") - (version "2.1.0") + (version "2.1.1") (source (origin (method git-fetch) ;no test data in PyPI archive @@ -3568,7 +3766,7 @@ help you search, obtain and use DKIST data as part of your Python software.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1adp5bhzgrw0csn5wvpij7hzm5wh3zr4nkvpq0a8lb93ifk6k5gh")))) + (base32 "0s2vydy3fp6hvlzxdhx6my4js3vc7vpvy3hpgj4kjkl0r47s9vpx")))) (build-system pyproject-build-system) (arguments (list @@ -3586,8 +3784,7 @@ help you search, obtain and use DKIST data as part of your Python software.") python-gwcs python-pytest python-setuptools-next - python-setuptools-scm - python-wheel)) + python-setuptools-scm)) (propagated-inputs (list python-numpy)) (home-page "https://github.com/spacetelescope/drizzle") @@ -3701,19 +3898,21 @@ used with local NetDRMS sites.") (define-public python-dust-extinction (package (name "python-dust-extinction") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (pypi-uri "dust_extinction" version)) (sha256 - (base32 "0f0g6gh4kj83xfv0cdp30dahs80pnhsj7c6ryz3f59qf6d5zqard")))) + (base32 "01iap2k49izn53v23kwkkpr5j5xhgk79xlwx6cb6h5ng29274nq5")))) (build-system pyproject-build-system) (native-inputs - (list python-pytest-astropy - python-wheel)) + (list python-pytest + python-pytest-doctestplus + python-setuptools-next)) (propagated-inputs - (list python-astropy python-scipy)) + (list python-astropy + python-scipy)) (home-page "http://dust-extinction.readthedocs.io/") (synopsis "Interstellar Dust Extinction Models") (description @@ -3721,6 +3920,49 @@ used with local NetDRMS sites.") implemented using the astropy.modeling framework.") (license license:bsd-3))) +(define-public python-edps + (package + (name "python-edps") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.eso.org/pub/dfs/pipelines/libraries/edps/edps-" + version ".tar.gz")) + (sha256 + (base32 "0wigb3ni663a8fp9wdsnlbg789y2898j3x523isb68mnq72fqblw")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #f)) ;no tests in tarball + (native-inputs + (list python-pytest + python-setuptools-next)) + (propagated-inputs + (list python-astropy + python-fastapi + python-networkx + python-pyyaml + python-requests + python-uvicorn + python-tinydb + python-frozendict + python-jinja2 + python-pydantic-2 + python-psutil)) + (home-page "https://www.eso.org/sci/software/edps.html") + (synopsis "ESO's Data Processing System") + (description + "@acronym{European Southern Observatory Data Processing System EDPS} is a +system to automatically organise data from ESO instruments for pipeline +processing and running the pipeline on these data. It is used for quality +control at ESO. The current public release is a beta version without a GUI. +A GUI is being developed and the system is meant to eventually replace the +older EsoReflex environment.") + (properties '((upstream-name . "edps"))) + (license license:bsd-3))) + (define-public python-ephem (package (name "python-ephem") @@ -3780,7 +4022,7 @@ tools for astronomers.") (define-public python-extinction (package (name "python-extinction") - (version "0.4.7") + (version "0.4.8") (source (origin (method git-fetch) ; No tests in PyPI @@ -3789,7 +4031,7 @@ tools for astronomers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04k9mfbijf2nwzhh9sxpkswxk7077d7gbc6nq4hjb51h8rslcjg2")))) + (base32 "1dcb4c1rjv0msb3kagpgrj2xlb5spv8j76giy14vxkvz33lm4pz7")))) (build-system pyproject-build-system) (arguments (list @@ -3797,8 +4039,7 @@ tools for astronomers.") (native-inputs (list python-cython python-pytest - python-setuptools - python-wheel)) + python-setuptools-next)) (propagated-inputs (list python-numpy)) (home-page "https://github.com/sncosmo/extinction") @@ -3943,79 +4184,17 @@ Python.") (license license:bsd-2))) (define-public python-ginga - (package + (package/inherit ginga (name "python-ginga") - (version "5.3.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "ginga" version)) - (sha256 - (base32 "04ag7v2srpl0scd3x27bbzkpfih98rrxhqvrsxy03l84g3zzrj6k")))) - (build-system pyproject-build-system) - (arguments - (list - ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001 - #:test-flags #~(list "-k" "not test_fwhm") - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'set-home - (lambda _ - ;; Relax matplotlib warning: ... because the default path - ;; (/homeless-shelter/.config/matplotlib) is not a writable - ;; directory ... - (setenv "HOME" "/tmp")))))) - (native-inputs - (list python-attrs - python-docutils - python-pytest-astropy - python-pytest-astropy-header - python-tornado)) + (inputs '()) (propagated-inputs - (list opencv - python-astropy - python-astroquery - python-dateutil - python-exif-read - python-fitsio - python-magic - python-matplotlib + (list python-astropy python-numpy python-packaging - python-photutils python-pillow python-puremagic python-pyyaml - python-qtpy - python-scipy - python-tomli)) - (home-page "https://ejeschke.github.io/ginga/") - (synopsis "Scientific image viewer and toolkit for FITS files") - (description - "Ginga is a toolkit designed for building viewers for scientific image -data in Python, visualizing 2D pixel data in numpy arrays. It can view -astronomical data such as contained in files based on the FITS (Flexible Image -Transport System) file format. It is written and is maintained by software -engineers at the National Astronomical Observatory of Japan (NAOJ), the Space -Telescope Science Institute (STScI), and other contributing entities. - -The Ginga toolkit centers around an image display object which supports -zooming and panning, color and intensity mapping, a choice of several -automatic cut levels algorithms and canvases for plotting scalable geometric -forms. In addition to this widget, a general purpose \"reference\" FITS -viewer is provided, based on a plugin framework. A fairly complete set of -standard plugins are provided for features that we expect from a modern FITS -viewer: panning and zooming windows, star catalog access, cuts, star -pick/FWHM, thumbnails, etc.") -(license license:bsd-3))) - -(define-public ginga-qt5 - (package/inherit python-ginga - (name "ginga-qt5") - (inputs - (modify-inputs (package-inputs python-ginga) - (prepend python-pyqt))) - (synopsis "Qt5 image viewer build based on python-ginga library"))) + python-qtpy)))) (define-public python-glue-astronomy (package @@ -4064,19 +4243,19 @@ astronomy-specific functionality") (define-public python-glue-core (package (name "python-glue-core") - (version "1.22.2") + (version "1.23.0") (source (origin (method url-fetch) (uri (pypi-uri "glue_core" version)) (sha256 - (base32 "0abv3snac3i78mc3ai29hbpamfqhig5ldlb9jpnn4sxpm2p7s5rc")))) + (base32 "0g79gw6ffz4bsby5kazv9a1mbrwa6b75kkal2bi2wjwz855nqsh6")))) (build-system pyproject-build-system) (native-inputs (list python-pytest python-pytest-mpl - python-setuptools-scm - python-wheel)) + python-setuptools-next + python-setuptools-scm-next)) (propagated-inputs (list python-astrodendro python-astropy @@ -4107,16 +4286,16 @@ across many files.") (define-public python-glue-qt (package (name "python-glue-qt") - (version "0.3.3") + (version "0.4.0") (source (origin (method git-fetch) ; no fresh release PyPI (uri (git-reference - (url "https://github.com/glue-viz/glue-qt") - (commit (string-append "v" version)))) + (url "https://github.com/glue-viz/glue-qt") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14qzxszpzjz57bl75ybj8jlx73cd8lsgbb8id9gx4anq9sydzgqj")))) + (base32 "1ay0y0g2vgy2mn1dk9yxim0449lnny9fd7lplqqwy9vxhkh4gnxp")))) (build-system pyproject-build-system) (arguments (list @@ -4125,17 +4304,16 @@ across many files.") (add-before 'build 'set-env-version (lambda _ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) - (add-before 'check 'prepare-x - (lambda _ - (system "Xvfb &") - (setenv "DISPLAY" ":0") - (setenv "HOME" "/tmp")))))) + (add-before 'check 'prepare-x + (lambda _ + (system "Xvfb &") + (setenv "DISPLAY" ":0") + (setenv "HOME" "/tmp")))))) (native-inputs (list python-objgraph python-pytest - python-setuptools - python-setuptools-scm - python-wheel + python-setuptools-next + python-setuptools-scm-next xorg-server-for-tests)) (propagated-inputs (list python-astropy @@ -4234,16 +4412,21 @@ specifically pulsar timing array signals.") (define-public python-gwcs (package (name "python-gwcs") - (version "0.25.1") + (version "0.25.2") (source (origin (method url-fetch) (uri (pypi-uri "gwcs" version)) (sha256 - (base32 "0zr2mmad7qk1almw3kc3xqdhfkxbjg7yfc5a9cif4l0m8r11gr0x")))) + (base32 "12hs7qa03blpxp2i97n3wckvih7zcmpm4k4ia0p3hird49qq7l44")))) (build-system pyproject-build-system) (arguments (list + ;; tests: 1021 passed, 10 skipped, 1 deselected, 9 warnings + #:test-flags + ;; XXX: This is worth checking out more closely: + ;; Not equal to tolerance rtol=1e-07, atol=0. + #~(list "-k" "not test_fitswcs_imaging[fits_wcs_imaging_simple2]") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-requirements @@ -4254,10 +4437,8 @@ specifically pulsar timing array signals.") (native-inputs (list python-pytest python-pytest-astropy - python-pyyaml python-setuptools-next - python-setuptools-scm-next - python-wheel)) + python-setuptools-scm-next)) (propagated-inputs (list python-asdf python-asdf-astropy @@ -4453,7 +4634,7 @@ scheme and builds with the HEALPix C++ library.") python-setuptools python-wheel)) (propagated-inputs - (list python-astropy + (list python-astropy-6 python-emcee python-h5py python-lenstronomy @@ -4555,17 +4736,18 @@ observationally-derived galaxy merger catalogs.") (define-public python-irispy-lmsal (package (name "python-irispy-lmsal") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (pypi-uri "irispy_lmsal" version)) (sha256 - (base32 "0pqwgg89qq75nz7201535ixkcjqbqbdv3qmhcig2h2ah9fpcfpyy")))) + (base32 "037ip97kb5sq98shgw4d1c5x7lpbzksampfw7d97x59zbvbmvwhn")))) (build-system pyproject-build-system) (arguments (list #:test-flags + ;; See: <https://github.com/LM-SAL/irispy-lmsal/issues/83>. ;; Expected: ;; np.float64(0.33) ;; Got: @@ -4573,6 +4755,8 @@ observationally-derived galaxy merger catalogs.") #~(list "--deselect=irispy/obsid.py::irispy.obsid.ObsID") #:phases #~(modify-phases %standard-phases + ;; XXX: It fails to check SunPy's optional inputs versions. + (delete 'sanity-check) (add-before 'check 'set-home (lambda _ ;; E PermissionError: [Errno 13] Permission denied: @@ -4580,10 +4764,10 @@ observationally-derived galaxy merger catalogs.") (setenv "HOME" "/tmp")))))) (native-inputs (list ffmpeg + python-pooch python-pytest-astropy - python-setuptools - python-setuptools-scm - python-wheel)) + python-setuptools-next + python-setuptools-scm)) (propagated-inputs (list python-dkist python-mpl-animators @@ -4670,6 +4854,8 @@ milliarcsecond).") (substitute* "pyproject.toml" ;; drizzle>=2.0.1,<2.1.0 ((">=2.0.1,<2.1.0") ">=2.0.1") + ;; stcal>=1.14.1,<1.15.0 + ((">=1.14.1,<1.15.0") "") ;; scipy>=1.14.1 (("1.14.1") "1.12.0") ;; XXX: Can't detect opencv-python version. The input opencv @@ -4894,6 +5080,7 @@ astronomical tables (build-system pyproject-build-system) (arguments (list + ;; tests: 1338 passed, 350 warnings #:test-flags #~(list "--numprocesses" (number->string (parallel-job-count)) ;; TypeError: SparseSolverBase.__init__() got an @@ -4922,9 +5109,14 @@ astronomical tables ;; TypeError: SLIT_Starlets.function_2d() got an ;; unexpected keyword argument 'n_pix_x' "test_pixelbased_modelling" - ;; AssertionError: Arrays are not almost equal to 1 - ;; decimals ACTUAL: 0.8382375738251702 - "test_run_fit") + ;; XXX: These are precision errors in tests which + ;; need to be checked properly: AssertionError: + ;; Arrays are not almost equal ... + "test_run_fit" + "test_multiplane" + ;; ModuleNotFoundError: No module named + ;; 'astropy.cosmology._utils' + "test_short_and_laconic") " and not ")))) (native-inputs (list python-colossus @@ -5267,7 +5459,7 @@ Carlo.") (build-system pyproject-build-system) (arguments (list - ;; 393 passed, 7 skipped, 31 deselected, 10 xfailed + ;; tests: 393 passed, 7 skipped, 10 xfailed #:test-flags #~(list "--numprocesses" (number->string (parallel-job-count)) "-k" (string-join @@ -5296,7 +5488,8 @@ Carlo.") ;; Permission denied: '/homeless-shelter' (setenv "HOME" "/tmp")))))) (native-inputs - (list python-dask + (list nss-certs-for-test + python-dask python-pytest python-pytest-astropy python-pytest-mpl @@ -5437,7 +5630,7 @@ of astronomical sources.") (define-public python-pint-pulsar (package (name "python-pint-pulsar") - (version "1.1.3") + (version "1.1.4") (source (origin (method git-fetch) ; no tests data in the PyPI tarball @@ -5446,7 +5639,7 @@ of astronomical sources.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0n66z7v30q1981hx4q5vy3mibrh453gak8dd938038r5mwddya3f")))) + (base32 "0522p1gns52vzgj1l89s1s3idi40910hv4dpbhy4r1ijmwfb3kdg")))) (build-system pyproject-build-system) (arguments (list @@ -5662,6 +5855,39 @@ position-frequency slice.") (list python-setuptools python-wheel))))) +(define-public python-pycpl + (package + (name "python-pycpl") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.eso.org/pub/dfs/pipelines/libraries/pycpl/pycpl-" + version ".tar.gz")) + (sha256 + (base32 "0kfzx4k8z2k0ms6q8f16wqr120drd8fqrw9qpnks419pyc8cr5xp")))) + (build-system pyproject-build-system) + (native-inputs + (list cmake-minimal + pybind11 + python-pandas + python-pytest + python-scipy + python-setuptools-next)) + (inputs + (list cpl)) + (propagated-inputs + (list python-astropy)) + (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/") + (synopsis "Python bindings for ESO's CPL") + (description + "PyCPL provides Python3 language bindings for the complete programming +API of the @acronym{European Southern Observatory, ESO} @acronym{Common +Pipeline Library, CPL} toolkit, including the CPL plugin interface.") + (properties '((upstream-name . "pycpl"))) + (license license:bsd-3))) + (define-public python-pyerfa (package (name "python-pyerfa") @@ -5712,21 +5938,54 @@ 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-pyesorex + (package + (name "python-pyesorex") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.eso.org/pub/dfs/pipelines/libraries/pyesorex/pyesorex-" + version ".tar.gz")) + (sha256 + (base32 "1ynb9q9aj51mdva1b76fkz7mlw5q8nlfs8f5f70bhila8iincjca")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools-next)) + (propagated-inputs + (list python-pycpl)) + (native-search-paths + (list (search-path-specification + (variable "PYESOREX_PLUGIN_DIR") + (files '("lib/esopipes-plugins"))))) + (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/") + (synopsis "Alternative Python CLI for ESO's Rex") + (description + "PyEsoRex is a command line tool which can serve as a drop-in replacement +of EsoRex, which can execute both, existing pipeline recipes implemented using +the @acronym{Common Pipeline Library, CPL} C API, and recipes implemented +using the PyCPL Python API.") + (properties '((upstream-name . "pyesorex"))) + (license license:bsd-3))) + (define-public python-pyhalo (package (name "python-pyhalo") - (version "1.4.1") + (version "1.4.3") (source (origin (method url-fetch) (uri (pypi-uri "pyhalo" version)) (sha256 - (base32 "06zdcr82fzzn6zkjralmv9qv7qjyjkni1p1rg60bvl8h013v3xp6")))) + (base32 "1yh5acjiwkfm4sjiydksg9187k3lwsads1p9zy0ck7wb6jwxrj81")))) (build-system pyproject-build-system) (arguments (list - ;; ValueError: The truth value of an array with more than one element is - ;; ambiguous. Use a.any() or a.all() + ;; tests: 194 passed, 3 deselected, 119 warnings + ;; ValueError: The truth value of an array with more than one element + ;; is ambiguous. Use a.any() or a.all() #:test-flags #~(list "-k" "not test_vmax") #:phases #~(modify-phases %standard-phases @@ -6060,6 +6319,8 @@ end products of specific X-ray observatories.") #~(list "--numprocesses" (number->string (parallel-job-count))) #:phases #~(modify-phases %standard-phases + ;; XXX: It fails to check SunPy's optional inputs versions. + (delete 'sanity-check) (add-before 'check 'set-home-env (lambda _ ;; Tests require HOME to be set. @@ -6120,102 +6381,103 @@ PSF} describing how the optical system spreads light from sources.") (license license:expat))) (define-public python-romancal - ;; The compatible version is not released yet, use the latest commit. - (let ((commit "ae864a407fc16001d3a0370779caa381f994f718") - (revision "0")) - (package - (name "python-romancal") - (version (git-version "0.19.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/spacetelescope/romancal") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0dxgwy6qva8ss7xb6hlkck6kysikgmn0byprvj4kx1l82gm1sk0g")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--color=no" - "--numprocesses" (number->string (min 8 (parallel-job-count))) - ;; XXX: Tests requiring network access or additional setup, - ;; check how to run them locally. - "--ignore=romancal/assign_wcs/tests/test_wcs.py" - "--ignore=romancal/dark_current/tests/test_dark.py" - "--ignore=romancal/dq_init/tests/test_dq_init.py" - "--ignore=romancal/flatfield/tests/test_flatfield.py" - "--ignore=romancal/flux/tests/test_flux_step.py" - "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py" - "--ignore=romancal/linearity/tests/test_linearity.py" - "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py" - "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py" - "--ignore=romancal/photom/tests/test_photom.py" - "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py" - "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py" - "--ignore=romancal/refpix/tests/test_step.py" - "--ignore=romancal/resample/tests/test_resample.py" - "--ignore=romancal/saturation/tests/test_saturation.py" - "--ignore=romancal/skycell/tests/test_skycell.py" - "--ignore=romancal/skycell/tests/test_skycell_match.py" - "--ignore=romancal/skymatch/tests/test_skymatch.py" - "--ignore=romancal/source_catalog/tests/test_psf.py" - "--ignore=romancal/source_catalog/tests/test_source_catalog.py" - "--ignore=romancal/stpipe/tests/test_core.py" - "--ignore=romancal/tweakreg/tests/test_tweakreg.py") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - ;; XXX: scipy >=1.14.1 - ((" >=1.14.1") "")))) - (add-before 'build 'set-version - (lambda _ - (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" - #$(version-major+minor+point version))))))) - (native-inputs - (list nss-certs-for-test - python-ci-watson - python-deepdiff - ;; python-edp ;not packaged - python-pytest - python-pytest-astropy - python-pytest-xdist - python-setuptools-next - python-setuptools-scm - python-stpreview - python-wheel)) - (propagated-inputs - (list python-asdf - python-asdf-astropy - python-astropy - python-crds - python-drizzle - python-gwcs - python-jsonschema - python-numpy - python-pandas - python-photutils - python-pyarrow - python-pyparsing - python-requests - python-roman-datamodels - python-scipy - python-spherical-geometry - python-stcal - python-stpipe - python-stpsf - python-stsci-imagestats - python-tweakwcs)) - (home-page "https://github.com/spacetelescope/romancal") - (synopsis "Nancy Grace Roman Space Telescope observations processing library") - (description - "This package implements a functionality for calibration of science + (package + (name "python-romancal") + (version "0.20.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spacetelescope/romancal") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16aa8ylq6281k1z3yz0lzbw0ca9l7fgci1s14jqd9ymcmssnf4q4")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--color=no" + "--numprocesses" (number->string (min 8 (parallel-job-count))) + ;; XXX: Tests requiring network access or additional setup, + ;; check how to run them locally. + "--ignore=romancal/assign_wcs/tests/test_wcs.py" + "--ignore=romancal/dark_current/tests/test_dark.py" + "--ignore=romancal/dq_init/tests/test_dq_init.py" + "--ignore=romancal/flatfield/tests/test_flatfield.py" + "--ignore=romancal/flux/tests/test_flux_step.py" + "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py" + "--ignore=romancal/linearity/tests/test_linearity.py" + "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py" + "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py" + "--ignore=romancal/photom/tests/test_photom.py" + "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py" + "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py" + "--ignore=romancal/refpix/tests/test_step.py" + "--ignore=romancal/resample/tests/test_resample.py" + "--ignore=romancal/saturation/tests/test_saturation.py" + "--ignore=romancal/skycell/tests/test_skycell.py" + "--ignore=romancal/skycell/tests/test_skycell_match.py" + "--ignore=romancal/skymatch/tests/test_skymatch.py" + "--ignore=romancal/source_catalog/tests/test_psf.py" + "--ignore=romancal/source_catalog/tests/test_source_catalog.py" + "--ignore=romancal/stpipe/tests/test_core.py" + "--ignore=romancal/tweakreg/tests/test_tweakreg.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + ;; XXX: scipy >=1.14.1 + ((" >=1.14.1") "") + (("stsci.imagestats >= 1.8.3") + ;; Cant' find the version even if it's added. + "stsci.imagestats")))) + (add-before 'build 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" + #$(version-major+minor+point version))))))) + (native-inputs + (list nss-certs-for-test + python-ci-watson + python-deepdiff + ;; python-edp ;not packaged + python-pytest + python-pytest-astropy + python-pytest-xdist + python-setuptools-next + python-setuptools-scm + python-stpreview)) + (propagated-inputs + (list python-asdf + python-asdf-astropy + python-astropy + python-crds + python-drizzle + python-gwcs + python-jsonschema + python-numpy + python-pandas + python-photutils + python-pyarrow + python-requests + python-roman-datamodels + python-scipy + python-spherical-geometry + python-stcal + python-stpipe + python-stsci-imagestats + python-tweakwcs + ;; [sdp] + python-pysiaf + ;; python-roman-photoz ;not packaged + python-stpreview)) + (home-page "https://github.com/spacetelescope/romancal") + (synopsis "Nancy Grace Roman Space Telescope observations processing library") + (description + "This package implements a functionality for calibration of science observations from the Nancy Grace Roman Space Telescope.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public python-sbpy (package @@ -6341,17 +6603,24 @@ library with bug fixtures.") (define-public python-sgp4 (package (name "python-sgp4") - (version "2.24") + (version "2.25") (source (origin (method url-fetch) (uri (pypi-uri "sgp4" version)) (sha256 - (base32 "0ll3gxjf697llh6nvisxnj2h4hl23nq1m24ymsykz8kf4ygj8man")))) + (base32 "0x06mxdmk2rsbp7ymjvvbj8pwkf4y2w6g8p0znw9zmi5rinxr7p1")))) (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "sgp4.tests"))))))) (native-inputs - (list python-setuptools - python-wheel)) + (list python-setuptools-next)) (propagated-inputs (list python-numpy)) (home-page "https://github.com/brandon-rhodes/python-sgp4") @@ -6702,13 +6971,13 @@ but has evolved to support other missions as well.") (define-public python-space-dolphin (package (name "python-space-dolphin") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (pypi-uri "space_dolphin" version)) (sha256 - (base32 "0qxpb6ss0w4f6mnisri3i3a5g5dfa12a7iimdchzqql7r53x7xiq")))) + (base32 "0qsdaqbdf51ai54w4d483bf9kxjjcsr5fiqs861z7k7s7zrjms0r")))) (build-system pyproject-build-system) (arguments (list @@ -7149,13 +7418,13 @@ of axis order, spatial projections, and spectral units that exist in the wild. (define-public python-specutils (package (name "python-specutils") - (version "2.0.0") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "specutils" version)) (sha256 - (base32 "0ngq4r7awkbwdbi7a8isj6iw66xk3s26yjp0c0qvl6wvf9hby59r")))) + (base32 "02yf0s0qcwhj7qn0l3glvdlap4pr15s4hm2ki14py2k5sfv8j0ab")))) (build-system pyproject-build-system) (arguments (list @@ -7187,10 +7456,9 @@ of axis order, spatial projections, and spectral units that exist in the wild. (native-inputs (list python-matplotlib python-pytest-astropy - python-setuptools + python-setuptools-next python-setuptools-scm - python-spectral-cube - python-wheel)) + python-spectral-cube)) (propagated-inputs (list python-asdf python-asdf-astropy @@ -7377,13 +7645,13 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.") (define-public python-stcal (package (name "python-stcal") - (version "1.14.1") + (version "1.15.0") (source (origin (method url-fetch) (uri (pypi-uri "stcal" version)) (sha256 - (base32 "1y3w1nlb4f56f9w7ql1al35mj2xv53cagrnpqknl1kh6r6qg7pqj")))) + (base32 "0q27dw3gsv03kik63rclpg0si8qb2k7l8lhszi2b1948kb0spwnn")))) (build-system pyproject-build-system) (arguments (list @@ -7900,13 +8168,13 @@ implementation package such as asdf-astropy.") (define-public python-rad (package (name "python-rad") - (version "0.26.0") + (version "0.27.0") (source (origin (method url-fetch) (uri (pypi-uri "rad" version)) (sha256 - (base32 "0vxkjsj9bdl84076lbric4jn531jv46i2wwfxak50i5mik8r7zjg")))) + (base32 "04vzqkcw6la5n2jw92khmqnizs2nf5vb27nknn3c6wj1jwfwl6bv")))) (build-system pyproject-build-system) (arguments (list @@ -7925,8 +8193,7 @@ implementation package such as asdf-astropy.") python-pytest-doctestplus python-semantic-version python-setuptools-next - python-setuptools-scm - python-wheel)) + python-setuptools-scm)) (propagated-inputs (list python-asdf python-asdf-astropy)) @@ -8023,16 +8290,17 @@ channels (define-public python-roman-datamodels (package (name "python-roman-datamodels") - (version "0.26.0") + (version "0.27.0") (source (origin (method url-fetch) (uri (pypi-uri "roman_datamodels" version)) (sha256 - (base32 "0kiv139q6q3pjlalb16nqcyib8hmd9svr4y24s7g0as08x09d7zl")))) + (base32 "1631jpv7mcrcka6bfxp04ih43wlm9pmqsqxckqyv6y9jgsipjxy3")))) (build-system pyproject-build-system) (arguments (list + ;; tests: 4185 passed, 1 skipped, 1 xfailed #:test-flags #~(list "--numprocesses" (number->string (parallel-job-count))) #:phases @@ -8141,20 +8409,19 @@ task}.") (define-public python-stsci-skypac (package (name "python-stsci-skypac") - (version "1.0.10") + (version "1.0.11") (source (origin (method url-fetch) (uri (pypi-uri "stsci_skypac" version)) (sha256 - (base32 "0amfknfxzrmia0d8x83i9h2v5760ynvfgfs0kzpb1ib0vyaci671")))) + (base32 "1pfgcgcgwvlil4m0v7d6raya70s74knimfh8yn634kapf24xxy1k")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) ; no tests in PyPI or git (native-inputs - (list python-setuptools - python-setuptools-scm-next - python-wheel)) + (list python-setuptools-next + python-setuptools-scm-next)) (propagated-inputs (list python-astropy python-numpy @@ -8379,7 +8646,8 @@ Telescope, HST}).") ;; For tests: Permission denied: '/homeless-shelter' (setenv "HOME" "/tmp")))))) (native-inputs - (list python-dask + (list nss-certs-for-test + python-dask python-pytest-astropy python-pytest-mpl python-pytest-xdist @@ -8422,16 +8690,16 @@ Telescope, HST}).") (lambda _ (setenv "HOME" "/tmp")))))) (native-inputs - (list python-pytest + (list nss-certs-for-test + python-pytest python-pytest-arraydiff python-pytest-doctestplus python-pytest-xdist python-reproject - python-setuptools + python-setuptools-next python-setuptools-scm-next python-streamtracer - python-sympy - python-wheel)) + python-sympy)) (propagated-inputs (list python-astropy python-numpy @@ -8510,23 +8778,30 @@ SunPy.") (define-public python-sunpy (package (name "python-sunpy") - (version "6.1.1") + (version "7.0.1") (source (origin (method url-fetch) (uri (pypi-uri "sunpy" version)) (sha256 - (base32 "1nqk5q4gd7w59zsps8gyzh6r1mmpzia0z5494za6na5vn2qsc2f6")))) + (base32 "1q7z74jf9r65clrq7g6mqqap6455krfp4mxbjs3039jk5gs8d47m")))) (build-system pyproject-build-system) (arguments (list + ;; tests: 2439 passed, 3 xfailed, 35 warnings #:test-flags #~(list "--pyargs" "sunpy" "--numprocesses" (number->string (min 8 (parallel-job-count))) - ;; Test introduces a time bomb and fails with error: ValueError: + "-m" "not remote_data" + ;; [1] Test introduces a time bomb and fails with error: ValueError: ;; interpolating from IERS_Auto using predictive values that are ;; more than 30.0 days old. - "-k" "not test_print_params") + ;; [2,3] Failed: DID NOT RAISE <class 'ModuleNotFoundError'> + "-k" (string-join + (list "not test_print_params" ;1 + "test_main_nonexisting_module" ;2 + "test_main_stdlib_module") ;3 + " and not ")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'remove-test-files @@ -8546,20 +8821,19 @@ SunPy.") (with-directory-excursion "/tmp" (apply invoke "pytest" "-vv" test-flags)))))))) (native-inputs - (list opencv ; For tests, includes OpenCV-Python + (list nss-certs-for-test + opencv ; For tests, includes OpenCV-Python python-aiohttp python-extension-helpers python-hvpy python-jplephem ;; python-mplcairo ; Not packed yet in Guix - python-packaging python-pytest-astropy python-pytest-mock python-pytest-mpl python-pytest-xdist - python-setuptools - python-setuptools-scm-next - python-wheel)) + python-setuptools-next + python-setuptools-scm-next)) (propagated-inputs (list python-asdf python-asdf-astropy @@ -8576,10 +8850,12 @@ SunPy.") python-matplotlib python-mpl-animators python-numpy + python-packaging python-pandas python-parfive python-pyerfa python-reproject + python-requests-next python-scikit-image python-scipy ;; python-spiceypy ; Not packed yet in Guix, long journey. @@ -8610,7 +8886,8 @@ to the SolarSoft data analysis environment.") python-fsspec python-mpl-animators python-parfive - python-pyerfa))))) + python-pyerfa + python-requests-next))))) (define-public python-sunpy-soar (package @@ -8653,13 +8930,16 @@ to the SolarSoft data analysis environment.") " and not ")) #:phases #~(modify-phases %standard-phases + ;; XXX: It fails to check SunPy's optional inputs versions. + (delete 'sanity-check) (add-before 'check 'set-home-env (lambda _ ;; Tests require HOME to be set. ;; Permission denied: '/homeless-shelter' (setenv "HOME" "/tmp")))))) (native-inputs - (list python-pytest + (list nss-certs-for-test + python-pytest python-pytest-doctestplus python-responses python-setuptools @@ -8680,31 +8960,20 @@ to the SolarSoft data analysis environment.") (define-public python-sunraster (package (name "python-sunraster") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (pypi-uri "sunraster" version)) (sha256 - (base32 "1nyrhn7if7xpl97k6nzsxymdi6b77n61xlh1il3m58rdrjyp5q81")))) + (base32 "0a1w7958n4m1qm59x6y00a0p45b5drnj1ippwl7gvszbwamhr2gr")))) (build-system pyproject-build-system) (arguments (list #:test-flags #~(list "--numprocesses" (number->string (parallel-job-count)) "--ignore=docs/data_types/raster.rst" - "--ignore=docs/data_types/spectrogram.rst" - "-k" (string-join - ;; XXX: Reported upstream: - ;; <https://github.com/sunpy/sunraster/issues/281> - (list "not test_apply_exposure_time_correction" - "test_ndcube_components_after_slicing" - "test_read_spice_l2_fits_multiple_files_dumbbells" - "test_read_spice_l2_fits_multiple_rasters_multiple_windows" - "test_read_spice_l2_fits_multiple_rasters_single_window" - "test_read_spice_l2_fits_multiple_sns_multiple_windows" - "test_read_spice_l2_fits_single_file_dumbbells") - " and not ")) + "--ignore=docs/data_types/spectrogram.rst") #:phases #~(modify-phases %standard-phases (add-before 'check 'pre-check @@ -8713,14 +8982,14 @@ to the SolarSoft data analysis environment.") ;; '/homeless-shelter' (setenv "HOME" "/tmp")))))) (native-inputs - (list python-pytest + (list nss-certs-for-test + python-pytest python-pytest-astropy python-pytest-doctestplus python-pytest-xdist python-setuptools-next python-setuptools-scm-next - python-sunpy-minimal - python-wheel)) + python-sunpy-minimal)) (propagated-inputs (list python-astropy python-ndcube @@ -9573,23 +9842,18 @@ deconvolution). Such post-processing is not performed by Stackistry.") (license license:gpl3+))) (define-public stellarium - ;; XXX: 25.1 does not provide option to build with system MD4C, see - ;; <https://github.com/Stellarium/stellarium/issues/4267>, using the latest - ;; commit. - (let ((commit "045915b9dca754f6eec1bdc311428eb3e98d1002") - (revision "2")) - (package + (package (name "stellarium") - (version (git-version "25.1" revision commit)) + (version "25.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Stellarium/stellarium") - (commit commit))) + (url "https://github.com/Stellarium/stellarium") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1nrjfa1aq0inrbr66w8n8lqjkn0nsssjfl0dfrc4maynjp63gqkq")))) + (base32 "0fxdvybdcnlkjkyx1kqc7gg7p55qd4h1ri0mmn1xj2g5fxsbs0nr")))) (build-system qt-build-system) ;; TODO: Complete documentation build and split into dedicated outputs. (arguments @@ -9598,11 +9862,11 @@ deconvolution). Such post-processing is not performed by Stackistry.") #:tests? #f #:configure-flags #~(list "-DENABLE_GPS=1" - ;; TODO: Enable when all of the dependencies are available for Qt6. - "-DENABLE_QT6=0" "-DENABLE_TESTING=0" (string-append "-DCMAKE_CXX_FLAGS=-isystem " - #$(this-package-input "qtserialport") "/include/qt5")) + #$(this-package-input "qtpositioning") "/include/qt6" + " -isystem " + #$(this-package-input "qtserialport") "/include/qt6")) #:phases #~(modify-phases %standard-phases (add-before 'check 'set-offscreen-display @@ -9610,24 +9874,25 @@ deconvolution). Such post-processing is not performed by Stackistry.") (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "HOME" "/tmp")))))) (inputs - (list calcmysky-qt5 + (list calcmysky + eigen + glm gpsd indi libnova md4c nlopt openssl - qtbase-5 - qtcharts-5 - qtlocation-5 - qtmultimedia-5 + qtbase + qtcharts + qtlocation + qtmultimedia qtpositioning - qtscript-5 - qtserialport-5 + qtserialport qttranslations - qtwayland-5 - qtwebengine-5 - qxlsx-qt5 + qtwayland + qtwebengine + qxlsx zlib)) (native-inputs (list doxygen @@ -9636,7 +9901,7 @@ deconvolution). Such post-processing is not performed by Stackistry.") mesa perl python-wrapper - qttools-5)) + qttools)) (home-page "https://stellarium.org/") (synopsis "3D sky viewer") (description @@ -9644,7 +9909,7 @@ deconvolution). Such post-processing is not performed by Stackistry.") 3D, just like what you see with the naked eye, binoculars, or a telescope. It can be used to control telescopes over a serial port for tracking celestial objects.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public stuff ;; XXX: No version tag available in GitHub. @@ -9927,7 +10192,7 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") (define-public uraniborg (package (name "uraniborg") - (version "0.0.8") + (version "0.0.10") (source (origin (method git-fetch) @@ -9936,23 +10201,23 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0jr4sj42cg1b1n74yag1a4rbysk53s9a3qbd3sg5qaabvjs534v1")))) + (base32 "0bz2k2x06nyvhr9v4z6f21cf29pqsj9m4qyn8sdbl421wsqj31wg")))) (build-system go-build-system) (arguments (list - #:tests? #f ; XXX: tests require some config files which are not in Git #:install-source? #f #:import-path "bitbucket.org/dpnash/uraniborg" #:phases #~(modify-phases %standard-phases (add-before 'build 'patch-config - ;; TODO: This might be patched in the upstream, see - ;; <https://codeberg.org/astronexus/uraniborg/issues/1>. (lambda* (#:key import-path #:allow-other-keys) (with-directory-excursion (string-append "src/" import-path) (substitute* "consts.go" - (("config/") (string-append #$output "/etc/uraniborg/")) - (("data/") (string-append #$output "/share/uraniborg/data/"))) + (("DEFAULT_BASE_DIR = \".\"") (format #f "DEFAULT_BASE_DIR = ~s" #$output)) + (("\"config\"") (format #f "~s" "etc/uraniborg")) + (("\"data\"") (format #f "~s" "share/uraniborg/data")) + (("\"charts\"") (format #f "~s" "share/uraniborg/charts")) + (("\"fonts\"") (format #f "~s" "share/uraniborg/fonts"))) (substitute* (find-files "config" ".*\\.yaml$") (("fonts/") (string-append #$output "/share/uraniborg/fonts/")))))) (add-after 'install 'install-runtime-files @@ -9960,11 +10225,19 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") (with-directory-excursion (string-append "src/" import-path) (let ((etc (string-append #$output "/etc/uraniborg")) (data (string-append #$output "/share/uraniborg/data")) + (charts (string-append #$output "/share/uraniborg/charts")) (fonts (string-append #$output "/share/uraniborg/fonts"))) (copy-recursively "config" etc) + (copy-recursively "charts" charts) (copy-recursively "fonts" fonts) - (system* "gunzip" "data/athyg_32_subset.csv.gz") - (install-file "data/athyg_32_subset.csv" data)))))))) + (system* "gunzip" "data/athyg_33_subset.csv.gz") + (install-file "data/athyg_33_subset.csv" data))))) + (delete 'check) + (add-after 'install-runtime-files 'post-install-check + (lambda* (#:key tests? import-path #:allow-other-keys) + (when tests? + (with-directory-excursion (string-append "src/" import-path) + (invoke "go" "test" "-v" "./...")))))))) (native-inputs (list go-codeberg-org-astronexus-brahe go-dario-cat-mergo @@ -9983,7 +10256,10 @@ from the HYG catalog. @code{uraniborg} lets you view the sky from both the solar system and from any star in the AT-HYG catalog with a known distance (over 2.5 million stars -currently).") +currently). + +Base directory containing custom config, data, charts and fonts may be +adjusted with command line option @code{-b}, by default set to store path.") (license (list license:asl2.0 ;; Roboto fonts license:silofl1.1 ;; Noto Sans fonts license:gpl3+)))) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index c20722245f..6f705e760c 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -233,7 +233,7 @@ This can give a much better understanding of the command's performance.") (define-public benchmark (package (name "benchmark") - (version "1.5.6") + (version "1.9.4") (source (origin (method git-fetch) (uri (git-reference @@ -242,7 +242,7 @@ This can give a much better understanding of the command's performance.") (file-name (git-file-name name version)) (sha256 (base32 - "030g4d8vpn2442dsap0qw86lsw7xfl36k0x0x9bn0vvm11qvjn8c")))) + "05b5sf0dmgr5s9dbvasg8rndh754kkc4chni6ynqa1h8m5q0kg1z")))) (build-system cmake-build-system) (native-inputs `(("googletest-source" ,(package-source googletest)) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1b381f1bb8..a7135759f9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7162,7 +7162,7 @@ bases are detected.") (define-public trinityrnaseq (package (name "trinityrnaseq") - (version "2.13.2") + (version "2.15.2") (source (origin (method git-fetch) (uri (git-reference @@ -7172,7 +7172,7 @@ bases are detected.") (file-name (git-file-name name version)) (sha256 (base32 - "1qszrxqbx4q5pavpgm4rkrh1z1v1mf7qx83vv3fnlqdmncnsf1gv")))) + "06qvxy6wvvjpn1mkg8m78syyn98xj76569gpl2jbc9q036i56kh8")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index c4b721c9f5..94d49e1458 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -2154,3 +2154,103 @@ the features of iPXE without the hassle of reflashing.") "-o" (string-append firmware "/efi-" name ".rom"))))) '#$roms))))))))))) + +(define-public refind + (package + (name "refind") + (version "0.14.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/refind/" version + "/refind-src-" version ".tar.gz")) + (sha256 + (base32 + "1w682p0j59apjcy26xzzhv70fyd8nqjs47i8cz2qcsx71pl3rngp")) + (snippet + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively + "refind/tools_x64/gptsync_x64.efi"))))) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (native-inputs + (list binutils)) + (inputs + (list gnu-efi)) + (arguments + (list #:tests? #f ; no tests + #:make-flags + #~(list ;; Make build reproducible. + ;; Also disables secure boot anti-rollback protection. + ;; Otherwise, "objcopy --add-section" would change the + ;; timestamp inside the EFI file. + "OMIT_SBAT=1" + (string-append "AR=" #$(ar-for-target)) + (string-append "CC=" #$(cc-for-target)) + (string-append "LD=" #$(ld-for-target)) + (string-append "EFIINC=" (assoc-ref %build-inputs "gnu-efi") + "/include/efi") + (string-append "GNUEFILIB=" (assoc-ref %build-inputs "gnu-efi") + "/lib") + (string-append "EFILIB=" (assoc-ref %build-inputs "gnu-efi") + "/lib") + (string-append "EFICRT0=" (assoc-ref %build-inputs "gnu-efi") + "/lib") + (string-append "OBJCOPY=" (assoc-ref %build-inputs "binutils") + "/bin/objcopy")) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'build-fs + (lambda* (#:key inputs make-flags #:allow-other-keys) + (apply invoke "make" "fs" make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out-sbin (string-append #$output "/sbin")) + (out-share + (string-append #$output "/share/refind-" + #$version)) + (out-share-refind + (string-append out-share "/refind"))) + (mkdir-p out-share) + (copy-recursively "banners" + (string-append out-share "/banners")) + (copy-recursively "fonts" + (string-append out-share "/fonts")) + (for-each (lambda (name) + (copy-recursively name + (string-append + out-share-refind "/" + name))) + (find-files "." "^drivers_" #:directories? #t)) + (copy-recursively "icons" + (string-append out-share-refind "/icons")) + ;(copy-recursively "keys" "/etc/refind.d") + (install-file "mkrlconf" out-sbin) + (install-file "mvrefind" out-sbin) + (install-file "refind-sb-healthcheck" out-sbin) + (install-file "refind-install" out-share) + (install-file "refind-mkdefault" out-sbin) + (install-file "refind.conf-sample" out-share-refind) + (for-each + (lambda (name) + (install-file name + (string-append #$output "/share/man/man8"))) + (find-files "docs/man" "[.]8$")) + (for-each (lambda (f) + (install-file f out-share-refind)) + (find-files "refind" "refind.*\\.efi$"))))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out-doc + (string-append #$output:doc "/share/doc/refind-" + #$version))) + (copy-recursively "docs/refind" + (string-append out-doc "/refind")) + (copy-recursively "docs/Styles" + (string-append out-doc "/Styles")))))))) + (synopsis "rEFInd boot manager") + (description "This package provides a boot manager that is an EFI +program.") + (home-page "https://www.rodsbooks.com/refind/") + (license license:gpl3+))) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 934466f951..5fc5d385d0 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -328,7 +328,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.") (define noscript (package (name "noscript") - (version "13.0.8") + (version "13.0.9") (source (origin (method url-fetch/zipbomb) (uri (string-append @@ -336,7 +336,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.") ".xpi")) (sha256 (base32 - "1p6jrz22jjzcqlbza2v8nix2sx9xjgl43vmm43hwrf9w13z8r5wx")))) + "1xbisx3xqak9aj7nb2lh94an6yfldsl6a2g2qc87vxi1zwdbcnjj")))) (build-system copy-build-system) (properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}"))) (arguments diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index da8b558c6f..ae3047f13b 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se> ;;; ;;; This file is part of GNU Guix. ;;; @@ -278,7 +279,7 @@ command-line interface} and a @acronym{TUI, textual user interface} named (define-public remind (package (name "remind") - (version "5.0.5") + (version "6.0.1") (source (origin (method url-fetch) @@ -289,7 +290,7 @@ command-line interface} and a @acronym{TUI, textual user interface} named ".") ".tar.gz")) (sha256 - (base32 "0yc0lfrl0zzc1bn5fkigararg44bdryis7vjnm8vzs21as9r0dbz")))) + (base32 "01zhs8lgncpm1229s7b49fhnwwnxyyan845gb47ppkfn03vvc187")))) (properties `((output-synopsis "tcl" "graphical front-end to Remind calendar program"))) (build-system gnu-build-system) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 7d081e3e3f..d508f37730 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -15,7 +15,6 @@ ;;; Copyright © 2020, 2021, 2023 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 lu hui <luhuins@163.com> -;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2023 Fries <fries1234@protonmail.com> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> @@ -950,88 +949,6 @@ extensions over the standard utility.") (properties '((lint-hidden-cves . ("CVE-2023-40305" "CVE-2024-0911"))))))) -(define-public cdecl - (package - (name "cdecl") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.ibiblio.org/pub/linux/devel/lang/c/cdecl-" - version ".tar.gz")) - (sha256 - (base32 "0dm98bp186r4cihli6fmcwzjaadgwl1z3b0zdxfik8h7hkqawk5p")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags - ,#~(list "LIBS=-lreadline" - (string-append "BINDIR=" #$output "/bin") - (string-append "MANDIR=" #$output "/share/man/man1")) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No configure script. - (add-after 'unpack 'fix-build - (lambda _ - (substitute* "Makefile" - (("lex cdlex.l") - "flex cdlex.l")) - (substitute* "cdecl.c" - ;; Fix "error: conflicting types for ‘getline’". - (("char \\* getline\\(\\)") - "char * our_getline(void)") - (("char \\* getline \\(\\)") - "char * our_getline(void)") - (("line = getline\\(\\)") - "line = our_getline()") - ;; Fix "error: conflicting types for ‘getopt’". - (("int getopt\\(int,char \\*\\*,char \\*\\);") - "") - ;; Fix invalid use of "restrict" as a variable name. - (("i, j, restrict") - "i, j, restriction") - (("restrict =") - "restriction =") - ;; Fix "warning: implicit declaration of function ‘add_history’". - (("# include <readline/readline.h>" all) - (string-append all "\n# include <readline/history.h>")) - ;; Fix "warning: implicit declaration of function ‘dotmpfile_from_string’". - (("void setprogname\\(char \\*\\);" all) - (string-append all "\nint dotmpfile_from_string(char *);")) - ;; Fix "warning: implicit declaration of function ‘completion_matches’". - (("matches = completion_matches\\(text, command_completion\\);") - "matches = rl_completion_matches(text, command_completion);") - (("char \\* command_completion\\(char \\*, int\\);") - "char * command_completion(const char *, int);") - (("char \\* command_completion\\(char \\*text, int flag\\)") - "char * command_completion(const char *text, int flag)") - ;; Fix "warning: ‘CPPFunction’ is deprecated". - (("rl_attempted_completion_function = \\(CPPFunction \\*\\)attempt_completion;") - "rl_attempted_completion_function = (rl_completion_func_t *)attempt_completion;") - ;; Fix "warning: ‘Function’ is deprecated". - (("rl_completion_entry_function = \\(Function \\*\\)keyword_completion;") - "rl_completion_entry_function = (rl_compentry_func_t *)keyword_completion;")) - ;; Fix typo in man page. - (substitute* "cdecl.1" - (("<storage>\t::= auto \\| extern \\| register \\| auto") - "<storage>\t::= auto | extern | register | static")))) - (add-before 'install 'create-directories - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man1"))) - (mkdir-p bin) - (mkdir-p man))))) - #:tests? #f)) ; No "check" target. - (native-inputs (list bison flex)) - (inputs (list readline)) - (home-page "https://www.ibiblio.org/pub/linux/devel/lang/c/") - (synopsis "Turn English phrases into C or C++ declarations and vice versa") - (description "@code{cdecl} is a program that turns English-like phrases into C -declarations. It can also translate C into pseudo-English. It also handles -type casts and C++. It has command-line editing and history with the GNU -Readline library.") - (license license:public-domain))) - (define-public sourcetrail (package (name "sourcetrail") diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1971417a95..90cb365c42 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3750,17 +3750,8 @@ is the GNU Compiler Collection.") ;; automatically "redirects" them to 'gcc-toolchain'. (deprecated-package "gcc" gcc-toolchain)) - -(define-public gdc-toolchain-10 - (package (inherit (make-gcc-toolchain gdc-10)) - (synopsis "Complete GCC tool chain for D lang development") - (description "This package provides a complete GCC tool chain for -D lang development to be installed in user profiles. This includes -gdc, as well as libc (headers and binaries, plus debugging symbols -in the @code{debug} output), and binutils."))) - -(define-public gdc-toolchain-11 - (package (inherit (make-gcc-toolchain gdc-11)) +(define-public gdc-toolchain + (package (inherit (make-gcc-toolchain gdc)) (synopsis "Complete GCC tool chain for D lang development") (description "This package provides a complete GCC tool chain for D lang development to be installed in user profiles. This includes diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index e060795da9..a12dcb9d91 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2041,8 +2041,10 @@ other values of screen objects, by setting their values as the tween starting point and then, after each tween step, plugging back the result.") (license license:expat))) -;;; This older LTS release is kept for tensorflow. (define-public abseil-cpp-20200923.3 + ;; "guix refresh -l" shows no dependents of this package, but by input + ;; rewriting, grpc-1.16.1 depends on it; + ;; in turn this is an input to hyperledger-iroha and tensorflow. (package (name "abseil-cpp") (version "20200923.3") diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 96f3298026..302c6482ea 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -773,7 +773,7 @@ error reporting, better tracing, profiling, and a debugger.") (define-public rr (package (name "rr") - (version "5.8.0") + (version "5.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -781,7 +781,7 @@ error reporting, better tracing, profiling, and a debugger.") (commit version))) (sha256 (base32 - "16w6vvvgww4i2f0jk5zlrr6606fj8kps21fnw0pshyw88l141rqn")) + "18bahi9b7pz8s7vq8r52fg4pdnj62ymx4yyqjkiwnxlp06pdgqd3")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -795,6 +795,7 @@ error reporting, better tracing, profiling, and a debugger.") (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath=" (assoc-ref %build-inputs "capnproto") "/lib,-rpath=" (assoc-ref %build-inputs "zlib") + "/lib,-rpath=" (assoc-ref %build-inputs "zstd") "/lib") ,@(if (and (not (%current-target-system)) (member (%current-system) @@ -818,9 +819,14 @@ error reporting, better tracing, profiling, and a debugger.") (setenv "HOME" (getcwd)) #t))))) (native-inputs - (list pkg-config ninja which)) + (list lldb pkg-config which)) (inputs - (list gdb capnproto python python-pexpect zlib)) + (list gdb + capnproto + python + python-pexpect + zlib + `(,zstd "lib"))) ;; List of supported systems according to 'src/preload/raw_syscall.S'. (supported-systems '("x86_64-linux" "i686-linux" "aarch64-linux")) diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index 25429e6ab4..52bc0ada28 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -34,14 +34,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.18.3") + (version "2.18.4") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "1c4bi3gpl2fi6pk8z9gmrspg2ad7flkgqjs18bnczswii47yg2s8")))) + (base32 "0392p1601czz6yvlxd2b8phhmy35b62i4m1jgpfldzl6d18f7adr")))) (inputs (list bash-minimal boost guile-3.0 diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm deleted file mode 100644 index 16cd2ebd83..0000000000 --- a/gnu/packages/dico.scm +++ /dev/null @@ -1,95 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015-2016, 2018, 2024-2025 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> -;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@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 dico) - #:use-module (guix packages) - #:use-module ((guix licenses) #:select (gpl3+)) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages) - #:use-module (gnu packages bash) - #:use-module (gnu packages crypto) - #:use-module (gnu packages readline) - #:use-module (gnu packages m4) - #:use-module (gnu packages groff) - #:use-module (gnu packages guile) - #:use-module (gnu packages python) - #:use-module (gnu packages pcre) - #:use-module (gnu packages gsasl) - #:use-module (gnu packages autotools) - #:use-module (gnu packages compression) - #:use-module (gnu packages wordnet)) - -(define-public dico - (package - (name "dico") - (version "2.12") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/dico/dico-" - version ".tar.xz")) - (sha256 - (base32 - "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output - "/share/guile/site/2.0") - "--disable-static") - #:phases (modify-phases %standard-phases - (add-before 'build 'set-shell-file-name - (lambda* (#:key inputs #:allow-other-keys) - ;; This code invokes "/bin/sh -c 'm4 -s ...'". - (substitute* "grecs/src/grecs-lex.c" - (("\"/bin/sh\"") - (string-append "\"" - (search-input-file inputs "/bin/sh") - "\""))))) - (add-before 'check 'silence-guile - (lambda _ - ;; Guile is too talkative, which disturbs the test - ;; infrastructure. Gag it. - (setenv "GUILE_AUTO_COMPILE" "0") - (setenv "GUILE_WARN_DEPRECATED" "no")))))) - (native-inputs (list groff)) - (inputs - (list m4 ;used at run time - bash-minimal ;likewise - pcre - python-wrapper - guile-2.2 - gsasl - readline - zlib - wordnet - libxcrypt ;for 'crypt' - libltdl)) - (home-page "https://www.gnu.org.ua/software/dico/") - (synopsis "Implementation of DICT server (RFC 2229)") - (description - "GNU Dico implements a flexible dictionary server and client according to -RFC 2229 (DICT Server). It is able to access any database available, -regardless of format, thanks to its modular structure. New modules may be -written in C, Guile or Python. Dico also includes a command-line client, -which may be used to query remote dictionary databases.") - (license gpl3+))) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index f51ed24111..5e53675ea7 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -1,15 +1,19 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014-2016, 2021, 2024 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Lu hux <luhux@outlook.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2022 ROCKTAKEY <rocktakey@gmail.com> ;;; Copyright © 2022 Runciter <runciter@whispers-vpn.org> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> +;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,27 +45,87 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages compression) + #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages dictd) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) #:use-module (gnu packages fribidi) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages groff) + #:use-module (gnu packages gsasl) + #:use-module (gnu packages guile) #:use-module (gnu packages linux) + #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages compression) + #:use-module (gnu packages speech) #:use-module (gnu packages tcl) + #:use-module (gnu packages texinfo) #:use-module (gnu packages web) - #:use-module (gnu packages xml) - #:use-module (gnu packages dictd) - #:use-module (gnu packages speech) - #:use-module (gnu packages perl)) + #:use-module (gnu packages wordnet) + #:use-module (gnu packages xml)) +(define-public dico + (package + (name "dico") + (version "2.12") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/dico/dico-" + version ".tar.xz")) + (sha256 + (base32 + "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags #~(list "--disable-static") + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-shell-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; This code invokes "/bin/sh -c 'm4 -s ...'". + (substitute* "grecs/src/grecs-lex.c" + (("\"/bin/sh\"") + (string-append "\"" + (search-input-file inputs "/bin/sh") + "\""))))) + (add-before 'check 'silence-guile + (lambda _ + ;; Guile is too talkative, which disturbs the test + ;; infrastructure. Gag it. + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_WARN_DEPRECATED" "no")))))) + (native-inputs (list groff)) + (inputs + (list m4 ;used at run time + bash-minimal ;likewise + pcre + python-wrapper + guile-3.0 + gsasl + readline + zlib + wordnet + libxcrypt ;for 'crypt' + libltdl)) + (home-page "https://www.gnu.org.ua/software/dico/") + (synopsis "Implementation of DICT server (RFC 2229)") + (description + "GNU Dico implements a flexible dictionary server and client according to +RFC 2229 (DICT Server). It is able to access any database available, +regardless of format, thanks to its modular structure. New modules may be +written in C, Guile or Python. Dico also includes a command-line client, +which may be used to query remote dictionary databases.") + (license license:gpl3+))) (define-public vera (package diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index a5b371a099..a9b1f9d565 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -267,7 +267,7 @@ install.") (define-public reprotest (package (name "reprotest") - (version "0.7.29") + (version "0.7.30") (source (origin (method git-fetch) @@ -276,7 +276,7 @@ install.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "17n7pdqil3jmpwcshr6dm5qsbpim3847smgxa82wy33kl2bz1ai8")))) + (base32 "013mqbbh6dcia2i4qdi4270lcgzr0k879phsaydf9b5ng9fkdajl")))) (build-system pyproject-build-system) (arguments (list diff --git a/gnu/packages/direct-connect.scm b/gnu/packages/direct-connect.scm deleted file mode 100644 index 8c816ce714..0000000000 --- a/gnu/packages/direct-connect.scm +++ /dev/null @@ -1,87 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr> -;;; -;;; 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 direct-connect) - #:use-module (guix build-system scons) - #:use-module (guix deprecation) - #:use-module (guix gexp) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (gnu packages) - #:use-module (gnu packages boost) - #:use-module (gnu packages build-tools) - #:use-module (gnu packages compression) - #:use-module (gnu packages gettext) - #:use-module (gnu packages gnome) - #:use-module (gnu packages gtk) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages tls) - #:use-module (gnu packages version-control)) - -;; TODO Remove on the next python-team iteration. -;; Unmaintained for 14 years, tried updating it here: -;; https://lists.sr.ht/~ngraves/devel/patches/60080 -;; but it's too hard for most likely no users. -;; If you use this package, let python-team know or try to fix it. -(define-deprecated/public linuxdcpp #f - (package - (name "linuxdcpp") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://launchpad.net/linuxdcpp/1.1/1.1.0/+download/linuxdcpp-" - version ".tar.bz2")) - (sha256 - (base32 "12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6")) - (patches (search-patches "linuxdcpp-openssl-1.1.patch")) - (modules '((guix build utils))) - (snippet - #~(begin - (substitute* "SConstruct" - ;; This compares single char[]acters in the version string, and - ;; broke when GCC went into double digits. - (("conf.CheckCXXVersion\\([^\\)]*\\)") - "True") - ;; Not all valid C++98 code is valid C++14 (and higher) code. - (("'-D_REENTRANT'" match) - (string-append match ", '-std=gnu++98'"))))))) - (build-system scons-build-system) - (arguments - `(#:scons ,scons-python2 - #:scons-flags (list (string-append "PREFIX=" %output)) - #:tests? #f)) ; no tests - (inputs - (list boost - bzip2 - gtk+-2 - libglade - libnotify - openssl)) - (native-inputs - (list bazaar gettext-minimal pkg-config)) - (home-page "https://launchpad.net/linuxdcpp/") - (synopsis "Direct Connect client") - (description "LinuxDC++ is a Direct Connect (DC) client. Direct Connect -is a peer-to-peer file-sharing protocol. Clients connect to a central hub -where they can chat or share files with one another. Users can view other -users' list of shared files or search the hub for files.") - (license license:gpl2+))) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index cd1d0c0d9a..098f109cc0 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev> ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2025 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1925,6 +1926,35 @@ image files already supported by it.") variables to configure your Django application.") (license license:expat))) +(define-public python-django-widget-tweaks + (package + (name "python-django-widget-tweaks") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-widget-tweaks" version)) + (sha256 + (base32 "1ir9qrygb0bsi53sqxs7052i5gpbzz3h8j3m5j94x6dv3rl8088w")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "django" "test" + "--settings=tests.settings"))))))) + (native-inputs (list python-setuptools python-wheel)) + (propagated-inputs (list python-django)) + (home-page "https://github.com/jazzband/django-widget-tweaks") + (synopsis "Tweak the form field rendering in Django templates") + (description + "This package provides a way to tweak the form field rendering in +templates and not in python-level form definitions.") + (license license:expat))) + (define-public python-django-cleanup (package (name "python-django-cleanup") diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 7c20450b5f..f07586f711 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -216,39 +216,40 @@ to take care of the OS-specific details when writing software that uses serial p (file-name (git-file-name name version)))) (outputs '("out" "doc")) (arguments - `(#:tests? #f ; tests need USB access - #:phases - (modify-phases %standard-phases - (add-before 'configure 'change-udev-group - (lambda _ - (substitute* (find-files "contrib" "\\.rules$") - (("plugdev") "dialout")))) - (add-after 'build 'build-doc - (lambda _ - (invoke "doxygen"))) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "doxy/html-api" - (string-append (assoc-ref outputs "doc") - "/share/doc/libsigrok")))) - (add-after 'install-doc 'install-udev-rules - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (rules (string-append out "/lib/udev/rules.d/"))) - (for-each (lambda (file) - (install-file file rules)) - (find-files "contrib" "\\.rules$"))))) - (add-after 'install-udev-rules 'install-fw - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw")) - (out (assoc-ref outputs "out")) - (dir-suffix "/share/sigrok-firmware/") - (input-dir (string-append fx2lafw dir-suffix)) - (output-dir (string-append out dir-suffix))) - (for-each - (lambda (file) - (install-file file output-dir)) - (find-files input-dir ".")))))))) + (list + #:tests? #f ; tests need USB access + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'change-udev-group + (lambda _ + (substitute* (find-files "contrib" "\\.rules$") + (("plugdev") "dialout")))) + (add-after 'build 'build-doc + (lambda _ + (invoke "doxygen"))) + (add-after 'install 'install-doc + (lambda _ + (copy-recursively + "doxy/html-api" + (string-append #$output:doc "/share/doc/libsigrok")))) + (add-after 'install-doc 'install-udev-rules + (lambda _ + (for-each + (lambda (file) + (install-file + file + (string-append #$output "/lib/udev/rules.d/"))) + (find-files "contrib" "\\.rules$")))) + (add-after 'install-udev-rules 'install-fw + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw")) + (dir-suffix "/share/sigrok-firmware/") + (input-dir (string-append fx2lafw dir-suffix)) + (output-dir (string-append #$output dir-suffix))) + (for-each + (lambda (file) + (install-file file output-dir)) + (find-files input-dir ".")))))))) (native-inputs (list autoconf automake doxygen graphviz libtool sigrok-firmware-fx2lafw pkg-config)) @@ -289,18 +290,18 @@ supported devices, as well as input/output file format support.") "11l8vnf2khqbaqas7cfnq3f8q5w7am6nbkkd5mqj5kpb3ya2avb9")))) (outputs '("out" "doc")) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'build 'build-doc - (lambda _ - (invoke "doxygen") - #t)) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "doxy/html-api" - (string-append (assoc-ref outputs "doc") - "/share/doc/libsigrokdecode")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (invoke "doxygen"))) + (add-after 'install 'install-doc + (lambda _ + (copy-recursively + "doxy/html-api" + (string-append #$output:doc + "/share/doc/libsigrokdecode"))))))) (native-inputs (list check doxygen graphviz pkg-config automake autoconf libtool)) ;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in @@ -644,28 +645,29 @@ formats.") (package (name "pulseview") (version "0.4.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://sigrok.org/download/source/pulseview/pulseview-" - version ".tar.gz")) - (sha256 - (base32 - "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph")) - (patches (search-patches "pulseview-qt515-compat.patch" - "pulseview-glib-2.68.patch")))) + (source + (origin + (method url-fetch) + (uri (string-append + "https://sigrok.org/download/source/pulseview/pulseview-" + version ".tar.gz")) + (sha256 + (base32 + "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph")) + (patches (search-patches "pulseview-qt515-compat.patch" + "pulseview-glib-2.68.patch")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;format_time_minutes_test is failing - #:phases - (modify-phases %standard-phases - (add-after 'install 'remove-empty-doc-directory - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/share") - ;; Use RMDIR to never risk silently deleting files. - (rmdir "doc/pulseview") - (rmdir "doc")))))))) + (list + #:tests? #f ;format_time_minutes_test is failing + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'remove-empty-doc-directory + (lambda _ + (with-directory-excursion (string-append #$output "/share") + ;; Use RMDIR to never risk silently deleting files. + (rmdir "doc/pulseview") + (rmdir "doc"))))))) (native-inputs (list pkg-config qttools-5)) (inputs @@ -678,8 +680,8 @@ formats.") qtsvg-5)) (home-page "https://www.sigrok.org/wiki/PulseView") (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok") - (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI -for sigrok.") + (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO +GUI for sigrok.") (license license:gpl3+))) (define-public python-cocotb diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2d0563fe3d..ef7ab1855c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -30623,6 +30623,30 @@ When @code{gac-automatically-push-p} is non-nil, it also tries to push to the current upstream.") (license license:gpl3+))) +(define-public emacs-ultra-scroll + (package + (name "emacs-ultra-scroll") + (version "0.4.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jdtsmith/ultra-scroll") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k1xqkxq89mz8dvzbfpks3jnrcmbd0hcz8a0hib1m3ka55hpczqz")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (home-page "https://github.com/jdtsmith/ultra-scroll") + (synopsis "Scroll Emacs like lightning") + (description + "@code{ultra-scroll} is a smooth-scrolling package for Emacs. It +provides highly optimized, pixel-precise smooth-scrolling which can readily +keep up with the very high event rates of modern track-pads and high-precision +wheel mice.") + (license license:gpl3+))) + (define-public emacs-smooth-scroll (package (name "emacs-smooth-scroll") diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index bb0bd898e1..0ac1cb974d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2025 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.comg> ;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com> +;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4352,72 +4353,96 @@ on a Commodore C64, C128 etc.") (license license:zlib))) (define-public flycast - (package - (name "flycast") - (version "2.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/flyinghead/flycast") - (commit (string-append "v" version)) - ;; There are many bundled packages here included as git - ;; submodules. Removing many of them would require patching the - ;; source code and repository layout. - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ainy75gkrvilcm89hq6wq9md41w0mxgp6l27q5fzrxxykpjh6ym")) - (modules '((guix build utils))) - (snippet #~(begin - (substitute* "CMakeLists.txt" - (("add_subdirectory\\(core/deps/Vulkan-Headers\\)") - "find_package(VulkanHeaders)")) - (with-directory-excursion "core/deps" - (for-each delete-file-recursively - '("SDL" - "Spout" - "Syphon" - "Vulkan-Headers" - "breakpad" - "discord-rpc" - "libzip" - "oboe"))))))) - (build-system cmake-build-system) - (arguments - (list - #:tests? #f ; no test suite - #:configure-flags - #~(list "-DUSE_ALSA=ON" - "-DUSE_BREAKPAD=OFF" - "-DUSE_DX11=OFF" - "-DUSE_DX9=OFF" - ;; The USE_HOST_GLSLANG option is not implemented correctly. - ;; (see: https://github.com/flyinghead/flycast/issues/1843) - "-DUSE_HOST_GLSLANG=OFF" - "-DUSE_HOST_LIBZIP=ON" - "-DUSE_HOST_SDL=ON" - "-DUSE_LIBAO=ON" - "-DUSE_LUA=ON" - "-DUSE_PULSEAUDIO=ON" - "-DUSE_VULKAN=ON"))) - (inputs (list alsa-lib - ao - curl - glslang - libzip - lua - miniupnpc - pulseaudio - sdl2 - spirv-tools - vulkan-headers - pkg-config)) - (home-page "https://github.com/flyinghead/flycast") - (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator") - (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2, + ;; Use a git snapshot as the latest 2.5 release is still on an older glslang + ;; version that doesn't build with GCC 14. + (let ((commit "33833cfd1ed2d94d907223442fdb8cdafd8d5d80") + (revision "0")) + (package + (name "flycast") + (version (git-version "2.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flyinghead/flycast") + (commit commit) + ;; There are many bundled packages here included as git + ;; submodules, but removing many of them would require patching + ;; the source code and repository layout (see: <>). + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16vwhw33zhq2b8mpg863cn7sz4f04wxjz2650jgqjv7i5lkdd1g9")) + (modules '((guix build utils))) + (snippet #~(begin + ;; TODO: Uncomment after our vulkan-headers + ;; are update to 1.3.261.0 or newer. + ;; (substitute* "CMakeLists.txt" + ;; (("add_subdirectory\\(core/deps/Vulkan-Headers\\)") + ;; "find_package(VulkanHeaders)")) + (with-directory-excursion "core/deps" + (for-each + delete-file-recursively + '("SDL" + "Spout" + "Syphon" + ;; TODO: Uncomment after our vulkan-headers + ;; are update to 1.3.261.0 or newer. + ;;"Vulkan-Headers" + "breakpad" + "discord-rpc" + ;; XXX: The libretro build requires the bundled + ;; libzip, which it uses to produce a + ;; static library. + ;;"libzip" + "oboe"))))))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:configure-flags + #~(list "-DUSE_ALSA=ON" + "-DUSE_BREAKPAD=OFF" + "-DUSE_DX11=OFF" + "-DUSE_DX9=OFF" + ;; The USE_HOST_GLSLANG option is not implemented correctly. + ;; (see: https://github.com/flyinghead/flycast/issues/1843) + "-DUSE_HOST_GLSLANG=OFF" + "-DUSE_HOST_LIBZIP=ON" + "-DUSE_HOST_SDL=ON" + "-DUSE_LIBAO=ON" + "-DUSE_LIBCDIO=ON" + "-DUSE_LUA=ON" + "-DUSE_PULSEAUDIO=ON" + "-DUSE_VULKAN=ON"))) + (native-inputs (list pkg-config)) + (inputs (list alsa-lib + ao + curl + glslang + libcdio + libzip + lua + miniupnpc + pulseaudio + sdl2 + spirv-tools + ;; TODO: Uncomment after vulkan-headers + ;; is updated to 1.3.261.0 or newer. + ;;vulkan-headers + )) + (home-page "https://github.com/flyinghead/flycast") + (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator") + (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator derived from reicast.") - (license license:gpl2+))) + (license license:gpl2+)))) + +(define-public libretro-flycast + (package/inherit flycast + (name "libretro-flycast") + (arguments (substitute-keyword-arguments (package-arguments flycast) + ((#:configure-flags flags) + #~(cons "-DLIBRETRO=ON" #$flags)))))) (define-public freedisksysrom ;; There is no release; use the latest commit. @@ -4689,3 +4714,45 @@ information. Useful for cross-architecture tools (such as @code{python-pyvex}). (synopsis "8051/8052 emulator with curses-based UI") (description "emu8051 is a simulator of the 8051/8052 microcontrollers.") (license license:expat)))) + +(define-public fceux + (package + (name "fceux") + (version "2.6.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TASEmulators/fceux") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02s5qmxdxpsa71977z9bs5vfhnszn5nr5hk05wns8cm9nshbg7as")) + (modules '((guix build utils))) + (snippet #~(map delete-file-recursively + (list "output/lua5.1.dll" "output/lua51.dll" + "src/drivers/win" "fceux-server" "vc"))))) + (build-system cmake-build-system) + (arguments + (list + ;; No test suite. + #:tests? #f)) + (inputs (list qtbase-5 + zlib + minizip + sdl2 + lua-5.1 + libx264 + x265 + ffmpeg + libxkbcommon + libarchive)) + (native-inputs (list pkg-config)) + (synopsis "NES/Famicom emulator") + (description + "FCEUX is a Nintendo Entertainment System (NES), Famicom, Famicom Disk +System (FDS), and Dendy emulator. It supports NTSC (USA/JPN), PAL (European), +and NTSC-PAL Hybrid modes. It also offers tools for debugging, rom-hacking, +map making, Tool-assisted movies, and Lua scripting.") + (home-page "https://fceux.com/web/home.html") + (license license:gpl2+))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index e77193ecf2..1cbd256871 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1308,7 +1308,7 @@ Emacs).") (define-public kicad (package (name "kicad") - (version "9.0.3") + (version "9.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -1316,7 +1316,7 @@ Emacs).") (commit version))) (sha256 (base32 - "19rij2hz79rsmikdbygxzll2l7im5qi3i6phz4sdiagkc5k8b3rb")) + "0736hhf8rs4g8cyhy3xyamyr4iszlvf18a1hwfpcv6qxy0hcbdcv")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -1425,7 +1425,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "186nmy222m2k8snwk5i2f9igamflj9avfnhv5ksrbhx5wyrx7fy2")))) + "00cnras41sp5kpvaqqymygis08q5kmsix18bi8hlhhw6yk525vnp")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_FORMATS=html") @@ -1456,7 +1456,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "0r9aimyrv7p4ykqnwb9ac3fd0dv11zmv2ll6qkmm5s875s35hhfl")))) + "0qm1zq8bq6r7l1pssb9isnm5a03kixf5p3x7670ap4xwligdn3wg")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests exist @@ -1485,7 +1485,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "1ysnj0973y05nn016hxrghccfv65cas772i369xflay0sns8anqf")))) + "15kdg661pq79npwb4j28hllqrvwygsz5rblzbdishiikysrba8wl")))) (synopsis "Official KiCad footprint libraries") (description "This package contains the official KiCad footprint libraries."))) @@ -1502,7 +1502,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "0njv4y31k62qhcx0xxcl94p34jgna8z4bs3hwjwzjfmp7ddl2dyx")))) + "0ngf0k5f0a073k5v4q78zk6gj6xjjxzbb6551qf9k9wy8bsmgr2k")))) (synopsis "Official KiCad 3D model libraries") (description "This package contains the official KiCad 3D model libraries."))) @@ -3505,7 +3505,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.") (define-public freecad (package (name "freecad") - (version "1.0.1") + (version "1.0.2") (source (origin (method git-fetch) @@ -3514,7 +3514,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0p3pa4w1xj7sgqk9vxdri8l3hbx0a8iz2pwn8gwjqlhc62z4hrg8")) + (base32 "1zyz473fzrz9h073wp4k65qq4bkhqsp245nsv6nv186sl78l99xa")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 5648fa8f4a..55be426345 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2022 dan <i@dan.games> ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Charles <charles@charje.net> +;;; Copyright © 2025 VnPower <vnpower@loang.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) + #:use-module (guix build-system qt) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages anthy) #:use-module (gnu packages boost) @@ -413,6 +415,33 @@ the Anthy input method.") backend.") (license license:gpl3+))) +(define-public fcitx5-unikey + (package + (name "fcitx5-unikey") + (version "5.1.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fcitx/fcitx5-unikey") + (commit version))) + (sha256 + (base32 "0j82r63vn1rmjz2m92x6xksn548mmkiwcjkziqh6dp6aysxszvxx")) + (file-name (git-file-name name version)))) + (build-system qt-build-system) + (arguments + (list #:qtbase qtbase)) + (inputs + (list gettext-minimal + fcitx5 + fcitx5-qt)) + (native-inputs + (list extra-cmake-modules + pkg-config)) + (home-page "https://github.com/fcitx/fcitx5-unikey") + (synopsis "Unikey (Vietnamese Input Method) engine support for Fcitx5") + (description "This provides Unikey input method support for Fcitx5.") + (license license:gpl2+))) + (define-public fcitx5-chewing (package (name "fcitx5-chewing") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index dd1402a37e..b990338d78 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -845,7 +845,7 @@ blockchain.") ;; the system's dynamically linked library. (package (name "monero") - (version "0.18.4.1") + (version "0.18.4.2") (source (origin (method git-fetch) @@ -863,7 +863,7 @@ blockchain.") delete-file-recursively '("external/miniupnp" "external/rapidjson")))) (sha256 - (base32 "0k4z01l8dvnazh650yarwn6ja1wrxcqq4g7302xw0dhw7h1qvy1j")))) + (base32 "1285kigw9j633ghvp4apld9ddrvw7hjgjv23yabjvl7l2gc6hlv6")))) (build-system cmake-build-system) (native-inputs (list doxygen @@ -950,7 +950,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.18.4.1") + (version "0.18.4.2") (source (origin (method git-fetch) @@ -966,7 +966,7 @@ the Monero command line client and daemon.") ;; See the 'extract-monero-sources' phase. (delete-file-recursively "monero"))) (sha256 - (base32 "1r2cfzh4lc94mb7fqa8f41613msnsyy5kz6mzcr4npjpm8bxqs8k")))) + (base32 "0sa90shh82k6pzj1xr1f6x13q1q4mif4v00zahq96i7iglqpn4b6")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -2530,7 +2530,7 @@ and manipulation.") (define-public xmrig (package (name "xmrig") - (version "6.22.2") + (version "6.24.0") (source (origin (method git-fetch) @@ -2538,7 +2538,7 @@ and manipulation.") (url "https://github.com/xmrig/xmrig") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "0dis9v8xykiqqzcib22djgmzyvx71akjs25aqvxjjzl1n8cm4npz")) + (sha256 (base32 "10q91sh29hlb7yd4lkfjsrk16qgb2j1z19ac77c9y7ccfci97f01")) (modules '((guix build utils))) (snippet ;; TODO: Try to use system libraries instead of bundled ones in @@ -2587,7 +2587,7 @@ mining.") (define-public p2pool (package (name "p2pool") - (version "4.9") + (version "4.9.1") (source (origin (method git-fetch) @@ -2596,7 +2596,7 @@ mining.") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) - (sha256 (base32 "0898a823mi38z6dwdm6crb2l98rv79sznmqwa0ss96xggvk12nlw")) + (sha256 (base32 "0zdsp6pb4rlbdqanx94rw1rii5jih1szf4rl3nf8fldvjkwkydlf")) (modules '((guix build utils))) (snippet #~(for-each delete-file-recursively diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 68229aab85..51c724eb74 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -663,7 +663,7 @@ executing in M-mode.") (define-public seabios (package (name "seabios") - (version "1.16.2") + (version "1.17.0") (source (origin (method git-fetch) @@ -672,7 +672,7 @@ executing in M-mode.") (commit (string-append "rel-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mal2zqn4ppxdjxddrxcphm6z9n8n4rw97xl2hldd7spw57nwq97")) + (base32 "0v4rsv2mh6rmb9n2fc1df439z16qgmnkbv0vb5ylmpqzqfbjjd3q")) (modules '((guix build utils))) (snippet #~(begin @@ -703,12 +703,6 @@ executing in M-mode.") ;; If we use (cc-for-target) then we have the system prefix ;; twice or we might have the wrong prefix. (setenv "CC" "gcc"))) - (add-before 'build 'build-description-tables - (lambda _ - ;; Regenerate the ACPI description tables. - (invoke "make" "iasl") - ;; Clear temporary files added by the iasl target. - (invoke "make" "clean"))) (replace 'install (lambda _ (install-file "out/bios.bin" diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index c21d7c183d..a206016453 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2642,6 +2642,134 @@ programming. Iosevka is completely generated from its source code.") (sha256 (base32 "08ijx9rbcx95yiaiwv6k25xmsi24rdy50mkmmaw94mmwv22mxdra")))))) +(define-public font-apl2741-unicode + (let ((commit "1e11efae38e5095bfe49a786b111d563e83dad03")) + (package + (name "font-apl2741-unicode") + (version "1668049300") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abrudz/APL2741.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i1yk1x99lr2swlbq9r7dny5w70zwiwi8lpfcw4n7k7pfbw0xh7y")))) + (build-system trivial-build-system) + (native-inputs (list fontforge)) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (dest (string-append out "/share/fonts/truetype")) + (fontforge (string-append + (assoc-ref %build-inputs "fontforge") + "/bin/fontforge"))) + (mkdir-p dest) + (invoke fontforge "-lang=ff" "-c" "Open($1); Generate($2)" + (string-append source "/APL2741.sfd") + (string-append dest "/APL2741.ttf")))))) + (synopsis "APL2741 Unicode font") + (home-page "https://abrudz.github.io/APL2741/") + (description "APL font based on Adrian Smith's IBM Selectric APL2741 +golf-ball font. It supports most special characters used by popular APL +implementations, some additional mathematical and typographical symbols, +single line drawing characters, as well as the full Unicode APL range, +including both uppercase and lowercase underscored alphabets, as-of-yet unused +symbols, and almost all Latin-1 accented letters.") + (license license:unlicense)))) + +(define-public font-apl333 + (package + (name "font-apl333") + ;; Version number as for apl-385, last modified 2013-04-20. + (version "20130420") + (source + (origin + (method url-fetch) + (uri (string-append "https://apl385.com/fonts/" "apl333.zip")) + (sha256 + (base32 "0yn0ha7d14vp4ma3lxbc9kpyrn20m7brjisr6w55c9mi24w9v3a5")))) + (build-system font-build-system) + (home-page "https://apl385.com/fonts/index.htm") + (synopsis "Variable-width APL font inspired by Comic Sans Serif") + (description + "Variable-width version of Adrian Smith's APL385 font developed with APL +software vendors in the late 1980s.") + (license license:public-domain))) + +(define-public font-apl385 + (package + (name "font-apl385") + ;; No version number or release, unzipping source and checking file times + ;; shows the font file was last modified on 2016-08-21. + (version "20160821") + (source + (origin + (method url-fetch) + (uri (string-append "https://apl385.com/fonts/" "apl385.zip")) + (sha256 + (base32 "132qfsnx0v6qf8x8iy3flivv449nz42nnpkwjysmz65w6wqxpk1g")))) + (build-system font-build-system) + (home-page "https://apl385.com/fonts/index.htm") + (synopsis "Monospaced APL font inspired by Comic Sans Serif") + (description + "Adrian Smith's monospaced APL font developed with APL software vendors +in the late 1980s.") + (license license:public-domain))) + +(define-public font-apl386 + ;; Neither releases nor tags + (let ((commit "c5bca014b6610ee170985c3ce32a8bb14dbd7b94") + (revision "1")) + (package + (name "font-apl386") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abrudz/APL386") + (commit commit))) + (file-name (git-file-name name revision)) + (sha256 + (base32 "0z7kpqgfrb053rajnr08n02rdwg5w1aynxj13ys93j0k3xvv5a75")))) + (build-system font-build-system) + (synopsis "Font suitable for APL programming language") + (description + "APL386 is an evolution of Adrian Smith's APL385 font with a fun, +whimsical look, inspired by Comic Sans Serif.") + (home-page "https://abrudz.github.io/APL386/") + (license license:unlicense)))) + +(define-public font-bqn386 + ;; Neither releases nor tags + (let ((commit "4d8b9f668ba76a15ca9cd44d9bfedaf95a4c0d96") + (revision "1")) + (package + (name "font-bqn386") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dzaima/BQN386") + (commit commit))) + (file-name (git-file-name name revision)) + (sha256 + (base32 "1l2ycjs85vps7sy5yg19mq1xdnfv4lx3skw921yw1rhx9xdvhrgc")))) + (build-system font-build-system) + (synopsis "Font suitable for APL and BQN programming languages") + (description + "BQN386 is an extension of APL386 font. This font keeps regular APL +characters mostly intact.") + (home-page "https://dzaima.github.io/BQN386/") + (license license:unlicense)))) + (define-public font-aporetic (package (name "font-aporetic") diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index ff3bbe52f0..377aeeb251 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -147,15 +147,15 @@ formal verification. This is the Yosyshq fork of ABC.") (define-public apycula (package (name "apycula") - (version "0.22") + (version "0.23") ;; The pypi tar.gz file includes the necessary .pickle files, not available ;; in the home-page repository. (source (origin (method url-fetch) - (uri (pypi-uri "Apycula" version)) + (uri (pypi-uri "apycula" version)) (sha256 - (base32 "15xwmi6z2p7jz17l5bqs511yh8jis1dacqc8fypx49jysl7h0apd")))) + (base32 "1kk9hi8zhdp1am5vj716lwlmrs31lxrwhdbbc4qsad470dcjqs57")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) ;requires Gowin EDA tools (inputs (list python-crc)) @@ -795,61 +795,66 @@ using different abstraction levels.") (list perl python systemc)) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ (invoke "autoconf"))) - (add-after 'unpack 'adjust-source - (lambda _ - (substitute* "bin/verilator" - (("/bin/echo") "echo")))) - (add-before 'check 'disable-gdb-safe-path - (lambda _ - (setenv "HOME" (getcwd)) - (mkdir-p (string-append (getcwd) "/.config/gdb")) - (with-output-to-file (string-append (getcwd) "/.config/gdb/gdbinit") - (lambda () - (display "set auto-load safe-path /")))))) - #:test-target "test")) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoconf"))) + (add-after 'unpack 'adjust-source + (lambda _ + (substitute* "bin/verilator" + (("/bin/echo") "echo")))) + (add-before 'check 'disable-gdb-safe-path + (lambda _ + (setenv "HOME" (getcwd)) + (mkdir-p (string-append (getcwd) "/.config/gdb")) + (with-output-to-file + (string-append (getcwd) "/.config/gdb/gdbinit") + (lambda () + (display "set auto-load safe-path /")))))) + #:test-target "test")) (home-page "https://www.veripool.org/verilator/") (synopsis "Verilog/SystemVerilog simulator") (description - "Verilator transforms the specified Verilog or SystemVerilog code by reading it, -performing lint checks, and optionally inserting assertion checks and -coverage-analysis points. It outputs single- or multi-threaded @file{.cpp} -and @file{.h} files.") + "Verilator transforms the specified Verilog or SystemVerilog code by +reading it, performing lint checks, and optionally inserting assertion checks +and coverage-analysis points. It outputs single- or multi-threaded +@file{.cpp} and @file{.h} files.") (license license:lgpl3))) (define-public fftgen - (let ((commit "1d75a992efd0528edea128a903aafdabe133cb08") ;no releases - (revision "0")) + (let ((commit "3378b77d83a98b06184656a5cb9b54e50dfe4485") ;no releases + (revision "1")) (package (name "fftgen") (version (git-version "0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ZipCPU/dblclockfft") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0qq874yalzpjdwnxhc5df8a0ifywv29wcncb09945x56xplvkcmd")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZipCPU/dblclockfft") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rvln871wjkbbqnv88jnx328xlhn5sgbr8fglk3ajnd9rwgiq3jg")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;no tests - #:make-flags '("CFLAGS=-g -O2") ;default flags lack -O2 - #:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") - "/bin"))) - (install-file "sw/fftgen" bin))))))) + (list + #:test-target "bench-test" + #:make-flags #~(list "CFLAGS=-g -O2") ;default flags lack -O2 + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "sw/fftgen" + (string-append #$output "/bin"))))))) + (native-inputs (list bc fftw python-minimal verilator which)) (synopsis "Generic pipelined FFT core generator") (description "fftgen produces @acronym{FFT, fast-Fourier transforms} hardware designs in Verilog.") - (home-page "https://zipcpu.com/") + (home-page "https://github.com/ZipCPU/zipcpu/") (license license:lgpl3+)))) (define-public openfpgaloader @@ -921,7 +926,7 @@ to @samp{info \"(guix) Base Services\"} for examples.") #:test-flags #~(list "test_all.py"))) (native-inputs (list python-pytest python-setuptools python-wheel)) (propagated-inputs (list python-networkx python-six)) - (home-page "https://gitlab.com/ohwr/project/hdl-make/") + (home-page "https://ohwr.gitlab.io/project/hdl-make/") (synopsis "Generate multi-purpose makefiles for HDL projects") (description "Hdlmake helps manage and share @acronym{HDL, hardware description diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0d3d663ab8..d8ec14af1c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -12476,80 +12476,6 @@ game.") ;thanks to Debian for description computer opponents or against real players online.") (license license:agpl3+))) -(define-public xblackjack - (package - (name "xblackjack") - (version "2.2") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.ibiblio.org/pub/X11/contrib/games/" - "xblackjack-" version ".tar.gz")) - (sha256 - (base32 "05h93rya7zwnx2l58f0a7wkjadymkj4y77clcr2hryhrhhy1vwjx")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((imake (assoc-ref inputs "imake")) - (out (assoc-ref outputs "out"))) - (substitute* "Imakefile" - (("EXTRA_LIBRARIES = -lXm \\$\\(DEPLIBS\\) -lbsd") - "EXTRA_LIBRARIES = -lXm -lXt -lXmu -lXext -lX11") - (("^#define NonStandardInstallTargets NO") - "#define NonStandardInstallTargets YES") - (("BINDIR = /usr/local/bin") - (string-append "BINDIR = " out "/bin")) - (("MANDIR = /usr/local/man/cat1") - (string-append "MANDIR = " out "/share/man/man1")) - (("XAPPLOADDIR = /usr/local/lib/app-defaults") - (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults"))) - - (invoke "xmkmf") ; Generate Makefile. - (substitute* "Makefile" - ((imake) out) - (("ETCX11DIR = /etc/X11") - (string-append "ETCX11DIR = " out "/etc/X11")) - ;; Fix incorrect argument given to gcc. Error message: - ;; "gcc: error: DefaultGcc2AMD64Opt: No such file or directory" - (("CDEBUGFLAGS = [^\n]*") "")) - - ;; Fix header paths. - (substitute* '("Draw.c" - "Strategy.c") - (("^#include <X11/Xm/Xm.h>") - "#include <Xm/Xm.h>")) - (substitute* "Strategy.c" - (("^#include <X11/Xm/Label.h>") - "#include <Xm/Label.h>")) - - ;; Fix compilation errors. - (substitute* "Table.c" - (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "") - (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);") - "_XmMoveObject(w, rx, ry);") - (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,") - "_XmResizeObject(managed->locs[i].w, nw, nh,"))))) - (add-after 'install 'install-man-pages - (lambda _ - (invoke "make" "install.man")))) - #:tests? #f)) ; No check target. - (inputs - (list lesstif libx11 libxext libxmu libxt)) - (native-inputs - (list imake)) - (home-page "https://www.ibiblio.org/pub/X11/contrib/games/") - (synopsis "X11/Motif blackjack game") - (description - "Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for -the casino. It was inspired by a book called \"Beat the Dealer\" by Edward -O. Thorp, Ph.D. of UCLA. A number of important statistics are maintained -for display, and used by the program to implement Thorp's \"Complete Point -System\" (high-low system).") - (license (license:x11-style "" "See file headers.")))) - (define-public xevil ;; This game is old. Use a maintained fork that builds with modern toolchains ;; on modern, 64-bit hardware. diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index caeba83735..8ce59145ec 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1285,12 +1285,7 @@ as the 'native-search-paths' field." "gfortran" '("fortran") %generic-search-paths))) -(define-public gdc-10 - (hidden-package - (custom-gcc gcc-10 "gdc" '("d") - %generic-search-paths))) - -(define-public gdc-11 +(define-public gdc-11 ;kept for bootstrapping (hidden-package (custom-gcc gcc-11 "gdc" '("d") %generic-search-paths))) @@ -1298,8 +1293,18 @@ as the 'native-search-paths' field." ;;; Alias tracking the latest GDC version. (define-public gdc (hidden-package - (custom-gcc gcc "gdc" '("d") - %generic-search-paths))) + (let ((base (custom-gcc gcc + "gdc" '("d") + %generic-search-paths))) + (package + (inherit base) + (native-inputs + (modify-inputs (package-native-inputs base) + ;; Since GCC 12, GDC is self-hosted, requiring a version of itself + ;; to build. + ;; XXX: GCC must be prepended as well to avoid an issue with the C++ + ;; headers ordering. + (prepend gcc gdc-11))))))) (define-public gm2 (hidden-package diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 4a0fa38f0c..2a662752ba 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -349,7 +349,9 @@ buffers.") (version-major+minor version) "/gimp-" version ".tar.bz2")) (sha256 - (base32 "0vl57w9w31cgz6nbkpqfycsnwi5qym87jw31hvz3320wq7p4ba2h")))) + (base32 "0vl57w9w31cgz6nbkpqfycsnwi5qym87jw31hvz3320wq7p4ba2h")) + (patches (search-patches "gimp-fix-tiff-load.patch" + "gimp-fix-metadata-editor.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 5f35bcabac..e797dba593 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -453,7 +453,7 @@ handlers.") (define-public go-github-com-alexliesenfeld-health (package (name "go-github-com-alexliesenfeld-health") - (version "0.8.0") + (version "0.8.1") (source (origin (method git-fetch) @@ -462,7 +462,7 @@ handlers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1fchlvxwidsscskwq07vhxfwcn5wbigbizi51619l8gg09mr158q")))) + (base32 "19p0rs1dmvf3cnylyykmmnma2g5x2vy8gasr2rjl28ma58w6l0d3")))) (build-system go-build-system) (arguments (list @@ -1571,7 +1571,7 @@ and reduce scope of key compromise. (define-public go-github-com-caddyserver-zerossl (package (name "go-github-com-caddyserver-zerossl") - (version "0.1.0") + (version "0.1.3") (source (origin (method git-fetch) @@ -1580,7 +1580,7 @@ and reduce scope of key compromise. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m")))) + (base32 "16mrlmsl3ajdrn2qsdq51k79z3fi8v8j82r2c6xyj7mp2yr979h6")))) (build-system go-build-system) (arguments (list @@ -8723,7 +8723,7 @@ to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550}, (define-public go-github-com-pion-rtp (package (name "go-github-com-pion-rtp") - (version "1.8.11") + (version "1.8.21") (source (origin (method git-fetch) @@ -8732,11 +8732,13 @@ to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550}, (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a4fj31j7glhfsnxxwm8r72l6capz9mh8kfr340659ahgiijdkcg")))) + (base32 "1hc5cdxgf0m44awvzzaby3hrlnhjbxjivl6981069xwgxspqakhm")))) (build-system go-build-system) (arguments (list #:import-path "github.com/pion/rtp")) + (native-inputs + (list go-github-com-stretchr-testify)) (propagated-inputs (list go-github-com-pion-randutil)) (home-page "https://github.com/pion/rtp") @@ -8838,7 +8840,7 @@ Protocol,SCTP} as specified in (package (inherit go-github-com-pion-srtp-v2) (name "go-github-com-pion-srtp-v3") - (version "3.0.4") + (version "3.0.7") (source (origin (method git-fetch) @@ -8847,7 +8849,7 @@ Protocol,SCTP} as specified in (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "03343fsgrawfy9plsl7y5022ygjln3jvsn3im5xl1qwnc68rb1a2")))) + (base32 "0l8y01ci5fsx8b6ajn9cvs45hqpz838x0jnyyj1p2z714nw9jh61")))) (arguments (list #:import-path "github.com/pion/srtp/v3")) @@ -10203,7 +10205,7 @@ Supports S3 and STS.") (define-public go-github-com-sourcegraph-jsonrpc2 (package (name "go-github-com-sourcegraph-jsonrpc2") - (version "0.2.0") + (version "0.2.1") (home-page "https://github.com/sourcegraph/jsonrpc2") (source (origin @@ -10213,7 +10215,7 @@ Supports S3 and STS.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1id35b4mhif9gy1b70mv0x7xkmpm2p8xydix8six10yjyhvm1wjh")))) + (base32 "0nxiq8da4x4sipjkap50cfzjg9b8vqm45w65hbjywwj6q73jl54a")))) (build-system go-build-system) (arguments '(#:import-path "github.com/sourcegraph/jsonrpc2")) @@ -10501,6 +10503,52 @@ runtime. It has zero dependencies, and doesn't rely on CGO. This means you can run applications in other languages and still keep cross compilation.") (license license:asl2.0))) +(define-public go-github-com-things-go-go-socks5 + (package + (name "go-github-com-things-go-go-socks5") + (version "0.0.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/things-go/go-socks5") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r7v1bpja4j8q9bjh124w8l5m29vwnpaq0flm97izvzw4pcyxybf")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/things-go/go-socks5")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-golang-org-x-net)) + (home-page "https://github.com/things-go/go-socks5") + (synopsis "SOCKS5 with full TCP/UDP and IPv4/IPv6 support in Golang") + (description + "This package implements a @url{http://en.wikipedia.org/wiki/SOCKS, +SOCKS5}. SOCKS (Secure Sockets) is used to route traffic between a client and +server through an intermediate proxy layer. This can be used to bypass +firewalls or NATs. + +Features: +@itemize +@item support socks5 server +@item support TCP/UDP and IPv4/IPv6 +@item unit tests +@item \"No Auth\" mode +@item user/password authentication optional user addr limit +@item support for the CONNECT command +@item support for the ASSOCIATE command +@item rules to do granular filtering of commands +@item custom DNS resolution +@item custom goroutine pool +@item buffer pool design and optional custom buffer pool +@item custom logger +@end itemize") + (license license:expat))) + (define-public go-github-com-tj-go-elastic (package (name "go-github-com-tj-go-elastic") @@ -12706,7 +12754,7 @@ the standard @code{context} package to store request-scoped values.") (define-public go-golang-zx2c4-com-wireguard (package (name "go-golang-zx2c4-com-wireguard") - (version "0.0.0-20231211153847-12269c276173") + (version "0.0.0-20250521234502-f333402bd9cb") (source (origin (method git-fetch) @@ -12718,33 +12766,16 @@ the standard @code{context} package to store request-scoped values.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1fbc6m0ahifhrd6jdrpdxi8l3b2slpp8fmv20kpq2yzz19vzzgkf")))) + (base32 "1h4rmdvssk939gk31f0sfwa1yaks72zk8rkcs7fj3qcvl8sgq6hr")))) (build-system go-build-system) (arguments (list - #:import-path "golang.zx2c4.com/wireguard" - #:phases - #~(modify-phases %standard-phases - ;; XXX: Workaround for go-build-system's lack of Go modules - ;; support. - (replace 'check - (lambda* (#:key tests? import-path #:allow-other-keys) - (when tests? - (with-directory-excursion (string-append "src/" import-path) - (invoke "go" "test" "-v" - ;; "./tune/..." ; Requires gvisor.dev/gvisor, not packed yet - "./" - "./conn/..." - "./device/..." - "./ipc/..." - "./ratelimiter/..." - "./replay/..." - "./rwcancel/..." - "./tai64n/...")))))))) + #:import-path "golang.zx2c4.com/wireguard")) (propagated-inputs (list go-golang-org-x-crypto go-golang-org-x-net - go-golang-org-x-sys)) + go-golang-org-x-sys + go-gvisor-dev-gvisor)) (home-page "https://git.zx2c4.com/wireguard") (synopsis "Implementation of WireGuard in Go") (description "This package is a Go Implementation of WireGuard.") diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 8f5201824d..73c4b4cd3d 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1013,6 +1013,32 @@ Distance}.") http://tartarus.org/~martin/PorterStemmer/index.html.") (license license:expat))) +(define-public go-github-com-akamensky-argparse + (package + (name "go-github-com-akamensky-argparse") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akamensky/argparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m7rzrfwyrwxbbry5ppds2b3c5gdslpakvjhsh6i8mhdfhywd8wc")))) + (build-system go-build-system) + (arguments + (list + ;; Panic: unexpected call to os.Exit(0) during test. + #:test-flags #~(list "-skip" "TestUsageString") + #:import-path "github.com/akamensky/argparse")) + (home-page "https://github.com/akamensky/argparse") + (synopsis "Argparse for golang") + (description + "This package implements a flexible and configurable option for command +line arguments parsing.") + (license license:expat))) + (define-public go-github-com-alecaivazis-survey-v2 (package (name "go-github-com-alecaivazis-survey-v2") @@ -12372,6 +12398,35 @@ representation suitable for computing diffs.") @end itemize") (license license:expat))) +(define-public go-github-com-landlock-lsm-go-landlock + (package + (name "go-github-com-landlock-lsm-go-landlock") + (version "0.0.0-20250303204525-1544bccde3a3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/landlock-lsm/go-landlock") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00qis8gg2ajyph9jyrjghm6cn0h22pwjwdp6qa22ji6jslgnm02n")))) + (build-system go-build-system) + (arguments + (list + #:skip-build? #t + #:import-path "github.com/landlock-lsm/go-landlock")) + (propagated-inputs + (list go-golang-org-x-sys + go-kernel-org-pub-linux-libs-security-libcap-psx)) + (home-page "https://landlock.io/") + (synopsis "Golang library for the Linux Landlock sandboxing feature") + (description + "This package implements a restriction for the current processes' ability +to use files, using Linux 5.13's +@url{https://docs.kernel.org/security/landlock.html, Landlock} feature.") + (license license:expat))) + (define-public go-github-com-lann-builder (package (name "go-github-com-lann-builder") @@ -22672,6 +22727,33 @@ kubernetes-independent packages supplementing the @url{https://pkg.go.dev/std#stdlib,Go standard libs}.") (license license:asl2.0))) +(define-public go-kernel-org-pub-linux-libs-security-libcap-psx + (package + (name "go-kernel-org-pub-linux-libs-security-libcap-psx") + (version "1.2.76") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/libs/libcap/libcap.git") + (commit (go-version->git-ref version + #:subdir "psx")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0va0bkq5kxf0ccsdpw598vsmk4kdzhaafjvym0g5b2n49c5sn59b")))) + (build-system go-build-system) + (arguments + (list + #:import-path "kernel.org/pub/linux/libs/security/libcap/psx" + #:unpack-path "kernel.org/pub/linux/libs/security/libcap")) + ;; Redirects from <https://kernel.org/pub/linux/libs/security/libcap> + (home-page "https://sites.google.com/site/fullycapable") + (synopsis "API for invoking Linux system calls in Golang") + (description + "This package provides a support for system calls that are run +simultaneously on all threads under Linux.") + (license license:gpl2))) + (define-public go-maunium-net-go-mauflag (package (name "go-maunium-net-go-mauflag") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b56c2a62c6..620ed7e66f 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo> ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com> ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> -;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com> +;;; Copyright © 2020, 2025 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020, 2021, 2022 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> @@ -163,14 +163,14 @@ (define-public artanis (package (name "artanis") - (version "1.2.2") + (version "1.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/artanis/artanis-" version ".tar.gz")) (sha256 (base32 - "013rs623075bbf824hf6jxng0kwbmg587l45fis9mmpq5168kspq")) + "16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi")) (modules '((guix build utils))) (snippet '(begin @@ -1063,14 +1063,15 @@ tables.") (replace "guile-lib" guile2.2-lib) (replace "guile-smc" guile2.2-smc))))) -(define-public guile-fibers +(define-public guile-fibers-1.3 (package (name "guile-fibers") (version "1.3.1") + (home-page "https://codeberg.org/fibers/fibers") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/wingo/fibers") + (url home-page) (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -1137,11 +1138,26 @@ communication between fibers. Note that Fibers makes use of some Guile 2.1/2.2-specific features and is not available for Guile 2.0.") - (home-page "https://github.com/wingo/fibers") (properties '((upstream-name . "fibers"))) (license license:lgpl3+))) -(define-public guile-fibers-1.3 guile-fibers) +(define-public guile-fibers-1.4 + (package + (inherit guile-fibers-1.3) + (name "guile-fibers") + (version "1.4.0") + (source + (origin (inherit (package-source guile-fibers-1.3)) + (file-name (git-file-name name version)) + (uri (git-reference + (url (package-home-page guile-fibers-1.3)) + (commit (string-append "v" version)))) + (sha256 + (base32 + "1ryp04w6ghgdfhlv9hkwl00iv6nwnw2hj2pywlxvpp92pyxhkwpi")) + (patches '()))))) + +(define-public guile-fibers guile-fibers-1.4) (define-public guile-fibers-1.1 (package @@ -1961,17 +1977,21 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lvxic93cyzhdq7gb22pfz5j5pf7b1pcv0ahblkan8jbhzpqxvm0")))) + (base32 "1lvxic93cyzhdq7gb22pfz5j5pf7b1pcv0ahblkan8jbhzpqxvm0")) + ;; FIXME: report upstream and remove when fixed. + (modules '((guix build utils))) + (snippet '(substitute* "module/Makefile.am" + (("compile-ffi -o mosquitto-nyacc.scm") + "compile-ffi -X -o $(srcdir)/ffi/mosquitto-nyacc.scm"))))) (build-system gnu-build-system) (arguments (list - #:make-flags - #~(list "GUILE_AUTO_COMPILE=0") + #:parallel-build? #f #:phases #~(modify-phases %standard-phases (add-before 'build 'patch-extension-path (lambda* (#:key inputs #:allow-other-keys) - (setenv "HOME" "/tmp") + (setenv "GUILE_AUTO_COMPILE" "0") (with-directory-excursion "module" (invoke "make" "ffi/mosquitto.scm") (substitute* "ffi/mosquitto.scm" @@ -1983,7 +2003,7 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.") (native-inputs (list autoconf automake guile-3.0 - nyacc-2.01 + nyacc pkg-config texinfo)) (inputs (list mosquitto)) @@ -4924,6 +4944,68 @@ return accumulators. It is implemented by wrapping the sample implementation in a thin Guile compatibility layer.") (license license:gpl3+)))) +(define-public guile-srfi-165 + (let ((commit "1b441c0edc258e39cb943096bd47dd45071e2f70") + (revision "0")) + (package + (name "guile-srfi-165") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/scheme-requests-for-implementation/srfi-165") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ac1nmf413sayy0xq4c2l4kmbjkh8ksg3s4fwgk44zcd8phy3kxw")))) + (build-system guile-build-system) + (arguments + (list + #:scheme-file-regexp "(srfi-165|impl)\\.scm$" + #:documentation-file-regexp "srfi-165\\.html$" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'rename-files + (lambda _ + (mkdir-p "srfi/srfi-165") + (rename-file "srfi/165.scm" "srfi/srfi-165/impl.scm") + (substitute* "srfi/165.sld" + (("\\(include \"165.scm\"\\)") + "(include \"srfi-165/impl.scm\")")) + (rename-file "srfi/165.sld" "srfi/srfi-165.scm"))) + (add-after 'build 'check-installed + (lambda _ + (substitute* "srfi/165/test.sld" + (("srfi 165 test") "srfi #{165}# test")) + (define-values (scm go) (target-guile-scm+go #$output)) + + (invoke "guile" + "-L" scm "-C" go + "-l" "./srfi/165/test.sld" + "-c" + (format #f "~S" + '(begin + (use-modules (srfi #{165}# test)) + (run-tests))))))))) + (native-inputs (list guile-3.0 + guile-srfi-125 + guile-srfi-128 + guile-srfi-146)) + (propagated-inputs + (list guile-srfi-125 guile-srfi-128 guile-srfi-146)) + (home-page "https://srfi.schemers.org/srfi-165/") + (synopsis "Environment/Reader Monad") + (description + "This library provides the sample implementation of SRFI-165. +This SRFI defines an environment monad, which models computations that depend on +values from a shared environment. These computations can read values from the +environment, pass values to subsequent computations, execute sub-computations in +an extended environment, and modify the environment for future computations.") + (license license:expat)))) + (define-public guile-srfi-180 (let ((commit "9188bf9724c6d320ef804579d222e855b007b193") (revision "0")) @@ -6729,15 +6811,15 @@ tools.") (define-public guile-eris (package (name "guile-eris") - (version "1.0.0") + (version "1.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://codeberg.org/eris/guile-eris.git") - (commit (string-append "v" version)))) + (url "https://codeberg.org/eris/guile-eris.git") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "0d4wbjwwaxk0zn5gjhl86qhvk1aisgzp1vnvy4xbvrv5ydqpgyqm")))) + (sha256 (base32 "03z9dr725kdj57gmkwnx6v6p8nkf0xbn359q2dnn4b29x3dxf39x")))) (build-system gnu-build-system) (arguments '()) (native-inputs @@ -6750,8 +6832,14 @@ tools.") guile-quickcheck)) (inputs (list guile-3.0)) (propagated-inputs - (list guile-sodium)) - (synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)") + (list guile-sodium + guile-coap + guile-fibers + guile-sqlite3 + guile-zstd + guile-cbor)) + (synopsis "Guile implementation of the Encoding for Robust Immutable +Storage (ERIS)") (description "Guile-ERIS is a Guile implementation of the @url{http://purl.org/eris, Encoding for Robust Immutable Storage (ERIS)}. ERIS allows arbitrary content @@ -6943,9 +7031,12 @@ schedulers.") (("dynamic-link \"libyaml\"") (format #f "dynamic-link \"~a/lib/libyaml\"" (assoc-ref inputs "libyaml"))))))))) - (native-inputs (list gcc guile-3.0 nyacc)) + ;; guile-libyaml does not work with nyacc-2.02.2. See + ;; https://github.com/mwette/guile-libyaml/issues/7 for upstream bug + ;; report. Hence, we use the older nyacc-1.08.1. + (native-inputs (list gcc guile-3.0 nyacc-1.08.1)) (inputs (list libyaml)) - (propagated-inputs (list guile-bytestructures nyacc)) + (propagated-inputs (list guile-bytestructures nyacc-1.08.1)) (home-page "https://github.com/mwette/guile-libyaml") (synopsis "Guile wrapper for libyaml") (description diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 421993d12c..4f3d493dda 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages lxqt) + #:use-module (gnu packages man) #:use-module (gnu packages messaging) #:use-module (gnu packages mtools) #:use-module (gnu packages package-management) @@ -212,6 +213,94 @@ Notable features include: @end itemize") (license (list license:bsd-0 license:gpl3+)))) +(define-public deskflow + (package + (name "deskflow") + (version "1.23.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deskflow/deskflow") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wgj0sjnxkfplpq05q2lqgag29l7bf4cqdw0xmr89ayrh1nyjxa1")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DCMAKE_SKIP_RPATH=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-files + (lambda _ + (substitute* "deploy/linux/deploy.cmake" + (("message.FATAL_ERROR.*os-release.*") + "set(RELEASE_FILE_CONTENTS \"\")\n")) + (substitute* "src/lib/deskflow/unix/AppUtilUnix.cpp" + (("/usr/share/X11/xkb/rules/evdev.xml") + (string-append #$(this-package-input "xkeyboard-config") + "/share/X11/xkb/rules/evdev.xml"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; From the project GitHub actions: "Integration tests are + ;; flakey by nature, make them optional". See: + ;; <.github/workflows/continuous-integration.yml>. + (invoke "./bin/legacytests")))) + (add-after 'install 'wrap-executable + (lambda _ + (let ((qtbase #$(this-package-input "qtbase"))) + (wrap-program (string-append #$output "/bin/deskflow") + `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt6/plugins/platforms")))))))))) + (native-inputs + (list doxygen + googletest + sysprof + vulkan-headers + coreutils + help2man + pkg-config)) + (inputs + (list bash-minimal + cli11 + gdk-pixbuf + libei + libportal + libx11 + libxi + libxinerama + libxkbcommon + libxkbfile + libxrandr + libxtst + libsm + libice + openssl + pugixml + python + qtbase + qtsvg + qttranslations + qttools + qtwayland + tomlplusplus + wayland + wayland-protocols + xkeyboard-config)) + (home-page "https://deskflow.org/") + (synopsis "Share a single keyboard and mouse between multiple computers") + (description + "Deskflow is a keyboard and mouse sharing app. Use the keyboard, +mouse,or trackpad of one computer to control nearby computers, and work +seamlessly between them. It's like a software KVM (but without the video). +TLS encryption is enabled by default. It supports Wayland clipboard +sharing.") + (license license:gpl2))) + (define-public hw-probe (package (name "hw-probe") diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 5a1f654652..43a1fdca22 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -297,7 +297,7 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20250630") + (version "10.20250721") (source (origin ;; hackage release doesn't include everything needed for extra bits. @@ -307,7 +307,7 @@ to @code{cabal repl}).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1livig1x1a929qagisjx33pzmgv38d6fzf11bmy2jfpgvvlk9mfx")))) + (base32 "1a2g4z9fl90kyl7k6clmc61ma2njnljr4na6jbf04m43qnnr9s5a")))) (build-system haskell-build-system) (properties '((upstream-name . "git-annex"))) (arguments diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index 25867b3895..f9df4a12f0 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net> ;;; Copyright © 2017, 2019, 2023 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu packages tls) #:use-module (guix build-system haskell) #:use-module (guix download) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils)) @@ -899,18 +901,20 @@ regular) Diffie Hellman key exchanges, and many extensions.") (define-public ghc-hsopenssl (package (name "ghc-hsopenssl") - (version "0.11.7.5") + (version "0.11.7.9") (source (origin (method url-fetch) (uri (hackage-uri "HsOpenSSL" version)) (sha256 - (base32 "0y0l5nb0jsc8lm12w66a2n7nwcrgjxy1q2xdy8a788695az5xy71")))) + (base32 "0z3nyqlcgqw4ncn90gs6bznyj3lrqpjv83nzs4854knm15x6cbsa")))) (build-system haskell-build-system) (properties '((upstream-name . "HsOpenSSL"))) - (inputs (list ghc-network openssl)) (arguments - `(#:extra-directories ("openssl"))) + (list #:extra-directories (list "openssl") + #:configure-flags + #~(list "--ghc-options=-optc=-Wno-incompatible-pointer-types"))) + (inputs (list ghc-network openssl)) (home-page "https://github.com/haskell-cryptography/HsOpenSSL") (synopsis "Partial OpenSSL binding for Haskell") (description diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 5dafd4e955..f99e8c4ae7 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -69,6 +69,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages engineering) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages game-development) @@ -942,17 +943,17 @@ recalculates.") (define-public paraview (package (name "paraview") - (version "5.11.1") + (version "6.0.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.kitware.com/paraview/paraview.git") + (url "https://gitlab.kitware.com/paraview/paraview") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "0m1lgkl95f0pyhxp97gq2rf8hibv39v4c49imfj1va40z0flvard")) + (base32 "1m1c7vngrpaqdqvnjx4wj0va20hih5rb7rf0a44mp3wqgp4wgy0f")) (modules '((guix build utils))) (snippet ;; TODO: Also remove unused bundled libraries and plugins? @@ -976,7 +977,7 @@ recalculates.") (for-each (lambda (dir) (delete-file-recursively (string-append "VTK/ThirdParty/" dir "/vtk" dir))) - '(;;"cgns" + '("cgns" "cli11" ;;"diy2" "doubleconversion" @@ -984,11 +985,12 @@ recalculates.") ;;"exodusII" "expat" ;;"exprtk" + ;;"fast-float" ;;"fides" "fmt" "freetype" "gl2ps" - "glew" + ;;"glad" ;;"h5part" "hdf5" ;;"ioss" @@ -1011,13 +1013,14 @@ recalculates.") "sqlite" "theora" "tiff" + ;;"token" "utf8" ;;"verdict" + ;;"viskores" ;;"vpic" ;;"vtkm" ;;"xdmf2" ;;"xdmf3" - ;;"zfp" "zlib")))))) (build-system qt-build-system) (arguments @@ -1025,7 +1028,7 @@ recalculates.") #:build-type "Release" ; 542 MiB in release mode #:tests? #f ; Downloads test data #:configure-flags - #~(let ((doc (string-append #$output "/share/doc/" #$name "-" #$version))) + #~(let ((doc (string-append "share/doc/" #$name "-" #$version))) (list (string-append "-DCMAKE_INSTALL_DOCDIR=" doc) ; For paraview.qch @@ -1095,6 +1098,7 @@ recalculates.") ;; External libraries for ParaView and VTK "-DVTK_MODULE_USE_EXTERNAL_ParaView_protobuf=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_cli11=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON" @@ -1102,7 +1106,6 @@ recalculates.") "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON" - "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON" "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON" @@ -1148,17 +1151,17 @@ recalculates.") python-sphinx)) (inputs (list boost + cgns cli11 curl double-conversion eigen expat ffmpeg - fmt + fmt-11 freetype gdal gl2ps - glew gmsh hdf5 nlohmann-json ;For ParFlow; build fails diff --git a/gnu/packages/lesstif.scm b/gnu/packages/lesstif.scm index 2c435d999b..f0ef220742 100644 --- a/gnu/packages/lesstif.scm +++ b/gnu/packages/lesstif.scm @@ -32,29 +32,6 @@ #:use-module (gnu packages xorg)) -(define-public lesstif - (package - (name "lesstif") - (version "0.95.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/lesstif/lesstif/" version - "/lesstif-" version ".tar.bz2")) - (sha256 - (base32 - "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb")))) - (build-system gnu-build-system) - (propagated-inputs - (list printproto)) - (inputs - (list libxext libxt)) - (home-page "https://lesstif.sourceforge.net/") - (synopsis "Clone of the Motif toolkit for the X window system") - (description "Clone of the Motif toolkit for the X window system.") - (license license:gpl2+))) ; some files are lgpl2.1+ or x11 - (define-public motif ;; This commit is from February 2023 and v2.3.8 from 2017. (let ((commit "0f556b0873c72ba1152a12fd54c3198ee039e413") diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm index 28c61faf82..c26ccde598 100644 --- a/gnu/packages/librewolf.scm +++ b/gnu/packages/librewolf.scm @@ -116,14 +116,14 @@ (define computed-origin-method (@@ (guix packages) computed-origin-method)) (define firefox-l10n - (let ((commit "25c14798b15f9933b6c1e2bc655030842b6e0edd")) + (let ((commit "2962877b9abd5bfa1e24e5bbc1e16e47e12d6760")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/mozilla-l10n/firefox-l10n.git") (commit commit))) (file-name (git-file-name "firefox-l10n" commit)) - (sha256 (base32 "06iymygkf94s04ixvk1mlis9p5lmypx5k8pmrd3z3jddpmawk0r1"))))) + (sha256 (base32 "1gaxbjjm0d4k4wgl64mwcxy2hx1vdq1dbmvjacg2fqxpnb62481x"))))) (define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n) (let* ((ff-src (firefox-source-origin @@ -193,10 +193,20 @@ "librewolf-compare-paths.patch" "librewolf-use-system-wide-dir.patch" "librewolf-add-store-to-rdd-allowlist.patch")) - ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests. - ;; Removing it makes it possible to compile on some systems. + ;; Slim down the tarball by removing unbundled libraries and 75 Mo (800+ + ;; Mo uncompressed) of unused tests. + ;; TODO: Unbundle security/nss and media/libpng. (modules '((guix build utils))) - (snippet #~(delete-file-recursively "testing/web-platform"))))) + (snippet + #~(for-each delete-file-recursively + '("testing/web-platform" + "gfx/cairo/libpixman" + "js/src/ctypes/libffi" + "ipc/chromium/src/third_party/libevent" + "media/libvpx" + "docs/nspr" + "media/libwebp" + "modules/zlib")))))) ;;; Define the versions of rust needed to build firefox, trying to match ;;; upstream. See table at [0], `Uses' column for the specific version. @@ -210,17 +220,17 @@ ;; It's used for cache validation and therefore can lead to strange bugs. ;; ex: date '+%Y%m%d%H%M%S' ;; or: (format-time-string "%Y%m%d%H%M%S") -(define %librewolf-build-id "20250727200313") +(define %librewolf-build-id "20250829153926") (define-public librewolf (package (name "librewolf") - (version "141.0-1") + (version "142.0.1-1") (source (make-librewolf-source #:version version - #:firefox-hash "1j1m6niw47xi6aj9rlcny8jhqkppjvg22cq7mikim93wpf22m640" - #:librewolf-hash "18k3d09dr6jkhr6g8z8c3aa7jj0ynjalkmvc3nj7wd98mgvky2xj" + #:firefox-hash "1h0hx0jxwy4rshdq6s5l5hbj8gyhn2zssisr59skwf63si7b9bdh" + #:librewolf-hash "1myzm6jblnrw1vdf5xlynbfr6a9swwcaws689az7xgq6s6n0rc3y" #:l10n firefox-l10n)) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 36cef84b14..83536ca746 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -34,7 +34,7 @@ ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> -;;; Copyright © 2019-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> @@ -83,6 +83,7 @@ ;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com> +;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it> ;;; ;;; This file is part of GNU Guix. ;;; @@ -514,7 +515,7 @@ 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.10") +(define-public linux-libre-6.15-version "6.15.11") (define-public linux-libre-6.15-gnu-revision "gnu") (define deblob-scripts-6.15 (linux-libre-deblob-scripts @@ -524,7 +525,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0301x3n5qbg8xm48pxq1dhrq0vkr61bqdcyaz0mbckrg20kw6m67"))) (define-public linux-libre-6.15-pristine-source (let ((version linux-libre-6.15-version) - (hash (base32 "01pxk3cnil1wbysp4s6ybh5djskxzf9llmk1qy7zfr2l4mwnbkd4"))) + (hash (base32 "14sxwrvw9p4ybizb8ky1rgahc62q0aw5qkmzqp3cpnavqfgldaw9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.15))) @@ -533,7 +534,7 @@ 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.42") +(define-public linux-libre-6.12-version "6.12.43") (define-public linux-libre-6.12-gnu-revision "gnu") (define deblob-scripts-6.12 (linux-libre-deblob-scripts @@ -543,7 +544,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j"))) (define-public linux-libre-6.12-pristine-source (let ((version linux-libre-6.12-version) - (hash (base32 "1yy17c06sn6l0skz8n1kxqhzldgwxxd0xhs11fd3086d56554128"))) + (hash (base32 "1vmxywg11z946i806sg7rk7jr9px87spmwwbzjxpps2nsjybpjqg"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.12))) @@ -2348,7 +2349,7 @@ and the notification, WiFi, and Bluetooth LED.") (define-public tuxedo-keyboard (package (name "tuxedo-keyboard") - (version "4.14.2") + (version "4.15.4") (source (origin (method git-fetch) @@ -2357,21 +2358,23 @@ and the notification, WiFi, and Bluetooth LED.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0b7qivyd8r58cq84q11b2z919px5p9k5zbinm6ahj07w0lsq2j7b")))) + (base32 "0mimgcbp57gp3smd439g8040sl80qqnfzmh2vhs2qv1kwyxs75sq")))) (build-system linux-module-build-system) (arguments (list #:tests? #f)) ; no test suite + ;; This package fails to build on aarch64, and the manufacturer only sells + ;; machines based on Intel-compatible processors. For more information, see + ;; <https://codeberg.org/guix/guix/pulls/1795>. + (supported-systems '("i686-linux" "x86_64-linux")) (home-page "https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers") (synopsis "Linux kernel modules to control keyboard on most Tuxedo computers") (description "This package provides the @code{tuxedo_keyboard}, @code{tuxedo_io}, @code{clevo_wmi} @acronym{WMI, Windows Management Engine} and the @code{clevo_acpi} @acronym{ACPI, Advanced Configuration and Power Interface} -kernel modules to control the keyboard on most Tuxedo computers. Only white -backlight only models are currently not supported. The @code{tuxedo_io} -module is also needed for the @code{tuxedo-control-center} (short tcc) -package.") - (license license:gpl3+))) +kernel modules to control the keyboard on most Tuxedo computers. The @code{tuxedo_io} +module is also needed for the @code{tuxedo-control-center} (short tcc) package.") + (license license:gpl2+))) (define-public evdi (package @@ -3063,7 +3066,7 @@ deviation, and minimum and maximum values. It can show a nice histogram too.") ;; FIXME: For now we cannot reliably run tests on GNU/Hurd: ;; <https://bugs.gnu.org/47791>. #:tests? (and (not (%current-target-system)) - (not (string-suffix? "-gnu" (%current-system)))) + (not (system-hurd?))) #:phases #~(modify-phases %standard-phases @@ -3378,24 +3381,20 @@ slabtop, tload, top, vmstat, w, watch and sysctl.") (define-public usbutils (package (name "usbutils") - (version "017") + (version "018") (source (origin - (method url-fetch) - (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/" - "usbutils-" version ".tar.xz")) - (sha256 - (base32 "0nz008kshcajc9asxr4j5dh4wgq72z52lws4ga6y60wirzymz8m6")))) - (build-system gnu-build-system) + (method url-fetch) + (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/" + "usbutils-" version ".tar.xz")) + (sha256 + (base32 "14xd7j9fl3pm0z4dhqj3mf9paqk431kq4vi602f5hiw5nmcqpxl3")))) + (build-system meson-build-system) (outputs (list "out" "python")) (arguments (list #:phases #~(modify-phases %standard-phases - (add-before 'bootstrap 'patch-bootstrap-scripts - (lambda _ - (substitute* "usbhid-dump/bootstrap" - (("/bin/sh") (which "sh"))))) (add-after 'install 'separate-python-output ;; Separating one Python script shaves more than 106 MiB from :out. (lambda _ @@ -3404,17 +3403,21 @@ slabtop, tload, top, vmstat, w, watch and sysctl.") (new (string-append #$output:python "/" file))) (mkdir-p (dirname new)) (rename-file old new))) - (list "bin/lsusb.py"))))))) - (inputs - (list eudev libusb python)) - (native-inputs - (list autoconf automake libtool pkg-config)) + (list "bin/lsusb.py")))) + (add-after 'install 'install-usbreset + (lambda _ + (install-file "usbreset" + (string-append #$output "/bin"))))))) + (native-inputs (list pkg-config)) + (inputs (list eudev libusb python)) (home-page "http://www.linux-usb.org/") (synopsis "Tools for working with USB devices") (description - "Collection of tools to query what type of USB devices are connected to the -system, including @command{lsusb}.") + "Collection of tools to query what type of USB devices are connected to +the system, including @command{lsusb}. The experimental @command{usbreset} +command included in the package, but be aware that it may not work for all +devices.") (license license:gpl2+))) (define-public usbip-utils @@ -8103,124 +8106,128 @@ not as a replacement for it.") license:gpl3+)))) ; everything else (define-public hotspot - (package - (name "hotspot") - (version "1.5.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KDAB/hotspot") - (commit (string-append "v" version)) - ;; Include the bundled perfparser and PrefixTickLabels - ;; libraries, which are to be used in source form. - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04k2rvf2lgi8hp7dzqzn65fcd2lsiylwr04d44q75j0wvgbjjv1v")))) - (build-system qt-build-system) - (arguments - (list - ;; As mentioned in the option help text, the KAuth helper cannot be - ;; installed to a custom prefix and the build fails with "file cannot - ;; create directory: /polkit-1/actions. Maybe need administrative" - ;; (see: https://bugs.kde.org/show_bug.cgi?id=363678). - #:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF" - "-DQT6_BUILD=ON") - #:qtbase qtbase - ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with - ;; the later seemingly requiring sudo or access to the kernel - ;; trace points. - #:test-exclude - (string-append - "(" - (string-join - ;; The 'tst_models' expected output doesn't exactly - ;; match. - '("tst_models" - ;; The 'tst_callgraphgenerator' perf invocation - ;; fails when run in the build container. - "tst_callgraphgenerator" - ;; The 'tst_perfparser' test requires sudo/access - ;; to the kernel scheduler trace points. - "tst_perfparser") - "|") - ")") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-perfparser - ;; XXX: This phase is copied from qt-creator: keep them in sync! - (lambda* (#:key inputs #:allow-other-keys) - ;; perfparser attempts to dynamically load the demangle - ;; libraries; use their absolute file name to avoid having to - ;; set LD_LIBRARY_PATH. - (let ((librustc_demangle.so - (with-exception-handler (lambda (ex) - (if (search-error? ex) - #f - (raise-exception ex))) - (lambda () - (search-input-file inputs "lib/librustc_demangle.so")) - #:unwind? #t))) - (substitute* "3rdparty/perfparser/app/demangler.cpp" - (("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")" - all) - (if librustc_demangle.so - (format #f "loadDemangleLib(QStringLiteral(~s)" - librustc_demangle.so) - all)) ;no rustc_demangle; leave unchanged - (("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")") - (format #f "loadDemangleLib(QStringLiteral(~s)" - (search-input-file inputs - "lib/libd_demangle.so"))))))) - (add-after 'unpack 'path-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/perfoutputwidgetkonsole.cpp" - (("\"tail\"") - (format #f "~s" (search-input-file inputs "bin/tail")))) - (substitute* "src/perfrecord.cpp" - (("\"perf( )?\"" _ space) - (string-append "\"" (search-input-file inputs "bin/perf") - (or space "") "\"")))))))) - (native-inputs - (list extra-cmake-modules - vulkan-headers)) - (inputs - (append - (list coreutils-minimal - d-demangler - elfutils - karchive - kconfig - kcoreaddons - kddockwidgets - kgraphviewer - ki18n - kio - kiconthemes - kitemmodels - kitemviews - knotifications - kparts - ksyntaxhighlighting - kwindowsystem - libxkbcommon - perf - qtdeclarative - qtsvg - solid - threadweaver - `(,zstd "lib")) - (if (supported-package? rust-rustc-demangle-capi-0.1) - (list rust-rustc-demangle-capi-0.1) - '()))) - (home-page "https://github.com/KDAB/hotspot") - (synopsis "Performance analysis GUI for Linux perf") - (description "Hotspot is a standalone GUI for performance data analysis. + ;; Use the latest git commit as it includes unreleased fixes for the test + ;; suite. + (let ((commit "5cec69301a3f34ada86ce9fe01a9538b04b3cf7c") + (revision "0")) + (package + (name "hotspot") + (version (git-version "1.5.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KDAB/hotspot") + (commit commit) + ;; Include the bundled perfparser and PrefixTickLabels + ;; libraries, which are to be used in source form. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "115gskjdcb1q3mgrnv1qcdrhxabjzl1hhkpk1klk67ayicsk1ym6")))) + (build-system qt-build-system) + (arguments + (list + ;; As mentioned in the option help text, the KAuth helper cannot be + ;; installed to a custom prefix and the build fails with "file cannot + ;; create directory: /polkit-1/actions. Maybe need administrative" + ;; (see: https://bugs.kde.org/show_bug.cgi?id=363678). + #:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF" + "-DQT6_BUILD=ON") + #:qtbase qtbase + ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with + ;; the later seemingly requiring sudo or access to the kernel + ;; trace points. + #:test-exclude + (string-append + "(" + (string-join + ;; The 'tst_models' expected output doesn't exactly + ;; match. + '("tst_models" + ;; The 'tst_callgraphgenerator' perf invocation + ;; fails when run in the build container. + "tst_callgraphgenerator" + ;; The 'tst_perfparser' test requires sudo/access + ;; to the kernel scheduler trace points. + "tst_perfparser") + "|") + ")") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-perfparser + ;; XXX: This phase is copied from qt-creator: keep them in sync! + (lambda* (#:key inputs #:allow-other-keys) + ;; perfparser attempts to dynamically load the demangle + ;; libraries; use their absolute file name to avoid having to + ;; set LD_LIBRARY_PATH. + (let ((librustc_demangle.so + (with-exception-handler (lambda (ex) + (if (search-error? ex) + #f + (raise-exception ex))) + (lambda () + (search-input-file inputs "lib/librustc_demangle.so")) + #:unwind? #t))) + (substitute* "3rdparty/perfparser/app/demangler.cpp" + (("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")" + all) + (if librustc_demangle.so + (format #f "loadDemangleLib(QStringLiteral(~s)" + librustc_demangle.so) + all)) ;no rustc_demangle; leave unchanged + (("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")") + (format #f "loadDemangleLib(QStringLiteral(~s)" + (search-input-file inputs + "lib/libd_demangle.so"))))))) + (add-after 'unpack 'path-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/perfoutputwidgetkonsole.cpp" + (("\"tail\"") + (format #f "~s" (search-input-file inputs "bin/tail")))) + (substitute* "src/perfrecord.cpp" + (("\"perf( )?\"" _ space) + (string-append "\"" (search-input-file inputs "bin/perf") + (or space "") "\"")))))))) + (native-inputs + (list extra-cmake-modules + vulkan-headers)) + (inputs + (append + (list coreutils-minimal + d-demangler + elfutils + karchive + kconfig + kcoreaddons + kddockwidgets + kgraphviewer + ki18n + kio + kiconthemes + kitemmodels + kitemviews + knotifications + kparts + ksyntaxhighlighting + kwindowsystem + libxkbcommon + perf + qtdeclarative + qtsvg + solid + threadweaver + `(,zstd "lib")) + (if (supported-package? rust-rustc-demangle-capi-0.1) + (list rust-rustc-demangle-capi-0.1) + '()))) + (home-page "https://github.com/KDAB/hotspot") + (synopsis "Performance analysis GUI for Linux perf") + (description "Hotspot is a standalone GUI for performance data analysis. It aims to be similar to KCachegrind, but for data collected with @command{perf}, a profiler for use with the kernel Linux. Its main feature is graphically visualizing a @file{perf.data} file.") - (license (list license:gpl2+ license:gpl3+)))) ;dual licensed + (license (list license:gpl2+ license:gpl3+))))) ;dual licensed (define-public ecryptfs-utils (package @@ -12190,6 +12197,36 @@ virtual server table in the Linux kernel. The Linux Virtual Server can be used to build scalable network services based on a cluster of two or more nodes.") (license license:gpl2+))) +(define-public ryzenadj + (package + (name "ryzenadj") + (version "0.17.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/flygoat/ryzenadj/archive/refs/tags/" + "v" version ".tar.gz")) + (sha256 + (base32 "0i2x6kbn2ix52vjz1mmh0c0g3w0k4sn0lq68wbsk0pgndzcck2l4")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "win32") + #t)))) + (build-system cmake-build-system) + (inputs (list pciutils)) + (arguments + (list #:tests? #f ; No test suite + #:phases #~(modify-phases %standard-phases + (add-before 'install 'build + (lambda _ + (invoke "cmake" "-DCMAKE_BUILD_TYPE=Release" ".")))))) + (home-page "https://github.com/flygoat/ryzenadj") + (synopsis "Power management tool for AMD Ryzen APUs") + (description + "@command{ryzenadj} is an utility to adjust power management settings for +AMD Ryzen mobile processors. You will need to ensure it can access /dev/mem, +for instance by using the \"iomem=relaxed\" kernel argument.") + (license license:lgpl3))) + (define-public ryzen-smu (package (name "ryzen-smu") diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 1a4fa92789..1c9ed7c431 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -12205,8 +12205,8 @@ interfaces as well as a functional and an object oriented interface.") `(cons "clsql-cffi" ,asd-systems))))))) (define-public sbcl-clss - (let ((revision "2") - (commit "f62b849189c5d1be378f0bd3d403cda8d4fe310b")) + (let ((revision "3") + (commit "cd5f603e8207ec23c147c5cfda636ef8273a7525")) (package (name "sbcl-clss") (version (git-version "0.3.1" revision commit)) @@ -12215,10 +12215,10 @@ interfaces as well as a functional and an object oriented interface.") (method git-fetch) (uri (git-reference - (url "https://github.com/Shinmera/clss") + (url "https://codeberg.org/shinmera/clss") (commit commit))) (sha256 - (base32 "1033dchpanhcgxl5qfhr80aw9adbp9bvllhzvvy5p9mrfnidd1fv")) + (base32 "15wh1zafamxc5z5hni9ni72xg4n24am2xfqv7fwwhfw1sl06bcm2")) (file-name (git-file-name name version)))) (inputs (list sbcl-array-utils sbcl-plump)) @@ -12226,7 +12226,7 @@ interfaces as well as a functional and an object oriented interface.") (synopsis "DOM tree searching engine based on CSS selectors") (description "CLSS is a DOM traversal engine based on CSS selectors. It makes use of the Plump-DOM and is used by lQuery.") - (home-page "https://github.com/Shinmera/clss") + (home-page "https://codeberg.org/shinmera/clss") (license license:zlib)))) (define-public cl-clss @@ -27494,6 +27494,39 @@ internbombing, excessive input and macro characters.") (define-public ecl-safe-read (sbcl-package->ecl-package sbcl-safe-read)) +(define-public sbcl-salmagundi + (let ((commit "aa231f6043111ec5dbeb06feab732efb7d59c959") + (revision "0")) + (package + (name "sbcl-salmagundi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/s-expressionists/Salmagundi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i0hknnd555ih509kvna2xdirfxyy05wr2bp628997rnj8drlsnx")))) + (build-system asdf-build-system/sbcl) + (inputs (list sbcl-trivial-package-locks)) + (home-page "https://github.com/s-expressionists/Salmagundi") + (synopsis "Implementation of Common Lisp hash tables") + (description "This library contains code that implements Common Lisp +hash tables.") + (license license:bsd-2)))) + +(define-public cl-salmagundi + (sbcl-package->cl-source-package sbcl-salmagundi)) + +(define-public ecl-salmagundi + (sbcl-package->ecl-package sbcl-salmagundi)) + +(define-public clasp-salmagundi + (sbcl-package->clasp-package sbcl-salmagundi)) + (define-public sbcl-salza2 (package (name "sbcl-salza2") @@ -31694,6 +31727,39 @@ in DEFPACKAGE.") (define-public ecl-trivial-package-local-nicknames (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames)) +(define-public sbcl-trivial-package-locks + (let ((commit "ca2e2b17124c7898942894383002313cea59486d") + (revision "0")) + (package + (name "sbcl-trivial-package-locks") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yitzchak/trivial-package-locks") + (commit commit))) + (file-name (git-file-name "cl-trivial-package-locks" commit)) + (sha256 + (base32 "0kbyrkd7a9apyq83bl96jspjggjsswxh93111wrmpvhbnm2vll60")))) + (build-system asdf-build-system/sbcl) + (native-inputs (list sbcl-parachute)) + (home-page "https://github.com/yitzchak/trivial-package-locks") + (synopsis "Standard interface to the various package lock implementations") + (description + "This package provides a standard interface to the various package lock +implementations of Common Lisp.") + (license license:expat)))) + +(define-public cl-trivial-package-locks + (sbcl-package->cl-source-package sbcl-trivial-package-locks)) + +(define-public ecl-trivial-package-locks + (sbcl-package->ecl-package sbcl-trivial-package-locks)) + +(define-public clasp-trivial-package-locks + (sbcl-package->clasp-package sbcl-trivial-package-locks)) + (define-public sbcl-trivial-raw-io (let ((commit "b1a3c876305baa0dead419841de7b3e433a75867") (revision "1")) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 7a748e2bad..a87634eb83 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1384,7 +1384,14 @@ Library.") "-DBUILD_SHARED_LIBS:BOOL=TRUE" "-DLLVM_VERSION_SUFFIX=")))) (properties `((hidden? . #t) - ,@(package-properties llvm-19))))) + ,@(package-properties llvm-19))) + (home-page "https://github.com/ROCm/llvm-project") + (synopsis + (string-append (package-synopsis llvm-14) " (AMD fork)")) + (description + (string-append (package-description llvm-14) " + +This AMD fork includes AMD-specific additions.")))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 7fb07cab0c..bfdbafa1bb 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1309,104 +1309,6 @@ multiple local rocks trees.") (define-public luarocks (make-luarocks "luarocks" lua)) -(define-public emilua - (package - (name "emilua") - (version "0.4.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/emilua/emilua.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1dwag2pyqc0g86rris4w4fzafmz9a6kiqd47vdq7hl3a1lyi74mx")))) - (build-system meson-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/emilua_gperf.awk" - (("/usr/bin/env") (which "env"))) - (substitute* "src/system.cpp" - (("P_PIDFD") "P_PID")) - - (copy-recursively - (assoc-ref inputs "emilua-http") - "emilua-http") - (copy-recursively - (assoc-ref inputs "trial-protocol") - "trial-protocol") - - (with-directory-excursion "subprojects" - (symlink "../emilua-http" "emilua-http") - (copy-file "packagefiles/emilua-http/meson.build" - "emilua-http/meson.build") - (symlink "../trial-protocol" "trial-protocol") - (copy-file "packagefiles/trial.protocol/meson.build" - "trial-protocol/meson.build"))))) - #:configure-flags - #~(list "-Denable_http=true" - "-Denable_file_io=true" - "-Denable_io_uring=true" - ;; TODO: Linux namespaces are disabled for now due to conflict - ;; with some packages in guix. - "-Denable_linux_namespaces=false" - "-Denable_manpages=false" - "-Dversion_suffix=-guix1"))) - (native-inputs - (list luajit-lua52-openresty - re2c - gperf - xxd - pkg-config)) - (inputs - `(("emilua-http" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/BoostGSoC14/boost.http") - (commit "93ae527c89ffc517862e1f5f54c8a257278f1195"))) - (sha256 - (base32 - "0jm7fw0cjd3s9zkkvyh6mcj6z32hcy7l9bszv74l92qk15ivvp9h")))) - ("trial-protocol" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/breese/trial.protocol") - (commit "79149f604a49b8dfec57857ca28aaf508069b669"))) - (sha256 - (base32 - "0k42i5b4v3zz5x0r3dssiymgmn2x8zg4fzdksya9aggxgigippsx")))) - ("boost" ,boost) - ("boost-static" ,boost-static) - ("fmt" ,fmt-8) - ("gcc" ,gcc-12) - ("luajit-lua52-openresty" ,luajit-lua52-openresty) - ("ncurses" ,ncurses) - ("serd" ,serd) - ("sord" ,sord) - ("libcap" ,libcap) - ("liburing" ,liburing) - ("openssl" ,openssl))) - (native-search-paths - (list - (search-path-specification - (variable "EMILUA_PATH") - (files - (list (string-append "lib/emilua-" (version-major+minor version))))))) - (home-page "https://gitlab.com/emilua/emilua") - (synopsis "Lua execution engine") - (description - "Emilua is a LuaJIT-based Lua execution engine that supports async IO, -fibers and actor-inspired threading. The experimental builtin HTTP module is -enabled.") - (license license:boost1.0))) - (define-public fennel (package (name "fennel") diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 30437ae565..4623871309 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2025 John Khoo <johnkhootf@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +48,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lsof) #:use-module (gnu packages openbox) + #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages text-editors) @@ -66,22 +68,42 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define delete-generated-c-files + ;; Remove C files generated by Vala so we can build from source. + '(let* ((c->vala + (lambda (file) + (string-append (string-drop-right file 2) + ".vala"))) + (generated-c-file? + (lambda (file stat) + (and (string-suffix? ".c" file) + (file-exists? (c->vala file)))))) + (for-each delete-file + (find-files "." generated-c-file?)))) + (define-public libfm (package (name "libfm") - (version "1.3.2") + (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/pcmanfm/" - "PCManFM%20%2B%20Libfm%20%28tarball%20release" - "%29/LibFM/" name "-" version ".tar.xz")) - (sha256 - (base32 - "1rfira3lx8v6scz1aq69925j4vslpp36bmgrrzcfby2c60q2c155")))) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/libfm") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gxg09lcacy7dh5pg1bm3rw11jffg7y59j0cb2cfsrgf0g5bjsvn")) + (modules '((guix build utils))) + (snippet delete-generated-c-files))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--with-gtk=3"))) (inputs (list glib gtk+)) (native-inputs (list intltool + which + automake + autoconf + gtk-doc `(,glib "bin") ; for gtester libtool menu-cache @@ -97,8 +119,9 @@ Glib/GIO giving a higher-level API.") (package (inherit libfm) (name "libfm-extra") (arguments '(#:configure-flags '("--with-extra-only"))) - (inputs (list glib)) - (native-inputs (list intltool libtool pkg-config)) + (inputs (list glib libexif)) + (native-inputs + (list autoconf automake gtk-doc intltool libtool pkg-config which)) (synopsis "File management support (extra library)") (description "This package contains a stand-alone library which extends the libFM file management library."))) @@ -106,18 +129,20 @@ libFM file management library."))) (define-public lxappearance (package (name "lxappearance") - (version "0.6.3") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "LXAppearance/lxappearance-" version ".tar.xz")) + (version "0.6.4") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxappearance") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj")))) + (base32 "1cia6mkb3fqy3rgfprlmq0ajh15cnazdwdkv4zd19klrh4jzg4xp")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--enable-gtk3"))) (inputs (list gtk+)) - (native-inputs (list intltool pkg-config)) + (native-inputs (list automake autoconf intltool pkg-config)) (synopsis "LXDE GTK+ theme switcher") (description "LXAppearance is a desktop-independent GTK+ theme switcher able to change themes, icons, and fonts used by GTK+ applications.") @@ -127,16 +152,16 @@ able to change themes, icons, and fonts used by GTK+ applications.") (define-public lxrandr (package (name "lxrandr") - (version "0.3.2") + (version "0.3.3") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/LXRandR" - "%20%28monitor%20config%20tool%29/LXRandR%20" - (version-major+minor version) ".x/" - "lxrandr-" version ".tar.xz")) - (sha256 - (base32 - "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb")))) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxrandr") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vh5r6bwafh9mq7syhdw1f2ahwvibq2wdc1ij84hbaa5bnyjfr8h")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gtk3") @@ -150,7 +175,7 @@ able to change themes, icons, and fonts used by GTK+ applications.") (("(\"|')xrandr\"" _ match) (string-append match (which "xrandr") "\"")))))))) (inputs (list gtk+ xrandr)) - (native-inputs (list intltool pkg-config)) + (native-inputs (list automake autoconf intltool pkg-config)) (synopsis "LXDE monitor configuration tool") (description "LXRandR is a very basic monitor configuration tool. It relies on the X11 resize-and-rotate (RandR) extension but doesn't aim to be a @@ -163,20 +188,20 @@ or external monitor.") (define-public lxtask (package (name "lxtask") - (version "0.1.10") + (version "0.1.12") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/LXTask" - "%20%28task%20manager%29/LXTask%20" - (version-major+minor version) ".x/" - "lxtask-" version ".tar.xz")) - (sha256 - (base32 - "0b2fxg8jjjpk219gh7qa18g45365598nd2bq7rrq0bdvqjdxy5i2")))) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxtask") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11vcl0k2yhx59599fdk8gv5jh2gsgh7rmp2syybk3vpmby6p93h4")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--enable-gtk3"))) (inputs (list gtk+)) - (native-inputs (list intltool pkg-config)) + (native-inputs (list automake autoconf intltool pkg-config)) (synopsis "LXDE task manager") (description "LXTask is a lightweight task manager derived from Xfce task manager with all dependencies on Xfce removed. LXTask is based on the GTK+ @@ -187,19 +212,20 @@ toolkit. It allows users to monitor and control of running processes.") (define-public lxterminal (package (name "lxterminal") - (version "0.3.2") + (version "0.4.1") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/LXTerminal" - "%20%28terminal%20emulator%29/LXTerminal%20" - version "/" name "-" version ".tar.xz")) - (sha256 - (base32 - "1124pghrhnx6q4391ri8nvi6bsmvbj1dx81an08mird8jf2b2rii")))) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxterminal") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "159p34caid7ca679ly1lhvw4qclqh23ddsiphlw9yn0h9v8s2dd0")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--enable-gtk3"))) (inputs (list gtk+ vte/gtk+-3)) - (native-inputs (list intltool pkg-config)) + (native-inputs (list automake autoconf intltool pkg-config)) (synopsis "LXDE terminal emulator") (description "LXTerminal is a VTE-based terminal emulator. It supports multiple tabs and has only minimal dependencies thus being completely @@ -211,19 +237,19 @@ performance, all instances of the terminal are sharing a single process.") (define-public menu-cache (package (name "menu-cache") - (version "1.1.0") + (version "1.1.1") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd")))) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/menu-cache") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qhc72xinxmd68nfrph9jfwymkw9x71drgksz2r2k5nzv9p7cnp5")))) (build-system gnu-build-system) - (inputs `(("glib" ,glib) - ("libfm" ,libfm-extra))) - (native-inputs (list pkg-config)) + (inputs (list glib libfm-extra)) + (native-inputs (list automake autoconf libtool gtk-doc pkg-config)) (arguments `(#:configure-flags '("CFLAGS=-fcommon"))) (synopsis "LXDE implementation of the freedesktop menu's cache") @@ -235,20 +261,22 @@ speed up the access to freedesktop.org defined application menus.") (define-public pcmanfm (package (name "pcmanfm") - (version "1.3.2") + (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/pcmanfm/" - "PCManFM%20%2B%20Libfm%20%28tarball%20release" - "%29/PCManFM/pcmanfm-" version ".tar.xz")) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/pcmanfm") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1xqc2k2jh165mm81xg0ghxx0ml1s3rhh4ndvbzkcri4kfhj7pjql")))) + "0dkl12a6x9w3ka4g2qx0ssxdv7v432xar6v2gddzbzsxg4546hp2")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--with-gtk=3"))) (inputs (list gtk+ gvfs ;for trash and mount support libfm libx11)) - (native-inputs (list intltool libtool pkg-config)) + (native-inputs (list intltool automake autoconf libtool pkg-config)) (propagated-inputs (list lxmenu-data)) ;for "Open With..." application list (synopsis "LXDE file manager") @@ -417,19 +445,19 @@ customizable menu system, and Bash integration.") (define-public lxmenu-data (package (name "lxmenu-data") - (version "0.1.5") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge//lxde/" - "lxmenu-data%20%28desktop%20menu%29/" - name "-" version ".tar.xz")) + (version "0.1.6") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxmenu-data") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1f5sh2dvb3pdnjlcsyzq9543ck2jsqizkx3204cr22zm5s6j3qwz")))) + (base32 "1abicrm66pn4vphlwx0rg2q3wvjmzijf0vgpml1vr3zkp7xm01z5")))) (build-system gnu-build-system) (native-inputs - (list pkg-config intltool)) + (list glib automake autoconf pkg-config intltool)) (synopsis "Freedesktop.org desktop menus for LXDE") (description "Lxmenu-data provides files required to build freedesktop.org @@ -440,19 +468,19 @@ menu spec-compliant desktop menus for LXDE.") (define-public lxde-icon-theme (package (name "lxde-icon-theme") - (version "0.5.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/LXDE%20Icon%20Theme/" - "lxde-icon-theme-" version "/" - name "-" version ".tar.xz")) + (version "0.5.2") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxde-icon-theme") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0v4i6x86fr2hbx4fb2si7y2qzmj7h6hcjwaifnin18r8kwwvgl73")))) + (base32 "0sv3pzvxs1gxa7dpqs7zls3wc7kj9x8w99i4h56mdsc6vz61y3mp")))) (build-system gnu-build-system) (native-inputs - (list pkg-config)) + (list automake autoconf pkg-config)) (synopsis "LXDE default icon theme based on nuoveXT2") (description "Lxde-icon-theme provides an default icon theme for LXDE.") @@ -462,17 +490,16 @@ menu spec-compliant desktop menus for LXDE.") (define-public lxde-common (package (name "lxde-common") - (version "0.99.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "lxde-common%20%28default%20config%29/" - "lxde-common%20" (version-major+minor version) "/" - name "-" version ".tar.xz")) + (version "0.99.3") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxde-common") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0mj84fa3f4ak1jjslrwc2q3ci9zxrxpciggviza9bjb0168brn8w")))) + (base32 "0py5dazjmz7yh5p0zv7psgsx4291cg21h5kw6ww5bzvr34kpbnwc")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -486,7 +513,7 @@ menu spec-compliant desktop menus for LXDE.") "/bin/lxsession"))) #t)))))) (native-inputs - (list pkg-config intltool lxmenu-data lxde-icon-theme)) + (list automake autoconf pkg-config intltool lxmenu-data lxde-icon-theme)) (inputs (list lxsession ;; ("lxlock" ,lxlock) ;for 'lxde-screenlock.desktop' @@ -500,22 +527,22 @@ menu spec-compliant desktop menus for LXDE.") (define-public lxinput (package (name "lxinput") - (version "0.3.5") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "LXInput%20%28Kbd%20and%20amp_%20mouse%20config%29/" - "LXInput%200.3.x/" name "-" version ".tar.xz")) + (version "0.3.6") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxinput") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "123f3yn4rp1w5b3n5aj3ad9snkxab29qkrs7bcvf5bx4cn57g3sf")))) + (base32 "13xqxwsb00h20yg514pjmdlvmfqv029nwdy70aaqn0r0jz670sm7")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--enable-gtk3"))) (inputs (list gtk+)) (native-inputs - (list pkg-config intltool)) + (list automake autoconf pkg-config intltool)) (synopsis "Tool for mouse and keyboard configuration in LXDE") (description "Lxinput provides a small program to configure keyboard and mouse @@ -526,41 +553,24 @@ in LXDE.") (define-public lxsession (package (name "lxsession") - (version "0.5.5") + (version "0.5.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "LXSession%20%28session%20manager%29/" - "LXSession%200.5.x/" - "lxsession-" version ".tar.xz")) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxsession") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0imv9nysip1j9lrb2z96kl05isjgp312323wnnd5b59h0ff0sgp4")) + (base32 "0mgykzhd5n11mfcbpaqb841f4jwy1yhmd1xn49dxc2hci8bx26fx")) + ;; Fix https://github.com/lxde/lxsession/issues/42 + (patches (search-patches "lxsession-potfiles-ignore.patch")) (modules '((guix build utils))) - (snippet - ;; Remove C files generated by Vala so we can build from source. - '(let* ((c->vala - (lambda (file) - (string-append (string-drop-right file 2) - ".vala"))) - (generated-c-file? - (lambda (file stat) - (and (string-suffix? ".c" file) - (file-exists? (c->vala file)))))) - (for-each delete-file - (find-files "." generated-c-file?)))))) + (snippet delete-generated-c-files))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-gtk3" - ;; Fix build with GCC 14. - "CFLAGS=-Wno-error=incompatible-pointer-types") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'rm-stamp - (lambda _ - (for-each delete-file (find-files "." "\\.stamp$")) - ;; Force regeneration of configure script. - (delete-file "configure")))))) + `(#:configure-flags (list "--enable-gtk3"))) (inputs (list gtk+ polkit)) @@ -581,16 +591,17 @@ in LXDE.") (define-public lxpanel (package (name "lxpanel") - (version "0.10.1") + (version "0.11.1") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "LXPanel%20%28desktop%20panel%29/" - "LXPanel%200.10.x/lxpanel-" - version ".tar.xz")) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lxde/lxpanel") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1s0y8jjkw6qz0r8l90618b8xly0c8g906kah7b162sz3sxbqyc8y")))) + (base32 "1xqhxcwhx2qlgsri10gwldb0xz9ajsc3iqnn8d53bjb4yh0vk5wf")))) (build-system gnu-build-system) (arguments (list @@ -619,6 +630,9 @@ in LXDE.") wireless-tools)) (native-inputs (list docbook-xml + libtool + automake + autoconf gettext-minimal intltool pkg-config)) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 2662235679..634a2f5849 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -103,7 +103,7 @@ to statistics about the system on which it's run.") (define-public lxqt-build-tools (package (name "lxqt-build-tools") - (version "2.1.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -111,7 +111,7 @@ to statistics about the system on which it's run.") "/download/" version "/lxqt-build-tools-" version ".tar.xz")) (sha256 - (base32 "1ycfzl8sfa2d1bnlyj6b3726mfb6kpj5768fhpw1ypkgjclvcn14")))) + (base32 "0brkiq62cv5rp2knq3dbdzh4cv6l670x1bfxq1537k2mdcpdzp0k")))) (build-system cmake-build-system) (arguments (list @@ -151,7 +151,7 @@ itself as well as other components maintained by the LXQt project.") (define-public libqtxdg (package (name "libqtxdg") - (version "4.1.0") + (version "4.2.0") (source (origin (method url-fetch) @@ -159,7 +159,7 @@ itself as well as other components maintained by the LXQt project.") "https://github.com/lxqt/libqtxdg/releases/download/" version "/libqtxdg-" version ".tar.xz")) (sha256 - (base32 "02c8irxyra0kfm7k1jkcxinfipib3w9jn2lk91hnl6jnv6bx6106")))) + (base32 "0ap81y7sbqwcdfsdlyxihs12chfv332fgg6y0sl6zmjhhlhk1m55")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -188,7 +188,7 @@ in Qt.") (define-public qtxdg-tools (package (name "qtxdg-tools") - (version "4.1.0") + (version "4.2.0") (source (origin (method url-fetch) @@ -196,7 +196,7 @@ in Qt.") "https://github.com/lxqt/qtxdg-tools/releases/download/" version "/qtxdg-tools-" version ".tar.xz")) (sha256 - (base32 "1dk6m6gyarnhjw42hdf2bpkfcdpb98dy28l2nmpj46h985v9pmfv")))) + (base32 "1bv3immy1idp7jc0csnjkiw8vvqkr8g84hnnvl6k8297g4vnwfjh")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests (propagated-inputs (list libqtxdg)) @@ -211,7 +211,7 @@ applications.") (define-public liblxqt (package (name "liblxqt") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) @@ -219,7 +219,7 @@ applications.") "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1q1wn53rsy6bagngj1k53sipmbga3pbwk446kd1m6prwz1i0p0hh")))) + (base32 "1j0918fyka0kxwsn3mgnjnfc8cvdp6dsgg0i40877ysry0dqp2aa")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests @@ -277,14 +277,14 @@ and memory usage or network traffic.") (define-public lxqt-about (package (name "lxqt-about") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0js94q82rpaqkdg6vl3p4w4kw091dp6wixgkw5dbvqsnaw2v8nd0")))) + (base32 "0vypdk0nf2rr7riv8xp7wy1x9694i73rgk0dj9x39gh53jm4xjy5")))) (build-system cmake-build-system) (inputs (list liblxqt)) @@ -307,14 +307,14 @@ LXQt and the system it's running on.") (define-public lxqt-admin (package (name "lxqt-admin") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "047m08hhl8ykk2n2zr0h38f0ynq6b81v80hqrfhqfik3c20895ss")))) + (base32 "03gkb7gwq0gy9ihvawn38i36nkfmwyslf8wmbp4ssj129i94sphq")))) (build-system cmake-build-system) (inputs (list liblxqt polkit-qt6)) @@ -340,14 +340,14 @@ the operating system LXQt is running on.") (define-public lxqt-menu-data (package (name "lxqt-menu-data") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1d7asl9zmz9vsnf0sv6ynnhcnz6f1aw56giilwsw8vy12driilnj")))) + (base32 "0nw9mr4p5ri3bk43xd871g3ni9irf6rrk8rz4d8ra9wd7bz2d855")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ;no tests @@ -364,14 +364,14 @@ LXQt Panel, Configuration Center and PCManFM-Qt/libfm-qt.") (define-public lxqt-config (package (name "lxqt-config") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "03bq440npq3l4ssx7l1a15962q1jylfzdldfr66dm5nkjgvvv0gs")))) + (base32 "07ik1ycldpin21v4b29a95zb14q1s4bfbmlvyvw50r0mx0whnysj")))) (build-system cmake-build-system) (inputs (list eudev @@ -409,7 +409,7 @@ configuration of both LXQt and the underlying operating system.") (define-public lxqt-globalkeys (package (name "lxqt-globalkeys") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) @@ -417,7 +417,7 @@ configuration of both LXQt and the underlying operating system.") "releases/download/" version "/" "lxqt-globalkeys-" version ".tar.xz")) (sha256 - (base32 "0x18jkis3avl7928584sgl6c3fk1xm2qgpksxcy2qsk2ab25dk3h")))) + (base32 "16lpz4wm6iz065drmgfgfjxkd0gc5g1wqisqcgs6iff0skpdzkv6")))) (build-system cmake-build-system) (inputs (list liblxqt)) @@ -434,14 +434,14 @@ as a whole and are not limited to distinct applications.") (define-public lxqt-notificationd (package (name "lxqt-notificationd") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0n7hbvqx8csd9pprwqrh3nfbdqfj6i5hznjyxfn1ll5h3szaq5vy")))) + (base32 "1i3rly1jk3kgzl0gscsygfqr8g6147r7031j41qgdrf2w5nby8s2")))) (build-system cmake-build-system) (inputs (list kwindowsystem layer-shell-qt liblxqt libqtxdg)) @@ -457,14 +457,14 @@ according to the Desktop Notifications Specification.") (define-public lxqt-openssh-askpass (package (name "lxqt-openssh-askpass") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1inkicq0p5pxqpw9k13vx421fvpgmkn2lsskvlzqy1nnab3ilaf5")))) + (base32 "0g3gkfgyk7jgghslabmhlqwzafsd9i8c0sppb5hb4qllg916cadv")))) (build-system cmake-build-system) (inputs (list liblxqt)) @@ -480,14 +480,14 @@ of other programs.") (define-public libdbusmenu-lxqt (package (name "libdbusmenu-lxqt") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0knq04si5dzcml35hj29fkp806rrr7gnviqci1diw1k9gxyaf8lc")))) + (base32 "1y9z4iwpl5kqdn36y2d1dligsv84a79piw2b6jxb17sd796x385d")))) (build-system cmake-build-system) (arguments (list @@ -505,14 +505,14 @@ possible for applications to export and import their menus over DBus.") (define-public lxqt-panel (package (name "lxqt-panel") - (version "2.1.4") + (version "2.2.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1rhm57nnwr0mhii2r40gmawllj4cza9qb25qykkn236jfgpbilgz")))) + (base32 "0s8rva0prz1mkccp5yanrm0gg63cn95pzv2fixdp26489rx0w5ax")))) (build-system cmake-build-system) (inputs (list alsa-lib @@ -562,14 +562,14 @@ possible for applications to export and import their menus over DBus.") (define-public lxqt-policykit (package (name "lxqt-policykit") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0h0hi7aimjhc6rn4w8wz3kmvpkx7g6bf9i1fclan7j7ic80cf160")))) + (base32 "07lsfnpix9lr4nqlwipld2d02030921ssk6w77iqa81zy1c2v1yr")))) (build-system cmake-build-system) (inputs (list liblxqt polkit polkit-qt6)) @@ -585,14 +585,14 @@ LXQt.") (define-public lxqt-powermanagement (package (name "lxqt-powermanagement") - (version "2.1.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0pyzd7pw3mpp0f5193a8fg1bvixwabrapnpqy2q2a707j664mqhj")))) + (base32 "1pds86s72ckkvk886ncajnl7q11814w94dfmbblmml2dmfxyhkbx")))) (build-system cmake-build-system) (inputs (list kidletime @@ -612,14 +612,14 @@ when laptop batteries are low on power.") (define-public lxqt-qtplugin (package (name "lxqt-qtplugin") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0giql40mnl100zhqcyxi1vxsfyvx5hvi9zibjh5krr6nwrwwflhb")))) + (base32 "1w05710c9f3vzi9rsnyqiivxg1skirgrqk1dwxcw1gd4w01hyfp0")))) (build-system cmake-build-system) (inputs (list libdbusmenu-lxqt @@ -646,14 +646,14 @@ Qt with LXQt.") (define-public lxqt-runner (package (name "lxqt-runner") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0pmviizv7cxiqn2868bmbwgqrakmp4fv6a1wzbal0gndgc14yxmw")))) + (base32 "1478hsi662s6cw83im710slm6mfq9vn10lq98yqrakmwr6salp71")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -674,14 +674,14 @@ allows for launching applications or shutting down the system.") (define-public lxqt-session (package (name "lxqt-session") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "06f8kfy859ri2wbjpz7yx69jw0gfxm80f46729lcl2vd23a0qari")))) + (base32 "12l9sch1lsxpj14ibrjsyv40nrgrdqhkhpzi24sm1bqnnl9jdg17")))) (build-system cmake-build-system) (inputs (list bash-minimal @@ -731,14 +731,14 @@ for the LXQt desktop environment.") (define-public lxqt-sudo (package (name "lxqt-sudo") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "17bk4bcvm919q7h63q2sdnzwwbqjpk98kb5ij14rqs9v2psbqfks")))) + (base32 "14fg8mxbkdi8sp8rdxy2zqwfgmzxrmj1xnq3h25pqnc61qf12y4f")))) (build-system cmake-build-system) (inputs (list liblxqt sudo)) @@ -755,14 +755,14 @@ permissions of other users including root.") (define-public lxqt-themes (package (name "lxqt-themes") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1b0gpmw6capkccysnvjj20j8l2p7hjkkpby72n9y982kb8f11l6d")))) + (base32 "1wplp817pacq18x67vrqjdnaa1hn4fx2zn1clc85bjh8mpcaiicj")))) (build-system cmake-build-system) (native-inputs (list lxqt-build-tools)) @@ -781,14 +781,14 @@ for LXQt.") (define-public libfm-qt (package (name "libfm-qt") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1mr93by010scy06kmpgmsvkabg7zn1f0mm9i7grm17mfv3hkx85z")))) + (base32 "1a8k8df38mf9bcdr6a44vjz15p84v3l33af485zlyhngrxpsi2jd")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests @@ -809,14 +809,14 @@ components to build desktop file managers which belongs to LXDE.") (define-public pcmanfm-qt (package (name "pcmanfm-qt") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0kvbw1slbcism42rqn09h1q3dirq44g8h3azg1vc86zs3mbqcd76")))) + (base32 "13xyl7xvv8qy35gfmjbq6ahqzq7xjn7j6336njhsvj82ipxfmvm5")))) (build-system cmake-build-system) (arguments (list @@ -846,14 +846,14 @@ LXDE.") (define-public lximage-qt (package (name "lximage-qt") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1z7nyx5w9hvrz9zfil6sbpm61h47iap85p1bvwjvg863bqq01xpv")))) + (base32 "1slriyvf0zz6mn5ldcd2v3i2yf0skmdf3hki9q8h2aby7bpvybnc")))) (build-system cmake-build-system) (inputs (list libexif libfm-qt qtsvg)) @@ -926,14 +926,14 @@ window manager OpenBox.") (define-public pavucontrol-qt (package (name "pavucontrol-qt") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1gvb73xxyv7avqx9wk8lvcfisbfdxcr6rc8ncnv35cn09f5gqg3c")))) + (base32 "1sdf221hq6z0haairwb4n29v7pjzgzf355r3m0iks0y1d9117lpi")))) (build-system cmake-build-system) (inputs (list glib qtbase pulseaudio)) @@ -950,14 +950,14 @@ window manager OpenBox.") (define-public qps (package (name "qps") - (version "2.10.0") + (version "2.11.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "05ncgfiqqs53k4wx62845krd7qi26im5pa2xq1kxh8wlng44gjjf")))) + (base32 "0dk4rs2i5qxl1plnis9y2bjm148vlzb43ny29kaa5rkrv3lnq354")))) (build-system cmake-build-system) (inputs (list liblxqt)) @@ -974,14 +974,14 @@ processes currently in existence, much like code{top} or code{ps}.") (define-public qtermwidget (package (name "qtermwidget") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0jwfpv9dwifkjgzy2fiffkvj0dd3aw4rf95fnnrhvqcdlg1v5v16")))) + (base32 "1s8w4s7wi7sv6vx8njlcvzmywyrkz4v4jmj3cbvsymfgg6xgnkxs")))) (build-system cmake-build-system) (inputs (list qtbase utf8proc)) @@ -997,14 +997,14 @@ processes currently in existence, much like code{top} or code{ps}.") (define-public qterminal (package (name "qterminal") - (version "2.1.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0g11n43msp0dwl68nf5wdh6kwi48xqc43pl9bpg4wsdw8n37hpm6")))) + (base32 "1lpm1065wj61x6w1w7zgy0b7g62c9gbg6v17l0vlgbxv10s8rlqc")))) (build-system cmake-build-system) (inputs (list layer-shell-qt qtbase qtermwidget)) @@ -1021,19 +1021,24 @@ QTermWidget.") (define-public screengrab (package (name "screengrab") - (version "2.9.0") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/screengrab/releases/download/" version "/screengrab-" version ".tar.xz")) (sha256 - (base32 "1c7nyz1sjk30qpm00jzz9vq54jm6dyqfajjiwsqlp5hvx9gfgg17")))) + (base32 "1ryfdh7rkdrf9lf7j0p3zapw80hvpg0k6hb8r84yp5c5d0l09b9h")))) (build-system cmake-build-system) (inputs - (list kwindowsystem libqtxdg qtbase)) + (list kwindowsystem + layer-shell-qt + libpng + libqtxdg + qtwayland + wayland)) (native-inputs - (list pkg-config perl qttools)) + (list lxqt-build-tools)) (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") @@ -1046,14 +1051,14 @@ easily publishing them on internet image hosting services.") (define-public lxqt-archiver (package (name "lxqt-archiver") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1ir6dc45qp4g6iv57nyn9z1bh06ih9cm8gmgw646370m1jvh06k9")))) + (base32 "1iisk5mb4xxdjimlh8inr182a1vpy8zk5qis9v3p5p73d49i5r2k")))) (build-system cmake-build-system) (inputs (list glib json-glib libfm-qt qtbase)) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 7f24a449fe..d4b8903009 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3893,7 +3893,6 @@ advanced research.") (build-system cmake-build-system) (arguments (list - #:tests? #false ;tests are not building now #:build-type "Release" #:modules '((ice-9 match) (guix build utils) @@ -3909,6 +3908,7 @@ advanced research.") "-DTFLITE_ENABLE_GPU=ON" "-DTFLITE_ENABLE_RUY=ON" + "-DTFLITE_ENABLE_XNNPACK=ON" ;; TODO: turn on Farmhash ;;"-DSYSTEM_FARMHASH=ON" @@ -3926,11 +3926,6 @@ advanced research.") (string-append "-Druy_DIR=" #$(this-package-input "ruy") "/lib/cmake/ruy") - ;; TODO: The build system attempts to build xnnpack from source. We - ;; would like to use our xnnpack package here, but this requires more - ;; work. - "-DTFLITE_ENABLE_XNNPACK=OFF" - ;; Don't fetch the sources. We have these already "-Dgemmlowp_POPULATED=TRUE" "-Degl_headers_POPULATED=TRUE" @@ -3942,6 +3937,7 @@ advanced research.") "-Dgoogle_benchmark_POPULATED=TRUE" "-Dnsync_POPULATED=TRUE" "-Dre2_POPULATED=TRUE" + "-Dxnnpack_POPULATED=TRUE" "-DFFT2D_SOURCE_DIR=/tmp/fft2d" "-DFARMHASH_SOURCE_DIR=/tmp/farmhash" @@ -3976,6 +3972,21 @@ advanced research.") (with-directory-excursion "/tmp/fft2d" (invoke "tar" "--strip-components=1" "-xf" (assoc-ref inputs "fft2d-src"))))) + (add-after 'copy-sources 'opencl-fix + (lambda _ (substitute* "delegates/gpu/cl/opencl_wrapper.h" + (("cl_ndrange_kernel_command_properties_khr") + "cl_command_properties_khr")))) + (add-after 'opencl-fix 'absl-fix + (lambda _ (substitute* '( + "delegates/gpu/cl/cl_operation.h" + "delegates/gpu/common/task/qcom_thin_filter_desc.cc" + "delegates/gpu/common/tasks/special/thin_pointwise_fuser.cc") + (("#include <vector>") + "#include <vector>\n\n#include \"absl/strings/str_cat.h\"\n")))) + (add-after 'opencl-fix 'stdint-fix + (lambda _ (substitute* "kernels/internal/spectrogram.cc" + (("#include <math.h>") + "#include <math.h>\n#include <cstdint>\n")))) (add-after 'build 'build-shared-library (lambda* (#:key configure-flags #:allow-other-keys) (mkdir-p "c") @@ -4000,7 +4011,7 @@ advanced research.") (when tests? (invoke "ctest" "-L" "plain"))))))) (inputs - `(("abseil-cpp" ,abseil-cpp-20200923.3) + `(("abseil-cpp" ,abseil-cpp) ("cpuinfo" ,cpuinfo) ("eigen" ,eigen) ("fp16" ,fp16) @@ -4016,7 +4027,7 @@ advanced research.") ("python" ,python) ("ruy" ,ruy) ("re2" ,re2) - ;;("xnnpack" ,xnnpack) ; TODO: use Guix's copy of xnnpack + ("xnnpack" ,xnnpack) ("vulkan-headers" ,vulkan-headers))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 119fc5988a..f9b0c3b2f4 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -1555,6 +1555,18 @@ MATE Desktop to monitor your system resources and usage.") (base32 "1s2ac2p5smiwr7lf4snciyb9waclychjmzrw32f2qspdm381s2im")))) (build-system glib-or-gtk-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'enable-autostart-for-xfce + (lambda _ + ;; We also use mate-polkit in Xfce. + (substitute* (string-append + #$output + "/etc/xdg/autostart/" + "polkit-mate-authentication-agent-1.desktop") + (("OnlyShowIn=MATE;") "OnlyShowIn=MATE;XFCE;"))))))) (native-inputs (list gettext-minimal gtk-doc/stable intltool libtool pkg-config)) (inputs @@ -1571,24 +1583,6 @@ MATE Desktop to monitor your system resources and usage.") used to bring up authentication dialogs.") (license license:lgpl2.1))) -(define-public mate-polkit-for-xfce - (package/inherit mate-polkit - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'patch-desktop - (lambda* (#:key outputs #:allow-other-keys) - (let* ((common (string-append - (assoc-ref outputs "out") "/etc/xdg/autostart/" - "polkit-mate-authentication-agent-")) - (old (string-append common "1.desktop")) - (new (string-append common "for-xfce-1.desktop"))) - (substitute* old (("MATE;") "XFCE;")) - ;; To avoid a conflict if both MATE and XFCE are installed. - (rename-file old new))))))) - (properties `((hidden? . #t))))) - - (define-public mozo (package (name "mozo") @@ -1638,19 +1632,8 @@ menu specification.") (version (package-version mate-desktop)) (source #f) (build-system trivial-build-system) - (arguments - `(#:modules ((guix build union)) - #:builder - (begin - (use-modules (ice-9 match) - (guix build union)) - (match %build-inputs - (((names . directories) ...) - (union-build (assoc-ref %outputs "out") - directories) - #t))))) - (native-inputs (list desktop-file-utils)) - (inputs + (arguments '(#:builder (mkdir %output))) + (propagated-inputs ;; TODO: Add more packages (append (if (or (%current-target-system) (supported-package? gnome-keyring)) @@ -1662,9 +1645,11 @@ menu specification.") dbus dconf dconf-editor + desktop-file-utils engrampa eom font-abattis-cantarell + font-dejavu ;default font glib-networking gvfs hicolor-icon-theme @@ -1698,9 +1683,6 @@ menu specification.") shared-mime-info yelp zenity))) - (propagated-inputs - ;; Default font that applications such as IceCat require. - (list font-dejavu)) (synopsis "The MATE desktop environment") (home-page "https://mate-desktop.org/") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 813c019c58..f9f268c8be 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8506,7 +8506,7 @@ operations.") (define-public bitwuzla (package (name "bitwuzla") - (version "0.7.0") + (version "0.8.2") (source (origin (method git-fetch) @@ -8515,7 +8515,7 @@ operations.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1fpd1kgb5xdbcjiqbbc6j0b8g2ly9bp9m3la78fiayl4qlmsvh2b")))) + (base32 "0nakqz29cfkn91yvx1xzsk50rlqbiihslflbjanv4lflcl2zx6mz")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dtesting=enabled" "-Ddefault_library=shared" diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index b11e6ec19c..43897862ef 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2025 Felix Lechner <felix.lechner@lease-up.com> +;;; Copyright © 2025 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,61 +41,9 @@ #:use-module (guix packages) #:use-module (guix utils)) -(define-public nyacc-0.86 - ;; Nyacc used for bootstrap. - (package - (name "nyacc") - (version "0.86.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/nyacc/" - name "-" version ".tar.gz")) - (patches (search-patches "nyacc-binary-literals.patch")) - (sha256 - (base32 - "0lkd9lyspvhxlfs0496gsllwinh62jk9wij6gpadvx9gwz6yavd9")))) - (build-system gnu-build-system) - (native-inputs (list guile-2.2)) - (synopsis "LALR(1) Parser Generator in Guile") - (description - "NYACC is an LALR(1) parser generator implemented in Guile. -The syntax and nomenclature should be considered not stable. It comes with -extensive examples, including parsers for the Javascript and C99 languages.") - (home-page "https://savannah.nongnu.org/projects/nyacc") - (license (list gpl3+ lgpl3+)))) - -(define-public nyacc-0.99 - (package - (inherit nyacc-0.86) - (version "0.99.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/nyacc/nyacc-" - version ".tar.gz")) - (sha256 - (base32 - "0hl5qxx19i4x1r0839sxm19ziqq65g4hy97yik81cc2yb9yvgyv3")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* (find-files "." "^Makefile\\.in$") - (("^SITE_SCM_DIR =.*") - "SITE_SCM_DIR = \ -@prefix@/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n") - (("^SITE_SCM_GO_DIR =.*") - "SITE_SCM_GO_DIR = \ -@prefix@/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n") - (("^INFODIR =.*") - "INFODIR = @prefix@/share/info\n") - (("^DOCDIR =.*") - "DOCDIR = @prefix@/share/doc/$(PACKAGE_TARNAME)\n")) - #t)))) - (native-inputs (list pkg-config)) - (inputs (list guile-2.2)))) - (define-public nyacc-1.08.1 (package - (inherit nyacc-0.99) + (name "nyacc") (version "1.08.1") (source (origin (method url-fetch) @@ -109,17 +58,24 @@ extensive examples, including parsers for the Javascript and C99 languages.") (("GUILE_GLOBAL_SITE=\\$prefix.*") "GUILE_GLOBAL_SITE=\ $prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n"))))) + (build-system gnu-build-system) + (native-inputs (list pkg-config)) (inputs (list guile-3.0)) (propagated-inputs (list guile-bytestructures)) + (home-page "https://savannah.nongnu.org/projects/nyacc") + (synopsis "LALR(1) Parser Generator in Guile") (description "@acronym{NYACC, Not Yet Another Compiler Compiler} is set of Guile modules for generating parsers and lexical analyzers. It provides sample parsers, pretty-printers using SXML trees as an intermediate representation, a decent C parser and an `FFI Helper' tool to help create Guile Scheme bindings for C-based libraries. It also provides (partially implemented) compilers based on these -parsers to allow execution with Guile as extension languages."))) +parsers to allow execution with Guile as extension languages.") + (license (list gpl3+ lgpl3+)))) (define-public nyacc-1.00.2 + ;; The source of this package is used for bootstrapping in + ;; commencement.scm. Otherwise it could be removed. (package (inherit nyacc-1.08.1) (version "1.00.2") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 299ee0d55c..9c09350c21 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3539,71 +3539,6 @@ a persistent connection to an IRC server, acting as a proxy and buffer for a number of clients.") (license license:gpl3+))) -(define-public weechat-matrix - (package - (name "weechat-matrix") - (version "0.3.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/poljar/weechat-matrix") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1iv55n4k05139f7jzkhczgw4qp6qwilrvfsy3c6v2m1kxffj12d3")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((weechat-python (string-append (assoc-ref outputs "out") - "/share/weechat/python"))) - ;; Avoid circular import by renaming the matrix module to - ;; weechat_matrix. - (substitute* (cons "main.py" - (append (find-files "matrix") - (find-files "tests"))) - (("from matrix") "from weechat_matrix") - (("import matrix") "import weechat_matrix")) - ;; Install python modules. - (invoke "make" "install-lib" - (string-append "INSTALLDIR=" - (site-packages inputs outputs) - "/weechat_matrix")) - ;; Extend PYTHONPATH to find installed python modules. - (add-installed-pythonpath inputs outputs) - ;; Augment sys.path so that dependencies are found. - (substitute* "main.py" - (("import os\n" all) - (apply string-append - all - "import sys\n" - (map (lambda (path) - (string-append "sys.path.append('" path "')\n")) - (string-split (getenv "GUIX_PYTHONPATH") #\:))))) - ;; Install script. - (mkdir-p weechat-python) - (copy-file "main.py" - (string-append weechat-python "/matrix.py"))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest"))))))) - (inputs - (list python-matrix-nio python-pygments python-pyopenssl - python-webcolors)) - (native-inputs - (list python-pytest)) - (home-page "https://github.com/poljar/weechat-matrix") - (synopsis "Weechat Matrix protocol script") - (description "@code{weechat-matrix} is a Python plugin for Weechat that lets -Weechat communicate over the Matrix protocol.") - (license license:isc))) - (define-public weechat-wee-slack (package (name "weechat-wee-slack") diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index f815d2342c..30d0eac330 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -158,7 +158,7 @@ bind processes, and much more.") (define-public hwloc-2 (package (inherit hwloc-1) - (version "2.12.1") + (version "2.12.2") (source (origin (method url-fetch) (uri (string-append "https://download.open-mpi.org/release/hwloc/v" @@ -166,7 +166,7 @@ bind processes, and much more.") "/hwloc-" version ".tar.bz2")) (sha256 (base32 - "0sy63p99bz9xyaz1501mwv8i3qa1v1zwa7gynadry9c6pcl07a9q")))) + "182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn")))) (native-inputs (modify-inputs (package-native-inputs hwloc-1) (append bash))) ;for completion tests @@ -731,57 +731,66 @@ programmable API.") (define (make-scorep mpi) (package (name (string-append "scorep-" (package-name mpi))) - (version "3.1") + (version "9.0") (source (origin - (method url-fetch) - (uri (string-append - "http://www.vi-hps.org/upload/packages/scorep/scorep-" - version ".tar.gz")) - (sha256 - (base32 - "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9")) - (modules '((guix build utils))) - (snippet - ;; Remove bundled software. - '(begin - (for-each delete-file-recursively - '("vendor/opari2" "vendor/cube")) - #t)))) + (method url-fetch) + (uri (string-append + "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/" + "scorep-" version "/scorep-" version ".tar.gz")) + (sha256 + (base32 + "15q93rc8wblbzqgh99rqzyq6fdp88mi6yziww05c6cbgrjs5s2jx")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled software. + '(begin + (for-each delete-file-recursively + '("vendor/otf2" "vendor/opari2" + "vendor/cubelib" "vendor/cubew")))))) (build-system gnu-build-system) (inputs - `(("mpi" ,mpi) - ("papi" ,papi) - ("opari2" ,opari2) - ("libunwind" ,libunwind) - ("otf2" ,otf2) - ("cubelib" ,cube "lib") ;for lib, include - ("openmpi" ,openmpi) - ("zlib" ,zlib))) + (list mpi + papi + opari2 + libunwind + otf2 + cubelib + cubew + gotcha + libbfd + libiberty + openmpi + zlib)) (native-inputs - (list gfortran - flex - cube ;for cube-config - bison - python - doxygen - which)) + (list gfortran + flex + bison + python + doxygen + which)) (arguments - `(#:configure-flags - (list "--enable-shared" "--disable-static" - (string-append "--with-opari2=" - (assoc-ref %build-inputs "opari2")) - (string-append "--with-cube=" - (assoc-ref %build-inputs "cube"))) - #:parallel-tests? #f - #:make-flags '("V=1") - #:phases - (modify-phases %standard-phases - (add-after 'install 'licence - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "out") - "/share/doc/scorep"))) - (install-file "COPYING" doc) - #t)))))) + (list + #:configure-flags + #~(list "--enable-shared" "--disable-static" + "MPI_LIBS=-lmpi" "SHMEM_LIBS=-loshmem" + (string-append "--with-cubelib=" + #$(this-package-input "cubelib")) + (string-append "--with-cubew=" + #$(this-package-input "cubew")) + (string-append "--with-libbfd=" + #$(this-package-input "libbfd")) + (string-append "--with-otf2=" + #$(this-package-input "otf2")) + (string-append "--with-opari2=" + #$(this-package-input "opari2"))) + #:parallel-tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'licence + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/scorep"))) + (install-file "COPYING" doc))))))) (home-page "https://www.vi-hps.org/projects/score-p/") (synopsis "Performance measurement infrastructure for parallel code") (description diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7190dfcd57..86187dc3c0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -903,18 +903,34 @@ many input formats and provides a customisable Vi-style user interface.") (define-public denemo (package (name "denemo") - (version "2.6.0") + (version "2.6.44") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/denemo/denemo-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "git://git.git.savannah.gnu.org/denemo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0pdmjij2635jbw2a24ivk1y4w0z58jbmq9vnz3qrfzw4d469grab")))) + (base32 + "1vpaiw34f0h0z01r40ln00494l4dwmyc4cy00hz2xggp6pa4abqy")))) (build-system gnu-build-system) (arguments (list + #:configure-flags + #~(list (string-append + "CFLAGS=" + (string-join (list "-Wno-error=incompatible-pointer-types" + "-Wno-error=implicit-function-declaration") + " "))) #:phases #~(modify-phases %standard-phases + (add-before 'bootstrap 'patch-autogen + (lambda _ + (substitute* "autogen.sh" + (("/usr/share/aclocal") + (string-append #$(this-package-native-input "automake") + "/share/aclocal"))))) (replace 'check (lambda* (#:key inputs tests? #:allow-other-keys) ;; Tests require to write $HOME. @@ -938,8 +954,10 @@ many input formats and provides a customisable Vi-style user interface.") lilypond "\");"))))))))) (native-inputs - (list diffutils - `(,glib "bin") ; for gtester + (list autoconf + automake + diffutils + `(,glib "bin") ; for gtester gtk-doc/stable intltool libtool @@ -953,7 +971,7 @@ many input formats and provides a customisable Vi-style user interface.") glib gtk+ gtksourceview-3 - guile-2.0 + guile-3.0 (librsvg-for-system) libsndfile libxml2 @@ -7005,16 +7023,16 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (define-public geonkick (package (name "geonkick") - (version "2.7.0") + (version "3.6.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/iurie-sw/geonkick") + (url "https://codeberg.org/Geonkick-Synthesizer/geonkick") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0w1mvqm46qdwldcl81svaykwii4wvx7mcr57kwvnj0iv2qrc891i")))) + (base32 "0817hsfvgri315aw0y06rzjcw96lhgxjc37rbxqagk3ciw0naj6n")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no tests included @@ -7036,7 +7054,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (description "Geonkick is a synthesizer that can synthesize elements of percussion such as kicks, snares, hit-hats, shakers, claps and sticks. It can also play and mix samples.") - (home-page "https://gitlab.com/iurie-sw/geonkick") + (home-page "https://geonkick.org") (license license:gpl3+))) (define-public mamba diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 82b67d3e4b..7eaffc8e06 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -5247,3 +5247,39 @@ recording packets that are dropped by the kernel. It provides the commands Protocol. RDAP is modern a replacement for WHOIS, which provides domain name and IP address registration information in JSON format over HTTP.") (license license:expat))) + +(define-public wireproxy + (package + (name "wireproxy") + (version "1.0.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyvl/wireproxy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ypk9migx1l7xwcxr542pcdy8q2bm33wp03bqzgav0hp1fsrmi8p")))) + (build-system go-build-system) + (arguments + (list + #:install-source? #f + #:import-path "github.com/pufferffish/wireproxy/cmd/wireproxy" + #:unpack-path "github.com/pufferffish/wireproxy" + #:test-subdirs #~(list "../../..."))) ;to test the whole module + (native-inputs + (list go-github-com-akamensky-argparse + go-github-com-go-ini-ini + go-github-com-landlock-lsm-go-landlock + go-github-com-makenowjust-heredoc-v2 + go-github-com-things-go-go-socks5 + go-golang-org-x-net + go-golang-zx2c4-com-wireguard + go-suah-dev-protect)) + (home-page "https://github.com/whyvl/wireproxy") + (synopsis "Wireguard client that exposes itself as a socks5 proxy") + (description + "wireproxy is a completely userspace application that connects to a +wireguard peer, and exposes a socks5/http proxy or tunnels on the machine.") + (license license:isc))) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 707c439055..847d663360 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -291,63 +291,24 @@ This package tracks the Extended Support Release (ESR) channel.") (package (inherit nss) (name "nss-rapid") - (version "3.113") - (source (origin - (inherit (package-source nss)) - (uri (let ((version-with-underscores - (string-join (string-split version #\.) "_"))) - (string-append - "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" - "releases/NSS_" version-with-underscores "_RTM/src/" - "nss-" version ".tar.gz"))) - (sha256 - (base32 - "03qwl3ps3xgc9pkc07qrsa4vd2r57mjwicv3gb483gfk2ashdvxc")) - (patches - (remove (cut string-suffix? "nss-disable-broken-tests.patch" <>) - (origin-patches (package-source nss)))))) - (arguments - (substitute-keyword-arguments (package-arguments nss) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'unpack 'neutralize-network-test - ;; Test tries to resolve `wrong.host.badssl.com' which fails due - ;; to no networking in the build environment. - ;; Behavior changed as of 3.110. - (lambda _ - (substitute* "nss/tests/ssl/ssl.sh" - ((" ssl_policy_pkix_ocsp" all) - (string-append "#" all))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (begin - ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for - ;; testing. The latter requires a working DNS or /etc/hosts. - (setenv "DOMSUF" "localdomain") - (setenv "USE_IP" "TRUE") - (setenv "IP_ADDRESS" "127.0.0.1") + (version "3.115") + (source + (origin + (inherit (package-source nss)) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append + "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" + "releases/NSS_" version-with-underscores "_RTM/src/" + "nss-" version ".tar.gz"))) + (sha256 + (base32 "1av1g18dkx86zxvpr34j5mx976mgsk002khlb40k4ydx6gxlfamc")) + (patches + (search-patches "nss-3.56-pkgconfig.patch" + "nss-getcwd-nonnull.patch" + "nss-increase-test-timeout.patch" + "nss-3.115-disable-pkix-ocsp-tests.patch")))) - ;; This specific test is looking at performance "now - ;; verify that we can quickly dump a database", and - ;; we're not testing performance here (especially - ;; since we're using faketime), so raise the - ;; threshold - (substitute* "nss/tests/dbtests/dbtests.sh" - ((" -lt 5") " -lt 50")) - - ;; Since the test suite is very lengthy, run the test - ;; suite once, not thrice as done by default, by - ;; selecting only the 'standard' cycle. - (setenv "NSS_CYCLES" "standard") - - ;; The "PayPalEE.cert" certificate expires every six months, - ;; leading to test failures: - ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To - ;; work around that, set the time to roughly the release date. - (invoke #$(if (target-64bit?) "faketime" "datefudge") - "2025-06-19" "./nss/tests/all.sh")) - (format #t "test suite not run~%")))))))) (synopsis "Network Security Services (Rapid Release)") (description "Network Security Services (@dfn{NSS}) is a set of libraries designed to diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d032002464..c64be84092 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -183,8 +183,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.4.0") - (commit "826e305fde3687573a7e1449ce91e82836696ce6") - (revision 41)) + (commit "06f79dc2bd44ca292dade633d344c3f70749b9e7") + (revision 42)) (package (name "guix") @@ -200,7 +200,7 @@ (commit commit))) (sha256 (base32 - "17j1gq50pni96vxs45swf3awxgfscfyapfra0szjwji56cyfmhf5")) + "0arafqa05vbjqbxpyfxfbzzs44hipkdag94wd8qv5pzf6wns4g7r")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/gimp-fix-metadata-editor.patch b/gnu/packages/patches/gimp-fix-metadata-editor.patch new file mode 100644 index 0000000000..848227ff4b --- /dev/null +++ b/gnu/packages/patches/gimp-fix-metadata-editor.patch @@ -0,0 +1,25 @@ +From 51311f913d9f417d121f59b83d560c7b4b853d1c Mon Sep 17 00:00:00 2001 +From: Simon Budig <simon@budig.de> +Date: Sat, 20 May 2023 22:25:40 +0200 +Subject: [PATCH] metadata: shut up a weird warning + +--- + plug-ins/metadata/metadata-editor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plug-ins/metadata/metadata-editor.c b/plug-ins/metadata/metadata-editor.c +index a3992e40ddc..5bf6ef709f1 100644 +--- a/plug-ins/metadata/metadata-editor.c ++++ b/plug-ins/metadata/metadata-editor.c +@@ -2846,7 +2846,7 @@ metadata_dialog_editor_set_metadata (GExiv2Metadata *metadata, + } + else + { +- if (! g_strv_contains (values, equiv_values[evi])) ++ if (! g_strv_contains ((const gchar * const *) values, equiv_values[evi])) + { + gchar *tmpvalue; + +-- +GitLab + diff --git a/gnu/packages/patches/gimp-fix-tiff-load.patch b/gnu/packages/patches/gimp-fix-tiff-load.patch new file mode 100644 index 0000000000..ba12d0892f --- /dev/null +++ b/gnu/packages/patches/gimp-fix-tiff-load.patch @@ -0,0 +1,25 @@ +From a2458f1528e5733574bb26ff5452b1329116e6db Mon Sep 17 00:00:00 2001 +From: Simon Budig <simon@budig.de> +Date: Sat, 20 May 2023 18:40:41 +0200 +Subject: [PATCH] file-tiff-load: fix mismatching variable type + +--- + plug-ins/file-tiff/file-tiff-load.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/plug-ins/file-tiff/file-tiff-load.c b/plug-ins/file-tiff/file-tiff-load.c +index 0aafbaec5fd..a26e7af2752 100644 +--- a/plug-ins/file-tiff/file-tiff-load.c ++++ b/plug-ins/file-tiff/file-tiff-load.c +@@ -1297,8 +1297,8 @@ load_image (GFile *file, + + /* any resolution info in the file? */ + { +- gfloat xres = 72.0; +- gfloat yres = 72.0; ++ gdouble xres = 72.0; ++ gdouble yres = 72.0; + gushort read_unit; + GimpUnit unit = GIMP_UNIT_PIXEL; /* invalid unit */ + + diff --git a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch b/gnu/packages/patches/linuxdcpp-openssl-1.1.patch deleted file mode 100644 index 6f9912afd8..0000000000 --- a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/dcpp/CryptoManager.cpp.orig 2011-04-17 17:57:09 UTC -+++ b/dcpp/CryptoManager.cpp -@@ -107,12 +107,20 @@ CryptoManager::CryptoManager() - }; - - if(dh) { -- dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0); -- dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0); -+ BIGNUM *p, *g; - -- if (!dh->p || !dh->g) { -+ p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0); -+ g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0); -+ -+ if (!p || !g) { - dh.reset(); - } else { -+#if OPENSSL_VERSION_NUMBER < 0x10100005L -+ dh->p = p; -+ dh->g = g; -+#else -+ DH_set0_pqg(dh, p, NULL, g); -+#endif - SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE); - SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE); - SSL_CTX_set_tmp_dh(serverContext, (DH*)dh); diff --git a/gnu/packages/patches/lxsession-potfiles-ignore.patch b/gnu/packages/patches/lxsession-potfiles-ignore.patch new file mode 100644 index 0000000000..ddf45cf506 --- /dev/null +++ b/gnu/packages/patches/lxsession-potfiles-ignore.patch @@ -0,0 +1,15 @@ +diff --git a/po/POTFILES.skip b/po/POTFILES.skip +index 353b0ec..adbe1d6 100644 +--- a/po/POTFILES.skip ++++ b/po/POTFILES.skip +@@ -1,7 +1,10 @@ + # Autogenerated files with translatable strings. + lxsession-default-apps/main.c + lxsession-default-apps/combobox.c ++lxpolkit/main.c ++lxsession/app.c + # This is a source file for configure, output will be translated instead. + data/lxpolkit.desktop.in.in + # bug of intltool with automake 1.15 + sub/data/lxpolkit.desktop.in ++data/lxpolkit.desktop.in diff --git a/gnu/packages/patches/nss-3.115-disable-broken-tests.patch b/gnu/packages/patches/nss-3.115-disable-broken-tests.patch new file mode 100644 index 0000000000..2cb3a6be7b --- /dev/null +++ b/gnu/packages/patches/nss-3.115-disable-broken-tests.patch @@ -0,0 +1,34 @@ +These tests are broken in 3.101.3. + +See https://bugzilla.mozilla.org/show_bug.cgi?id=1964304 + +--- nss-3.113.orig/nss/tests/tools/tools.sh 2025-08-25 16:49:02.402086648 -0700 ++++ nss-3.113/nss/tests/tools/tools.sh 2025-08-25 16:49:23.677993887 -0700 +@@ -550,27 +550,6 @@ + html_msg $ret 0 "Importing private key pbmac1 hmac-sha-512 from PKCS#12 file" + check_tmpfile + +- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I" +- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1 +- ret=$? +- html_msg $ret 19 "Fail to list private key with bad iterator" +- check_tmpfile +- +- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I" +- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1 +- ret=$? +- echo "Fail to list private key with bad salt val=$ret" +- html_msg $ret 19 "Fail to import private key with bad salt" +- check_tmpfile +- +- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I " +- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1 +- ret=$? +- echo "Fail to import private key with no length val=$ret" +- html_msg $ret 19 "Fail to import private key with no length" +- check_tmpfile +-} +- + ############################## tools_p12 ############################### + # local shell function to test basic functionality of pk12util + ######################################################################## diff --git a/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch b/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch new file mode 100644 index 0000000000..d8e489883c --- /dev/null +++ b/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch @@ -0,0 +1,13 @@ +These tests require network. + +diff -x .svn -x .git -urN nss-3.113.orig/nss/tests/ssl/ssl.sh nss-3.113/nss/tests/ssl/ssl.sh +--- nss-3.113.orig/nss/tests/ssl/ssl.sh 2025-08-25 16:49:02.398086665 -0700 ++++ nss-3.113/nss/tests/ssl/ssl.sh 2025-08-26 15:46:11.718401605 -0700 +@@ -1600,7 +1600,6 @@ + if using_sql ; then + ssl_policy_listsuites + ssl_policy_selfserv +- ssl_policy_pkix_ocsp + ssl_policy + fi + ;;
\ No newline at end of file diff --git a/gnu/packages/patches/nyacc-binary-literals.patch b/gnu/packages/patches/nyacc-binary-literals.patch deleted file mode 100644 index 8159d74032..0000000000 --- a/gnu/packages/patches/nyacc-binary-literals.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6a08014b77bf435f025ecdac08396580b85f159a Mon Sep 17 00:00:00 2001 -From: Jan Nieuwenhuizen <janneke@gnu.org> -Date: Sat, 8 Sep 2018 20:22:45 +0200 -Subject: [PATCH] fix binary literals. - ---- - module/nyacc/lex.scm | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/module/nyacc/lex.scm b/module/nyacc/lex.scm -index 2ec9895..b205212 100644 ---- a/module/nyacc/lex.scm -+++ b/module/nyacc/lex.scm -@@ -345,10 +345,11 @@ - ((char-numeric? ch) (iter chl '$fixed ba 1 ch)) - ((char=? #\. ch) (iter (cons ch chl) #f ba 15 (read-char))) - (else #f))) -- ((10) ;; allow x after 0 -+ ((10) ;; allow x, b after 0 - (cond - ((eof-object? ch) (iter chl ty ba 5 ch)) - ((char=? #\x ch) (iter (cons ch chl) ty 16 1 (read-char))) -+ ((char=? #\b ch) (iter (cons ch chl) ty 2 1 (read-char))) - (else (iter chl ty ba 1 ch)))) - ((15) ;; got `.' only - (cond --- -2.18.0 - diff --git a/gnu/packages/patches/qemu-disable-bios-tables-test.patch b/gnu/packages/patches/qemu-disable-bios-tables-test.patch index ba89b91099..fc5dc71da9 100644 --- a/gnu/packages/patches/qemu-disable-bios-tables-test.patch +++ b/gnu/packages/patches/qemu-disable-bios-tables-test.patch @@ -1,17 +1,16 @@ -The bios-tables-test may fail; disable it (see: https://gitlab.com/qemu-project/qemu/-/issues/1098) - diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build -index 2f0d3ef080..e3c33a86b5 100644 +index 669d07c06b..3399c1043a 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build -@@ -1,6 +1,5 @@ +@@ -1,7 +1,6 @@ slow_qtests = { + 'ahci-test': 150, 'aspeed_smc-test': 360, - 'bios-tables-test' : 910, 'cdrom-test' : 610, 'device-introspect-test' : 720, - 'migration-test' : 480, -@@ -86,9 +85,6 @@ qtests_i386 = \ + 'ide-test' : 120, +@@ -102,9 +101,6 @@ qtests_i386 = \ config_all_devices.has_key('CONFIG_Q35') and \ config_all_devices.has_key('CONFIG_VIRTIO_PCI') and \ slirp.found() ? ['virtio-net-failover'] : []) + \ @@ -20,8 +19,16 @@ index 2f0d3ef080..e3c33a86b5 100644 - config_all_devices.has_key('CONFIG_PARALLEL') ? ['bios-tables-test'] : []) + \ qtests_pci + \ qtests_cxl + \ - ['fdc-test', -@@ -235,7 +231,6 @@ qtests_arm = \ + [ +@@ -148,7 +144,6 @@ qtests_hppa = \ + + qtests_loongarch64 = qtests_filter + \ + (config_all_devices.has_key('CONFIG_LOONGARCH_VIRT') ? ['numa-test'] : []) + \ +- (unpack_edk2_blobs ? ['bios-tables-test'] : []) + \ + ['boot-serial-test', + 'cpu-plug-test'] + +@@ -253,7 +248,6 @@ qtests_arm = \ # TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional qtests_aarch64 = \ @@ -29,21 +36,21 @@ index 2f0d3ef080..e3c33a86b5 100644 (config_all_accel.has_key('CONFIG_TCG') and config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? \ ['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + \ (config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test', 'fuzz-xlnx-dp-test'] : []) + \ -@@ -260,9 +255,6 @@ qtests_s390x = \ +@@ -281,8 +275,7 @@ qtests_s390x = \ qtests_riscv32 = \ (config_all_devices.has_key('CONFIG_SIFIVE_E_AON') ? ['sifive-e-aon-watchdog-test'] : []) --qtests_riscv64 = \ +-qtests_riscv64 = ['riscv-csr-test'] + \ - (unpack_edk2_blobs ? ['bios-tables-test'] : []) -- ++qtests_riscv64 = ['riscv-csr-test'] + qos_test_ss = ss.source_set() qos_test_ss.add( - 'ac97-test.c', -@@ -328,7 +320,6 @@ if gnutls.found() - endif - - qtests = { +@@ -371,7 +364,6 @@ qtests = { + 'aspeed_smc-test': files('aspeed-smc-utils.c', 'aspeed_smc-test.c'), + 'ast2700-hace-test': files('aspeed-hace-utils.c', 'ast2700-hace-test.c'), + 'ast2700-smc-test': files('aspeed-smc-utils.c', 'ast2700-smc-test.c'), - 'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'], 'cdrom-test': files('boot-sector.c'), - 'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1, - 'erst-test': files('erst-test.c'), + 'dbus-vmstate-test': files('migration/migration-qmp.c', + 'migration/migration-util.c') + dbus_vmstate1, diff --git a/gnu/packages/patches/qemu-disable-migration-test.patch b/gnu/packages/patches/qemu-disable-migration-test.patch deleted file mode 100644 index 2a30d26f55..0000000000 --- a/gnu/packages/patches/qemu-disable-migration-test.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build -index e3c33a86b5..a3bbf9c841 100644 ---- a/tests/qtest/meson.build -+++ b/tests/qtest/meson.build -@@ -2,7 +2,6 @@ slow_qtests = { - 'aspeed_smc-test': 360, - 'cdrom-test' : 610, - 'device-introspect-test' : 720, -- 'migration-test' : 480, - 'npcm7xx_pwm-test': 300, - 'npcm7xx_watchdog_timer-test': 120, - 'qom-test' : 900, -@@ -100,7 +99,6 @@ qtests_i386 = \ - 'cpu-plug-test', - 'q35-test', - 'vmgenid-test', -- 'migration-test', - 'test-x86-cpuid-compat', - 'numa-test' - ] -@@ -173,7 +171,7 @@ qtests_ppc64 = \ - (slirp.found() ? ['pxe-test'] : []) + \ - (config_all_devices.has_key('CONFIG_USB_UHCI') ? ['usb-hcd-uhci-test'] : []) + \ - (config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) + \ -- qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test', 'drive_del-test'] -+ qtests_pci + ['numa-test', 'cpu-plug-test', 'drive_del-test'] - - qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) - qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) -@@ -240,8 +238,7 @@ qtests_aarch64 = \ - config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \ - ['arm-cpu-features', - 'numa-test', -- 'boot-serial-test', -- 'migration-test'] -+ 'boot-serial-test'] - - qtests_s390x = \ - qtests_filter + \ -@@ -249,8 +246,7 @@ qtests_s390x = \ - 'drive_del-test', - 'device-plug-test', - 'virtio-ccw-test', -- 'cpu-plug-test', -- 'migration-test'] -+ 'cpu-plug-test'] - - qtests_riscv32 = \ - (config_all_devices.has_key('CONFIG_SIFIVE_E_AON') ? ['sifive-e-aon-watchdog-test'] : []) -@@ -324,7 +320,6 @@ qtests = { - 'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1, - 'erst-test': files('erst-test.c'), - 'ivshmem-test': [rt, '../../contrib/ivshmem-server/ivshmem-server.c'], -- 'migration-test': migration_files, - 'pxe-test': files('boot-sector.c'), - 'qos-test': [chardev, io, qos_test_ss.apply({}).sources()], - 'tpm-crb-swtpm-test': [io, tpmemu_files], diff --git a/gnu/packages/patches/qemu-fix-test-virtio-version.patch b/gnu/packages/patches/qemu-fix-test-virtio-version.patch new file mode 100644 index 0000000000..8e466324e7 --- /dev/null +++ b/gnu/packages/patches/qemu-fix-test-virtio-version.patch @@ -0,0 +1,29 @@ +Upstream-status: Sent to qemu-devel@nongnu.org +Message-ID: <20250831125255.7066-1-maxim@guixotic.coop> + +There were some discussion in <https://gitlab.com/qemu-project/qemu/-/issues/1626>. + +diff --git a/tests/functional/test_virtio_version.py b/tests/functional/test_virtio_version.py +index a5ea73237f..501545f655 100755 +--- a/tests/functional/test_virtio_version.py ++++ b/tests/functional/test_virtio_version.py +@@ -10,6 +10,8 @@ + # This work is licensed under the terms of the GNU GPL, version 2 or + # later. See the COPYING file in the top-level directory. + ++import os ++ + from qemu.machine import QEMUMachine + from qemu_test import QemuSystemTest + +@@ -68,7 +70,9 @@ def run_device(self, devtype, opts=None, machine='pc'): + """ + Run QEMU with `-device DEVTYPE`, return device info from `query-pci` + """ +- with QEMUMachine(self.qemu_bin) as vm: ++ with QEMUMachine( ++ self.qemu_bin, ++ base_temp_dir=os.environ.get('TMPDIR', '/var/tmp')) as vm: + vm.set_machine(machine) + if opts: + devtype += ',' + opts diff --git a/gnu/packages/patches/qemu-glibc-2.41.patch b/gnu/packages/patches/qemu-glibc-2.41.patch deleted file mode 100644 index 56beab690e..0000000000 --- a/gnu/packages/patches/qemu-glibc-2.41.patch +++ /dev/null @@ -1,52 +0,0 @@ -from https://gitlab.com/qemu-project/qemu/-/commit/27a8d899c7a100fd5aa040a8b993bb257687c393 - -From 27a8d899c7a100fd5aa040a8b993bb257687c393 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 7 Feb 2025 16:09:20 +0000 -Subject: [PATCH] linux-user: Do not define struct sched_attr if libc headers - do - -glibc 2.41+ has added [1] definitions for sched_setattr and -sched_getattr functions and struct sched_attr. Therefore, it needs -to be checked for here as well before defining sched_attr, to avoid -a compilation failure. - -Define sched_attr conditionally only when SCHED_ATTR_SIZE_VER0 is -not defined. - -[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2799 -Cc: qemu-stable@nongnu.org -Reviewed-by: Peter Maydell <peter.maydell@linaro.org> -Signed-off-by: Peter Maydell <peter.maydell@linaro.org> ---- - linux-user/syscall.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 6ee02383daf..df5ed18062c 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -360,7 +360,8 @@ _syscall3(int, sys_sched_getaffinity, pid_t, pid, unsigned int, len, - #define __NR_sys_sched_setaffinity __NR_sched_setaffinity - _syscall3(int, sys_sched_setaffinity, pid_t, pid, unsigned int, len, - unsigned long *, user_mask_ptr); --/* sched_attr is not defined in glibc */ -+/* sched_attr is not defined in glibc < 2.41 */ -+#ifndef SCHED_ATTR_SIZE_VER0 - struct sched_attr { - uint32_t size; - uint32_t sched_policy; -@@ -373,6 +374,7 @@ struct sched_attr { - uint32_t sched_util_min; - uint32_t sched_util_max; - }; -+#endif - #define __NR_sys_sched_getattr __NR_sched_getattr - _syscall4(int, sys_sched_getattr, pid_t, pid, struct sched_attr *, attr, - unsigned int, size, unsigned int, flags); --- -GitLab - diff --git a/gnu/packages/patches/zig-0.15-fix-runpath.patch b/gnu/packages/patches/zig-0.15-fix-runpath.patch new file mode 100644 index 0000000000..7216c97b57 --- /dev/null +++ b/gnu/packages/patches/zig-0.15-fix-runpath.patch @@ -0,0 +1,122 @@ +From d35c341322f6e84607350058007bd5be3d1d294a Mon Sep 17 00:00:00 2001 +From: Hilton Chain <hako@ultrarare.space> +Date: Fri, 29 Nov 2024 14:13:46 +0800 +Subject: [PATCH] Fix RUNPATH issue. + +Add needed libraries and libc to RUNPATH when CROSS_LIBRARY_PATH or LIBRARY_PATH +is set. +--- + lib/std/Build/Step/Compile.zig | 2 ++ + src/link/Elf.zig | 7 +++++++ + src/link/Lld.zig | 7 +++++++ + src/main.zig | 34 +++++++++++++++++++++++++++++++++- + 4 files changed, 49 insertions(+), 1 deletion(-) + +diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig +index 79d3694c02..7f6bddbea6 100644 +--- a/lib/std/Build/Step/Compile.zig ++++ b/lib/std/Build/Step/Compile.zig +@@ -794,6 +794,8 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult { + try zig_cflags.append(arg); + } else if (mem.startsWith(u8, arg, wl_rpath_prefix)) { + try zig_cflags.appendSlice(&[_][]const u8{ "-rpath", arg[wl_rpath_prefix.len..] }); ++ } else if (mem.startsWith(u8, arg, "-Wl,-rpath=")) { ++ try zig_libs.appendSlice(&[_][]const u8{ "-L", arg["-Wl,-rpath=".len..] }); + } else if (b.debug_pkg_config) { + return compile.step.fail("unknown pkg-config flag '{s}'", .{arg}); + } +diff --git a/src/link/Elf.zig b/src/link/Elf.zig +index 99d0ad71b0..8017f4c088 100644 +--- a/src/link/Elf.zig ++++ b/src/link/Elf.zig +@@ -988,6 +988,13 @@ fn dumpArgvInit(self: *Elf, arena: Allocator) !void { + try argv.appendSlice(gpa, &.{ "-rpath", rpath }); + } + ++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and comp.config.link_mode == .dynamic) { ++ if (self.base.comp.libc_installation) |libc_installation| { ++ try argv.append(gpa, "-rpath"); ++ try argv.append(gpa, libc_installation.crt_dir.?); ++ } ++ } ++ + try argv.appendSlice(gpa, &.{ + "-z", + try std.fmt.allocPrint(arena, "stack-size={d}", .{self.base.stack_size}), +diff --git a/src/link/Lld.zig b/src/link/Lld.zig +index 48872f7077..814f661692 100644 +--- a/src/link/Lld.zig ++++ b/src/link/Lld.zig +@@ -1071,6 +1071,13 @@ fn elfLink(lld: *Lld, arena: Allocator) !void { + } + } + ++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and link_mode == .dynamic) { ++ if (comp.libc_installation) |libc_installation| { ++ try argv.append("-rpath"); ++ try argv.append(libc_installation.crt_dir.?); ++ } ++ } ++ + if (have_dynamic_linker and + (comp.config.link_libc or comp.root_mod.resolved_target.is_explicit_dynamic_linker)) + { +diff --git a/src/main.zig b/src/main.zig +index 02b1b8f84b..ddc4ae8014 100644 +--- a/src/main.zig ++++ b/src/main.zig +@@ -3910,7 +3910,7 @@ fn createModule( + create_module.want_native_include_dirs = true; + } + +- if (create_module.each_lib_rpath orelse resolved_target.is_native_os) { ++ if (create_module.each_lib_rpath orelse false) { + try create_module.rpath_list.ensureUnusedCapacity(arena, create_module.lib_directories.items.len); + for (create_module.lib_directories.items) |lib_directory| { + create_module.rpath_list.appendAssumeCapacity(lib_directory.path.?); +@@ -3982,6 +3982,28 @@ fn createModule( + else => {}, + }; + ++ if (std.zig.system.NativePaths.isGuix(arena)) { ++ for (create_module.link_inputs.items) |link_input| { ++ if (link_input.path()) |lib| { ++ const lib_name = lib.sub_path; ++ if (Compilation.classifyFileExt(lib_name) == .shared_library) { ++ if (fs.path.isAbsolute(lib_name)) { ++ const lib_dir_path = fs.path.dirname(lib_name).?; ++ try create_module.rpath_list.append(arena, lib_dir_path); ++ continue; ++ } ++ for (create_module.lib_directories.items) |lib_dir| { ++ const lib_dir_path = lib_dir.path.?; ++ if (try libPathExists(arena, lib_dir_path, lib_name)) { ++ try create_module.rpath_list.append(arena, lib_dir_path); ++ break; ++ } ++ } ++ } ++ } ++ } ++ } ++ + create_module.resolved_options = Compilation.Config.resolve(create_module.opts) catch |err| switch (err) { + error.WasiExecModelRequiresWasi => fatal("only WASI OS targets support execution model", .{}), + error.SharedMemoryIsWasmOnly => fatal("only WebAssembly CPU targets support shared memory", .{}), +@@ -7633,3 +7655,13 @@ fn addLibDirectoryWarn2( + .path = path, + }); + } ++ ++fn libPathExists(arena: Allocator, lib_dir_path: []const u8, lib_name: []const u8) !bool { ++ const lib_path = try std.fmt.allocPrint(arena, "{s}{s}{s}", .{ ++ lib_dir_path, ++ fs.path.sep_str, ++ lib_name, ++ }); ++ fs.cwd().access(lib_path, .{}) catch return false; ++ return true; ++} +-- +2.50.1 + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 4c18dad6ed..b590e3a624 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -324,19 +324,19 @@ information.") (define-public flyer-composer (package (name "flyer-composer") - (version "1.0rc2") + (version "1.0") (source (origin (method url-fetch) - (uri (pypi-uri "flyer-composer" version)) + (uri (pypi-uri "flyer_composer" version)) (sha256 - (base32 "17igqb5dlcgcq4nimjw6cf9qgz6a728zdx1d0rr90r2z0llcchsv")))) - (build-system python-build-system) + (base32 "1874vmz606155w9xm3r4q9xziva1mai1kyqhjg5hnndpwl09xgv5")))) + (build-system pyproject-build-system) (arguments `(#:tests? #f ;; TODO #:phases (modify-phases %standard-phases - (add-after 'install 'wrap-executable + (add-after 'wrap 'wrap-gui (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (qtbase (assoc-ref inputs "qtbase")) @@ -346,12 +346,9 @@ information.") (,(string-append qtbase "/lib/qt5/plugins"))) `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = (,(string-append qtbase "/lib/qt5/plugins/platforms")))))))))) - (inputs - (list bash-minimal - python-poppler-qt5 - python-pypdf2 - python-pyqt - qtbase-5)) + (native-inputs (list python-setuptools python-wheel)) + (propagated-inputs (list python-pypdf)) + (inputs (list bash-minimal python-poppler-qt5 python-pyqt qtbase-5)) (home-page "http://crazy-compilers.com/flyer-composer") (synopsis "Rearrange PDF pages to print as flyers on one sheet") (description "@command{flyer-composer} can be used to prepare one- or @@ -379,8 +376,7 @@ This package contains both the command line tool and the gui too.") (substitute* "setup.cfg" (("^\\s+flyer-composer-gui\\s*=.*") "")) #t))))) - (inputs - `(("python-pypdf2" ,python-pypdf2))) + (inputs (list)) ; clear the gui inputs (description "@command{flyer-composer} can be used to prepare one- or two-sided flyers for printing on one sheet of paper. @@ -1466,7 +1462,7 @@ converter using the Poppler and Cairo libraries.") (define-public python-pypdf (package (name "python-pypdf") - (version "5.1.0") + (version "6.0.0") (source (origin (method git-fetch) @@ -1475,7 +1471,7 @@ converter using the Poppler and Cairo libraries.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0dl3nmvsk43s2v6a5cwwvfwpyvhsl9wcrdnqbzjsp50zqibi23pz")))) + (base32 "0p0650ya5f84d7khf34an9qpyww6yxnsdhgbppxfy3bg3qkx3s7g")))) (build-system pyproject-build-system) (arguments (list @@ -1491,6 +1487,7 @@ converter using the Poppler and Cairo libraries.") " and not ")))) (native-inputs (list python-flit + python-flit-core-next python-pytest python-pytest-socket python-pytest-timeout @@ -1606,18 +1603,18 @@ PDF Arranger was formerly known as PDF-Shuffler.") (define-public pdfposter (package (name "pdfposter") - (version "0.7.post1") - (source (origin - (method url-fetch) - (uri (pypi-uri "pdftools.pdfposter" version)) - (sha256 - (base32 - "0c1avpbr9q53yzq5ar2x485rmp9d0l3z27aham32bg7gplzd7w0j")))) - (build-system python-build-system) + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pdfposter" version)) + (sha256 + (base32 "0vhg43svzxr6ppcy888xg1hzjqfxbx5cc4qi77n4pvrqfan19633")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f)) ; test-suite not included in source archive - (inputs - (list python-pypdf2)) + `(#:tests? #f)) ;test-suite not included in source archive + (native-inputs (list python-setuptools python-wheel)) + (inputs (list python-pypdf)) (home-page "https://pythonhosted.org/pdftools.pdfposter/") (synopsis "Scale and tile PDF images/pages to print on multiple pages") (description "@command{pdfposter} can be used to create a large poster by diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm deleted file mode 100644 index 2385d74e0d..0000000000 --- a/gnu/packages/pep.scm +++ /dev/null @@ -1,342 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2020, 2021 Hartmut Goebel <h.goebel@crazy-compilers.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 pep) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system python) - #:use-module (guix build-system pyproject) - #:use-module (gnu packages) - #:use-module (gnu packages base) - #:use-module (gnu packages boost) - #:use-module (gnu packages check) - #:use-module (gnu packages documentation) - #:use-module (gnu packages graphviz) - #:use-module (gnu packages java) - #:use-module (gnu packages linux) - #:use-module (gnu packages mail) ; for libetpan - #:use-module (gnu packages nettle) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python-build) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages sequoia) - #:use-module (gnu packages sqlite) - #:use-module (gnu packages tls) - #:use-module (gnu packages xml)) - -(define-public yml2 - (package - (name "yml2") - (version "2.7.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/fdik/yml2") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0fm1x1fv4lwcpbn59s55idzf7x173n59xpz8rlrxalmi6gvsjijr")))) - (build-system pyproject-build-system) - (arguments - (list - ;; XXX: There is no testing framework, only a samples directory. - #:tests? #f)) - (native-inputs (list python-setuptools python-wheel)) - (propagated-inputs (list python-lxml)) - (home-page "https://fdik.org/yml/") - (synopsis "Use a Domain Specific Language for XML without defining -a grammar") - (description - "The YML compiler is a small Python script. It provides the command line -front end yml2c. As default, it compiles your script and outputs to stdout, -that usually is the terminal. Your shell provides options to redirect the -output into a pipe or a file.") - (license license:gpl2))) - -(define fdik-libetpan - ;; pEp Engine requires libetpan with a set of patches that have not been - ;; upstreamed yet. - (let ((commit "0b80c39dd1504462ba3a39dc53db7c960c3a63f3") ; 2020-11-27 - (checksum "0gv3ivaziadybjlf6rfpv1j5z5418243v5cvl4swlxd2njsh7gjk") - (revision "6")) - (package - (inherit libetpan) - (name "fdik-libetpan") - (version (string-append "1.6-" revision "." (string-take commit 8))) - (source - (origin - (inherit (package-source libetpan)) - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/pEp.foundation/libetpan") - (commit commit))) - (file-name (string-append name "-" version)) - (sha256 (base32 checksum))))))) - -(define-public pep-engine - (package - (name "pep-engine") - (version "2.1.34") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/pEp.foundation/pEpEngine") - (commit (string-append "Release_" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "00q96y9j985qfa382acsz02i0zf6ayq2gmg8z70jzl04isg1h3cn")))) - (build-system gnu-build-system) - (arguments - '(#:parallel-build? #f - #:make-flags '("NDEBUG=1") ; release build - #:phases - (modify-phases %standard-phases - (replace 'configure - ;; pEpEngine does not use autotools and configure, - ;; but a local.conf. We need to tweak the values there. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (yml2 (assoc-ref inputs "yml2"))) - (with-output-to-file "local.conf" - (lambda () - (format #t " -PREFIX=~a -PER_MACHINE_DIRECTORY=${PREFIX}/share/pEp -SYSTEM_DB=~a/share/pEp/system.db -ASN1C=~a -YML2_PATH=~a -OPENPGP=SEQUOIA -" - out out (which "asn1c") - (string-append yml2 "/bin")))) - #t))) - (delete 'check) - (add-after 'install 'install-db - (lambda _ - (invoke "make" "-C" "db" "install")))))) - (native-inputs - (list asn1c ; >= 0.9.27 - pkg-config yml2)) - (inputs - (list fdik-libetpan - nettle - openssl - sequoia - sqlite - `(,util-linux "lib"))) ;; uuid.h - (home-page "https://pep.foundation/") - (synopsis "Library for automatic key management and encryption of -messages") - (description "The p≡p engine is the core part of p≡p (pretty Easy -privacy).") - (license ;; code: GPL 3, docs: CC-BY-SA - (list license:gpl3 license:cc-by-sa3.0)))) - -(define-public libpepadapter - (package - (name "libpepadapter") - (version "2.1.21") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/pEp.foundation/libpEpAdapter") - (commit (string-append "Release_" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "09ljj3x09y99wc47n063hpn62zi8cdvdha82rnaypvirrlga6a5w")))) - (build-system gnu-build-system) - (arguments - '(#:test-target "test" - #:tests? #f ;; building the tests fails - #:make-flags '("NDEBUG=1") ; release build - #:phases - (modify-phases %standard-phases - (replace 'configure - ;; libpEpAdapter does not use autotools and configure, - ;; but a local.conf. We need to tweak the values there. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (engine (assoc-ref inputs "pep-engine"))) - (with-output-to-file "local.conf" - (lambda _ - (format #t " -PREFIX=~a -ENGINE_LIB_PATH=~a/lib -ENGINE_INC_PATH=~a/include -" out engine engine)))) - #t))))) - (inputs - (list pep-engine)) - (home-page "https://pep.foundation/") - (synopsis "Library for building p≡p adapters") - (description "This C++ library provides common structures used in p≡p -(pretty Easy privacy) adapters.") - (license license:bsd-3))) - -(define-public python-pep-adapter - (package - (name "python-pep-adapter") - (version "2.1.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/pEp.foundation/pEpPythonAdapter") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ssz21p1k7xx3snmd4g3ggzq565rlzdmp90l2mph6yfp1y65p39s")))) - (build-system python-build-system) - (arguments - `(;; Adding configure-flags does not work, running `build_ext` - ;; with these flags, neither does adding the options to - ;; `setup.cfg`: Either `build` or `install` fails (since - ;; flags are given or missing), or "command 'BuildExtCommand' - ;; has no such option 'pep_engine" - ;; '(#:configure-flags - ;; (list (string-append "--with-pEp-engine=" - ;; (assoc-ref inputs "pEpEngine")) - ;; (string-append "--with-pEp-libadapter=" - ;; (assoc-ref inputs "libpEpAdapter")) - ;; ;;(string-append "--boost=" - ;; (assoc-ref inputs "boost")) not supported - ;; (string-append "--with-asn1c-share=" - ;; (assoc-ref inputs "asn1c") "/share")) - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-setup.py - (lambda _ - (substitute* "setup.py" - (("^(\\s+SYS_INCLUDES = )\\['/usr.*" _ a) - (string-append a "os.getenv('CPATH', '').split(os.pathsep)\n")) - (("^(\\s+SYS_LIB_PREFIXES = )\\['/usr.*" _ a) - (string-append a "os.getenv('LIBRARY_PATH', '').split(os.pathsep)\n")) - (("^(\\s+SYS_SHARES = )\\['/usr.*" _ a) - (string-append a "['" (assoc-ref %build-inputs "asn1c") "/share']\n"))) - #t)) - (add-before 'build 'remove-wheel-requirement - ;; we dont't build a wheel - (lambda _ - (substitute* "setup.cfg" - ((" wheel *>= [0-9.]*") "")) - (substitute* "pyproject.toml" - (("\"wheel *>=.*\"") "")) - #t))))) - (native-inputs - (list python-pytest python-pytest-forked)) - (inputs - (list boost libpepadapter pep-engine python-setuptools-scm - `(,util-linux "lib"))) ;; uuid.h - (home-page "https://pep.foundation/") - (synopsis "Python adapter for p≡p (pretty Easy Privacy)") - (description "The p≡p Python adapter is an adaptor interface to the p≡p -(pretty Easy privacy) engine.") - (license license:gpl3))) - -(define-public java-pep-adapter - (package - (name "java-pep-adapter") - (version "2.1.23") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitea.pep.foundation/pEp.foundation/pEpJNIAdapter") - (commit (string-append "Release_" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1sw3a5ggxcrkghvpp0a6h2lz461x55ldgfw5y4pw7c3gk5wynvjk")))) - (build-system gnu-build-system) - (outputs '("out" "doc")) - (arguments - `(#:test-target "test" - #:make-flags '("NDEBUG=1" "all" "doc") ; release build - #:phases - (modify-phases %standard-phases - (add-before 'configure 'pin-shared-lib-path - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "src/java/foundation/pEp/jniadapter/AbstractEngine.java" - (("System.loadLibrary\\(\"pEpJNI\"\\);") - (string-append "System.load(\"" - (assoc-ref outputs "out") - "/lib/libpEpJNI.so" "\");"))) - #t)) - (replace 'configure - ;; pEpJNIAdapter does not use autotools and configure, - ;; but a local.conf. We need to tweak the values there. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (engine (assoc-ref inputs "pep-engine")) - (libadapter (assoc-ref inputs "libpepadapter")) - (openjdk (assoc-ref inputs "openjdk"))) - (with-output-to-file "local.conf" - (lambda _ - (format #t " -PREFIX=~a -ENGINE_LIB_PATH=~a/lib -ENGINE_INC_PATH=~a/include -AD_LIB_PATH=~a/lib -AD_INC_PATH=~a/include -YML2_PROC=~a -JAVA_HOME=~a -" - out engine engine libadapter libadapter - (which "yml2proc") openjdk))) - (substitute* "src/Makefile" ;; suppress some warnings - (("^\\s+OLD_JAVA=") " xxx_OLD_JAVA=")) - #t))) - (add-before 'build 'build-codegen - ;; run codegen first to allow parallel build of other parts - (lambda _ - (invoke "make" "-C" "src" "create-dirs" "codegen"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (libout (string-append out "/lib/")) - (javaout (string-append out "/share/java/"))) - (install-file "dist/libpEpJNI.a" libout) - (install-file "dist/libpEpJNI.so" libout) - (install-file "dist/pEp.jar" javaout) - #t))) - (add-after 'install 'install-docs - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "doc")) - (docout (string-append out "/share/doc/pEp-JNI-adapter")) - (cxxout (string-append docout "/cxx")) - (javaout (string-append docout "/java"))) - (mkdir-p cxxout) - (mkdir-p javaout) - (copy-recursively "doc/doxygen/cxx/html" cxxout) - (copy-recursively "doc/doxygen/java/html" javaout) - #t)))))) - (native-inputs - (list doxygen graphviz - `(,openjdk9 "jdk") which yml2)) - (inputs - (list libpepadapter pep-engine - `(,util-linux "lib"))) ;; uuid.h - (home-page "https://pep.foundation/") - (synopsis "Java adapter for p≡p (pretty Easy Privacy)") - (description "The p≡p JNI adapter is a Java adapter interface to the p≡p -(pretty Easy privacy) engine.") - (license license:gpl3))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 33990bc2eb..c91e92fca2 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -36,6 +36,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix gexp) #:use-module (guix download) @@ -514,17 +515,41 @@ scene to produce an image that looks much like a tone-mapped image.") (base32 "1lwf3cwldvh9qfmh3w7nqqildfmxx2i5f5bn0vr8y6qc5kh7a1s9")))) (build-system cmake-build-system) (arguments - `(,@(if (any (cute string-prefix? <> (or (%current-system) - (%current-target-system))) - '("x86_64" "i686")) - ;; SSE and SSE2 are supported only on Intel processors. - '() - '(#:configure-flags '("-DBUILD_FOR_SSE=OFF" "-DBUILD_FOR_SSE2=OFF"))) - #:tests? #f)) ; There are no tests to run. + (list + #:imported-modules `(,@%cmake-build-system-modules + ,@%pyproject-build-system-modules) + #:modules '((guix build cmake-build-system) + ((guix build pyproject-build-system) #:prefix py:) + (guix build utils)) + #:configure-flags + (if (any (cute string-prefix? <> (or (%current-system) + (%current-target-system))) + '("x86_64" "i686")) + ;; SSE and SSE2 are supported only on Intel processors. + #~'() + #~'("-DBUILD_FOR_SSE=OFF" "-DBUILD_FOR_SSE2=OFF")) + #:tests? #f ; There are no tests to run. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-egg + (lambda _ + (substitute* "apps/CMakeLists.txt" + ;; Prevent creation of Python egg. + (("\\$\\{SETUP_PY\\} install") + "${SETUP_PY} install --single-version-externally-managed --root=/")))) + (add-after 'install 'python-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each (lambda (program) + (wrap-program (search-input-file outputs program) + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH") + ,(py:site-packages inputs outputs))))) + (list "bin/lensfun-update-data" + "bin/lensfun-add-adapter"))))))) (native-inputs (list pkg-config)) (inputs - (list glib)) + (list bash-minimal glib python)) (home-page "https://lensfun.github.io/") (synopsis "Library to correct optical lens defects with a lens database") (description "Digital photographs are not ideal. Of course, the better is @@ -545,7 +570,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "5.2.0") + (version "5.2.1") (source (origin (method url-fetch) @@ -553,7 +578,7 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "1imyk611wz0zxp03w91lhsxkj5hqgi0apx5bqj2q84gpdva6r92k")))) + (base32 "04gfcislcq2wymfqcir5bpwqfarcz5gynkn3ajyffj9rx6damw82")))) (build-system cmake-build-system) (arguments (list @@ -678,9 +703,19 @@ and enhance them.") (list #:tests? #f ;Tests are only examples #:configure-flags - #~(list "-DUSE_BUNDLED_LIBRAW=OFF" - "-DBINARY_PACKAGE_BUILD=ON") - #:build-type "Release")) ;Rawspeed fails on default 'RelWithDebInfo' + #~(list "-DUSE_BUNDLED_LIBRAW=OFF" + "-DBINARY_PACKAGE_BUILD=ON") + #:build-type "Release" ;Rawspeed fails on default 'RelWithDebInfo' + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'libOpenCL-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Statically link to libOpenCL. + (substitute* "./src/common/dlopencl.c" + (("\"libOpenCL\"") + (string-append "\"" + (search-input-file inputs "/lib/libOpenCL.so") + "\"")))))))) (native-inputs (list cmocka desktop-file-utils diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index ef2022415e..4ef7656a04 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2021, 2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> -;;; Copyright © 2024 jgart <jgart@dismail.de> +;;; Copyright © 2024-2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -185,7 +185,7 @@ it.") (define-public trealla (package (name "trealla") - (version "2.82.20") + (version "2.82.25") (source (origin (method git-fetch) @@ -194,7 +194,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "1gm4lasn3hrbqzkqscd94arkq0wqcs87r80lipc325yi0zm047s9")) + (base32 "0mq1yf5sxzvi9rkw1vwmyh0a9yv8rhqy8z0wd5k748ymvjfhi6g2")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index b5ad5e7519..d3b31b05c7 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> -;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2018, 2021-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> @@ -252,6 +252,20 @@ Included are implementations of: @end enumerate\n") (license license:psfl))) +(define-public python-typing-extensions-next + (package + (inherit python-typing-extensions) + (version "4.15.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "typing_extensions" version)) + (sha256 + (base32 "0rhlhs28jndgp9fghdhidn6g7xiwx8vvihxbxhlgl4ncfg8lishc")))) + (native-inputs + (modify-inputs (package-native-inputs python-typing-extensions) + (replace "python-flit-core" python-flit-core-next))))) + ;;; ;;; Python builder packages. diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index bfe187d3c0..77ed0d3ba2 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -753,6 +753,28 @@ install: libbitshuffle.so (inputs '()) (native-inputs '()))) +(define-public python-uncompresspy + (package + (name "python-uncompresspy") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "uncompresspy" version)) + (sha256 + (base32 "1110dipshnijhq6dk5dxzxx3zpynm6dx5kcc430fw24b8xwlc9in")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;no tests + (native-inputs + (list python-setuptools-next)) + (home-page "https://github.com/kYwzor/uncompresspy") + (synopsis "Uncompressing LZW files in Python") + (description + "This package implement a pure Python module for uncompressing LZW +files (.Z), such as the ones created by Unix's shell tool compress.") + (license license:bsd-3))) + (define-public python-unix-ar (package (name "python-unix-ar") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 96cbe0b958..32bf443722 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2701,24 +2701,27 @@ Java objects.") (define-public python-pymdown-extensions (package (name "python-pymdown-extensions") - (version "8.1.1") + (version "10.16.1") (source (origin - (method url-fetch) - (uri - (pypi-uri "pymdown-extensions" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/facelessuser/pymdown-extensions") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0d8pdndrl1kj105lq7r6kw2dnhcvll6h2qs07w71mcpi7gx728v3")))) - (build-system python-build-system) - ;; FIXME: "AssertionError: False is not true" + (base32 "0r36nk1ppq1wrgb1lcy9asp9872xr0gbhxrjw7dpa8lp6m7nqb9k")))) + (build-system pyproject-build-system) + ;; XXX: A lot of HTML tests fail with negligible discrepancies. (arguments - `(#:tests? #f)) - (propagated-inputs - (list python-markdown)) + (list #:tests? #f)) + (native-inputs (list python-hatchling python-pytest python-pyyaml)) + (propagated-inputs (list python-markdown)) (home-page "https://github.com/facelessuser/pymdown-extensions") (synopsis "Extension pack for Python Markdown") - (description "PyMdown Extensions is a collection of extensions for Python -Markdown. All extensions are found under the module namespace of pymdownx.") + (description + "PyMdown Extensions is a collection of extensions for Python Markdown. +All extensions are found under the module namespace of pymdownx.") (license license:expat))) (define-public python-plotext @@ -3367,7 +3370,7 @@ point types: (define-public python-glymur (package (name "python-glymur") - (version "0.13.6") + (version "0.14.3") (source (origin (method git-fetch) ; no tests data in PyPi package @@ -3376,7 +3379,7 @@ point types: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06v6g0fwzmy2imhrvy0q4zrhrlrp24yhs098vi13r92ga63c72xl")))) + (base32 "0266gj8a2p8jkbgb34lgk8dwin7ib2g38vdh04b2p6yhqx8w3xg8")))) (build-system pyproject-build-system) (arguments (list @@ -3407,15 +3410,14 @@ point types: (list python-pytest python-pytest-xdist python-scikit-image - python-setuptools - python-wheel)) + python-setuptools-next)) (inputs (list openjpeg ; glymur/lib/openjp2.py libtiff)) ; glymur/lib/tiff.py (propagated-inputs (list python-lxml python-numpy - python-packaging)) + python-pillow )) (home-page "https://github.com/quintusdias/glymur") (synopsis "Python interface to OpenJPEG and LibTIFF") (description @@ -6519,44 +6521,41 @@ defined.") (define-public python-extension-helpers (package (name "python-extension-helpers") - (version "1.2.0") + (version "1.4.0") (source (origin (method git-fetch) ; no tests in the PyPI tarball (uri (git-reference - (url "https://github.com/astropy/extension-helpers") - (commit (string-append "v" version)))) + (url "https://github.com/astropy/extension-helpers") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1cfzh3ijjp18as2qnmm1nnw6a3daqd7a2q17i0c6h1wq2jbawxxa")))) + (base32 "0ljvfv9p7jay4j31awx1h714xhyn5hbfgyhn4nm71xrkz9la113j")))) (build-system pyproject-build-system) (arguments (list - ;; It tries to install it via pip: E ModuleNotFoundError: No module named - ;; 'helpers_test_package_fd9cc3a9_11fa_4a1a_b80e_c5b043949604' - #:test-flags #~(list "-k" "not test_only_pyproject and not test_no_setup_py") + #:test-flags + #~(list "--pyargs" "extension_helpers" + "-k" (string-join + ;; XXX: Tests try to check various compilation options and + ;; fail with some incomparability or trying to download + ;; missing modules. + (list "not test_only_pyproject" + "test_no_setup_py" + "test_limited_api") + " and not ")) #:phases #~(modify-phases %standard-phases ;; LookupError: setuptools-scm was unable to detect version for ;; /tmp/guix-build-python-extension-helpers-1.2.0.drv-0/source. (add-before 'build 'set-version (lambda _ - (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) - (replace 'check - (lambda* (#:key tests? test-flags #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - (with-directory-excursion "/tmp" - (apply invoke "pytest" "-v" test-flags)))))))) + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (native-inputs (list python-pytest - python-pytest-astropy - python-pytest-cov - python-setuptools-scm - python-tomli - python-setuptools - python-wheel - python-pip)) + python-setuptools-scm)) + (propagated-inputs + (list python-setuptools-next)) (home-page "https://extension-helpers.readthedocs.io") (synopsis "Astropy ecosystem utilities for building and installing packages") (description @@ -6787,7 +6786,7 @@ palettes.") (propagated-inputs ;; Youtube-dl is a python package which is imported in the file ;; "backend_youtube_dl.py", therefore it needs to be propagated. - (list youtube-dl)) + (list yt-dlp)) (home-page "https://np1.github.io/pafy/") (synopsis "Retrieve YouTube content and metadata") (description @@ -7635,29 +7634,30 @@ memory usage and transliteration quality.") (license license:expat))) (define-public python-pymsgbox - (package - (name "python-pymsgbox") - (version "1.0.6") - (source - (origin - (method git-fetch) - (uri (git-reference - ;; LICENSE.txt is not present on pypi - (url "https://github.com/asweigart/PyMsgBox") - (commit "55926b55f46caa969c5ddb87990ebea2737bd66f"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0zy7rjfpwlrd8b64j7jk2lb8m2npc21rnpwakpfvwgl4nxdy80rg")))) - (arguments - ;; Circular dependency to run tests: - ;; Tests need pyautogui, which depends on pymsgbox. - '(#:tests? #f)) - (build-system python-build-system) - (home-page "https://github.com/asweigart/PyMsgBox") - (synopsis "Python module for JavaScript-like message boxes") - (description - "PyMsgBox is a simple, cross-platform, pure Python module for + (let ((commit "944b7cdc67058d005ce5fd011c66f2d87d25aba0") + (revision "1")) + (package + (name "python-pymsgbox") + (version (git-version "1.0.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/asweigart/PyMsgBox") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhipfvnc06l8hiadk302v74yin38nwz1r47njliwk8kz103yl3g")))) + (build-system pyproject-build-system) + (arguments + ;; Circular dependency to run tests: + ;; Tests need pyautogui, which depends on pymsgbox. + '(#:tests? #f)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://github.com/asweigart/PyMsgBox") + (synopsis "Python module for JavaScript-like message boxes") + (description + "PyMsgBox is a simple, cross-platform, pure Python module for JavaScript-like message boxes. Types of dialog boxes include: @enumerate @item alert @@ -7666,7 +7666,7 @@ JavaScript-like message boxes. Types of dialog boxes include: @item password @end enumerate ") - (license license:bsd-3))) + (license license:bsd-3)))) (define-public python-pympler (package @@ -8960,7 +8960,7 @@ ecosystem, but can naturally be used also by other projects.") (define-public python-robotframework (package (name "python-robotframework") - (version "7.2.2") + (version "7.3.2") (source (origin (method git-fetch) ; no tests in the PyPI archive @@ -8969,7 +8969,7 @@ ecosystem, but can naturally be used also by other projects.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a34dv5gpaiqbddblfnirp1ja2a1069n9nifasn4g26kcj69fpra")))) + (base32 "0azis3dj7lfiwrr5gr1gr78z5m05vvl8n20rw3bz93s05z94h5i7")))) (outputs '("out" "doc")) (build-system pyproject-build-system) (arguments @@ -9009,6 +9009,7 @@ ecosystem, but can naturally be used also by other projects.") python-jsonschema python-pygments python-rellu + python-typing-extensions-next python-setuptools `(,python "tk") ;used when building the HTML doc python-wheel)) @@ -9621,22 +9622,9 @@ errors when data is invalid.") (list #:test-flags #~(list "--ignore=tests/test_docs.py" ; no pytest_examples - ;; These tests include hashes that keep changing depending on - ;; package versions. - "--ignore=tests/benchmarks/test_north_star.py" + "--ignore-glob=tests/benchmarks/*" ;; Unimportant difference in one test's error message. - "--ignore=tests/test_networks.py") - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;; Remove the addopts from pyproject.toml, it breaks the 'check - ;; phase. - (substitute* "pyproject.toml" - (("'--benchmark") "#'--benchmark") - ;; Do not fail on deprecation warnings. - (("ignore:path is deprecated.*:DeprecationWarning:") - "ignore::DeprecationWarning"))))))) + "--ignore=tests/test_networks.py"))) (native-inputs (list tzdata-for-tests python-dirty-equals @@ -13038,7 +13026,6 @@ data, and scientific formats.") (build-system pyproject-build-system) (native-inputs (list pkg-config - python-pyperf python-pytest python-setuptools python-wheel)) @@ -17577,38 +17564,35 @@ reading and writing MessagePack data.") #t)))))))) (define-public python-openstep-plist - (package - (name "python-openstep-plist") - (version "0.3.0") - (home-page "https://github.com/fonttools/openstep-plist") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rxjgzh0p069ncsr2986rn32vhdqyq35irbqg2559jh18456mkca")))) - (build-system python-build-system) - (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'pretend-version - (lambda _ - (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" - #$(package-version this-package)))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv"))))))) - (native-inputs - (list python-cython python-pytest python-setuptools-scm)) - (synopsis "OpenStep plist parser and writer") - (description - "This package provides a parser for the \"old style\" OpenStep property + (package + (name "python-openstep-plist") + (version "0.3.0") + (home-page "https://github.com/fonttools/openstep-plist") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rxjgzh0p069ncsr2986rn32vhdqyq35irbqg2559jh18456mkca")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'pretend-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" + #$(package-version this-package))))))) + (native-inputs (list python-cython python-pytest python-setuptools-scm + python-setuptools python-wheel)) + (synopsis "OpenStep plist parser and writer") + (description + "This package provides a parser for the \"old style\" OpenStep property list format (also known as ASCII plist), written in Cython.") - (license license:expat))) + (license license:expat))) (define-public python-wrapt (package @@ -17720,25 +17704,15 @@ Unicode-aware. It is not intended as an end-user tool.") (uri (pypi-uri "xlwt" version)) (sha256 (base32 "123c2pdamshkq75wwvck8fq0cjq1843xd3x9qaiz2a4vg9qi56f5")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "GUIX_PYTHONPATH" - (string-append (getcwd) "/build/lib:" - (getenv "GUIX_PYTHONPATH"))) - (invoke "nosetests" "-v"))))))) - (native-inputs - `(("nose" ,python-nose))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-setuptools python-wheel)) (home-page "https://www.python-excel.org/") (synopsis "Library for creating spreadsheet Excel files") - (description "@code{xlwt} is a library for writing data and formatting -information to older Excel files (i.e. .xls). The package itself is pure -Python with no dependencies on modules or packages outside the standard Python -distribution. It is not intended as an end-user tool.") + (description + "@code{xlwt} is a library for writing data and formatting information to +older Excel files (i.e. .xls). The package itself is pure Python with no +dependencies on modules or packages outside the standard Python distribution. +It is not intended as an end-user tool.") (license license:bsd-3))) (define-public python-immutables @@ -20712,17 +20686,39 @@ library as well as on the command line.") (version "1.7.0") (source (origin - (method url-fetch) - (uri (pypi-uri "plumbum" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tomerfiliba/plumbum") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1kidj821k79dw064rlxh84xamb9h79ychg3pgj81jlvm5hs48xri")))) - (build-system python-build-system) + (base32 "1vlaiz4bwgrcay51knj6a20lh3lwihjqxhxhdk6nqkn9ijg0hc81")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f)) ;no tests + (list + #:test-flags + #~(list "--ignore=tests/test_remote.py" + "--ignore=tests/test_putty.py" + "--ignore=tests/test_sudo.py" + "-k" + (string-join (list "not test_home" + "test_iter_lines_error" + "test_quoting" + "test_copy_move_delete") + " and not ")) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (native-inputs - ;; XXX: Not actually used since there are no tests but required for - ;; build. - (list python-pytest)) + (list procps + python-psutil + python-pytest + python-pytest-cov + python-setuptools + python-setuptools-scm + python-wheel)) (home-page "https://plumbum.readthedocs.io") (synopsis "Python shell combinators library") (description @@ -38126,12 +38122,13 @@ collection.") (uri (pypi-uri "types-toml" version)) (sha256 (base32 "10400bd3yv6rjfnq8galskkbpqz1sfx9sfgr5qwvw04270x4cjgr")))) - (build-system python-build-system) + (build-system pyproject-build-system) + (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/python/typeshed") (synopsis "Typing stubs for TOML") - (description "This package contains typing stubs for TOML, a very small -subset the Python stubs contained in the complete @code{typeshed} -collection.") + (description + "This package contains typing stubs for TOML, a very small subset the +Python stubs contained in the complete @code{typeshed} collection.") (license license:asl2.0))) (define-public python-types-ujson @@ -38382,32 +38379,18 @@ easy to write code that's correct across platforms and Pythons.") (uri (pypi-uri "pyperf" version)) (sha256 (base32 "189qf9wdbig0fk4n3bavx8acgdbay5lllfvw48jvbfaafb7y5hja")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-tests - (lambda _ - ;; Some of these tests fail with: - ;; - ;; ModuleNotFoundError: No module named 'pyperf' - ;; - ;; even when calling ‘add-installed-pythonpath’ in the ‘check’ - ;; phase. - (delete-file "pyperf/tests/test_examples.py"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; From tox.ini's ‘testenv.commands’. - (invoke "python" "-bb" "-Wd" - "-m" "unittest" "discover" - "-s" "pyperf/tests/" "-v"))))))) - (native-inputs - (list python-psutil)) + (list + #:test-flags + #~(list "--ignore=pyperf/tests/test_examples.py"))) + (native-inputs (list python-psutil python-pytest python-setuptools + python-wheel)) (home-page "https://github.com/psf/pyperf") (synopsis "Toolkit for running Python benchmarks") - (description "The Python @code{pyperf} module is a toolkit for writing, -running and analyzing benchmarks. It features a simple API that can: + (description + "The Python @code{pyperf} module is a toolkit for writing, running and +analyzing benchmarks. It features a simple API that can: @itemize @item automatically calibrate a benchmark for a time budget; @@ -38850,68 +38833,86 @@ nested data structures in Python like lists and dictionaries.") (license license:expat))) (define-public python-murmurhash3 - (package - (name "python-murmurhash3") - (version "2.3.5") - (source (origin - (method url-fetch) - (uri (pypi-uri "murmurhash3" version)) - (sha256 - (base32 - "1gdzys1212dx70byz07ipknbw1awbqskh6aznlkm85js8b8qfczm")))) - (build-system python-build-system) - (native-inputs (list python-cython python-pytest)) - (inputs (list python)) - (arguments - (list #:modules - '((ice-9 ftw) (ice-9 match) - (guix build utils) - (guix build python-build-system)) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'set-source-file-times-to-1980 - (lambda _ - (let ((circa-1980 (* 10 366 24 60 60))) - (ftw "." - (lambda (file stat flag) - (utime file circa-1980 circa-1980) #t)))))))) - (home-page "https://github.com/veegee/mmh3") - (synopsis "Python wrapper for MurmurHash (MurmurHash3)") - (description - "@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set + (let ((commit "01f1128a2c5ea08e6dc33515e140bedd68393a2d") + (revision "0")) + (package + (name "python-murmurhash3") + (version (git-version "2.3.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/veegee/mmh3") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zpk51ms1bvzg52zc9s9az71bgw2kgxidjcc1xib7y9r7dl7vczz")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-package + (lambda _ + (substitute* "mmh3module.cpp" + (("#include <stdio\\.h>") + "#define PY_SSIZE_T_CLEAN\n#include <stdio.h>"))))))) + (native-inputs + (list python-cython python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/veegee/mmh3") + (synopsis "Python wrapper for MurmurHash (MurmurHash3)") + (description + "@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set of fast and robust hash functions. This library is a Python extension module written in C.") - (license license:public-domain))) + (license license:public-domain)))) (define-public python-murmurhash (package (name "python-murmurhash") (version "1.0.7") - (source (origin - (method url-fetch) - (uri (pypi-uri "murmurhash" version)) - (sha256 - (base32 - "0vwkn98c703nvsigl2nz99rax2pafkx3djjfkgc49jiipmp3j2k3")))) - (build-system python-build-system) - (native-inputs (list python-cython python-pytest)) - (inputs (list python python-murmurhash3)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/explosion/murmurhash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p8afy51nfvswl2fcimy5vc584zv89349rq12ymbcpp06yidzdfh")))) + (build-system pyproject-build-system) (arguments - (list #:modules - '((ice-9 ftw) (ice-9 match) - (guix build utils) - (guix build python-build-system)) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'set-source-file-times-to-1980 - (lambda _ - (let ((circa-1980 (* 10 366 24 60 60))) - (ftw "." - (lambda (file stat flag) - (utime file circa-1980 circa-1980) #t)))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'fix-installation + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion + (string-append (site-packages inputs outputs) "/murmurhash") + (delete-file-recursively "tests") + (delete-file "mrmr.pyx") + (for-each + (lambda (file) + (chmod file #o555)) + (find-files "." "\\.so$"))))) + ;; XXX: Otherwise ModuleNotFoundError, and --pyargs doesn't seem + ;; to fix the issue. + (replace 'check + (lambda args + (copy-recursively "murmurhash/tests" "tests") + (delete-file-recursively "murmurhash") + (with-directory-excursion "tests" + (apply (assoc-ref %standard-phases 'check) args))))))) + (native-inputs + (list python-cython + python-murmurhash3 + python-pytest + python-setuptools + python-wheel)) (home-page "https://github.com/explosion/murmurhash") (synopsis "Cython bindings for MurmurHash2") - (description "This package provides Cython bindings for MurmurHash2.") + (description + "This package provides Cython bindings for MurmurHash2.") (license license:expat))) ;; Scooby requires for its test suite a ‘pyvips’ package that is missing its diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b55488b1f5..97da50e5cd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1476,20 +1476,9 @@ data types.") ;; Current major version. (define-public python python-3) -;; Minimal variants of Python, mostly used to break the cycle between Tk and +;; Minimal variant of Python, mostly used to break the cycle between Tk and ;; Python (Tk -> libxcb -> Python.) -(define-public python2-minimal - (package/inherit python-2 - (name "python2-minimal") - (outputs '("out")) - - ;; Keep zlib, which is used by 'pip' (via the 'zipimport' module), which - ;; is invoked upon 'make install'. 'pip' also expects 'ctypes' and thus - ;; libffi. Expat is needed for XML support which is expected by a lot - ;; of libraries out there. - (inputs (list expat libffi zlib)))) - (define-public python-minimal (package/inherit python (name "python-minimal") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 34265cac0e..6632902b16 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -779,6 +779,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (patches (search-patches "qtbase-moc-ignore-gcc-macro.patch" "qtbase-absolute-runpath.patch" + "qtbase-fix-thread-test.patch" "qtbase-qmake-use-libname.patch" "qtbase-qmlimportscanner-qml-import-path.patch" "qtbase-qmake-fix-includedir.patch")))) @@ -899,16 +900,6 @@ tst_qt_cmake_create.cpp" "dirs.append(\"" #$(this-package-input "shared-mime-info") "/share/mime" "\");\n" all))))) - #$@(if (target-aarch64?) - ;; backport of 2bce75a6b53cccbf9c813581b64eea87f3ab55fc, - ;; which makes flaky tst_qthread less flaky. - #~((add-after 'patch-more-paths 'patch-aarch64-tests - (lambda _ - (invoke - "patch" "-p1" "-i" - #$(local-file - (search-patch "qtbase-fix-thread-test.patch")))))) - #~()) (delete 'do-not-capture-python) ;move after patch-source-shebangs (add-after 'patch-source-shebangs 'do-not-capture-python (lambda _ diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 3a1cb48412..7dc4f65db7 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -973,7 +973,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") qwt sdl soapysdr - spdlog + spdlog-1.15 volk zeromq)) (arguments diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index c567d3283a..73ce62b6cc 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -160,11 +160,10 @@ eigen expat ffmpeg - fmt + fmt-11 freetype gdal gl2ps - glew gmsh hdf5 jsoncpp @@ -607,32 +606,26 @@ the complexity of that interface. Parallel support depends on the (define-public python-fenics-ufl (package (name "python-fenics-ufl") - (version "2019.1.0") + (version "2025.1.0") (source - (origin - (method url-fetch) - (uri (pypi-uri "fenics-ufl" version)) - (sha256 - (base32 - "10dz8x3lm68x2w3kkqcjask38h0zkhhak26jdbkppr8g9y8wny7p")))) - (build-system python-build-system) - (inputs - (list python-numpy)) - (native-inputs - (list python-pytest)) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "py.test" "test")))))) - (home-page "https://bitbucket.org/fenics-project/ufl/") + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fenics/ufl") + (commit version))) + (file-name (git-file-name name version)) + (sha256 (base32 "1ybf6l2nn4ni4a77ad1f36nhd7ddcbbvyc5frdggsmcjdmds9bf3")))) + (build-system pyproject-build-system) + (inputs (list python-numpy)) + (native-inputs (list python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/fenics/ufl") (synopsis "Unified language for form-compilers") - (description "The Unified Form Language (UFL) is a domain specific -language for declaration of finite element discretizations of -variational forms. More precisely, it defines a flexible interface -for choosing finite element spaces and defining expressions for weak -forms in a notation close to mathematical notation. + (description + "The Unified Form Language (UFL) is a domain specific language for +declaration of finite element discretizations of variational forms. More +precisely, it defines a flexible interface for choosing finite element spaces +and defining expressions for weak forms in a notation close to mathematical +notation. UFL is part of the FEniCS Project.") (license license:lgpl3+))) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index acbffe3bf9..f2f667ff5d 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -62,6 +62,7 @@ #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix scripts) #:use-module (guix utils) #:use-module (guix packages)) @@ -78,14 +79,15 @@ (base32 "1mpfrvn122lnaqid1pi99ckpxd6x679b0w91pl003xmdwsfdbcly")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no check target - #:make-flags - (list - (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + (list + #:tests? #f ; no check target + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) ; no configure script (home-page "https://tools.suckless.org/scroll/") (synopsis "Scroll-back buffer program for st") (description "Scroll is a program that provides a scroll back buffer for @@ -95,37 +97,36 @@ terminal like @code{st}.") (define-public tabbed (package (name "tabbed") - (version "0.6") + (version "0.9") (source (origin (method url-fetch) (uri (string-append "https://dl.suckless.org/tools/tabbed-" version ".tar.gz")) (sha256 - (base32 "0hhwckyzvsj9aim2l6m69wmvl2n7gzd6b1ly8qjnlpgcrcxfllbn")))) + (base32 "1a0842lw666cnx5mx2xqqrad4ipvbz4wxad3pxpyc6blgd2qgkqa")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "config.mk" - (("/usr/local") - (assoc-ref outputs "out")) - (("/usr/X11R6") - (assoc-ref inputs "libx11")) - (("/usr/include/freetype2") - (string-append (assoc-ref inputs "freetype") - "/include/freetype2")) - (("CC = cc") - (string-append "CC = " ,(cc-for-target)))))) - (delete 'configure)))) ; no configure script + (list + #:tests? #f ; no check target + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr/local") #$output) + (("/usr/X11R6") #$(this-package-input "libx11")) + (("/usr/include/freetype2") + (string-append #$(this-package-input "freetype") + "/include/freetype2")) + (("\\$\\{CC\\}") + (string-append #$(cc-for-target)))))) + (delete 'configure)))) ; no configure script (inputs - `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("libx11" ,libx11) - ("libxft" ,libxft))) + (list fontconfig + freetype + libx11 + libxft)) (home-page "https://tools.suckless.org/tabbed/") (synopsis "Tab interface for application supporting Xembed") (description "Tabbed is a generic tabbed frontend to xembed-aware @@ -212,12 +213,14 @@ It provides the following features: "0nncvzyipvkkd7zlgzwbjygp82frzs2hvbnk71gxf671np607y94")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no check target - #:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + (list + #:tests? #f ; no check target + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) ; no configure script (synopsis "Command line video editing utilities") (home-page "https://tools.suckless.org/blind/") (description @@ -228,53 +231,49 @@ a custom raw video format with a simple container.") (define-public dwm (package (name "dwm") - (version "6.5") + (version "6.6") + (synopsis "Dynamic Window Manager") (source (origin - (method url-fetch) - (uri (string-append "https://dl.suckless.org/dwm/dwm-" - version ".tar.gz")) - (sha256 - (base32 "0acpl05rg6rg6nrg3rv4kp388iqzp1n6dhin30a97yzjm6zrxmr1")))) + (method url-fetch) + (uri (string-append "https://dl.suckless.org/dwm/dwm-" + version ".tar.gz")) + (sha256 + (base32 + "18q0zjvzsvpm76p2x1xlw163d8wbq44z41n9w94prh46jdnjrz3w")))) (build-system gnu-build-system) (arguments - `(#:tests? #f - #:make-flags (list (string-append "FREETYPEINC=" - (assoc-ref %build-inputs "freetype") - "/include/freetype2")) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (substitute* "Makefile" (("\\$\\{CC\\}") "gcc")) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) + (list + #:tests? #f + #:make-flags + #~(list + (string-append "FREETYPEINC=" + #$(this-package-input "freetype") + "/include/freetype2")) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" (("\\$\\{CC\\}") #$(cc-for-target))))) + (replace 'install + (lambda _ (invoke "make" "install" - (string-append "DESTDIR=" out) "PREFIX=")))) - (add-after 'build 'install-xsession - (lambda* (#:key outputs #:allow-other-keys) - ;; Add a .desktop file to xsessions. - (let* ((output (assoc-ref outputs "out")) - (xsessions (string-append output "/share/xsessions"))) - (mkdir-p xsessions) - (with-output-to-file - (string-append xsessions "/dwm.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=dwm~@ - Comment=Dynamic Window Manager~@ - Exec=~a/bin/dwm~@ - TryExec=~@*~a/bin/dwm~@ - Icon=~@ - Type=Application~%" - output))) - #t)))))) + (string-append "DESTDIR=" #$output) "PREFIX="))) + (add-after 'build 'install-xsession + (lambda _ + ;; Add a .desktop file to xsessions. + (let ((apps (string-append #$output "/share/xsessions"))) + (mkdir-p apps) + (make-desktop-entry-file + (string-append apps "/dwm.desktop") + #:name "dwm" + #:generic-name #$synopsis + #:exec (string-append #$output "/bin/dwm %U") + #:comment + `(("en" ,#$synopsis) + (#f ,#$synopsis))))))))) (inputs (list freetype libx11 libxft libxinerama)) (home-page "https://dwm.suckless.org/") - (synopsis "Dynamic window manager") (description "dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, @@ -284,25 +283,27 @@ optimising the environment for the application in use and the task performed.") (define-public dmenu (package (name "dmenu") - (version "5.3") + (version "5.4") (source (origin (method url-fetch) (uri (string-append "https://dl.suckless.org/tools/dmenu-" version ".tar.gz")) (sha256 (base32 - "0pvr6da1v7hmbnacpgxcxv1sakg1nckmw347xhwrhx1dzpk573qs")))) + "0lyldkxshbgh7alz7a50l167pk1d4lcb2rhhhvz81aj710mcxflg")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags - (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output) - (string-append "FREETYPEINC=" - (assoc-ref %build-inputs "freetype") - "/include/freetype2")) - #:phases - (modify-phases %standard-phases (delete 'configure)))) + (list + #:tests? #f ; no tests + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output) + (string-append "FREETYPEINC=" + #$(this-package-input "freetype") + "/include/freetype2")) + #:phases + #~(modify-phases %standard-phases (delete 'configure)))) (inputs (list freetype libxft libx11 libxinerama)) (home-page "https://tools.suckless.org/dmenu/") @@ -368,31 +369,31 @@ numbers of user-defined menu items efficiently.") (define-public st (package (name "st") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "https://dl.suckless.org/st/st-" version ".tar.gz")) (sha256 - (base32 "0js9z5kn8hmpxzfmb2g6zsy28zkpg88j3wih5wixc89b8x7ms8bb")))) + (base32 "16v4dsjrsh5jwah38ygg8808zc536szwxj1qxm6kswgdrnmzxncy")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags - (list (string-append "CC=" ,(cc-for-target)) - (string-append "TERMINFO=" - (assoc-ref %outputs "out") - "/share/terminfo") - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list + #:tests? #f ;no tests + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + (string-append "TERMINFO=" #$output "/share/terminfo") + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (inputs - `(("libx11" ,libx11) - ("libxft" ,libxft) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype))) + (list libx11 + libxft + fontconfig + freetype)) (native-inputs (list ncurses ;provides tic program pkg-config)) @@ -504,27 +505,27 @@ Vim bindings and Xresource compatibility.") (base32 "0mrj0kp01bwrgrn4v298g81h6zyq64ijsg790di68nm21f985rbj")))) (build-system glib-or-gtk-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags - (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - ;; Use the right file name for dmenu and xprop. - (add-before 'build 'set-dmenu-and-xprop-file-name - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "config.def.h" - (("dmenu") (search-input-file inputs "/bin/dmenu")) - (("xprop") (search-input-file inputs "/bin/xprop"))) - #t))))) + (list + #:tests? #f ; no tests + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + ;; Use the right file name for dmenu and xprop. + (add-before 'build 'set-dmenu-and-xprop-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "config.def.h" + (("dmenu") (search-input-file inputs "/bin/dmenu")) + (("xprop") (search-input-file inputs "/bin/xprop")))))))) (inputs - `(("dmenu" ,dmenu) - ("gcr" ,gcr-3) - ("glib-networking" ,glib-networking) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("webkitgtk" ,webkitgtk-with-libsoup2) - ("xprop" ,xprop))) + (list dmenu + gcr-3 + glib-networking + gsettings-desktop-schemas + webkitgtk-with-libsoup2 + xprop)) (native-inputs (list pkg-config)) (home-page "https://surf.suckless.org/") @@ -550,30 +551,31 @@ point surf to another URI by setting its XProperties.") "0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv")))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (delete 'configure) ;no configuration - (add-before 'build 'patch-farbfeld - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "config.def.h" - (("2ff") (search-input-file inputs "/bin/2ff"))))) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name "-" - ,(package-version this-package)))) - (install-file "README.md" doc))))) - #:tests? #f ;no test suite - #:make-flags - (let ((pkg-config (lambda (flag) - (string-append "$(shell pkg-config " flag " " - "xft fontconfig x11 libpng)")))) - (list (string-append "CC=" - ,(cc-for-target)) - (string-append "PREFIX=" %output) - (string-append "INCS=-I. " - (pkg-config "--cflags")) - (string-append "LIBS=" - (pkg-config "--libs") " -lm"))))) + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configuration + (add-before 'build 'patch-farbfeld + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "config.def.h" + (("2ff") (search-input-file inputs "/bin/2ff"))))) + (add-after 'install 'install-doc + (lambda _ + (install-file "README.md" + (string-append + #$output "/share/doc/" + #$name + "-" + #$(package-version this-package)))))) + #:tests? #f ;no test suite + #:make-flags + #~(let ((pkg-config (lambda (flag) + (string-append "$(shell pkg-config " flag " " + "xft fontconfig x11 libpng)")))) + (list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output) + (string-append "INCS=-I. " (pkg-config "--cflags")) + (string-append "LIBS=" (pkg-config "--libs") " -lm"))))) (native-inputs (list pkg-config)) (inputs (list farbfeld libpng libx11 libxft fontconfig)) (synopsis "Plain-text presentation tool") diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index c2cdbd8a03..1b6a38928a 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -486,29 +486,3 @@ additional options for controlling the SSL session.") . "https://core.tcl-lang.org/tcltls/wiki/Download") (upstream-name . "tcltls"))) (license license:public-domain))) - -(define-public go-github.com-nsf-gothic - (let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652") - (revision "0")) - (package - (name "go-github.com-nsf-gothic") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nsf/gothic") - (commit commit))) - (sha256 - (base32 - "1lrhbml6r4sh22rrn3m9bck70pv0g0c1diprg7cil90x0jidxczr")) - (file-name (git-file-name name version)))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/nsf/gothic")) - (propagated-inputs - (list tk tcl)) - (home-page "https://github.com/nsf/gothic") - (synopsis "Tcl/Tk Go bindings") - (description "Gothic contains Go bindings for Tcl/Tk. The package contains -only one type and one function that can be used to create a Tk interpreter.") - (license license:expat)))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d3e4be0894..ed26e63315 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -333,11 +333,11 @@ required structures.") ;; url-fetch is used here to avoid a circular dependency with ;; git-download, see https://issues.guix.gnu.org/63331 (method url-fetch) - (uri (string-append "mirror://gnu/gnutls/guile-gnutls-" - version ".tar.gz")) + (uri (string-append "mirror://gnu/gnutls/guile-gnutls-v" + version "-src.tar.gz")) (sha256 (base32 - "0azgp79a4hgmbg2p2ghd1x2zav8894m9ch3i4hbvq8dlxvrnf06c")))) + "0kqngyx4520gjk49l6whjd2ss994kaj9rm78lli6p3q6xry0945i")))) (build-system gnu-build-system) (outputs '("out" "debug")) (arguments @@ -354,6 +354,7 @@ required structures.") "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) (native-inputs (list libtool + autoconf automake pkg-config texinfo gnutls @@ -1132,30 +1133,6 @@ ACME server (such as Let's Encrypt) implemented as a relatively simple Bash script.") (license license:expat))) -(define-public go-github-com-certifi-gocertifi - (let ((commit "a5e0173ced670013bfb649c7e806bc9529c986ec") - (revision "1")) - (package - (name "go-github-com-certifi-gocertifi") - (version (git-version "2018.01.18" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/certifi/gocertifi") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1n9drccl3q1rr8wg3nf60slkf1lgsmz5ahifrglbdrc6har3rryj")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/certifi/gocertifi")) - (synopsis "X.509 TLS root certificate bundle for Go") - (description "This package is a Go language X.509 TLS root certificate bundle, -derived from Mozilla's collection.") - (home-page "https://certifi.io") - (license license:mpl2.0)))) - (define-public s2n (package (name "s2n") diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index 116d25875a..12763a99ca 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -72,7 +72,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages rust) #:use-module (gnu packages rust-apps) - #:use-module (gnu packages sqlite) #:use-module (gnu packages tor) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) @@ -116,16 +115,16 @@ Firefox locales.") ;; We copy the official build id, which is defined at ;; tor-browser-build/rbm.conf (browser_release_date). -(define %torbrowser-build-date "20250722101758") +(define %torbrowser-build-date "20250818110000") ;; To find the last version, look at https://www.torproject.org/download/. -(define %torbrowser-version "14.5.5") +(define %torbrowser-version "14.5.6") ;; To find the last Firefox version, browse ;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version> ;; There should be only one archive that starts with ;; "src-firefox-tor-browser-". -(define %torbrowser-firefox-version "128.13.0esr-14.5-1-build2") +(define %torbrowser-firefox-version "128.14.0esr-14.5-1-build2") ;; See tor-browser-build/rbm.conf for the list. (define %torbrowser-locales (list "ar" "be" "bg" "ca" "cs" "da" "de" "el" "es-ES" "fa" @@ -140,11 +139,11 @@ Firefox locales.") (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "8600afeb12fdae895c37618e1386c1a1ac2f5308"))) + (commit "9896e5765c90c763b97135fdda00a08cf08dbddd"))) (file-name "translation-base-browser") (sha256 (base32 - "1l190sqpbldnsrwqv8y3fbf7l3bf54b17bajswkaqpsgyci2wicy")))) + "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4")))) ;; See tor-browser-build/projects/translation/config. (define torbrowser-translation-specific @@ -152,11 +151,11 @@ Firefox locales.") (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "9fe8a13ee4c69f91cd545dc3c575ca8f4851d58e"))) + (commit "a58fb6a60d4d1328b7cffcc1e6ded5673f5e4360"))) (file-name "translation-tor-browser") (sha256 (base32 - "0n3wa1snadhr574rf01kqg18vh66hzv1h7lhwkdps7q9qj7mpgim")))) + "0qb0fjxinsd34pfgjzgpf6ry2wssc191yzxncvwrhi1bjlgjw73r")))) (define torbrowser-assets ;; This is a prebuilt Torbrowser from which we take the assets we need. @@ -172,7 +171,7 @@ Firefox locales.") version "/tor-browser-linux-x86_64-" version ".tar.xz")) (sha256 (base32 - "0gdzd3gm0qs7ypzdrcdqz6byp5lc9byvb3m4xj3sgdd44j0s34dc")))) + "1hk4hbs7hc5j6f6fiqgik0087b0yvwl54f6rm4jig2wg41cc44hr")))) (arguments (list #:install-plan @@ -213,7 +212,7 @@ Browser.") ".tar.xz")) (sha256 (base32 - "1pm0fi816hzafgv0z52h3n3x355hwjlxgzz89lpzncz9idf9lsqy")))) + "16hkibrlzgp430m045w13yl5ixxccyxlqk9qmzsgg0c5wkys6si4")))) (build-system mozilla-build-system) (inputs (list lyrebird @@ -226,11 +225,9 @@ Browser.") gdk-pixbuf glib gtk+ - ;; UNBUNDLE-ME! graphite2 cairo pango freetype - ;; UNBUNDLE-ME! harfbuzz libcanberra libgnome libjpeg-turbo @@ -254,9 +251,8 @@ Browser.") hunspell libnotify nspr - nss-rapid ; requires v. 3.101, so nss won't cut it for now. + nss shared-mime-info - sqlite eudev unzip zip @@ -352,12 +348,9 @@ Browser.") "--with-system-icu" "--with-system-nspr" "--with-system-nss" + "--with-system-ffi" - ;; UNBUNDLE-ME! "--with-system-harfbuzz" - ;; UNBUNDLE-ME! "--with-system-graphite2" "--enable-system-pixman" - "--enable-system-ffi" - ;; UNBUNDLE-ME! "--enable-system-sqlite" ) #:imported-modules %cargo-utils-modules ;for `generate-all-checksums' @@ -411,10 +404,7 @@ Browser.") "media/libvpx" ;; UNBUNDLE-ME! "media/libtremor" "media/libwebp" - ;; UNBUNDLE-ME! "gfx/harfbuzz" - ;; UNBUNDLE-ME! "gfx/graphite2" "js/src/ctypes/libffi" - ;; UNBUNDLE-ME! "db/sqlite3" ;; 800Mo of unused tests. "testing/web-platform" )))) @@ -800,17 +790,17 @@ attacks on the privacy of Tor users.") ;; We copy the official build id, which can be found there: ;; https://cdn.mullvad.net/browser/update_responses/update_1/release. -(define %mullvadbrowser-build-date "20250722101758") +(define %mullvadbrowser-build-date "20250818110000") ;; To find the last version, look at ;; https://mullvad.net/en/download/browser/linux. -(define %mullvadbrowser-version "14.5.5") +(define %mullvadbrowser-version "14.5.6") ;; To find the last Firefox version, browse ;; https://archive.torproject.org/tor-package-archive/mullvadbrowser/<%mullvadbrowser-version> ;; There should be only one archive that starts with ;; "src-firefox-mullvad-browser-". -(define %mullvadbrowser-firefox-version "128.13.0esr-14.5-1-build1") +(define %mullvadbrowser-firefox-version "128.14.0esr-14.5-1-build2") ;; See tor-browser-build/projects/translation/config. (define mullvadbrowser-translation-base @@ -818,11 +808,11 @@ attacks on the privacy of Tor users.") (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "8600afeb12fdae895c37618e1386c1a1ac2f5308"))) + (commit "9896e5765c90c763b97135fdda00a08cf08dbddd"))) (file-name "translation-base-browser") (sha256 (base32 - "1l190sqpbldnsrwqv8y3fbf7l3bf54b17bajswkaqpsgyci2wicy")))) + "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4")))) ;; See tor-browser-build/projects/translation/config. (define mullvadbrowser-translation-specific @@ -850,7 +840,7 @@ attacks on the privacy of Tor users.") version "/mullvad-browser-linux-x86_64-" version ".tar.xz")) (sha256 (base32 - "1z5g5l3bikpl2vlps641fpm2lps672ci0vx002blvssn55iv22iz")))) + "08wkx9f5l03la6ny1f0igxcmffrw80pl7i7c8lrh5095wnsxwim1")))) (arguments (list #:install-plan @@ -893,7 +883,7 @@ Mullvad Browser.") %mullvadbrowser-firefox-version ".tar.xz")) (sha256 (base32 - "1d8zs5mziig1vs385rqr8xmxyklf9aqbsk3lmqxc0p2ldgq6ygll")))) + "0djqmq1hw6mf8ww2yb3yga7hyqz9ims083sh5m0xi0yc9l4clmfg")))) (arguments (substitute-keyword-arguments (package-arguments mullvadbrowser-base) ((#:phases phases) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ad556f5072..47fde9ec16 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2725,101 +2725,126 @@ execution of any hook written in any language before every commit.") (define-public python-pre-commit (deprecated-package "python-pre-commit" pre-commit)) -(define-public mercurial - (package - (name "mercurial") - (version "6.9.5") - (source (origin - (method url-fetch) - (uri (string-append "https://www.mercurial-scm.org/" - "release/mercurial-" version ".tar.gz")) - (patches (search-patches "mercurial-hg-extension-path.patch")) - (sha256 - (base32 - "1zb5rjqs5z0y900hml0v4wsmv59cdhi50a8kcbjxdp79z7p2mwnk")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'patch-tests - (lambda _ - (substitute* (find-files "tests" "\\.(t|py)$") - (("/bin/sh") - (which "sh")) - (("/usr/bin/env") - (which "env"))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (with-directory-excursion "tests" - ;; The following tests are known to fail. - (for-each delete-file - '(;; XXX: This test calls 'run-tests.py --with-hg= - ;; `which hg`' and fails because there is no hg on - ;; PATH from before (that's why we are building it!)? - "test-hghave.t" +;; XXX: This is a temporary helper to avoid recompiling mercurial/pinned. +;; If you update mercurial, don't touch it but work around it. +;; If you update mercurial/pinned, include that in mercurial, and use inheritance +;; for mercurial/pinned. +(define mercurial-check-phase + #~(lambda* (#:key tests? #:allow-other-keys) + (with-directory-excursion "tests" + ;; The following tests are known to fail. + (for-each delete-file + '(;; XXX: This test calls 'run-tests.py --with-hg= + ;; `which hg`' and fails because there is no hg on + ;; PATH from before (that's why we are building it!)? + "test-hghave.t" + + ;; This test is missing a debug line + ;; mmapping $TESTTMP/a/.hg/store/00changelog.i (no-pure !) + ;; but the relevant output is correct. + "test-revlog-mmapindex.t" - ;; This test is missing a debug line - ;; mmapping $TESTTMP/a/.hg/store/00changelog.i (no-pure !) - ;; but the relevant output is correct. - "test-revlog-mmapindex.t" + ;; This test creates a shebang spanning multiple + ;; lines which is difficult to substitute. It + ;; only tests the test runner itself, which gets + ;; thoroughly tested during the check phase anyway. + "test-run-tests.t" - ;; This test creates a shebang spanning multiple - ;; lines which is difficult to substitute. It - ;; only tests the test runner itself, which gets - ;; thoroughly tested during the check phase anyway. - "test-run-tests.t" + ;; These tests fail because the program is not + ;; connected to a TTY in the build container. + "test-nointerrupt.t" + "test-transaction-rollback-on-sigpipe.t" - ;; These tests fail because the program is not - ;; connected to a TTY in the build container. - "test-nointerrupt.t" - "test-transaction-rollback-on-sigpipe.t" + ;; FIXME: This gets killed but does not receive an interrupt. + "test-commandserver.t" - ;; FIXME: This gets killed but does not receive an interrupt. - "test-commandserver.t" + ;; These tests get unexpected warnings about using + ;; deprecated functionality in Python, but otherwise + ;; succeed; try enabling for later Mercurial versions. + "test-demandimport.py" + "test-patchbomb-tls.t" + ;; Similarly, this gets a more informative error + ;; message from Python 3.10 than it expects. + "test-http-bad-server.t" - ;; These tests get unexpected warnings about using - ;; deprecated functionality in Python, but otherwise - ;; succeed; try enabling for later Mercurial versions. - "test-demandimport.py" - "test-patchbomb-tls.t" - ;; Similarly, this gets a more informative error - ;; message from Python 3.10 than it expects. - "test-http-bad-server.t" + ;; Only works when run in a hg-repo, not in an + ;; extracted tarball + "test-doctest.py" - ;; Only works when run in a hg-repo, not in an - ;; extracted tarball - "test-doctest.py" + ;; TODO: the fqaddr() call fails in the build + ;; container, causing these server tests to fail. + "test-hgwebdir.t" + "test-http-branchmap.t" + "test-pull-bundle.t" + "test-push-http.t" + "test-serve.t" + "test-subrepo-deep-nested-change.t" + "test-subrepo-recursion.t" + ;; FIXME: Investigate why it failed. + "test-convert-darcs.t")) + (when tests? + (invoke "./run-tests.py" + ;; ‘make check’ does not respect ‘-j’. + (string-append "-j" (number->string + (parallel-job-count))) + ;; The default time-outs are too low for many systems. + ;; Raise them generously: Guix enforces its own. + "--timeout" "86400" + "--slowtimeout" "86400" + ;; The test suite takes a long time and produces little + ;; output by default. Prevent timeouts due to silence. + "-v"))))) - ;; TODO: the fqaddr() call fails in the build - ;; container, causing these server tests to fail. - "test-hgwebdir.t" - "test-http-branchmap.t" - "test-pull-bundle.t" - "test-push-http.t" - "test-serve.t" - "test-subrepo-deep-nested-change.t" - "test-subrepo-recursion.t" - ;; FIXME: Investigate why it failed. - "test-convert-darcs.t")) - (when tests? - (invoke "./run-tests.py" - ;; ‘make check’ does not respect ‘-j’. - (string-append "-j" (number->string - (parallel-job-count))) - ;; The default time-outs are too low for many systems. - ;; Raise them generously: Guix enforces its own. - "--timeout" "86400" - "--slowtimeout" "86400" - ;; The test suite takes a long time and produces little - ;; output by default. Prevent timeouts due to silence. - "-v")))))))) +(define-public mercurial + (package + (name "mercurial") + (version "7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.mercurial-scm.org/" + "release/mercurial-" version ".tar.gz")) + (patches (search-patches "mercurial-hg-extension-path.patch")) + (sha256 + (base32 "1jz54akdnsp5frlbsr2xg71kbp2919v61gkkx7c7bi1q7k421ng8")))) + (build-system gnu-build-system) + (arguments + (list + #:imported-modules `((guix build python-build-system) + ,@%default-gnu-imported-modules) + #:modules '((guix build gnu-build-system) + ((guix build python-build-system) #:prefix py:) + (guix build utils)) + #:make-flags + #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "tests" "\\.(t|py)$") + (("/bin/sh") + (search-input-file inputs "bin/sh")) + (("/usr/bin/env") + (search-input-file inputs "bin/env"))))) + (add-before 'check 'configure-check + (lambda* (#:key tests? #:allow-other-keys) + (with-directory-excursion "tests" + (substitute* "run-tests.py" + ;; XXX: Adapt pip call to build daemon chroot. + (("b\"install\", b\"\\.\"") + "b\"install\", b\"--no-build-isolation\", b\".\"") + ;; XXX: Log the actual PYTHONPATH. + (("\"PYTHONPATH\"") + "\"GUIX_PYTHONPATH\""))))) + (add-before 'configure-check 'add-install-to-pythonpath + (assoc-ref py:%standard-phases 'add-install-to-pythonpath)) + (delete 'check) + (add-after 'install 'check #$mercurial-check-phase)))) (native-inputs (list python-docutils ;; The following inputs are only needed to run the tests. - python-nose unzip which)) + python-setuptools-next python-setuptools-scm-next python-wheel unzip which)) (inputs (list python-wrapper)) ;; Find third-party extensions. @@ -2835,6 +2860,38 @@ efficiently handles projects of any size and offers an easy and intuitive interface.") (license license:gpl2+))) +(define-public mercurial/pinned + (package + (inherit mercurial) + (version "6.9.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.mercurial-scm.org/" + "release/mercurial-" version ".tar.gz")) + (patches (search-patches "mercurial-hg-extension-path.patch")) + (sha256 + (base32 "1zb5rjqs5z0y900hml0v4wsmv59cdhi50a8kcbjxdp79z7p2mwnk")))) + (arguments + (list + #:make-flags + #~(list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* (find-files "tests" "\\.(t|py)$") + (("/bin/sh") + (which "sh")) + (("/usr/bin/env") + (which "env"))))) + (replace 'check #$mercurial-check-phase)))) + (native-inputs + (list python-docutils + ;; The following inputs are only needed to run the tests. + python-nose unzip which)))) + (define-public python-hg-evolve (package (name "python-hg-evolve") @@ -2992,14 +3049,14 @@ following features: (define-public subversion (package (name "subversion") - (version "1.14.3") + (version "1.14.5") (source (origin (method url-fetch) (uri (string-append "mirror://apache/subversion/" "subversion-" version ".tar.bz2")) (sha256 (base32 - "0h54l4p2dlk1rm4zm428hi6ij6xpqxqlqmvkhmz5yhq9392zv7ll")))) + "18a4avism0a7b1siikkm6v2snhanlmqqzl4p8hspp2vbfvkjk2p7")))) (build-system gnu-build-system) (arguments (list @@ -3068,6 +3125,20 @@ usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.") (license license:asl2.0))) +(define-public subversion/pinned + (hidden-package + (package + (inherit subversion) + (name "subversion") + (version "1.14.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://apache/subversion/" + "subversion-" version ".tar.bz2")) + (sha256 + (base32 "0h54l4p2dlk1rm4zm428hi6ij6xpqxqlqmvkhmz5yhq9392zv7ll"))))))) + (define-public rcs (package (name "rcs") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index dcd70b430b..6a09858560 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org> -;;; Copyright © 2020-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois@gmx.com> @@ -196,19 +196,18 @@ (define-public qemu (package (name "qemu") - (version "9.1.3") + (version "10.1.0") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) (sha256 - (base32 "12dc3fpv6c6qvw89amjjbb6dgc2f1c1alfgn2nab7a8kxnh7f2j8")) + (base32 "0ldyh3qia7zwv0xq6f67cp567i6ma1hb11gsqaz3x9qcnm4p6lg0")) (patches (search-patches "qemu-build-info-manual.patch" "qemu-disable-bios-tables-test.patch" - "qemu-disable-migration-test.patch" "qemu-fix-agent-paths.patch" - "qemu-glibc-2.41.patch")) + "qemu-fix-test-virtio-version.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 663048c86f..4b89c2cd4f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> -;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> @@ -5584,11 +5584,9 @@ Cloud.") (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (guile (assoc-ref inputs "guile")) (guile-effective-version (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") + (open-pipe* OPEN_READ (which "guile") "-c" "(display (effective-version))"))) (scm (string-append out "/share/guile/site/" guile-effective-version)) @@ -5604,13 +5602,11 @@ Cloud.") `("PATH" ":" prefix ,(cons* bin - (map (lambda (input) - (string-append - (assoc-ref inputs input) - "/bin")) - '("ephemeralpg" - "util-linux" - "postgresql")))) + (map (lambda (file) + (search-input-file inputs file)) + '("/bin/pg_tmp" ;ephemeralpg + "/bin/ionice" ;util-linux + "/bin/psql")))) ;postgresql `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix @@ -5637,7 +5633,9 @@ Cloud.") guile-squee guile-lzlib)) (native-inputs - (list (lookup-package-native-input guix "guile") + ;; Use the highest Guile version found among dependencies to ensure .go + ;; files can be loaded. + (list (lookup-package-native-input guile-fibers-next "guile") autoconf automake emacs-minimal @@ -8985,7 +8983,7 @@ It does not support server push.") (define-public hpcguix-web (package (name "hpcguix-web") - (version "0.4.2") + (version "0.4.3") (source (origin (method git-fetch) (uri (git-reference @@ -8994,7 +8992,7 @@ It does not support server push.") (file-name (git-file-name name version)) (sha256 (base32 - "09xfyyz3004qcfjjlg903gnsb9wsrrdk7gw7xawsvw58l6vrialb")))) + "1mcy4p5pw623gmwcx5jpry27njqyq1fp74wpq1c34s06gkhdarji")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -9756,6 +9754,21 @@ for ZIM files.") It contains the code shared by all Kiwix ports.") (license license:gpl3))) +(define-public kiwix-lib-13 + (package + (inherit kiwix-lib) + (name "kiwix-lib") + (version "13.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kiwix/kiwix-lib/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mgzmqar70rj83x27a4zh7qr6yl5pi95g6i3fvvxysdjy76v18qc")))))) + (define-public kiwix-desktop (package (name "kiwix-desktop") @@ -9826,7 +9839,7 @@ offline (such as Wikipedia), without any access to Internet.") (inputs (list curl icu4c - kiwix-lib + kiwix-lib-13 libmicrohttpd libzim pugixml diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 94e9a4e77f..8e36fea6de 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -46,6 +46,7 @@ (define-public wget (package + (replacement wget/fixed) (name "wget") (version "1.21.4") (source @@ -75,6 +76,17 @@ wild cards, supports proxies and cookies, and it can convert absolute links in downloaded documents to relative links.") (license license:gpl3+))) ; some files are under GPLv2+ +(define-public wget/fixed + (package + (inherit wget) + (version "1.25.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz")) + (sha256 + (base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr")))))) + (define-public wgetpaste (package (name "wgetpaste") diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c5fd41269e..bc361dbe53 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -1360,7 +1360,7 @@ for and start applications.") font-dejavu ;default font greybird-gtk-theme hicolor-icon-theme - mate-polkit-for-xfce + mate-polkit mousepad ristretto shared-mime-info diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 08703b370c..6ba3c5b8ca 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2644,7 +2644,7 @@ It is used to control the pointer with a joystick device.") "0mvwxrnkq0lzhjr894p420zxffdn34nc2scinmp7qd1hikr51kkp")))) (build-system gnu-build-system) ;; Linux is no longer supported since 2.0.0, use libinput or evdev instead. - (supported-systems '("i586-gnu" "x86_64-gnu")) + (supported-systems %hurd-systems) (inputs (list xorg-server)) (native-inputs (list pkg-config)) (home-page "https://www.x.org/wiki/") diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm index 6b3f66095c..82484d652d 100644 --- a/gnu/packages/zig.scm +++ b/gnu/packages/zig.scm @@ -1890,4 +1890,186 @@ toolchain. Among other features it provides (properties `((max-silent-time . 9600) ,@(clang-compiler-cpu-architectures "19"))))) + +;;; +;;; Bootstrap path for Zig 0.15. +;;; + +(define zig-0.14.0-687 + (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66") + (revision "687") + (base zig-0.14)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "0wjswx1cvql8pxpdrglr3h24v5rffnq3llr0f08hj8g959f6ffvs")) + ;; zig2 + (arguments (package-arguments zig-0.10.0-851)) + (inputs + (modify-inputs (package-inputs base) + (replace "clang" clang-20) + (replace "lld" lld-20))) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "llvm" llvm-20) + (replace "zig" `(,base "zig1")))) + (properties `((max-silent-time . 9600) + ,@(clang-compiler-cpu-architectures "20")))))) + +(define zig-0.14.0-877 + (let ((commit "0adcfd60f4fcfd01c74a6477cbcef187ce06f533") + (revision "877") + (base zig-0.14.0-687)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "1yyar3cms02kzf4z20sbw09awqvz0kbm9fx8g0kgb8hp1f4blf3d")) + ;; zig1 + (arguments (package-arguments zig-0.10.0-747)) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "zig" `(,base "out"))))))) + +(define zig-0.14.0-930 + (let ((commit "40d11cc25a469dc6bb0f9fbba4d05e7210a23b3f") + (revision "930") + (base zig-0.14.0-877)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "06x6zi8hcl04gmql96vyms0zch94xi1all5s1kjsnbifixd99bgy")) + ;; zig2 + (arguments (package-arguments zig-0.10.0-851)) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "zig" `(,base "zig1"))))))) + +(define zig-0.14.0-934 + (let ((commit "4ba0e7d424a7c0af55c8085c659e9205560d3095") + (revision "934") + (base zig-0.14.0-930)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "17zaw7bk6wli6wpsr5zlpn1b39818h034l5bpnsxfslqqg09rsd8")) + ;; zig1 + (arguments (package-arguments zig-0.10.0-747)) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "zig" `(,base "out"))))))) + +(define zig-0.14.0-1091 + (let ((commit "87ce83d5a5854b63b7cef5c6209742ee1a524107") + (revision "1091") + (base zig-0.14.0-934)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "18irwcr63l1hf2g7vv9qajgllsp7qwzsv5ijm9x8l51agm6harf4")) + ;; zig2 + (arguments (package-arguments zig-0.10.0-851)) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "zig" `(,base "zig1"))))))) + +(define zig-0.14.0-1197 + (let ((commit "a023b9b22b6593ebd5a86736a4a9955840d1bfa1") + (revision "1197") + (base zig-0.14.0-1091)) + (package + (inherit base) + (name "zig") + (version (git-version "0.14.0" revision commit)) + (source (zig-source + version commit + "08c1m6kwq7cqg5s6j0ypp8ygvxj21da5is0w7y17sw27fjqrlhgr")) + ;; zig1 + (arguments (package-arguments zig-0.10.0-747)) + (native-inputs + (modify-inputs (package-native-inputs base) + (replace "zig" `(,base "out"))))))) + +(define zig-0.15-libc-abi-tools + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziglang/libc-abi-tools") + (commit "21993a6036cc165485b20229589340dff9d4fc3c"))) + (file-name "libc-abi-tools") + (sha256 + (base32 "0miwb0zfgfmm4bh2bs7982wpk0wp5vj2mz10x9c3m8fw7zzcyvbh")) + (modules '((guix build utils))) + (snippet + #~(substitute* "netbsd/consolidate.zig" + ((".write_buffer = buffer") ".write_buffer = &buffer"))))) + +(define-public zig-0.15 + (package + (inherit zig-0.14) + (name "zig") + (version "0.15.1") + (source + (origin + (inherit (zig-source + version version + "1cp18plf0x5wip4rnxiqavaqnqxnqzhipb34in6zd3y7wihwjmj4")) + (patches + (search-patches + "zig-0.14-use-baseline-cpu-by-default.patch" + "zig-0.14-use-system-paths.patch" + "zig-0.15-fix-runpath.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments zig-0.14) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (delete 'install-glibc-abilists) + ;; TODO: Remove newly-added abilists files in zig-source. + (add-before 'check 'install-abilists + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (mkdir-p "/tmp/libc-abi-tools") + (with-directory-excursion "/tmp/libc-abi-tools" + (copy-recursively + (dirname (search-input-file + (or native-inputs inputs) "list.zig")) + ".") + (for-each make-file-writable (find-files ".")) + (for-each + (lambda (libc) + (with-directory-excursion libc + (invoke (string-append #$output "/bin/zig") + "run" "consolidate.zig") + (install-file + "abilists" + (string-append #$output "/lib/zig/libc/" libc)))) + '("freebsd" + "glibc" + "netbsd"))))))))) + (inputs + (modify-inputs (package-inputs zig-0.14) + (replace "clang" clang-20) + (replace "lld" lld-20))) + (native-inputs + (modify-inputs (package-native-inputs zig-0.14) + (delete "glibc-abi-tool") + (prepend zig-0.15-libc-abi-tools) + (replace "llvm" llvm-20) + (replace "zig" `(,zig-0.14.0-1197 "zig1")))) + (properties `((max-silent-time . 9600) + ,@(clang-compiler-cpu-architectures "20"))))) + (define-public zig zig-0.13) |