diff options
Diffstat (limited to 'gnu')
34 files changed, 1023 insertions, 914 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 333867ce03..dc9c2069d4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -240,13 +240,11 @@ GNU_SYSTEM_MODULES = \ %D%/packages/dezyne.scm \ %D%/packages/decker.scm \ %D%/packages/dhall.scm \ - %D%/packages/dico.scm \ %D%/packages/dictd.scm \ %D%/packages/dotnet.scm \ %D%/packages/dictionaries.scm \ %D%/packages/diffoscope.scm \ %D%/packages/digest.scm \ - %D%/packages/direct-connect.scm \ %D%/packages/disk.scm \ %D%/packages/distributed.scm \ %D%/packages/display-managers.scm \ @@ -1816,7 +1814,6 @@ dist_patch_DATA = \ %D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-unix_chkpwd.patch \ - %D%/packages/patches/linuxdcpp-openssl-1.1.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ @@ -1947,7 +1944,6 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-db4.patch \ - %D%/packages/patches/nyacc-binary-literals.patch \ %D%/packages/patches/obs-modules-location.patch \ %D%/packages/patches/ocaml-ctypes-test-oo.patch \ %D%/packages/patches/ocaml-multiple-definitions.patch \ @@ -2511,6 +2507,7 @@ dist_patch_DATA = \ %D%/packages/patches/zig-0.14-fix-runpath.patch \ %D%/packages/patches/zig-0.14-use-baseline-cpu-by-default.patch \ %D%/packages/patches/zig-0.14-use-system-paths.patch \ + %D%/packages/patches/zig-0.15-fix-runpath.patch \ %D%/packages/patches/zsh-egrep-failing-test.patch \ %D%/packages/patches/zuo-bin-sh.patch \ %D%/packages/patches/zxing-cpp-1.2.0-gcc-14.patch \ 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/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/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/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/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/emulators.scm b/gnu/packages/emulators.scm index bb0bd898e1..f86fcedd56 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -4352,72 +4352,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. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index e77193ecf2..aa21eec21d 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."))) 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/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/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b56c2a62c6..1a7edd1e51 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 @@ -1961,17 +1961,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 +1987,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 +4928,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 +6795,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 +6816,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 +7015,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/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/linux.scm b/gnu/packages/linux.scm index 36cef84b14..ed8789be0e 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> @@ -8103,124 +8103,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 diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 7f24a449fe..f57160e21f 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3976,6 +3976,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 +4015,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) 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/music.scm b/gnu/packages/music.scm index 7190dfcd57..9b770d6442 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -7005,16 +7005,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 +7036,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/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/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/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/photo.scm b/gnu/packages/photo.scm index 33990bc2eb..98192f34ea 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 @@ -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/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-xyz.scm b/gnu/packages/python-xyz.scm index 96cbe0b958..bedcd86954 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6787,7 +6787,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 @@ -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)) diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index c567d3283a..ff66647bc1 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 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/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/web.scm b/gnu/packages/web.scm index 663048c86f..bc217146eb 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 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) diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm index fef8915439..c905d35a34 100644 --- a/gnu/services/dict.scm +++ b/gnu/services/dict.scm @@ -29,7 +29,6 @@ #:use-module (gnu services shepherd) #:use-module (gnu system shadow) #:use-module ((gnu packages admin) #:select (shadow)) - #:use-module (gnu packages dico) #:use-module (gnu packages dictionaries) #:autoload (gnu build linux-container) (%namespaces) #:autoload (gnu system file-systems) (file-system-mapping) |