diff --git a/.dir-locals.el b/.dir-locals.el index fe52af5f7f2..cea37fc9ef8 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Alex Kost ;;; Copyright © 2018-2020 Caleb Ristvedt -;;; Copyright © 2020-2023,2025 Maxim Cournoyer +;;; Copyright © 2020-2023, 2025 Maxim Cournoyer ;;; Copyright © 2020 Miguel Ángel Arruga Vivas ;;; Copyright © 2020 Christine Lemmer-Webber ;;; Copyright © 2022 Liliana Marie Prikler @@ -98,27 +98,9 @@ ((indent-tabs-mode . nil) ;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the - ;; first line of package descriptions to extrude past 'fill-column', and - ;; somehow that is deemed more correct upstream (see: - ;; https://issues.guix.gnu.org/56197). - (eval . (progn - (require 'lisp-mode) - (defun emacs27-lisp-fill-paragraph (&optional justify) - (interactive "P") - (or (fill-comment-paragraph justify) - (let ((paragraph-start - (concat paragraph-start - "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)")) - (paragraph-separate - (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) - (fill-column (if (and (integerp emacs-lisp-docstring-fill-column) - (derived-mode-p 'emacs-lisp-mode)) - emacs-lisp-docstring-fill-column - fill-column))) - (fill-paragraph justify)) - ;; Never return nil. - t)) - (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph))) + ;; first line of package descriptions to extrude past 'fill-column'. The + ;; following variable reverts its behavior to the previous one. + (lisp-fill-paragraphs-as-doc-string nil) ;; This notably allows '(' in Paredit to not insert a space when the ;; preceding symbol is one of these. diff --git a/.mailmap b/.mailmap index 5ee8839697b..460d3343e0d 100644 --- a/.mailmap +++ b/.mailmap @@ -57,6 +57,7 @@ Mathieu Othacehe Mathieu Othacehe Mathieu Othacehe Matthew James Kraai +Maxim Cournoyer Nikita Karetnikov nikita nikita ng0 diff --git a/CODEOWNERS b/CODEOWNERS index 3d840a915af..0c39857a5e5 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -126,10 +126,10 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation gnu/system/examples/desktop\.tmpl @guix/documentation -gnu/packages/fpga\.scm @guix/electronics gnu/packages/electronics\.scm @guix/electronics gnu/packages/libftdi\.scm @guix/electronics gnu/packages/engineering\.scm @guix/electronics +gnu/packages/flashing-tools\.scm @guix/electronics gnu/packages/aux-files/emacs/guix-emacs\.el @guix/emacs gnu/packages/aux-files/emacs/comp-integrity\.el @guix/emacs diff --git a/Makefile.am b/Makefile.am index 5d7d1c9b2ad..19b2971f992 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,7 +14,7 @@ # Copyright © 2018 Oleg Pykhalov # Copyright © 2018 Alex Vong # Copyright © 2019, 2023 Efraim Flashner -# Copyright © 2020, 2021, 2023 Maxim Cournoyer +# Copyright © 2020, 2021, 2023 Maxim Cournoyer # Copyright © 2021 Chris Marusich # Copyright © 2021 Andrew Tropin # Copyright © 2023 Clément Lassieur diff --git a/NEWS b/NEWS index c73f16deb42..1236fef17b9 100644 --- a/NEWS +++ b/NEWS @@ -4,7 +4,7 @@ Copyright © 2013-2022 Ludovic Courtès Copyright © 2016, 2017, 2018 Ricardo Wurmus -Copyright © 2021, 2022, 2024 Maxim Cournoyer +Copyright © 2021, 2022, 2024 Maxim Cournoyer Copyright © 2022 Mathieu Othacehe Copying and distribution of this file, with or without modification, diff --git a/README b/README index f4cf27060df..c4cfd8ada01 100644 --- a/README +++ b/README @@ -56,11 +56,11 @@ behalf. The RPCs are implemented in the (guix store) module. * Contact -GNU Guix is hosted at https://savannah.gnu.org/projects/guix/. +GNU Guix is hosted at https://codeberg.org/guix/guix/. -Please email for questions and for bug -reports; email for general issues regarding the -GNU system. +Please email mailto:help-guix@gnu.org for questions. Bug reports should be +submitted via https://codeberg.org/guix/guix/issues/. Email +mailto:gnu-system-discuss@gnu.org for general issues regarding the GNU system. Join #guix on irc.libera.chat. diff --git a/build-aux/test-driver.scm b/build-aux/test-driver.scm index 901f6ab9ec3..1c4d7b9876b 100755 --- a/build-aux/test-driver.scm +++ b/build-aux/test-driver.scm @@ -6,7 +6,7 @@ exec guile --no-auto-compile -e main -s "$0" "$@" (define script-version "2023-12-08.14") ;UTC ;;; Copyright © 2015, 2016 Mathieu Lirzin -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by diff --git a/build-aux/update-guix-package.scm b/build-aux/update-guix-package.scm index 62a7ca46371..383fcd00fc7 100644 --- a/build-aux/update-guix-package.scm +++ b/build-aux/update-guix-package.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017-2018, 2025 Ludovic Courtès -;;; Copyright © 2020, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/configure.ac b/configure.ac index 0dff7db691e..0b0e7876fc1 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ # Copyright © 2018 nikita # Copyright © 2018, 2021 Julien Lepiller # Copyright © 2017-2018 Eric Bavier -# Copyright © 2020-2021, 2023-204 Maxim Cournoyer +# Copyright © 2020-2021, 2023-204 Maxim Cournoyer # Copyright © 2024 Janneke Nieuwenhuizen # Copyright © 2024 gemmaro diff --git a/doc/build.scm b/doc/build.scm index d0c4c70cc36..39e64251804 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019-2025 Ludovic Courtès ;;; Copyright © 2020 Björn Höfling -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/doc/contributing.texi b/doc/contributing.texi index 4aa8d34fe55..66e6f0c682b 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -2926,12 +2926,9 @@ access by following these steps: @enumerate @item -Find three committers who would vouch for you. You can view the list of -committers at -@url{https://codeberg.org/guix/guix/settings/collaboration}. Each -of them should email a statement to @email{guix-maintainers@@gnu.org} (a -private alias for the collective of maintainers), signed with their -OpenPGP key. +Find three committers who would vouch for you. Each of them should +email a statement to @email{guix-maintainers@@gnu.org} (a private alias +for the collective of maintainers), signed with their OpenPGP key. Committers are expected to have had some interactions with you as a contributor and to be able to judge whether you are sufficiently diff --git a/doc/guix.texi b/doc/guix.texi index 0924aebf4ad..759f0446594 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43618,8 +43618,8 @@ Service type for binding a directory in multiple places on the file system. The access rights are either the same in source and destination -(@code{'bind}), or writes are translated back to the sources as if made -by the destination's owner (@code{'translate}), or kept in an overlay +(@code{'bind}), or writes are translated back to the source as if made +by the source's owner (@code{'translate}), or kept in an overlay directory near the destination (@code{'overlay}). The service's value must be a @code{vfs-mapping-configuration} object. @end defvar @@ -44867,7 +44867,7 @@ is @code{#f}, the service has to be started manually with @command{herd start}. Whether to have Shepherd restart the service when it stops, for instance when the underlying process dies. -@item @code{shepherd-actions} (default: @code{'()}) (type: list-of-symbols) +@item @code{shepherd-actions} (default: @code{'()}) (type: list-of-shepherd-actions) This is a list of @code{shepherd-action} records defining actions supported by the service. diff --git a/etc/committer.scm.in b/etc/committer.scm.in index 9b128c8f1e7..7bc07f3c888 100755 --- a/etc/committer.scm.in +++ b/etc/committer.scm.in @@ -6,7 +6,7 @@ ;;; Copyright © 2020, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/etc/guix-install.sh b/etc/guix-install.sh index 3bf3a4a55e4..aae1f098c38 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -9,7 +9,7 @@ # Copyright © 2020 Daniel Brooks # Copyright © 2021 Jakub Kądziołka # Copyright © 2021 Chris Marusich -# Copyright © 2021, 2022, 2023 Maxim Cournoyer +# Copyright © 2021, 2022, 2023 Maxim Cournoyer # Copyright © 2022 Prafulla Giri # Copyright © 2023 Andrew Tropin # Copyright © 2020 David A. Redick diff --git a/etc/news.scm b/etc/news.scm index e0ae7f271dd..2a28dfa4fc2 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -9,7 +9,7 @@ ;; Copyright © 2020, 2022 Marius Bakke ;; Copyright © 2020, 2021 Mathieu Othacehe ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;; Copyright © 2020-2025 Maxim Cournoyer +;; Copyright © 2020-2025 Maxim Cournoyer ;; Copyright © 2021–2023 Leo Famulari ;; Copyright © 2021 Zhu Zihao ;; Copyright © 2021 Chris Marusich diff --git a/etc/teams.scm b/etc/teams.scm index 18b7aca0aa2..e85bfa01007 100755 --- a/etc/teams.scm +++ b/etc/teams.scm @@ -10,7 +10,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@" ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022-2024 Ricardo Wurmus ;;; Copyright © 2022 Mathieu Othacehe -;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2022 Simon Tournier ;;; Copyright © 2025 Jelle Licht ;;; Copyright © 2025 Cayetano Santos @@ -601,10 +601,10 @@ already exists. Lookup team IDs among CURRENT-TEAMS." (team 'electronics #:name "Electronics team" #:description "Electronics and hardware related packages." - #:scope (list "gnu/packages/fpga.scm" - "gnu/packages/electronics.scm" + #:scope (list "gnu/packages/electronics.scm" "gnu/packages/libftdi.scm" - "gnu/packages/engineering.scm"))) + "gnu/packages/engineering.scm" + "gnu/packages/flashing-tools.scm"))) (define-team emacs (team 'emacs @@ -1068,7 +1068,8 @@ the \"texlive\" importer." bootstrap core-packages lxqt science tex) (define-member (person "Tanguy Le Carrour" - "tanguy@bioneland.org") + "tanguy@bioneland.org" + "tanguybl") python home) (define-member (person "Tobias Geerinckx-Rice" @@ -1142,7 +1143,8 @@ the \"texlive\" importer." home emacs) (define-member (person "pukkamustard" - "pukkamustard@posteo.net") + "pukkamustard@posteo.net" + "pukkamustard") ocaml) (define-member (person "Josselin Poiret" @@ -1173,7 +1175,7 @@ the \"texlive\" importer." reproduciblebuilds) (define-member (person "Maxim Cournoyer" - "maxim.cournoyer@gmail.com" + "maxim@guixotic.coop" "apteryx") documentation gnome qt telephony electronics) @@ -1255,7 +1257,7 @@ the \"texlive\" importer." (define-member (person "Sughosha" "sughosha@disroot.org") - kde) + audio kde) (define-member (person "Jelle Licht" "jlicht@fsfe.org" diff --git a/etc/teams/gnome/gnome-core-refresh b/etc/teams/gnome/gnome-core-refresh index 785e9a08b59..9271ea3fb19 100755 --- a/etc/teams/gnome/gnome-core-refresh +++ b/etc/teams/gnome/gnome-core-refresh @@ -1,7 +1,7 @@ #!/usr/bin/env -S guix repl -- !# ;-*- mode: scheme; -*- ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/etc/teams/qt/qt-manifest.scm b/etc/teams/qt/qt-manifest.scm index 22078530a7f..a58275b3f16 100644 --- a/etc/teams/qt/qt-manifest.scm +++ b/etc/teams/qt/qt-manifest.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/etc/teams/qt/qt5-manifest.scm b/etc/teams/qt/qt5-manifest.scm index 2b25888d4b4..96f13d478d6 100644 --- a/etc/teams/qt/qt5-manifest.scm +++ b/etc/teams/qt/qt5-manifest.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index e136482c541..5deefce5f99 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017, 2020 Mathieu Othacehe ;;; Copyright © 2019, 2020, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Stefan ;;; Copyright © 2022 Karl Hallsby ;;; Copyright © 2022 Denis 'GNUtoo' Carikli diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 64fb319f50f..fc3e1baf162 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2020 Julien Lepiller ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Efraim Flashner ;;; Copyright © 2023-2024 Herman Rimm ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> @@ -47,6 +47,7 @@ u-boot-pinebook-bootloader u-boot-pinebook-pro-rk3399-bootloader u-boot-puma-rk3399-bootloader + u-boot-rock-4c-plus-rk3399-bootloader u-boot-rock64-rk3328-bootloader u-boot-rockpro64-rk3399-bootloader u-boot-sifive-unmatched-bootloader @@ -252,6 +253,11 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given." (package u-boot-puma-rk3399) (disk-image-installer install-puma-rk3399-u-boot))) +(define u-boot-rock-4c-plus-rk3399-bootloader + (bootloader + (inherit u-boot-rockchip-bootloader) + (package u-boot-rock-4c-plus-rk3399))) + (define u-boot-rock64-rk3328-bootloader (bootloader (inherit u-boot-rockchip-bootloader) diff --git a/gnu/build/dbus-service.scm b/gnu/build/dbus-service.scm index 688afe44c3d..8e067016f00 100644 --- a/gnu/build/dbus-service.scm +++ b/gnu/build/dbus-service.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index c506a4911ff..1ff954583a7 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2019 Guillaume Le Vaillant ;;; Copyright © 2019–2021, 2024 Tobias Geerinckx-Rice ;;; Copyright © 2019 David C. Trudgian -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2022 Oleg Pykhalov ;;; Copyright © 2024 Nicolas Graves ;;; Copyright © 2024 Richard Sent @@ -286,14 +286,14 @@ unmounted." (define %page-size 4096) (define (linux-swap-superblock? sblock) - "Return #t when SBLOCK is an linux-swap superblock." + "Return #t when SBLOCK is a linux-swap superblock." (and (= (bytevector-length sblock) %page-size) (bytevector=? (sub-bytevector sblock (- %page-size 10) 10) %linux-swap-magic))) (define (read-linux-swap-superblock device) "Return the raw contents of DEVICE's linux-swap superblock as a bytevector, or #f -if DEVICE does not contain an linux-swap file system." +if DEVICE does not contain a linux-swap file system." (read-superblock device 0 %page-size linux-swap-superblock?)) ;; See 'union swap_header' in 'include/linux/swap.h'. @@ -336,6 +336,39 @@ negative, defaulting to 0.~%") p) 0)) (logior prio-flag delayed-flag)) + +;;; +;;; Linux swap, after hibernation. +;;; + +;; Linux swap space header is rewritten with a swsusp_header on +;; hibernate, which takes the HIBERNATE_SIG signature, which is this +;; string; see function mark_swapfiles in kernel/power/swap.c. In the +;; linux kernel the comparison is always done on 10 bytes, which +;; include the trailing zero in the case of HIBERNATE_SIG while not +;; including it for %linux-swap-magic. +(define %linux-swsuspend-magic + (string->utf8 "S1SUSPEND\0")) + +;; The kernel structure swsusp_header is duplicated from the swap header, in +;; kernel/power/swap.c. +(define (linux-swsuspend-superblock? sblock) + "Return #t when SBLOCK is a linux-swap superblock we can resume from." + (and (= (bytevector-length sblock) %page-size) + (bytevector=? (sub-bytevector sblock (- %page-size 10) 10) + %linux-swsuspend-magic))) + +;; If we want to resume through UUID and/or LABEL from swap partitions, we +;; need to fetch UUID/LABEL from partitions with such magics. +(define (read-linux-swsuspend-superblock device) + "Return the raw contents of DEVICE's linux-swsuspend superblock as a +bytevector, or #f if DEVICE does not contain an linux-swap file system with an +hibernation image from which we can resume." + (read-superblock device 0 %page-size linux-swsuspend-superblock?)) + +;; Label and UUID information are otherwise left untouched, therefore, swap +;; functions are reused. + ;;; @@ -349,7 +382,7 @@ negative, defaulting to 0.~%") p) (identifier-syntax (endianness little))) (define (bcachefs-superblock? sblock) - "Return #t when SBLOCK is an bcachefs superblock." + "Return #t when SBLOCK is a bcachefs superblock." (bytevector=? (sub-bytevector sblock 24 16) #vu8(#xc6 #x85 #x73 #xf6 #x4e #x1a #x45 #xca #x82 #x65 #xf5 #x7f #x48 #xba #x6d #x81))) @@ -1052,6 +1085,8 @@ partition field reader that returned a value." ext2-superblock-volume-name) (partition-field-reader read-linux-swap-superblock linux-swap-superblock-volume-name) + (partition-field-reader read-linux-swsuspend-superblock + linux-swap-superblock-volume-name) (partition-field-reader read-bcachefs-superblock bcachefs-superblock-volume-name) (partition-field-reader read-btrfs-superblock @@ -1076,6 +1111,8 @@ partition field reader that returned a value." ext2-superblock-uuid) (partition-field-reader read-linux-swap-superblock linux-swap-superblock-uuid) + (partition-field-reader read-linux-swsuspend-superblock + linux-swap-superblock-uuid) (partition-field-reader read-bcachefs-superblock bcachefs-superblock-external-uuid) (partition-field-reader read-btrfs-superblock diff --git a/gnu/build/install.scm b/gnu/build/install.scm index 0aa227b4d8c..d0717f204af 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013-2020, 2022 Ludovic Courtès ;;; Copyright © 2016 Chris Marusich -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2024 Nicolas Graves ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/build/jami-service.scm b/gnu/build/jami-service.scm index a00785f699b..6e84b654607 100644 --- a/gnu/build/jami-service.scm +++ b/gnu/build/jami-service.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 548e28a1c97..61fa6716dba 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Guillaume Le Vaillant -;;; Copyright © 2020, 2022 Maxim Cournoyer +;;; Copyright © 2020, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index 3e5158c2fd7..b6f8563f7d0 100644 --- a/gnu/build/linux-container.scm +++ b/gnu/build/linux-container.scm @@ -30,6 +30,7 @@ unprivileged-user-namespace-supported? setgroups-supported? %namespaces + %writable-/tmp run-container call-with-container container-excursion @@ -387,6 +388,16 @@ if there are no child processes left." (+ 128 (or (status:term-sig status) (status:stop-sig status))))) +(define %writable-/tmp + ;; Writable and volatile /tmp. + (file-system + (device "none") + (mount-point "/tmp") + (type "tmpfs") + (flags '(no-suid no-dev)) + (options "mode=755,size=10%") + (check? #f))) + (define* (call-with-container mounts thunk #:key (namespaces %namespaces) (host-uids 1) (guest-uid 0) (guest-gid 0) (lock-mounts? #t) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 32baf6c5259..6bf71100e49 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2023 Tobias Geerinckx-Rice -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index af211eff436..f6ceb584721 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2022, 2024 Ludovic Courtès ;;; Copyright © 2018 Chris Marusich -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023 Bruno Victal ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm index 0226c640329..5447563cd94 100644 --- a/gnu/build/secret-service.scm +++ b/gnu/build/secret-service.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020-2023 Ludovic Courtès +;;; Copyright © 2020-2023, 2025 Ludovic Courtès ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. @@ -18,8 +18,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu build secret-service) + #:autoload (fibers io-wakeup) (wait-until-port-readable-operation) + #:autoload (fibers operations) (perform-operation + choice-operation + wrap-operation) + #:autoload (fibers timers) (sleep-operation) #:use-module (guix build utils) - #:use-module (srfi srfi-26) #:use-module (rnrs bytevectors) #:use-module (ice-9 binary-ports) @@ -33,6 +37,9 @@ ;;; ;;; Utility procedures for copying secrets into a VM. ;;; +;;; Note: This code runs within the 'shepherd' process, hence the use of +;;; Fibers. +;;; ;;; Code: (define-syntax log @@ -47,51 +54,15 @@ ;; to syslog. #'(format (current-output-port) fmt args ...)))))) -(define-syntax with-modules - (syntax-rules () - "Dynamically load the given MODULEs at run time, making the chosen -bindings available within the lexical scope of BODY." - ((_ ((module #:select (bindings ...)) rest ...) body ...) - (let* ((iface (resolve-interface 'module)) - (bindings (module-ref iface 'bindings)) - ...) - (with-modules (rest ...) body ...))) - ((_ () body ...) - (begin body ...)))) - (define (wait-for-readable-fd port timeout) "Wait until PORT has data available for reading or TIMEOUT has expired. Return #t in the former case and #f in the latter case." - (match (resolve-module '(fibers) #f #:ensure #f) ;using Fibers? - (#f - (log "blocking on socket...~%") - (match (select (list port) '() '() timeout) - (((_) () ()) #t) - ((() () ()) #f))) - (fibers - ;; We're running on the Shepherd 0.9+ with Fibers. Arrange to make a - ;; non-blocking wait so that other fibers can be scheduled in while we - ;; wait for PORT. - (with-modules (((fibers) #:select (spawn-fiber sleep)) - ((fibers channels) - #:select (make-channel put-message get-message))) - ;; Make PORT non-blocking. - (let ((flags (fcntl port F_GETFL))) - (fcntl port F_SETFL (logior O_NONBLOCK flags))) - - (let ((channel (make-channel))) - (spawn-fiber - (lambda () - (sleep timeout) ;suspends the fiber - (put-message channel 'timeout))) - (spawn-fiber - (lambda () - (lookahead-u8 port) ;suspends the fiber - (put-message channel 'readable))) - (log "suspending fiber on socket...~%") - (match (get-message channel) - ('readable #t) - ('timeout #f))))))) + (perform-operation + (choice-operation + (wrap-operation (wait-until-port-readable-operation port) + (const #t)) + (wrap-operation (sleep-operation timeout) + (const #f))))) (define (socket-address->string address) "Return a human-readable representation of ADDRESS, an object as returned by @@ -135,10 +106,10 @@ HANDSHAKE-TIMEOUT seconds for handshake to complete. Return #f on failure." (log "sending secrets to ~a~%" (socket-address->string address)) - (let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0)) - (sleep (if (resolve-module '(fibers) #f) - (module-ref (resolve-interface '(fibers)) 'sleep) - sleep))) + (let ((sock (socket AF_INET + (logior SOCK_CLOEXEC SOCK_NONBLOCK SOCK_STREAM) + 0)) + (sleep (module-ref (resolve-interface '(fibers)) 'sleep))) ;; Connect to QEMU on the forwarded port. The 'connect' call succeeds as ;; soon as QEMU is ready, even if there's no server listening on the ;; forward port inside the guest. @@ -185,56 +156,42 @@ HANDSHAKE-TIMEOUT seconds for handshake to complete. Return #f on failure." (unless (= ENOENT (system-error-errno args)) (apply throw args))))) -(define (secret-service-receive-secrets address) +(define* (secret-service-receive-secrets address + #:key (timeout 60)) "Listen to ADDRESS, an address returned by 'make-socket-address', and wait for a secret service client to send secrets. Write them to the file system. -Return the list of files installed on success, and #f otherwise." +Return the list of files installed on success, and #f if TIMEOUT seconds +passed without receiving any files or if some other failure occurred." (define (wait-for-client address) ;; Wait for a connection on ADDRESS. Note: virtio-serial ports are safer ;; than TCP connections but they are (presumably) unsupported on GNU/Hurd. - (let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0))) + (let ((sock (socket AF_INET + (logior SOCK_CLOEXEC SOCK_NONBLOCK SOCK_STREAM) + 0))) (bind sock address) (listen sock 1) (log "waiting for secrets on ~a...~%" (socket-address->string address)) - (match (select (list sock) '() '() 60) - (((_) () ()) - (match (accept sock) - ((client . address) - (log "client connection from ~a~%" - (inet-ntop (sockaddr:fam address) - (sockaddr:addr address))) + (if (wait-for-readable-fd sock timeout) + (match (accept sock (logior SOCK_CLOEXEC SOCK_NONBLOCK)) + ((client . address) + (log "client connection from ~a~%" + (inet-ntop (sockaddr:fam address) + (sockaddr:addr address))) - ;; Send a "hello" message. This allows the client running on the - ;; host to know that it's now actually connected to server running - ;; in the guest. - (write '(secret-service-server (version 0)) client) - (force-output client) + ;; Send a "hello" message. This allows the client running on the + ;; host to know that it's now actually connected to server running + ;; in the guest. + (write '(secret-service-server (version 0)) client) + (force-output client) + (close-port sock) + client)) + (begin + (log "did not receive any secrets; time out~%") (close-port sock) - client))) - ((() () ()) - (log "did not receive any secrets; time out~%") - (close-port sock) - #f)))) - - ;; TODO: Remove when (@ (guix build utils) dump-port) has a 'size' - ;; parameter. - (define (dump in out size) - ;; Copy SIZE bytes from IN to OUT. - (define buf-size 65536) - (define buf (make-bytevector buf-size)) - - (let loop ((left size)) - (if (<= left 0) - 0 - (let ((read (get-bytevector-n! in buf 0 (min left buf-size)))) - (if (eof-object? read) - left - (begin - (put-bytevector out buf 0 read) - (loop (- left read)))))))) + #f)))) (define (read-secrets port) ;; Read secret files from PORT and install them. @@ -253,7 +210,7 @@ Return the list of files installed on success, and #f otherwise." (call-with-output-file file (lambda (output) - (dump port output size) + (dump-port port output size) (chmod file mode)))) files sizes modes) (log "received ~a secret files~%" (length files)) diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index 23be44ba07a..eab6b9bda44 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021, 2023 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/local.mk b/gnu/local.mk index 1128a954666..ab53474192f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -291,7 +291,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/fluidplug.scm \ %D%/packages/fonts.scm \ %D%/packages/fontutils.scm \ - %D%/packages/fpga.scm \ %D%/packages/forth.scm \ %D%/packages/fortran-check.scm \ %D%/packages/fortran-xyz.scm \ @@ -484,6 +483,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/mpd.scm \ %D%/packages/mp3.scm \ %D%/packages/mpi.scm \ + %D%/packages/mruby-xyz.scm \ %D%/packages/multiprecision.scm \ %D%/packages/music.scm \ %D%/packages/musl.scm \ @@ -562,10 +562,8 @@ GNU_SYSTEM_MODULES = \ %D%/packages/pth.scm \ %D%/packages/pulseaudio.scm \ %D%/packages/pumpio.scm \ - %D%/packages/presentation.scm \ %D%/packages/pretty-print.scm \ %D%/packages/protobuf.scm \ - %D%/packages/pure.scm \ %D%/packages/purescript.scm \ %D%/packages/pv.scm \ %D%/packages/pypy.scm \ @@ -808,6 +806,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/images/pine64.scm \ %D%/system/images/pinebook-pro.scm \ %D%/system/images/rock64.scm \ + %D%/system/images/rock-4c-plus.scm \ %D%/system/images/unmatched.scm \ %D%/system/images/visionfive2.scm \ %D%/system/images/wsl2.scm \ @@ -961,8 +960,6 @@ dist_patch_DATA = \ %D%/packages/patches/abcl-fix-build-xml.patch \ %D%/packages/patches/ableton-link-system-libraries-debian.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ - %D%/packages/patches/abseil-cpp-20200923.3-adjust-sysinfo.patch \ - %D%/packages/patches/abseil-cpp-20200923.3-duration-test.patch \ %D%/packages/patches/abseil-cpp-20220623.1-no-kepsilon-i686.patch \ %D%/packages/patches/abseil-cpp-fix-strerror_test.patch \ %D%/packages/patches/adb-add-libraries.patch \ @@ -1015,6 +1012,7 @@ dist_patch_DATA = \ %D%/packages/patches/audiofile-CVE-2015-7747.patch \ %D%/packages/patches/audiofile-CVE-2018-13440.patch \ %D%/packages/patches/audiofile-CVE-2018-17095.patch \ + %D%/packages/patches/audiofile-CVE-2022-24599.patch \ %D%/packages/patches/audiofile-check-number-of-coefficients.patch \ %D%/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch \ %D%/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch \ @@ -1091,9 +1089,6 @@ dist_patch_DATA = \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ %D%/packages/patches/clamav-system-tomsfastmath.patch \ - %D%/packages/patches/clang-3.5-libc-search-path.patch \ - %D%/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch \ - %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clang-11.0-libc-search-path.patch \ %D%/packages/patches/clang-12.0-libc-search-path.patch \ %D%/packages/patches/clang-13.0-libc-search-path.patch \ @@ -1106,14 +1101,11 @@ dist_patch_DATA = \ %D%/packages/patches/clang-17.0-libc-search-path.patch \ %D%/packages/patches/clang-17.0-link-dsymutil-latomic.patch \ %D%/packages/patches/clang-18.0-libc-search-path.patch \ - %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/clang-runtime-12-remove-crypt-interceptors.patch \ %D%/packages/patches/clang-runtime-13-glibc-2.36-compat.patch \ %D%/packages/patches/clang-runtime-14-glibc-2.36-compat.patch \ - %D%/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch \ %D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \ - %D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \ %D%/packages/patches/clasp-hide-event-ids.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ %D%/packages/patches/classpath-miscompilation.patch \ @@ -1215,7 +1207,6 @@ dist_patch_DATA = \ %D%/packages/patches/elm-reactor-static-files.patch \ %D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \ %D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \ - %D%/packages/patches/emacs-elpy-dup-test-name.patch \ %D%/packages/patches/emacs-disable-jit-compilation.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ @@ -1249,6 +1240,7 @@ dist_patch_DATA = \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/esmini-use-pkgconfig.patch \ %D%/packages/patches/esmtp-add-lesmtp.patch \ + %D%/packages/patches/esound-c99.patch \ %D%/packages/patches/exercism-disable-self-update.patch \ %D%/packages/patches/extempore-unbundle-external-dependencies.patch \ %D%/packages/patches/extundelete-e2fsprogs-1.44.patch \ @@ -1598,9 +1590,11 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-makeicecat.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-compare-paths.patch \ + %D%/packages/patches/icecat-fhs-configure-option.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icecat-use-system-wide-dir.patch \ + %D%/packages/patches/icedove-observer-fix.patch \ %D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \ %D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \ %D%/packages/patches/icu4c-icu-22132-fix-vtimezone.patch \ @@ -1813,8 +1807,6 @@ dist_patch_DATA = \ %D%/packages/patches/linux-pam-unix_chkpwd.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 \ - %D%/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch \ %D%/packages/patches/llvm-13-gcc-14.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ @@ -2078,6 +2070,7 @@ dist_patch_DATA = \ %D%/packages/patches/smalltalk-multiplication-overflow.patch \ %D%/packages/patches/soci-mysql-ddl-types.patch \ %D%/packages/patches/sqlite-hurd.patch \ + %D%/packages/patches/stk-5.0.1-fix-typo.patch \ %D%/packages/patches/strace-readlink-tests.patch \ %D%/packages/patches/sunxi-tools-remove-sys-io.patch \ %D%/packages/patches/p11-kit-hurd.patch \ @@ -2231,6 +2224,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ + %D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-launcher-config-dir.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ @@ -2339,7 +2333,6 @@ dist_patch_DATA = \ %D%/packages/patches/tcsh-fix-autotest.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/tensorflow-c-api-fix.patch \ - %D%/packages/patches/tensorflow-lite-unbundle.patch \ %D%/packages/patches/texinfo-headings-single.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ %D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch \ @@ -2364,6 +2357,7 @@ dist_patch_DATA = \ %D%/packages/patches/tlf-support-hamlib-4.2+.patch \ %D%/packages/patches/tofi-32bit-compat.patch \ %D%/packages/patches/torbrowser-compare-paths.patch \ + %D%/packages/patches/torbrowser-use-system-wide-dir.patch \ %D%/packages/patches/torbrowsers-add-store-to-rdd-allowlist.patch \ %D%/packages/patches/tpetra-remove-duplicate-using.patch \ %D%/packages/patches/transcode-ffmpeg.patch \ @@ -2510,7 +2504,8 @@ dist_patch_DATA = \ %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 \ - %D%/packages/patches/zynaddsubfx-3.0.6-include-cstdint.patch + %D%/packages/patches/zynaddsubfx-3.0.6-include-cstdint.patch \ + %D%/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch MISC_DISTRO_FILES = \ %D%/packages/ld-wrapper.in diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 97b49919fe3..fb38a5349e1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -35,7 +35,7 @@ ;;; Copyright © 2020, 2021, 2022 Michael Rohleder ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Morgan Smith -;;; Copyright © 2021-2025 Maxim Cournoyer +;;; Copyright © 2021-2025 Maxim Cournoyer ;;; Copyright © 2021, 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Stefan Reichör ;;; Copyright © 2021 qblade @@ -601,13 +601,8 @@ interface and is based on GNU Guile.") "/bin/gzip") (string-append "--with-zstd=" #$(this-package-input "zstd") "/bin/zstd"))))) - (native-inputs - (modify-inputs (package-native-inputs shepherd-0.10) - (replace "guile-fibers" guile-fibers))) ;use latest guile-fibers available - (inputs - (modify-inputs (package-inputs shepherd-0.10) - (replace "guile-fibers" guile-fibers) ;use latest guile-fibers available - (append gzip zstd))))) + (inputs (modify-inputs (package-inputs shepherd-0.10) + (append gzip zstd))))) (define-public shepherd shepherd-0.10) @@ -1255,7 +1250,8 @@ re-executing them as necessary.") '("--with-path-procnet-dev=/proc/net/dev") '()) #$@(if (target-hurd?) - '("--disable-rcp" + '("--with-path-klog=/dev/klog" + "--disable-rcp" "--disable-rexec" "--disable-rexecd" "--disable-rlogin" diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 6ba71b41ebf..4ee152d1e70 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021, 2023, 2024, 2025 Vinicius Monego ;;; Copyright © 2021 Lars-Dominik Braun -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Mehmet Tekman ;;; Copyright © 2025 Sharlatan Hellseher ;;; Copyright © 2025 Nigko Yerden @@ -530,9 +530,6 @@ fast arithmetic.") (properties '((release-monitoring-url . "http://flintlib.org/downloads.html"))))) -(define-public arb - (deprecated-package "arb" flint)) - (define-public python-flint (package (name "python-flint") @@ -1213,7 +1210,7 @@ Python.") ;; Then run 'CTest' with -V so we get more ;; details upon failure. (invoke "ctest" "-V" dash-j)))))))) - (home-page "https://eigen.tuxfamily.org") + (home-page "https://eigen.tuxfamily.org/index.php?title=Main_Page") (synopsis "C++ template library for linear algebra") (description "Eigen is a C++ template library for linear algebra: matrices, vectors, @@ -1268,24 +1265,53 @@ features, and more.") (define-public eigen-for-onnxruntime (let ((commit "1d8b82b0740839c0de7f1242a3585e3390ff5f33") (revision "0")) - (package/inherit eigen - (name "eigen") - (version (git-version "3.4.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/libeigen/eigen") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0pxh81jjnz97ndwaanla6zch1128bfdrf2kgqxgxyjvqbdg1vqwi")))) - ;; XXX: Some tests fail, but onnxruntime will move on to the next - ;; release soon enough. - (arguments - (substitute-keyword-arguments (package-arguments eigen) - ((#:tests? tests? #t) - #f)))))) + (hidden-package + (package + (inherit eigen) + (name "eigen-for-onnxruntime") + (version (git-version "3.4.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/libeigen/eigen") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pxh81jjnz97ndwaanla6zch1128bfdrf2kgqxgxyjvqbdg1vqwi")))) + ;; XXX: Some tests fail, but onnxruntime will move on to the next + ;; release soon enough. + (arguments + (substitute-keyword-arguments (package-arguments eigen) + ((#:tests? tests? #t) + #f))))))) + +;; XXX: python-ml-dtypes uses this commit specifically since at least version +;; 0.2.0. It's not compiling with another eigen, so build this one for now. +(define-public eigen-for-python-ml-dtypes + (let ((commit "7bf2968fed5f246c0589e1111004cb420fcd7c71") + (revision "0")) + (hidden-package + (package + (inherit eigen) + (name "eigen-for-python-ml-dtypes") + (version (git-version "3.4.0" revision commit)) + (source + (origin + (inherit (package-source eigen)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/libeigen/eigen") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yq69h7pasbzq5r83d974xi031r0z2y2x0my1rz5crky54i1j0r7")) + (patches '()))) + ;; XXX: Tests stable_norm_5 and stable_norm_6 are failing due to + ;; EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE. + (arguments + (substitute-keyword-arguments (package-arguments eigen) + ((#:tests? flag #f) #false))))))) (define-public xtensor (package diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index c884c1561cc..a83e5df4199 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2017 Hartmut Goebel -;;; Copyright © 2017, 2020, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2017, 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019, 2020, 2023 Andreas Enge diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 8c192b16049..4a11ee48888 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2021 Sergiu Ivanov ;;; Copyright © 2023 Yovan Naumovski ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index c76f55127cf..19c8fdd9466 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Christine Lemmer-Webber ;;; Copyright © 2020 B. Wilson -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2022 Felix Gruber ;;; Copyright © 2023 Simon South diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index d129987bf7e..c99ad69c261 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -36,6 +36,21 @@ (define-module (gnu packages astronomy) #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix build-system python) #:select (pypi-uri)) ;to be removed soon + #:use-module (guix build-system ant) + #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) + #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system qt) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -44,7 +59,6 @@ #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages c) - #:use-module (gnu packages nss) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -81,11 +95,12 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) + #:use-module (gnu packages nss) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages parallel) + #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages photo) - #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages plotutils) #:use-module (gnu packages popt) @@ -116,21 +131,6 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages) - #:use-module (guix build-system ant) - #:use-module (guix build-system cmake) - #:use-module (guix build-system copy) - #:use-module (guix build-system gnu) - #:use-module (guix build-system go) - #:use-module (guix build-system meson) - #:use-module ((guix build-system python) #:select (pypi-uri)) - #:use-module (guix build-system pyproject) - #:use-module (guix build-system qt) - #:use-module (guix download) - #:use-module (guix gexp) - #:use-module (guix git-download) - #:use-module (guix packages) - #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module (srfi srfi-1)) @@ -2126,6 +2126,73 @@ support for reading and writing various compression algorithms including: @url{http://facebook.github.io/zstd/,Zstandard}.") (license license:bsd-3)))) +(define-public python-asdf-coordinates-schemas + (hidden-package + (package + (name "python-asdf-coordinates-schemas") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "asdf_coordinates_schemas" version)) + (sha256 + (base32 "1i5w1v74b84ygbd9pw9cs35bjaqs35f5iavazhjpbycqr1pf8rvh")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count))))) + (native-inputs + (list python-pytest + python-pytest-xdist + python-setuptools-next + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-asdf)) + (home-page "https://github.com/asdf-format/asdf-coordinates-schemas") + (synopsis "ASDF coordinates schemas") + (description + "This package provides ASDF schemas for validating coordinates tags. +Users should not need to install this directly; instead, install an +implementation package such as asdf-astropy.") + (license license:bsd-3)))) + +(define-public python-asdf-standard + (package + (name "python-asdf-standard") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "asdf_standard" version)) + (sha256 + (base32 + "0r7dxbiwngpwwjdbs2vqk94v1vjsgyilswkq180d5slx74grcn2r")))) + (build-system pyproject-build-system) + (native-inputs + (list python-asdf-bootstrap + python-asdf-transform-schemas-bootstrap + python-astropy-minimal + python-jsonschema + python-pypa-build + python-pytest + python-packaging + python-setuptools-next + python-setuptools-scm + python-wheel)) + (home-page "https://asdf-standard.readthedocs.io/") + (synopsis "ASDF standard schemas") + (description + "This package provides Python implementation of @acronym{ASDF, Advanced +Scientific Data Format} - a proposed next generation interchange format for +scientific data. ASDF aims to exist in the same middle ground that made FITS +so successful, by being a hybrid text and binary format: containing human +editable metadata for interchange, and raw binary data that is fast to load +and use. Unlike FITS, the metadata is highly structured and is designed +up-front for extensibility.") + (license license:bsd-3))) + (define-public python-asdf-transform-schemas (hidden-package (package @@ -5780,6 +5847,144 @@ binned galaxy positions or shear) in cylindrical projection, but its core functionality is more general.") (license license:bsd-3))) +;; XXX: The project is archived, maintained fork is available see +;; . +;; Maintained fork . +(define-public python-poliastro + (package + (name "python-poliastro") + (version "0.17.0") + (source + (origin + ;; PyPi tarball lacks tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/poliastro/poliastro") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iclyjp0cvm6hp5qf4fzklszxvhj3idkxgb6a9h7xzg9bf5j5gi2")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-m" "not remote_data" + ;; TODO: Review failing tests later when any upstream + ;; suggestions are provided: + ;; https://github.com/poliastro/poliastro/issues/1618 + "--ignore=tests/test_czml.py" + "-k" (string-append + ;; This fails with "ufunc 'isfinite' not + ;; supported for the input types" + "not test_porkchop_plotting" + " and not test_maneuver_constructor_raises_error_if_invalid_delta_v")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + (("5.0,<6") "5.0,<7")))) + (add-after 'unpack 'matplotlib-compatibility + (lambda _ + (substitute* "src/poliastro/plotting/static.py" + (("import numpy as np.*" m) + (string-append m "\ +import itertools\n")) + (("( +)self._ax = ax.*" m indent) + (string-append m indent + "\ +self.colors = itertools.cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])\n")) + (("color = next\\(self._ax._get_lines.prop_cycler\\)\\[\"color\"\\]") + "color = next(self.colors)")))) + ;; NOTE: Tests take about 7-10 minutes to pass. + (add-before 'check 'prepare-test-environment + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs + (list python-coverage + python-hypothesis + python-mypy + python-flit-core + python-pytest + python-pytest-cov + python-pytest-doctestplus + python-pytest-mpl + python-pytest-mypy)) + (propagated-inputs + (list python-astropy-6 + python-astroquery + python-czml3 + python-jplephem + python-matplotlib + python-numba + python-numpy + python-pandas + python-plotly + python-pyerfa + python-scipy)) + (home-page "https://www.poliastro.space/") + (synopsis "Astrodynamics in Python") + (description + "POLIASTRO is a Python library for interactive Astrodynamics and Orbital +Mechanics, with a focus on ease of use, speed, and quick visualization. It +provides a simple and intuitive API, and handles physical quantities with +units. + +Some features include orbit propagation, solution of the Lambert's problem, +conversion between position and velocity vectors and classical orbital +elements and orbit plotting, among others. It focuses on interplanetary +applications, but can also be used to analyze artificial satellites in +Low-Earth Orbit (LEO).") + (license license:expat))) + +(define-public python-poppy + (package + (name "python-poppy") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "poppy" version)) + (sha256 + (base32 "0mvnd9rlglb1cqhaavd2lyxnvi4xmc133x50rzzlh00xn0gyxgfq")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count))))) + (native-inputs + (list python-docutils + python-pytest + python-pytest-astropy + python-pytest-xdist + python-setuptools-scm + python-wheel)) + (propagated-inputs + ;; XXX: With python-synphot (marked as optional) package added to the list + ;; it tries to download from remote host during tests and fails. Overall + ;; tests take up to 5-8min to pass. + (list python-astropy + python-matplotlib + python-numexpr + python-numpy + python-scipy)) + (home-page "https://poppy-optics.readthedocs.io/") + (synopsis "Physical Optics Propagation in Python") + (description + "@acronym{POPPY, Physical Optics Propagation in Python} is a Python package that +simulates physical optical propagation including diffraction. It implements a +flexible framework for modeling Fraunhofer and Fresnel diffraction and point +spread function formation, particularly in the context of astronomical +telescopes. + +POPPY was developed as part of a simulation package for the James Webb Space +Telescope, but is more broadly applicable to many kinds of imaging simulations. +It is not, however, a substitute for high fidelity optical design software such +as Zemax or Code V, but rather is intended as a lightweight alternative for +cases for which diffractive rather than geometric optics is the topic of +interest, and which require portability between platforms or ease of scripting.") + (license license:bsd-3))) + (define-public python-pvextractor (package (name "python-pvextractor") @@ -6012,6 +6217,94 @@ also transltes halo properties (mass, concentration, redshift, etc) into angular units for lensing computations with lenstronomy.") (license license:expat))) +(define-public python-pynbody + (package + (name "python-pynbody") + (version "1.6.0.post0") + (source + (origin + (method git-fetch) ;PyPi doesn't have not prebuit version. + (uri (git-reference + (url "https://github.com/pynbody/pynbody") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rl9ais4yc6kdijq1il4vi3mplp7z6bcih4x55axhan5n3n7riwi")) + (modules '((guix build utils))) + (snippet + ;; Symlink goes to not existing directory. + #~(for-each delete-file '("docs/testdata" + "docs/tutorials/example_code/testdata"))))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags #~(list + ;; Disable tests which need to download additional + ;; 1.0GiB+ of test data archive from + ;; http://star.ucl.ac.uk/~app/testdata.tar.gz + ;; https://github.com/pynbody/pynbody/blob/ \ + ;; f4bd482dc47532831b3ec115c7cb07149d61bfc5/ \ + ;; .github/workflows/build-test.yaml#L41 + ;; See + "--ignore=tests/copy_on_access_test.py" + "--ignore=tests/gravity_test.py" + "--ignore=tests/adaptahop_test.py" + "--ignore=tests/ahf_halos_test.py" + "--ignore=tests/array_test.py" + "--ignore=tests/bridge_test.py" + "--ignore=tests/family_test.py" + "--ignore=tests/partial_tipsy_test.py" + "--ignore=tests/snapshot_test.py" + "--ignore=tests/test_profile.py" + "--ignore=tests/gadget_test.py" + "--ignore=tests/gadgethdf_test.py" + "--ignore=tests/grafic_test.py" + "--ignore=tests/halotools_test.py" + "--ignore=tests/nchilada_test.py" + "--ignore=tests/ramses_new_ptcl_format_test.py" + "--ignore=tests/ramses_test.py" + "--ignore=tests/rockstar_test.py" + "--ignore=tests/sph_image_test.py" + "--ignore=tests/sph_smooth_test.py" + "--ignore=tests/subfind_test.py" + "--ignore=tests/subfindhdf_gadget4_test.py" + "--ignore=tests/tipsy_test.py" + "-k" + (string-append + "not test_div_curl_smoothing" + " and not test_float_kd" + " and not test_kd_delete" + " and not test_kd_issue_88" + " and not test_kdtree_from_existing_kdtree" + " and not test_kdtree_shared_mem" + " and not test_neighbour_list" + " and not test_particles_in_sphere" + " and not test_periodic_smoothing" + " and not test_smooth" + " and not test_smooth_WendlandC2")) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-compiler + (lambda _ + (setenv "CC" #$(cc-for-target))))))) + (native-inputs + (list python-cython + python-pandas + python-pytest + python-setuptools + python-wheel)) + (propagated-inputs + (list python-h5py + python-matplotlib + python-numpy + python-posix-ipc + python-scipy)) + (home-page "https://pynbody.github.io/pynbody/index.html") + (synopsis "Light-weight astronomical N-body/SPH analysis for python") + (description "@code{Pynbody} is an analysis framework for N-body and hydrodynamic +astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo, +N-Chilada and RAMSES AMR outputs.") + (license license:gpl3+))) + (define-public python-pyregion (package (name "python-pyregion") @@ -6124,6 +6417,48 @@ data. Pysat's plug-in design allows analysis support for any data, including user provided data sets.") (license license:bsd-3))) +(define-public python-pysiaf + (package + (name "python-pysiaf") + (version "0.24.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pysiaf" version)) + (sha256 + (base32 "0jgs50jmisv7b7am677q2c3kqjk0fch8gpvijzhdllhkav9wdhs0")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count)) + ;; Disable 2 failing tests, see + ;; + "-k" (string-append "not test_write_jwst_siaf_xlsx" + " and not test_write_jwst_siaf_xml" )))) + (native-inputs + (list python-pytest + python-pytest-xdist + python-setuptools + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-astropy + python-lxml + python-matplotlib + python-numpy + python-openpyxl + python-requests + python-scipy)) + (home-page "https://pysiaf.readthedocs.io/") + (synopsis "Handling SIAF for space telescopes") + (description + "@code{pysiaf} is a python package to access, interpret, maintain, and +generate @acronym{Handling of Science Instrument Aperture Files, SIAF}, in +particular for JWST. Tools for applying the frame transformations, plotting, +comparison, and validation are provided.") + (license license:bsd-3))) + (define-public python-pysiril (package (name "python-pysiril") @@ -6233,6 +6568,48 @@ experiments. It is a large refactor of memory usage, improving performance and run in parallel with MPI.") (license license:bsd-3))) +(define-public python-pyvo + (package + (name "python-pyvo") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyvo" version)) + (sha256 + (base32 "0813ws6g6mns3g3k4xgj54pcp6hw42q47psm7q8jswqhskpxkym6")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--pyargs" "pyvo" + ;; XXX: Some data file was not copied in install phase: + ;; urllib.error.URLError: . + "-k" (string-join + (list "not test_all_properties" + "test_extraction_from_votable_header") + " and not ")))) + (native-inputs + (list python-pytest-astropy + python-pytest-doctestplus + python-requests-mock + python-setuptools + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-astropy + python-defusedxml ; extra requirements + python-pillow ; extra requirements + python-requests)) + (home-page "https://github.com/astropy/pyvo") + (synopsis "Access Virtual Observatory data and services") + (description + "PyVO is a package providing access to remote data and services of the +Virtual observatory (VO) using Python.") + (license license:bsd-3))) + (define-public python-pyxsim (package (name "python-pyxsim") @@ -6288,6 +6665,85 @@ export the simulated X-ray events to other software packages to simulate the end products of specific X-ray observatories.") (license license:bsd-3))) +(define-public python-rad + (package + (name "python-rad") + (version "0.27.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rad" version)) + (sha256 + (base32 "04vzqkcw6la5n2jw92khmqnizs2nf5vb27nknn3c6wj1jwfwl6bv")))) + (build-system pyproject-build-system) + (arguments + (list + ;; 1131 passed, 1 skipped + #:test-flags + ;; Ignore tests requiring python-crds to break cycle: + ;; python-rad -> python-roman-datamodels -> python-crds -> python-rad + #~(list "--ignore=tests/test_schemas.py" + ;; E git.exc.InvalidGitRepositoryError + "--ignore=tests/test_versioning.py" + ;; E TypeError: the JSON object must be str, bytes or bytearray, + ;; not NoneType + "--ignore=tests/test_latest.py"))) + (native-inputs + (list python-pytest + python-pytest-doctestplus + python-semantic-version + python-setuptools-next + python-setuptools-scm)) + (propagated-inputs + (list python-asdf + python-asdf-astropy)) + (home-page "https://github.com/spacetelescope/rad") + (synopsis "Roman Attribute Dictionary") + (description + "@acronym{RAD, The Roman Attribute Dictionary} is package which defines +schemas for the Nancy Grace Roman Space Telescope shared attributes for +processing and archive. These schemas are schemas for the ASDF file file +format, which are used by ASDF to serialize and deserialize data for the Nancy +Grace Roman Space Telescope.") + (license license:bsd-3))) + +(define-public python-radio-beam + (package + (name "python-radio-beam") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "radio_beam" version)) + (sha256 + (base32 "0i76hj6wyijbpxx7n1sm12f0qqw15srk6ikq2cr589lvrixylpwv")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest-astropy + python-setuptools + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-astropy + python-matplotlib + python-numpy + python-scipy)) + (home-page "https://radio-beam.readthedocs.io/en/latest/") + (synopsis "Operations for radio astronomy beams with Astropy") + (description + "Radio Beam is a simple toolkit for reading beam information from FITS +headers and manipulating beams. +Some example applications include: +@itemize +@item Convolution and deconvolution +@item Unit conversion (Jy to/from K) +@item Handle sets of beams for spectral cubes with varying resolution between +channels +@item Find the smallest common beam from a set of beams +@item Add the beam shape to a matplotlib plot +@end itemize") + (license license:bsd-3))) + (define-public python-radiospectra (package (name "python-radiospectra") @@ -6334,6 +6790,49 @@ end products of specific X-ray observatories.") solar physics.") (license license:bsd-2))) +(define-public python-regions + (package + (name "python-regions") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "regions" version)) + (sha256 + (base32 "10cswrknj3qh9i1daynlx4ild66lwcyra5rs03h8s9j4l275274n")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count))) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? test-flags #:allow-other-keys) + (with-directory-excursion #$output + (apply invoke "pytest" "-vv" test-flags))))))) + (propagated-inputs + (list python-astropy + python-h5py + python-matplotlib + python-numpy + python-scipy + python-shapely)) + (native-inputs + (list python-cython-3 + python-extension-helpers + python-pytest-arraydiff + python-pytest-astropy + python-pytest-runner + python-pytest-xdist + python-setuptools + python-setuptools-scm + python-wheel)) + (home-page "https://github.com/astropy/regions") + (synopsis "Package for region handling") + (description "Regions is an Astropy package for region handling.") + (license license:bsd-3))) + (define-public python-regularizepsf (package (name "python-regularizepsf") @@ -7062,144 +7561,6 @@ instruments.") (license (list license:bsd-3 ; licenses/LICENSE.rst, same as python-astropy license:expat)))) ; licenses/KOSMOS_LICENSE -;; XXX: The project is archived, maintained fork is available see -;; . -;; Maintained fork . -(define-public python-poliastro - (package - (name "python-poliastro") - (version "0.17.0") - (source - (origin - ;; PyPi tarball lacks tests. - (method git-fetch) - (uri (git-reference - (url "https://github.com/poliastro/poliastro") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1iclyjp0cvm6hp5qf4fzklszxvhj3idkxgb6a9h7xzg9bf5j5gi2")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "-m" "not remote_data" - ;; TODO: Review failing tests later when any upstream - ;; suggestions are provided: - ;; https://github.com/poliastro/poliastro/issues/1618 - "--ignore=tests/test_czml.py" - "-k" (string-append - ;; This fails with "ufunc 'isfinite' not - ;; supported for the input types" - "not test_porkchop_plotting" - " and not test_maneuver_constructor_raises_error_if_invalid_delta_v")) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - (("5.0,<6") "5.0,<7")))) - (add-after 'unpack 'matplotlib-compatibility - (lambda _ - (substitute* "src/poliastro/plotting/static.py" - (("import numpy as np.*" m) - (string-append m "\ -import itertools\n")) - (("( +)self._ax = ax.*" m indent) - (string-append m indent - "\ -self.colors = itertools.cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])\n")) - (("color = next\\(self._ax._get_lines.prop_cycler\\)\\[\"color\"\\]") - "color = next(self.colors)")))) - ;; NOTE: Tests take about 7-10 minutes to pass. - (add-before 'check 'prepare-test-environment - (lambda _ - (setenv "HOME" "/tmp")))))) - (native-inputs - (list python-coverage - python-hypothesis - python-mypy - python-flit-core - python-pytest - python-pytest-cov - python-pytest-doctestplus - python-pytest-mpl - python-pytest-mypy)) - (propagated-inputs - (list python-astropy-6 - python-astroquery - python-czml3 - python-jplephem - python-matplotlib - python-numba - python-numpy - python-pandas - python-plotly - python-pyerfa - python-scipy)) - (home-page "https://www.poliastro.space/") - (synopsis "Astrodynamics in Python") - (description - "POLIASTRO is a Python library for interactive Astrodynamics and Orbital -Mechanics, with a focus on ease of use, speed, and quick visualization. It -provides a simple and intuitive API, and handles physical quantities with -units. - -Some features include orbit propagation, solution of the Lambert's problem, -conversion between position and velocity vectors and classical orbital -elements and orbit plotting, among others. It focuses on interplanetary -applications, but can also be used to analyze artificial satellites in -Low-Earth Orbit (LEO).") - (license license:expat))) - -(define-public python-poppy - (package - (name "python-poppy") - (version "1.1.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "poppy" version)) - (sha256 - (base32 "0mvnd9rlglb1cqhaavd2lyxnvi4xmc133x50rzzlh00xn0gyxgfq")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count))))) - (native-inputs - (list python-docutils - python-pytest - python-pytest-astropy - python-pytest-xdist - python-setuptools-scm - python-wheel)) - (propagated-inputs - ;; XXX: With python-synphot (marked as optional) package added to the list - ;; it tries to download from remote host during tests and fails. Overall - ;; tests take up to 5-8min to pass. - (list python-astropy - python-matplotlib - python-numexpr - python-numpy - python-scipy)) - (home-page "https://poppy-optics.readthedocs.io/") - (synopsis "Physical Optics Propagation in Python") - (description - "@acronym{POPPY, Physical Optics Propagation in Python} is a Python package that -simulates physical optical propagation including diffraction. It implements a -flexible framework for modeling Fraunhofer and Fresnel diffraction and point -spread function formation, particularly in the context of astronomical -telescopes. - -POPPY was developed as part of a simulation package for the James Webb Space -Telescope, but is more broadly applicable to many kinds of imaging simulations. -It is not, however, a substitute for high fidelity optical design software such -as Zemax or Code V, but rather is intended as a lightweight alternative for -cases for which diffractive rather than geometric optics is the topic of -interest, and which require portability between platforms or ease of scripting.") - (license license:bsd-3))) - (define-public python-pyavm (package (name "python-pyavm") @@ -7228,48 +7589,6 @@ interest, and which require portability between platforms or ease of scripting." @url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.") (license license:expat))) -(define-public python-pyvo - (package - (name "python-pyvo") - (version "1.7") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pyvo" version)) - (sha256 - (base32 "0813ws6g6mns3g3k4xgj54pcp6hw42q47psm7q8jswqhskpxkym6")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--pyargs" "pyvo" - ;; XXX: Some data file was not copied in install phase: - ;; urllib.error.URLError: . - "-k" (string-join - (list "not test_all_properties" - "test_extraction_from_votable_header") - " and not ")))) - (native-inputs - (list python-pytest-astropy - python-pytest-doctestplus - python-requests-mock - python-setuptools - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-astropy - python-defusedxml ; extra requirements - python-pillow ; extra requirements - python-requests)) - (home-page "https://github.com/astropy/pyvo") - (synopsis "Access Virtual Observatory data and services") - (description - "PyVO is a package providing access to remote data and services of the -Virtual observatory (VO) using Python.") - (license license:bsd-3))) - (define-public python-reproject (package (name "python-reproject") @@ -7861,136 +8180,6 @@ science instruments plus the fine guidance sensor, including both direct imaging, coronagraphic, and spectroscopic modes.") (license license:bsd-3))) -(define-public python-pynbody - (package - (name "python-pynbody") - (version "1.6.0.post0") - (source - (origin - (method git-fetch) ;PyPi doesn't have not prebuit version. - (uri (git-reference - (url "https://github.com/pynbody/pynbody") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0rl9ais4yc6kdijq1il4vi3mplp7z6bcih4x55axhan5n3n7riwi")) - (modules '((guix build utils))) - (snippet - ;; Symlink goes to not existing directory. - #~(for-each delete-file '("docs/testdata" - "docs/tutorials/example_code/testdata"))))) - (build-system pyproject-build-system) - (arguments - (list #:test-flags #~(list - ;; Disable tests which need to download additional - ;; 1.0GiB+ of test data archive from - ;; http://star.ucl.ac.uk/~app/testdata.tar.gz - ;; https://github.com/pynbody/pynbody/blob/ \ - ;; f4bd482dc47532831b3ec115c7cb07149d61bfc5/ \ - ;; .github/workflows/build-test.yaml#L41 - ;; See - "--ignore=tests/copy_on_access_test.py" - "--ignore=tests/gravity_test.py" - "--ignore=tests/adaptahop_test.py" - "--ignore=tests/ahf_halos_test.py" - "--ignore=tests/array_test.py" - "--ignore=tests/bridge_test.py" - "--ignore=tests/family_test.py" - "--ignore=tests/partial_tipsy_test.py" - "--ignore=tests/snapshot_test.py" - "--ignore=tests/test_profile.py" - "--ignore=tests/gadget_test.py" - "--ignore=tests/gadgethdf_test.py" - "--ignore=tests/grafic_test.py" - "--ignore=tests/halotools_test.py" - "--ignore=tests/nchilada_test.py" - "--ignore=tests/ramses_new_ptcl_format_test.py" - "--ignore=tests/ramses_test.py" - "--ignore=tests/rockstar_test.py" - "--ignore=tests/sph_image_test.py" - "--ignore=tests/sph_smooth_test.py" - "--ignore=tests/subfind_test.py" - "--ignore=tests/subfindhdf_gadget4_test.py" - "--ignore=tests/tipsy_test.py" - "-k" - (string-append - "not test_div_curl_smoothing" - " and not test_float_kd" - " and not test_kd_delete" - " and not test_kd_issue_88" - " and not test_kdtree_from_existing_kdtree" - " and not test_kdtree_shared_mem" - " and not test_neighbour_list" - " and not test_particles_in_sphere" - " and not test_periodic_smoothing" - " and not test_smooth" - " and not test_smooth_WendlandC2")) - #:phases - #~(modify-phases %standard-phases - (add-before 'build 'set-compiler - (lambda _ - (setenv "CC" #$(cc-for-target))))))) - (native-inputs - (list python-cython - python-pandas - python-pytest - python-setuptools - python-wheel)) - (propagated-inputs - (list python-h5py - python-matplotlib - python-numpy - python-posix-ipc - python-scipy)) - (home-page "https://pynbody.github.io/pynbody/index.html") - (synopsis "Light-weight astronomical N-body/SPH analysis for python") - (description "@code{Pynbody} is an analysis framework for N-body and hydrodynamic -astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo, -N-Chilada and RAMSES AMR outputs.") - (license license:gpl3+))) - -(define-public python-pysiaf - (package - (name "python-pysiaf") - (version "0.24.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pysiaf" version)) - (sha256 - (base32 "0jgs50jmisv7b7am677q2c3kqjk0fch8gpvijzhdllhkav9wdhs0")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count)) - ;; Disable 2 failing tests, see - ;; - "-k" (string-append "not test_write_jwst_siaf_xlsx" - " and not test_write_jwst_siaf_xml" )))) - (native-inputs - (list python-pytest - python-pytest-xdist - python-setuptools - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-astropy - python-lxml - python-matplotlib - python-numpy - python-openpyxl - python-requests - python-scipy)) - (home-page "https://pysiaf.readthedocs.io/") - (synopsis "Handling SIAF for space telescopes") - (description - "@code{pysiaf} is a python package to access, interpret, maintain, and -generate @acronym{Handling of Science Instrument Aperture Files, SIAF}, in -particular for JWST. Tools for applying the frame transformations, plotting, -comparison, and validation are provided.") - (license license:bsd-3))) - (define-public python-pysynphot ;; XXX: 2.0.0 was released in 2021 there are a lot of changes since that ;; time and it failed to build with python-astropy 6.0.0, use the latest @@ -8043,73 +8232,6 @@ photometric systems are available, and users can incorporate their own filters, spectra, and data.") (license license:bsd-3)))) -(define-public python-asdf-standard - (package - (name "python-asdf-standard") - (version "1.3.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "asdf_standard" version)) - (sha256 - (base32 - "0r7dxbiwngpwwjdbs2vqk94v1vjsgyilswkq180d5slx74grcn2r")))) - (build-system pyproject-build-system) - (native-inputs - (list python-asdf-bootstrap - python-asdf-transform-schemas-bootstrap - python-astropy-minimal - python-jsonschema - python-pypa-build - python-pytest - python-packaging - python-setuptools-next - python-setuptools-scm - python-wheel)) - (home-page "https://asdf-standard.readthedocs.io/") - (synopsis "ASDF standard schemas") - (description - "This package provides Python implementation of @acronym{ASDF, Advanced -Scientific Data Format} - a proposed next generation interchange format for -scientific data. ASDF aims to exist in the same middle ground that made FITS -so successful, by being a hybrid text and binary format: containing human -editable metadata for interchange, and raw binary data that is fast to load -and use. Unlike FITS, the metadata is highly structured and is designed -up-front for extensibility.") - (license license:bsd-3))) - -(define-public python-asdf-coordinates-schemas - (hidden-package - (package - (name "python-asdf-coordinates-schemas") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "asdf_coordinates_schemas" version)) - (sha256 - (base32 "1i5w1v74b84ygbd9pw9cs35bjaqs35f5iavazhjpbycqr1pf8rvh")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count))))) - (native-inputs - (list python-pytest - python-pytest-xdist - python-setuptools-next - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-asdf)) - (home-page "https://github.com/asdf-format/asdf-coordinates-schemas") - (synopsis "ASDF coordinates schemas") - (description - "This package provides ASDF schemas for validating coordinates tags. -Users should not need to install this directly; instead, install an -implementation package such as asdf-astropy.") - (license license:bsd-3)))) - (define-public python-asdf-fits-schemas (hidden-package ;; This package was never released and has been archived. The schemas in @@ -8151,128 +8273,6 @@ implementation package such as asdf-astropy.") "This package provides ASDF schemas for validating FITS tags.") (license license:bsd-3))))) -(define-public python-rad - (package - (name "python-rad") - (version "0.27.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "rad" version)) - (sha256 - (base32 "04vzqkcw6la5n2jw92khmqnizs2nf5vb27nknn3c6wj1jwfwl6bv")))) - (build-system pyproject-build-system) - (arguments - (list - ;; 1131 passed, 1 skipped - #:test-flags - ;; Ignore tests requiring python-crds to break cycle: - ;; python-rad -> python-roman-datamodels -> python-crds -> python-rad - #~(list "--ignore=tests/test_schemas.py" - ;; E git.exc.InvalidGitRepositoryError - "--ignore=tests/test_versioning.py" - ;; E TypeError: the JSON object must be str, bytes or bytearray, - ;; not NoneType - "--ignore=tests/test_latest.py"))) - (native-inputs - (list python-pytest - python-pytest-doctestplus - python-semantic-version - python-setuptools-next - python-setuptools-scm)) - (propagated-inputs - (list python-asdf - python-asdf-astropy)) - (home-page "https://github.com/spacetelescope/rad") - (synopsis "Roman Attribute Dictionary") - (description - "@acronym{RAD, The Roman Attribute Dictionary} is package which defines -schemas for the Nancy Grace Roman Space Telescope shared attributes for -processing and archive. These schemas are schemas for the ASDF file file -format, which are used by ASDF to serialize and deserialize data for the Nancy -Grace Roman Space Telescope.") - (license license:bsd-3))) - -(define-public python-radio-beam - (package - (name "python-radio-beam") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (pypi-uri "radio_beam" version)) - (sha256 - (base32 "0i76hj6wyijbpxx7n1sm12f0qqw15srk6ikq2cr589lvrixylpwv")))) - (build-system pyproject-build-system) - (native-inputs - (list python-pytest-astropy - python-setuptools - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-astropy - python-matplotlib - python-numpy - python-scipy)) - (home-page "https://radio-beam.readthedocs.io/en/latest/") - (synopsis "Operations for radio astronomy beams with Astropy") - (description - "Radio Beam is a simple toolkit for reading beam information from FITS -headers and manipulating beams. -Some example applications include: -@itemize -@item Convolution and deconvolution -@item Unit conversion (Jy to/from K) -@item Handle sets of beams for spectral cubes with varying resolution between -channels -@item Find the smallest common beam from a set of beams -@item Add the beam shape to a matplotlib plot -@end itemize") - (license license:bsd-3))) - -(define-public python-regions - (package - (name "python-regions") - (version "0.10") - (source - (origin - (method url-fetch) - (uri (pypi-uri "regions" version)) - (sha256 - (base32 "10cswrknj3qh9i1daynlx4ild66lwcyra5rs03h8s9j4l275274n")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count))) - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? test-flags #:allow-other-keys) - (with-directory-excursion #$output - (apply invoke "pytest" "-vv" test-flags))))))) - (propagated-inputs - (list python-astropy - python-h5py - python-matplotlib - python-numpy - python-scipy - python-shapely)) - (native-inputs - (list python-cython-3 - python-extension-helpers - python-pytest-arraydiff - python-pytest-astropy - python-pytest-runner - python-pytest-xdist - python-setuptools - python-setuptools-scm - python-wheel)) - (home-page "https://github.com/astropy/regions") - (synopsis "Package for region handling") - (description "Regions is an Astropy package for region handling.") - (license license:bsd-3))) - (define-public python-roman-datamodels (package (name "python-roman-datamodels") diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e01d0def8fd..19756d23e4a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1444,7 +1444,8 @@ tools.") ;; CVE-2017-6833: "audiofile-division-by-zero.patch" "audiofile-CVE-2018-13440.patch" - "audiofile-CVE-2018-17095.patch")))) + "audiofile-CVE-2018-17095.patch" + "audiofile-CVE-2022-24599.patch")))) (properties `((lint-hidden-cve . ("CVE-2017-6829" "CVE-2017-6827" "CVE-2017-6828" @@ -3436,6 +3437,51 @@ compensation, (de)interleaving, and byte-swapping ;; original developer. (license license:expat))) +(define-public rtosc + (package + (name "rtosc") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fundamental/rtosc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1djvyq53cjwd0szkvhpk45zcmdgrlirjwr02nqq9hzdmh0n26pk2")) + (patches + (search-patches + "rtosc-0.3.1-fix-invalid-comparison-operator.patch")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags + #~(list "-DPERF_TEST=ON" + "-DRTOSC_BUILD_SHARED_LIBS=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'build 'build-documentation + (lambda _ + (invoke "make" "rtosc-doc"))) + (add-after 'install 'install-documentation + (lambda _ + (copy-recursively "html" + (string-append #$output:doc + "/share/doc/rtosc/html"))))))) + (native-inputs + (list doxygen pkg-config ruby)) + (inputs + (list jack-1 + liblo + libx11 + mesa)) + (outputs (list "out" "doc")) + (home-page "https://fundamental-code.com/wiki/rtosc/") + (synopsis "Realtime Safe OSC packet serialization and dispatch") + (description + "RtOSC is a realtime safe library for handling OSC messages.") + (license license:expat))) + (define-public python-jack-client (package (name "python-jack-client") @@ -5237,7 +5283,7 @@ interface.") (define-public qsynth (package (name "qsynth") - (version "0.9.9") + (version "1.0.3") (source (origin (method url-fetch) @@ -5247,7 +5293,7 @@ interface.") (string-append "mirror://sourceforge/qsynth/qsynth (attic)" "/qsynth-" version ".tar.gz"))) (sha256 - (base32 "1cjg25nva5ivahr0qqlvf6ybnpcx9jgrxbp4vgwkk64b4k9wnd4n")))) + (base32 "0rmskh0b0jacjhqi4qkfaa28m96dn46a5r796rvha4g8xlm7x2fg")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no "check" phase @@ -6533,12 +6579,32 @@ as is the case with audio plugins.") (invoke "make" "features"))) (add-after 'install 'make-carla-executable (lambda _ - (chmod (string-append #$output "/share/carla/carla") #o555))) + (with-directory-excursion (string-append #$output + "/share/carla") + (for-each (lambda (file) + (chmod file #o555)) + (list "carla" + "carla-control" + "carla-jack-multi" + "carla-jack-single" + "carla-patchbay" + "carla-rack"))))) (add-after 'install 'wrap-executables - (lambda _ - (wrap-program (string-append #$output "/bin/carla") - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH"))))))))) + (lambda* (#:key inputs #:allow-other-keys) + ;; Wrap only those executable files that other programs + ;; (e.g. lmms) would call. + (with-directory-excursion #$output + (for-each (lambda (file) + (when (and (executable-file? file) + (not (symbolic-link? file)) + (not (string-suffix? ".py" file))) + (wrap-program file + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))) + `("QT_PLUGIN_PATH" ":" prefix + (,(getenv "QT_PLUGIN_PATH")))))) + (append (find-files "share/carla/resources") + (find-files "bin"))))))))) (inputs (list alsa-lib ffmpeg @@ -6549,6 +6615,7 @@ as is the case with audio plugins.") libx11 gtk+-2 ;needed for bridging GTK2 plugins in GTK3 hosts gtk+ + pulseaudio python-pyliblo python-pyqt python-rdflib @@ -6557,9 +6624,35 @@ as is the case with audio plugins.") ;; (ModuleNotFoundError: No module named 'PyQt5') python-wrapper qtbase-5 + qtwayland-5 zlib)) (native-inputs (list pkg-config)) + (native-search-paths + (list (search-path-specification + (variable "CLAP_PATH") + (files '("lib/clap"))) + (search-path-specification + (variable "LADSPA_PATH") + (files '("lib/ladspa"))) + (search-path-specification + (variable "LV2_PATH") + (files '("lib/lv2"))) + (search-path-specification + (variable "LXVST_PATH") + (files '("lib/lxvst"))) + (search-path-specification + (variable "VST2_PATH") + (files '("lib/vst"))) + (search-path-specification + (variable "VST3_PATH") + (files '("lib/vst3"))) + (search-path-specification + (variable "SF2_PATH") + (files '("share/sf2"))) + (search-path-specification + (variable "SFZ_PATH") + (files '("share/sfz"))))) (home-page "https://kx.studio/Applications:Carla") (synopsis "Audio plugin host") (description "Carla is a modular audio plugin host, with features like diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index e0dc63586ab..7c36ff22c94 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Pierre-Moana Levesque ;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/avr-xyz.scm b/gnu/packages/avr-xyz.scm index 4a3571175e4..0e5fff46aab 100644 --- a/gnu/packages/avr-xyz.scm +++ b/gnu/packages/avr-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2022, 2025 Artyom V. Poptsov -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 6042c1bd554..6a69e549d0d 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 David Thompson ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Arun Isaac -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index c92975a2d18..80cf7a8bd21 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2021 Timothy Sample ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021 Sarah Morgensen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Feng Shu ;;; Copyright © 2023 Timo Wilken ;;; Copyright © 2024 Nicolas Graves @@ -571,97 +571,6 @@ remote machines over SSH. To reduce the disk space required for each backup, rsnapshot uses hard links to deduplicate identical files.") (license license:gpl2+))) -(define-public libchop - (package - (name "libchop") - (version "0.5.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/libchop/libchop-" - version ".tar.gz")) - (sha256 - (base32 - "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Gnulib's refers to 'gets' for the purposes of - ;; warning against its use, but 'gets' is no longer declared - ;; in glibc's . Remove that warning. - (substitute* "lib/stdio.in.h" - (("_GL_WARN_ON_USE \\(gets,.*") - "\n/* 'gets' is gone, rejoice! */\n")) - - ;; Include all the libtirpc headers necessary to get the - ;; definitions of 'u_int', etc. - (substitute* '("src/block-server.c" - "include/chop/block-server.h" - "utils/chop-block-server.c") - (("#include " _ header) - (string-append "#include \n" - "#include \n" - "#include \n"))))))) - (build-system gnu-build-system) - (arguments - '(;; Link against libtirpc. - #:configure-flags '("LDFLAGS=-ltirpc -Wl,--as-needed") - - #:phases (modify-phases %standard-phases - (add-before 'configure 'adjust-configure-script - (lambda _ - ;; Mimic upstream commit - ;; 25750ab5ef82fd3cfce5205d5f1ef07b47098091. - (substitute* "configure" - (("GUILE=(.*)--variable bindir`" _ middle) - (string-append "GUILE=" middle - "--variable bindir`/guile"))))) - (add-before 'build 'set-libtirpc-include-path - (lambda* (#:key inputs #:allow-other-keys) - ;; Allow & co. to be found. - (let ((tirpc (string-append (assoc-ref inputs "libtirpc") - "/include/tirpc"))) - (if (getenv "CPATH") - (setenv "CPATH" - (string-append (getenv "CPATH") - ":" tirpc)) - (setenv "CPATH" tirpc))))) - (add-before 'check 'adjust-test - (lambda _ - ;; This test uses a weird construct to spawn - ;; 'chop-block-server' in the background. Replace it - ;; with something that actually works. - (substitute* "tests/utils/block-server" - (("chop_fail_if ! chop-block-server") - "chop-block-server") - (("'&'") - "&"))))))) - (native-inputs - (list guile-2.0 gperf-3.0 ;see - pkg-config rpcsvc-proto)) ;for 'rpcgen' - (inputs - (list guile-2.0 - util-linux - libtirpc - gnutls - tdb - bdb - gdbm - libgcrypt - lzo - bzip2 - zlib)) - (home-page "https://nongnu.org/libchop/") - (synopsis "Tools & library for data backup and distributed storage") - (description - "Libchop is a set of utilities and library for data backup and -distributed storage. Its main application is @command{chop-backup}, an -encrypted backup program that supports data integrity checks, versioning, -distribution among several sites, selective sharing of stored data, adaptive -compression, and more. The library itself implements storage techniques such -as content-addressable storage, content hash keys, Merkle trees, similarity -detection, and lossless compression.") - (license license:gpl3+))) - (define-public borg (package (name "borg") diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 6836c232601..51a06c5413e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2021 Leo Le Bouter ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Guillaume Le Vaillant -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2022 zamfofex ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2023 Josselin Poiret diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 055e6fb2435..9735cb72f04 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2024 Oleg Pykhalov ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; Copyright © 2024 chris -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 6f705e760c1..91e3f32837e 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2019, 2021 Ludovic Courtès ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 malte Frank Gerdes -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020 Greg Hogan ;;; Copyright © 2021 Arun Isaac ;;; Copyright © 2022 Tomasz Jeneralczyk diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bd3be13616f..070030480c0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018-2024 Mădălin Ionel Patrașcu -;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer +;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Björn Höfling diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index a9668d72b68..a30cebd3b29 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018, 2019, 2021 Ricardo Wurmus -;;; Copyright © 2018, 2020, 2023 Maxim Cournoyer +;;; Copyright © 2018, 2020, 2023 Maxim Cournoyer ;;; Copyright © 2018, 2020 Efraim Flashner ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019, 2020 Giacomo Leidi diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 0632f5de653..dbce7075e30 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -17,11 +17,12 @@ ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli ;;; Copyright © 2021 Stefan -;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2023-2024 Herman Rimm ;;; Copyright © 2023 Simon Tournier ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2025 Esther Flashner +;;; Copyright © 2025 André Batista ;;; ;;; This file is part of GNU Guix. ;;; @@ -1491,6 +1492,9 @@ Documentation} for more information (for example by running @samp{info (define-public u-boot-firefly-rk3399 (make-u-boot-rockchip-package "firefly" 'rk3399)) +(define-public u-boot-rock-4c-plus-rk3399 + (make-u-boot-rockchip-package "rock-4c-plus" 'rk3399)) + (define-public u-boot-rockpro64-rk3399 (let ((base (make-u-boot-rockchip-package "rockpro64" 'rk3399 @@ -2031,6 +2035,13 @@ order to add a suitable bootloader menu entry.") "/share/syslinux \\\n" all)))))) #~()) + #$@(if (target-x86-32?) + ;; Otherwise (u)int64 assertion failure on this arch. + ;; See + #~((add-after 'enter-source-directory 'fix-x86-align + (lambda _ + (setenv "HOST_EFI_CFLAGS" "-malign-double")))) + #~()) (delete 'configure) ; no configure script (replace 'install (lambda _ diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 5fc5d385d07..3a514e1bdfa 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -95,8 +95,8 @@ supported content to the Kodi media center.") ;; Arbitrary commit of branch master, ;; Update when updating uBlockOrigin. (let* ((name "ublock-main-assets") - (commit "4696d6a593755d34b28c073b0150f4b4bb000387") - (revision "4") + (commit "011eef4a5b36a7ebf4adedc486d96b77cfa25c54") + (revision "5") (version (git-version "0" revision commit))) (origin (method git-fetch) @@ -105,14 +105,14 @@ supported content to the Kodi media center.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "02cixd497fhhxk2xg74ys20d3h0l2s5rpvvqxdbvlpjvliinsg50"))))) + (base32 "0ng8a88zdvrxg30fz83gswjy27b3hfx9q11n2i715id7az7kqf9x"))))) (define ublock-prod-assets ;; Arbitrary commit of branch gh-pages, ;; Update when updating uBlockOrigin. (let* ((name "ublock-prod-assets") - (commit "bfeb222d20279afcc997d4b804fc4862f1364f95") - (revision "4") + (commit "6844322800de647da0c4fe06dd6a0b212a3942e4") + (revision "5") (version (git-version "0" revision commit))) (origin (method git-fetch) @@ -121,12 +121,12 @@ supported content to the Kodi media center.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "161ilyilvpixgxx09qjcyiavjwc120hh012jfiq4r6lk4dvm8ij0"))))) + (base32 "13vxq4z1wxivz5xklncxd2sj5aqkyhq919vzbbfp0fgh0imhikib"))))) (define ublock-origin (package (name "ublock-origin") - (version "1.65.0") + (version "1.66.2") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -136,7 +136,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "1mmgacpp5g6ypfjp4niyyvhhc2linr752gr274ssqirzhbwdygpw")))) + "16ph031hb8bf4rxyxvm6jr0bxmy0snza11jfrbjgfb390gax9r63")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (properties '((addon-id . "uBlock0@raymondhill.net"))) @@ -263,7 +263,7 @@ fill and submit login forms if a matching password entry is found.") (define keepassxc-browser (package (name "keepassxc-browser") - (version "1.9.9.1") + (version "1.9.9.6") (source (origin (method git-fetch) (uri (git-reference @@ -273,7 +273,7 @@ fill and submit login forms if a matching password entry is found.") (file-name (git-file-name name version)) (sha256 (base32 - "12m7j7gz5gdhlv3paj9mmv9nb94cf80lridipmbdvk9shr43d0ag")) + "1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs")) ;; Default 'manifest.json' targets chromium based browsers and ;; depends on background.service_worker support. ;; See: diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 98349813a2d..cae3673c8d4 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2024 Evgeny Pisemsky ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; Copyright © 2025 Aiden Isik +;;; Copyright © 2025 Josep Bigorra ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,6 +63,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) #:use-module (gnu packages logging) @@ -81,6 +83,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages regex) #:use-module (gnu packages rpc) + #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages unicode) @@ -710,37 +713,42 @@ a build worked by accident.") (define-public osc (package (name "osc") - (version "0.172.0") + (version "1.19.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/openSUSE/osc") - (commit version))) + (url "https://github.com/openSUSE/osc") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1sqdnkka3c6b6hwnrmlwrgy7w62cp8raq8mph9pgd2lydzzbvwlp")))) + (base32 "09an4c5gjc99a6bfy4ax5yyng14v7b4fknkdzwl0hn89q5990xab")))) (build-system pyproject-build-system) (arguments (list - ;; XXX: Tests require a config file. - #:tests? #f + #:tests? #f ; XXX: Fix tests. #:phases #~(modify-phases %standard-phases - (add-after 'install 'fix-filename - (lambda _ - (with-directory-excursion (string-append #$output "/bin") - ;; osc tool is renamed in spec file, not setup.py. - (rename-file "osc-wrapper.py" "osc"))))))) - (native-inputs (list python-chardet python-setuptools python-wheel)) - (inputs (list python-m2crypto python-pycurl rpm)) ;for python-rpm + (add-before 'check 'check-setup + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)))))))) + (native-inputs + (list python-setuptools + python-wheel + diffstat)) + (inputs + (list python-urllib3 + python-ruamel.yaml + python-m2crypto + python-pycurl + rpm)) ; for python-rpm (home-page "https://github.com/openSUSE/osc") (synopsis "Open Build Service command line tool") - (description - "@command{osc} is a command line interface to the Open Build Service. It -allows you to checkout, commit, perform reviews etc. The vast majority of the -OBS functionality is available via commands and the rest can be reached via -direct API calls.") + (description "@command{osc} is a command line interface to the Open Build +Service. It allows you to checkout, commit, perform reviews etc. The vast +majority of the OBS functionality is available via commands and the rest can +be reached via direct API calls.") (license license:gpl2+))) (define-public compdb @@ -1096,6 +1104,52 @@ maintenance-related files, for convenience.") #:commit "9297749090b01720888dceeb5f6dab3d52dcef40" #:hash (base32 "10qyhji7q71fhq2956aszj6bipbf11hn0xcrrpkwj9azwindw7ch"))) +(define-public maak + (package + (name "maak") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/jjba23/maak.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15s6khifk7k002hr9mqgl45r3ipmvsc56z9z8skwclxsj6w1cddl")))) + (build-system guile-build-system) + (arguments + (list + #:source-directory "src" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'install-program-files + (lambda _ + (let ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share"))) + (install-file "resources/help.txt" + (string-append share "/resources")) + (install-file "scripts/maak" bin) + (install-file "scripts/log.bash" + (string-append share "/scripts/")) + (install-file "scripts/maak-completion.bash" + (string-append share "/scripts/")) + (chmod (string-append bin "/maak") #o755))))))) + (native-inputs (list guile-3.0)) + (inputs (list guile-3.0 bash-minimal)) + (home-page "https://codeberg.org/jjba23/maak") + (synopsis "Command runner à la Make using Guile Scheme") + (description + "Maak is a command runner and control plane for your +projects. It allows you to use the power of Lisp (Guile Scheme) to define +your tasks, build steps, repetitive tasks or other automation. + +With Maak you can easily call external shell commands and integrate with +your existing scripts and tools. It is inspired by the GNU Make utility +but it does away with a lot of the complexity that comes with its history.") + (license license:gpl3+))) + + (define-public pdpmake (package (name "pdpmake") diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index fe07385795b..e6be2a195b0 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021 Marius Bakke ;;; Copyright © 2020 Katherine Cox-Buday -;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020, 2021 Greg Hogan ;;; Copyright © 2021 David Dashyan ;;; Copyright © 2021 Foo Chuan Wei @@ -1920,3 +1920,51 @@ JSON Patch and JSON Merge Patch. @code{.c} file. @end itemize") (license license:expat))) + +(define-public kefir + (package + (name "kefir") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~jprotopopov/kefir") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01jclalg2mz68rcfn287kjd13inbhkgh2kslb54sjyqx3hypq4vb")))) + (build-system gnu-build-system) + (native-inputs + (list m4)) + (arguments + (list + #:test-target "test" + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-install + (lambda _ + (substitute* "Makefile.mk" + (("^EXTRA_LDFLAGS=.*$") + (string-append "EXTRA_LDFLAGS=-Wl,-rpath," + #$output + "/lib\n"))) + (substitute* "install.mk" + (("^prefix=.*$") + (string-append "prefix=" #$output + "\n")))))))) + (home-page "https://kefir.protopopov.lv/") + (synopsis "C17/C23 programming language compiler") + (description "Kefir is an independent compiler for the C17/C23 programming +language, developed by Jevgenij Protopopov. Kefir has been validated with a +test suite of 80 software projects, among which are GNU core- and binutils, +Curl, Nginx, OpenSSL, Perl, Postgresql, Tcl and many others. The compiler +targets x86_64 architecture and System-V AMD64 ABI, supporting Linux, FreeBSD, +NetBSD an OpenBSD.") + (license license:gpl3))) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index ae3047f13b8..684f2247556 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020 Tanguy Le Carrour ;;; Copyright © 2020 Peng Mei Yu ;;; Copyright © 2021 Wamm K. D. -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 Denis 'GNUtoo' Carikli ;;; Copyright © 2025 Sharlatan Hellseher ;;; Copyright © 2025 Ashish SHUKLA diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index bc7c6bfb6c2..59fcae3c7fb 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2023 Efraim Flashner ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2021, 2022 Greg Hogan -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index aed87ea144e..8f7bbb5d9ce 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2017, 2021-2022 Ludovic Courtès ;;; Copyright © 2017 Leo Famulari -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 0b9e563f3bd..cfe6e6ba88d 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -3721,28 +3721,11 @@ portable to just about any platform.") #$@(if (target-64bit?) #~() - #~((add-after 'unpack 'switch-libc-call + #~((add-after 'unpack 'apply-32bit-patch (lambda _ - (substitute* "src/libfaketime.c" - (("#define _GNU_SOURCE") - ;; Make sure to use the 64-bit 'struct timespec' in - ;; replacement functions. - (string-append "#define _GNU_SOURCE\n" - "#define _FILE_OFFSET_BITS 64\n" - "#define _TIME_BITS 64\n")) - (("\"__clock_gettime\"") - ;; Replace '__clock_gettime64' rather than - ;; '__clock_gettime64' since this is what - ;; newly-built applications use. - "\"__clock_gettime64\"")) - - ;; XXX: Turn off 'pthread_cond_timedwait' etc.: tests - ;; related to this are failing and this feature is - ;; probably not useful for the purposes of running - ;; code at a fixed date. - (substitute* "src/Makefile" - (("-DFAKE_PTHREAD") - "")))))) + (let ((patch #$(local-file + (search-patch "libfaketime-32bit.patch")))) + (invoke "patch" "--force" "-p1" "-i" patch)))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) @@ -3762,13 +3745,7 @@ portable to just about any platform.") (add-before 'check 'pre-check (lambda _ (substitute* "test/functests/test_exclude_mono.sh" - (("/bin/bash") (which "bash"))) - #$@(if (target-64bit?) - #~() - ;; XXX: This test uses Perl to call 'clock_gettime' and - ;; fails for unclear reasons on i686-linux. - #~((delete-file - "test/functests/test_exclude_mono.sh")))))))) + (("/bin/bash") (which "bash")))))))) (native-inputs (list perl)) ;for tests (inputs (list coreutils-minimal)) (synopsis "Fake the system time for single applications") diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index d15e2ae92cb..fc189359ae9 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -72,7 +72,7 @@ (define-public cuirass (package (name "cuirass") - (version "1.3.0") + (version "1.3.1") (source (origin (method git-fetch) @@ -82,7 +82,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "15jrl0rx6i5ibiw7svrdgcy13v8iwi5z30jp49gfxrapp6m6lsrw")))) + "0bvzdrih8id8bwsfddkymskcb99xrh5db771mbbb5jlzccjlwhgx")))) (build-system gnu-build-system) (arguments (list #:modules `((guix build utils) @@ -101,20 +101,6 @@ #:parallel-tests? #f #:phases #~(modify-phases %standard-phases - (add-after 'build 'install-minified-javascript - (lambda _ - ;; Work around guix/cuirass#34. Remove when 1.3.1 is out. - (define files - '("src/static/js/choices.min.js" - "src/static/js/d3.v6.min.js" - "src/static/js/list.min.js")) - (apply invoke "make" files) - (for-each (lambda (file) - (install-file - file - (in-vicinity #$output - "share/cuirass/static/js"))) - files))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index cbca15244a4..68603cf9fa7 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2019-2025 Maxim Cournoyer +;;; Copyright © 2019-2025 Maxim Cournoyer ;;; Copyright © 2019 Pierre-Moana Levesque ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2021 Ricardo Wurmus diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 0982e4bed5f..26e109640b1 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2019 Hartmut Goebel -;;; Copyright © 2020, 2022 Maxim Cournoyer +;;; Copyright © 2020, 2022 Maxim Cournoyer ;;; Copyright © 2020, 2021, 2023 Marius Bakke ;;; Copyright © 2020 Julien Lepiller ;;; Copyright © 2021 lu hui diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 90cb365c428..e8e7192120c 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2019-2022 Marius Bakke ;;; Copyright © 2020, 2022 Timothy Sample ;;; Copyright © 2020 Guy Fleury Iteriteka -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Julien Lepiller ;;; Copyright © 2021 Pierre Langlois diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 58834f30240..644a06a1725 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -75,7 +75,7 @@ (define-public crun (package (name "crun") - (version "1.23.1") + (version "1.24") (source (origin (method url-fetch) @@ -85,7 +85,7 @@ "/crun-" version ".tar.gz")) (sha256 (base32 - "1y23fz82d7zaa2svyzjhfhahl6l0a3yrasfbcfacplhkwk7bflnp")))) + "0lnfvwxq14pyqyxx56bdr7k4h3l99imc9vynxram7fh0chxf7dlh")))) (build-system gnu-build-system) (arguments (list @@ -463,7 +463,7 @@ configure network interfaces in Linux containers.") (define-public gvisor-tap-vsock (package (name "gvisor-tap-vsock") - (version "0.8.6") + (version "0.8.7") (source (origin (method git-fetch) (uri (git-reference @@ -472,7 +472,7 @@ configure network interfaces in Linux containers.") (file-name (git-file-name name version)) (sha256 (base32 - "18pwpw3dap42mpv5a1ciq6fh0y8ya5ix7r38bi8i1xc7dxcy3jdj")))) + "1p9vypphssvqfcm3y2nc7b9v0wcc2smkrqq8k60vskaiza89974k")))) (build-system gnu-build-system) (arguments (list @@ -550,7 +550,7 @@ Its main purpose is to support the key usage by @code{docker-init}: (define-public podman (package (name "podman") - (version "5.6.0") + (version "5.6.1") (outputs '("out" "docker")) (properties `((output-synopsis "docker" "docker alias for podman") @@ -563,7 +563,7 @@ Its main purpose is to support the key usage by @code{docker-init}: (url "https://github.com/containers/podman") (commit (string-append "v" version)))) (sha256 - (base32 "1w5p76ynhlayvala76xsh1b1sv8w50fjp02sjm819mg98scbc3fk")) + (base32 "1k8dppbni8wbzxqqaknp08h687qw884wn7bkpiwmbw9np261fl4b")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -708,7 +708,7 @@ being rootless and not requiring any daemon to be running.") (define-public buildah (package (name "buildah") - (version "1.41.1") + (version "1.41.4") (source (origin (method git-fetch) @@ -716,7 +716,7 @@ being rootless and not requiring any daemon to be running.") (url "https://github.com/containers/buildah") (commit (string-append "v" version)))) (sha256 - (base32 "12mi2084dmk8hg35chfbfbdl1s9ibsq000hhi1n9f0ibk177y6qw")) + (base32 "0gca1zv98c58z6c06ckgg63mm2305b1qzavxfmlgmj8s4f72g3zh")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index cf136ae9e34..03f05934fea 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2022 Arun Isaac ;;; Copyright © 2022-2025 David Elsing ;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com> -;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 Sughosha ;;; Copyright © 2023, 2024 Artyom V. Poptsov @@ -48,6 +48,7 @@ ;;; Copyright © 2025 Nicolas Graves ;;; Copyright © 2025 Romain Garbage ;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen +;;; Copyright © 2025 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -2041,13 +2042,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))) -(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. +(define-public abseil-cpp-20220623 (package (name "abseil-cpp") - (version "20200923.3") + (version "20220623.2") (source (origin (method git-fetch) (uri (git-reference @@ -2056,39 +2054,45 @@ point and then, after each tween step, plugging back the result.") (file-name (git-file-name name version)) (sha256 (base32 - "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl")) + "1cmchfcqp85yp5hc3i47xv3i14v0f2wd5h2jblvcjjmjyhji1bwr")) (patches - (search-patches "abseil-cpp-fix-strerror_test.patch" - "abseil-cpp-20200923.3-adjust-sysinfo.patch" - "abseil-cpp-20200923.3-duration-test.patch")))) + (search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch")))) (build-system cmake-build-system) (arguments - `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" - "-DABSL_RUN_TESTS=ON" - "-DABSL_USE_EXTERNAL_GOOGLETEST=ON" - ;; Needed, else we get errors like: - ;; - ;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o: - ;; undefined reference to symbol '_ZN7testing4Mock16UnregisterLockedEPNS_8internal25UntypedFunctionMockerBaseE' - ;; ld: /gnu/store/...-googletest-1.10.0/lib/libgmock.so: - ;; error adding symbols: DSO missing from command line - ;; collect2: error: ld returned 1 exit status - "-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-max - (lambda _ - (substitute* "absl/debugging/failure_signal_handler.cc" - (("std::max\\(SIGSTKSZ, 65536\\)") - "std::max(SIGSTKSZ, 65536)")))) - (add-before 'configure 'remove-gtest-check - ;; The CMakeLists fails to find our googletest for some reason, but - ;; it works nonetheless. - (lambda _ - (substitute* "CMakeLists.txt" - (("check_target\\(gtest\\)") "") - (("check_target\\(gtest_main\\)") "") - (("check_target\\(gmock\\)") ""))))))) + (list + #:configure-flags + ;; The following convoluted expression has been crafted to avoid + ;; changing the derivation when removing inheritance from + ;; abseil-cpp-20200923.3. + #~(cons* + "-DABSL_BUILD_TESTING=ON" + (delete + "-DABSL_RUN_TESTS=ON" + (list "-DBUILD_SHARED_LIBS=ON" + "-DABSL_RUN_TESTS=ON" + "-DABSL_USE_EXTERNAL_GOOGLETEST=ON" + ;; Needed, else we get errors like: + ;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o: + ;; undefined reference to symbol '_ZN7testing4Mock16UnregisterLockedEPNS_8internal25UntypedFunctionMockerBaseE' + ;; ld: /gnu/store/...-googletest-1.10.0/lib/libgmock.so: + ;; error adding symbols: DSO missing from command line + ;; collect2: error: ld returned 1 exit status + "-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-max + (lambda _ + (substitute* "absl/debugging/failure_signal_handler.cc" + (("std::max\\(SIGSTKSZ, 65536\\)") + "std::max(SIGSTKSZ, 65536)")))) + (add-before 'configure 'remove-gtest-check + ;; The CMakeLists fails to find our googletest for some reason, but + ;; it works nonetheless. + (lambda _ + (substitute* "CMakeLists.txt" + (("check_target\\(gtest\\)") "") + (("check_target\\(gtest_main\\)") "") + (("check_target\\(gmock\\)") ""))))))) (native-inputs (list googletest)) (home-page "https://abseil.io") @@ -2098,29 +2102,6 @@ augment the C++ standard library. The Abseil library code is collected from Google's C++ code base.") (license license:asl2.0))) -(define-public abseil-cpp-20220623 - (let ((base abseil-cpp-20200923.3)) - (package - (inherit base) - (name "abseil-cpp") - (version "20220623.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abseil/abseil-cpp") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cmchfcqp85yp5hc3i47xv3i14v0f2wd5h2jblvcjjmjyhji1bwr")) - (patches - (search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch")))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:configure-flags flags) - `(cons* "-DABSL_BUILD_TESTING=ON" - (delete "-DABSL_RUN_TESTS=ON" ,flags)))))))) - (define-public abseil-cpp (let ((base abseil-cpp-20220623)) (package diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 6f67237df05..d162b757e53 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019, 2020, 2021 Marius Bakke ;;; Copyright © 2019 Carl Dong ;;; Copyright © 2020 Mathieu Othacehe -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Josselin Poiret ;;; Copyright © 2023 Foundation Devices, Inc. ;;; diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index e448e680904..fcc63f3cad5 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017 Mark H Weaver ;;; Copyright © 2017–2022 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2025 Lukas Gradl ;;; Copyright © 2025 Antoine Côté diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index c66740b744c..2c82f4b2086 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -26,6 +26,7 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (gnu packages cpp) #:use-module (gnu packages engineering) @@ -126,17 +127,27 @@ chains of gadgets to execute system calls.") (define-public pwntools (package (name "pwntools") - (version "4.15.0b1") + (version "4.15.0beta1") (source (origin - (method url-fetch) - (uri (pypi-uri "pwntools" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Gallopsled/pwntools") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "091fsk9rvbjkcsp8mmww0ka26dvznmj4pbqwaiygcw90g3v94zgd")))) - (build-system python-build-system) + (base32 "048b8szybf3f69xdp258a783nl5dcgj316a5156i8ajhyfw6aaw0")))) + (build-system pyproject-build-system) (arguments - '(#:tests? #f)) ;XXX: needs a specific version of unicorn + (list + #:tests? #f ;XXX: needs a specific version of unicorn + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'relax-dependencies + (lambda _ + (substitute* "pyproject.toml" + (("^ *\"pip.*\",.*") + ""))))))) (propagated-inputs (list capstone python-colored-traceback @@ -145,7 +156,6 @@ chains of gadgets to execute system calls.") python-mako python-packaging python-paramiko - python-pathlib2 python-psutil python-pyelftools python-pygments diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 501f315c615..4fbc6869944 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2017 Kristofer Buffington ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Jack Hill ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Gábor Boskovits @@ -5806,10 +5806,13 @@ PostreSQL, SQLite, ODBC and MySQL.") (sha256 (base32 "11fzwcahc1bc8npxbif0448v9cwyf7k04167i7fcspmfw7a0hj0d")))) (build-system gnu-build-system) + (inputs (list unixodbc)) (arguments ;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection, ;; disabled for now. - `(#:tests? #f)) + `(#:tests? #f + #:configure-flags + (list (string-append "--with-unixodbc=" (assoc-ref %build-inputs "unixodbc"))))) (home-page "https://www.freetds.org/") (synopsis "Client libraries for MS SQL and Sybase servers") (description diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index a1b46bc518a..38e0e7bea6b 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2019 Pkill -9 ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021 Morgan Smith -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021 Felix Gruber ;;; Copyright © 2021 Foo Chuan Wei ;;; Copyright © 2022 Michael Rohleder diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 6735a58ffd5..1fc2da62189 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2022 ROCKTAKEY ;;; Copyright © 2022, 2024 Runciter -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 Artyom V. Poptsov ;;; Copyright © 2025 Zhu Zihao ;;; diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 4a5bbba9e95..4248a8bf80c 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2021 Justin Veilleux ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2014, 2022 Ludovic Courtès -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Disseminate Dissent ;;; Copyright © 2023 Timotej Lazar ;;; Copyright © 2023 Morgan Smith diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 2ec3cb70e1c..9ae76bd51d6 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021-2023 Efraim Flashner ;;; Copyright © 2021 Petr Hodina -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 83c71a51f39..b4e99acd671 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; Copyright © 2019 Sam ;;; Copyright © 2020, 2021, 2022, 2023 Marius Bakke -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Luis Felipe López Acevedo ;;; Copyright © 2022 Pradana Aumars ;;; Copyright © 2025 Sharlatan Hellseher diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 324febbf10f..52e410bb627 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020, 2021, 2025 Guillaume Le Vaillant -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 1fd1c8d58cb..bf563bea26c 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2020 Guy Fleury Iteriteka ;;; Copyright © 2021-2024 Efraim Flashner -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2022 ( ;;; Copyright © 2022 Esther Flashner ;;; diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 49bea0daa13..2ad90d380f8 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Mark H Weaver ;;; Copyright © 2021 Efraim Flashner ;;; Copyright © 2021 Andrew Whatson diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 358a4d8d562..f2aa2ae9340 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Thompson ;;; Copyright © 2018, 2023 Efraim Flashner ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer +;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Katherine Cox-Buday ;;; Copyright © 2020 Jesse Dowell diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 6842823fe85..c67954770c8 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020 Prafulla Giri ;;; Copyright © 2021 Nicolò Balzarotti ;;; Copyright © 2022 Luis Felipe López Acevedo -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Luis Higino ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index cb2a7a0bd2b..cf49c267f78 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -2,16 +2,24 @@ ;;; Copyright © 2016, 2017, 2018 Theodoros Foradis ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 Clément Lassieur -;;; Copyright © 2021 Efraim Flashner +;;; Copyright © 2021, 2024 Efraim Flashner ;;; Copyright © 2021 Leo Famulari -;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2024 Juliana Sims ;;; Copyright © 2025 Cayetano Santos ;;; Copyright © 2025 Sharlatan Hellseher ;;; Copyright © 2022 Konstantinos Agiannis -;;; Copyright © 2018-2021 Tobias Geerinckx-Rice ;;; Copyright © 2015-2025 Ricardo Wurmus ;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov +;;; Copyright © 2016 Danny Milosavljevic +;;; Copyright © 2019 Amin Bandali +;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2021 Andrew Miloradovsky +;;; Copyright © 2022 Christian Gelinek +;;; Copyright © 2022 jgart +;;; Copyright © 2023 Simon South +;;; Copyright © 2024 Jakob Kirsch +;;; Copyright © 2025 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,8 +42,11 @@ #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) #:use-module (guix build-system qt) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -52,46 +63,136 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) #:use-module (gnu packages engineering) #:use-module (gnu packages embedded) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fontutils) - #:use-module (gnu packages fpga) #:use-module (gnu packages gawk) #:use-module (gnu packages gd) + #:use-module (gnu packages gdb) + #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) + #:use-module (gnu packages libffi) #:use-module (gnu packages libftdi) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages m4) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) + #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages stb) #:use-module (gnu packages swig) + #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages toolkits) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xorg) #:use-module (gnu packages xml)) +(define-public abc + (let ((commit "e29dcd9f3275874c8d31a2f781487efac1dabb7b") + (revision "6")) + (package + (name "abc") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/berkeley-abc/abc") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18g4i1kdsxvp25p5z3wja4jkxppgrp6ybxal9y2p2d2qvlafiw5z")))) + (build-system gnu-build-system) + (inputs + (list readline)) + (arguments + (list #:license-file-regexp "copyright.txt" + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "abc" (string-append #$output "/bin"))))))) + (home-page "https://people.eecs.berkeley.edu/~alanmi/abc/") + (synopsis "Sequential logic synthesis and formal verification") + (description "ABC is a program for sequential logic synthesis and +formal verification.") + (license + (license:non-copyleft + "https://people.eecs.berkeley.edu/~alanmi/abc/copyright.htm"))))) + +(define-public abc-yosyshq + (package + (inherit abc) + (name "abc-yosyshq") + (version "0.57") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/abc/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "191hsznsmsjn8100n50qsh3ng8wgrnyfhr7qcnb8yskiwqp37pjh")))) + (home-page "https://github.com/YosysHQ/abc/") + (description "ABC is a program for sequential logic synthesis and +formal verification. This is the Yosyshq fork of ABC.") + (license (license:non-copyleft "file:///copyright.txt")))) + +(define-public apycula + (package + (name "apycula") + (version "0.25") + ;; The pypi tar.gz file includes the necessary .pickle files, not available + ;; in the home-page repository. + (source + (origin + (method url-fetch) + (uri (pypi-uri "apycula" version)) + (sha256 + (base32 "0pdq6mi8f2ablc1m85ip6sr6ih5ysm2d1k6kcsh6r62vwrxdrfh8")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;requires Gowin EDA tools + (inputs (list python-crc)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://github.com/YosysHQ/apicula/") + (synopsis "Gowin FPGA bitstream format") + (description + "The project Apycula provides tools to support development and +generating bitstreams with Gowin FPGAs.") + (license license:expat))) + (define-public camv-rnd (package (name "camv-rnd") @@ -147,6 +248,192 @@ individual low-level driver modules.") (home-page "https://www.comedi.org/") (license license:lgpl2.1))) +(define-public fftgen + (let ((commit "3378b77d83a98b06184656a5cb9b54e50dfe4485") ;no releases + (revision "1")) + (package + (name "fftgen") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZipCPU/dblclockfft") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rvln871wjkbbqnv88jnx328xlhn5sgbr8fglk3ajnd9rwgiq3jg")))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "bench-test" + #:make-flags #~(list "CFLAGS=-g -O2") ;default flags lack -O2 + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "sw/fftgen" + (string-append #$output "/bin"))))))) + (native-inputs (list bc fftw python-minimal verilator which)) + (synopsis "Generic pipelined FFT core generator") + (description "fftgen produces @acronym{FFT, fast-Fourier transforms} +hardware designs in Verilog.") + (home-page "https://github.com/ZipCPU/zipcpu/") + (license license:lgpl3+)))) + +(define-public gtkwave + ;; The last release is more than 2 years old, and there are improvements in + ;; the master branch, such as GTK 4 support: pick the latest commit that + ;; passes their CI. + (let ((commit "bb978d9d667d569b9153ffa34007e300302907dc") + (revision "0")) + (package + (name "gtkwave") + ;; The version string can be found in meson.build. + (version (git-version "3.4.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gtkwave/gtkwave") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nv27cpz5937cb6bkhpw8w0ji6hm9xr8f0znvfwzfl1fwwypf23y")))) + (build-system meson-build-system) + (arguments (list #:glib-or-gtk? #t)) + (native-inputs (list desktop-file-utils + flex + `(,glib "bin") ;for glib-mkenums + gobject-introspection + gperf + `(,gtk "bin") + pkg-config)) + (inputs (list gtk gtk+ libfst)) + (synopsis "Waveform viewer for FPGA simulator trace files") + (description "This package is a waveform viewer for @acronym{FST, FPGA +Simulator Trace} files.") + (home-page "https://github.com/gtkwave/gtkwave") + ;; Exception against free government use in tcl_np.c and tcl_np.h. + (license (list license:gpl2+ license:expat license:tcl/tk))))) + +(define-public iverilog + (package + (name "iverilog") + (version "12.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/steveicarus/iverilog") + (commit + (string-append "v" (string-replace-substring version "." "_"))))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cm3ksxyyp8ihs0as5c2nk3a0y2db8dmrrw0f9an3sl255smxn17")))) + (build-system gnu-build-system) + (arguments + (list + #:bootstrap-scripts #~(list "autoconf.sh") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'ensure-native-baked-CC/CXX + (lambda _ + ;; The compilers used to build are retained in + ;; bin/iverilog-vpi, which is a Makefile + ;; script. Normalize these to just 'gcc' and 'g++' to + ;; avoid having these set to cross compilers. + (substitute* "Makefile.in" + (("s;@IVCC@;\\$\\(CC);") + "s;@IVCC@;gcc;") + (("s;@IVCXX@;\\$\\(CXX);") + "s;@IVCXX@;g++;"))))))) + (native-inputs (list autoconf bison flex gperf)) + (inputs (list zlib)) + (home-page "https://steveicarus.github.io/iverilog/") + (synopsis "FPGA Verilog simulation and synthesis tool") + (description + "Icarus Verilog is a Verilog simulation and synthesis tool. +It operates as a compiler, compiling source code written in Verilog +(IEEE-1364) into some target format. +For batch simulation, the compiler can generate an intermediate form +called vvp assembly. +This intermediate form is executed by @command{vvp}. +For synthesis, the compiler generates netlists in the desired format.") + ;; GPL2 only because of: + ;; - ./driver/iverilog.man.in + ;; - ./iverilog-vpi.man.in + ;; - ./tgt-fpga/iverilog-fpga.man + ;; - ./vvp/vvp.man.in + ;; Otherwise would be GPL2+. + ;; You have to accept both GPL2 and LGPL2.1+. + (license (list license:gpl2 license:lgpl2.1+)))) + +(define-public icestorm + (let ((commit "3cdcf4b009bb8681ab7e2e09d65043f04334b60e") + (revision "5")) + (package + (name "icestorm") + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/icestorm/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ygp6cj7grlnyji572kx215p2mw4crllskif9g795f390bp38g68")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;avoid a cyclic dependency with nextpr-ice40 + #:make-flags + #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "CXX=" + #$(cxx-for-target)) + (string-append "PREFIX=" + #$output) + "ICEPROG=1") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-usr-local + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "icepack/Makefile" + (("/usr/local") + #$output)) + (substitute* "icebox/Makefile" + (("/usr/local") + #$output)) + (substitute* "icebox/icebox_vlog.py" + (("/usr/local") + #$output)))) + (add-after 'build 'make-info + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion "docs" + (invoke "make" "info") + (install-file "build/texinfo/projecticestorm.info" + (string-append #$output "/share/info")) + (copy-recursively "build/texinfo/projecticestorm-figures" + (string-append #$output + "/share/info/projecticestorm-figures"))))) + (delete 'configure)))) + (inputs (list libftdi)) + (native-inputs (list pkg-config + python + python-sphinx + python-sphinx-rtd-theme + texinfo)) + (home-page "https://prjicestorm.readthedocs.io/") + (synopsis "Bitstream tools for Lattice iCE40 FPGAs") + (description + "Project IceStorm aims at documenting the bitstream format of +Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream +files.") + (license license:isc)))) + (define-public json-for-vhdl ;; No tagged releases. (let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2") @@ -191,6 +478,30 @@ structures from external files on disk. It provides a context to be used in the declarative section of design units.") (license license:asl2.0)))) +;;; Required by python-vunit. +(define json-for-vhdl-for-vunit + (let ((commit "95e848b8902c6b4275d715462e1a2cc60706917c") ;sync with vunit + (revision "0")) + (package + (inherit json-for-vhdl) + (name "json-for-vhdl-for-vunit") + (version (git-version "20220106" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Paebbels/JSON-for-VHDL/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c106hm0sfnzdi5j9vaacjlz7i5m1dm75j7lrgcdsa4siw5ac7k3")))) + (arguments + (list + #:install-plan + #~'(("src" "share/json-for-vhdl" #:include ("vhdl"))))) + (native-inputs + '())))) + (define librnd (package (name "librnd") @@ -229,6 +540,33 @@ used in the declarative section of design units.") @end itemize") (license license:gpl2+))) +(define-public libfst + ;; There are no release nor tags. + (let ((commit "6a52070cd62ec65c29832bc95e7db493504aa7ac") + (revision "0")) + (package + (name "libfst") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gtkwave/libfst/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b1r660m5aib316jjl4nhs10y7vhhqy2mvxjip3ynahig3hpi46z")))) + (build-system meson-build-system) + (native-inputs (list gobject-introspection pkg-config)) + (inputs (list bzip2)) + (propagated-inputs (list zlib)) ;in Requires.private of libfst.pc + (synopsis "Fast Signal Trace (FST) format waveforms library") + (description "Libfst is a small library used to read and write +@acronym{FST, Fast Signal Trace} format waveforms.") + (home-page "https://github.com/gtkwave/libfst/") + (license (list license:expat ;libfst and fastlz-derived sources + license:bsd-2))))) ;for lz4-derived sources + (define-public libserialport (package (name "libserialport") @@ -407,6 +745,168 @@ which allows one to install the M8 firmware on any Teensy.") license:public-domain license:zlib)))) +(define-public nextpnr + (package + (name "nextpnr") + (version "0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/nextpnr/") + (commit (string-append "nextpnr-" version)) + ;; XXX: Fetch some bundled libraries such as QtPropertyBrowser, + ;; json11 and python-console, which have custom modifications or + ;; no longer have their original upstream. + (recursive? #t))) + (file-name (git-file-name name version)) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + '(begin + ;; XXX: 'delete-all-but' is copied from the turbovnc package. + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "3rdparty" + ;; The following sources have all been patched, so + ;; cannot easily be unbundled. + "QtPropertyBrowser" + "json11" + "python-console" + "oourafft"))) + (patches (search-patches "nextpnr-gtest.patch" + "nextpnr-imgui.patch")) + (sha256 + (base32 "1wrlk0f4y29znd1zgl531lw4s0rfm5w8kx4hlwwdaj7b9vv3v65f")))) + (build-system qt-build-system) + (arguments + (list + #:cmake cmake ;CMake 3.25 or higher is required. + #:configure-flags + ;; TODO: enable more architectures? + #~(list "-DARCH=generic;ice40;ecp5;himbaechel" + "-DBUILD_GUI=ON" + "-DUSE_OPENMP=ON" + "-DBUILD_TESTS=ON" + "-DHIMBAECHEL_UARCH=ng-ultra;gowin" + "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra" + "-DHIMBAECHEL_SPLIT=ON" + "-DHIMBAECHEL_PRJBEYOND_DB=/tmp/prjbeyond-db" + (string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version) + (string-append "-DICESTORM_INSTALL_PREFIX=" + #$(this-package-input "icestorm")) + (string-append "-DTRELLIS_INSTALL_PREFIX=" + #$(this-package-input "prjtrellis")) + "-DUSE_IPO=OFF") + #:phases + #~(modify-phases %standard-phases + ;; Required by himbaechel architecture, ng-ultra support. + (add-after 'unpack 'get-prjbeyond-db + (lambda _ + (copy-recursively + #$(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yosyshq-GmbH/prjbeyond-db/") + ;; We take latest commit, as indicated in nextpnr’s + ;; README.md file + (commit "06d3b424dd0e52d678087c891c022544238fb9e3"))) + (sha256 + (base32 + "17dd3cgms2fy6xvz7magdmvv92km4cqh2kz9dyjrvz5y8caqav4y"))) + "/tmp/prjbeyond-db"))) + (add-after 'unpack 'unbundle-sanitizers-cmake + (lambda _ + (substitute* "CMakeLists.txt" + ;; Use the system sanitizers-cmake module. This is made + ;; necessary 'sanitizers-cmake' installing a FindPackage + ;; module but no CMake config file. + (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake") + (string-append + #$(this-package-native-input "sanitizers-cmake") + "/share/sanitizers-cmake/cmake")))))))) + (native-inputs + (list googletest + sanitizers-cmake)) + (inputs + (list apycula + boost + corrosion + eigen + icestorm + prjtrellis + pybind11 + python + qtbase-5 + qtwayland-5 + qtimgui + yosys)) + (synopsis "Place-and-Route tool for FPGAs") + (description "Nextpnr is a portable FPGA place and route tool.") + (home-page "https://github.com/YosysHQ/nextpnr/") + (license license:isc))) + +(define-public nextpnr-ice40 + (deprecated-package "nextpnr-ice40" nextpnr)) + +(define-public nvc + (package + (name "nvc") + (version "1.17.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nickg/nvc") + (commit (string-append "r" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hr5y9ys5kf096x18mh10wwqa0hbzlmdj7pyayc6szsjla1d3mk0")))) + (build-system gnu-build-system) + (arguments + (list #:out-of-source? #t + #:configure-flags + #~(list "--enable-tcl" + "--enable-llvm" + "--enable-verilog" + "--enable-vital" + "--enable-server" + "--with-ncurses" + "--enable-parallel-make" + "--enable-vital" + (string-append "--with-bash-completion=" #$output + "/share/bash-completion/completions")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'clean-up + (lambda _ + (delete-file "autogen.sh")))))) + (native-inputs + (list automake + autoconf + check ; for the tests + flex + gettext-minimal + libtool + pkg-config + python-minimal + which)) + (inputs + (list jansson + libffi + llvm + readline + tcl + `(,zstd "lib"))) + (synopsis "VHDL compiler and simulator") + (description "This package provides a VHDL compiler and simulator.") + (home-page "https://www.nickg.me.uk/nvc/") + (license license:gpl3+))) + (define-public openboardview (package (name "openboardview") @@ -743,6 +1243,30 @@ library, scripting API, and co-simulation capability for FPGA or ASIC verification.") (license license:asl2.0))) +;;; Required by python-vunit. +(define osvvm-2023.04 + (package + (inherit osvvm) + (name "osvvm") + (version "2023.04") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/osvvm/OsvvmLibraries/") + (commit version) + ;; OsvvmLibraries repository gathers all osvvm libraries as + ;; submodules. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kn18ibvm7bzdyw2d914284wriravyh5qwfarj06pb052x1yblyx")))) + (arguments + (substitute-keyword-arguments (package-arguments osvvm) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (delete 'fix-scripts))))))) + (define-public python-cocotb (package (name "python-cocotb") @@ -862,6 +1386,105 @@ perhaps a couple of Verilog `defines, some top-level parameters/generics or some tool-specific options are set.") (license license:bsd-2))) +(define-public python-hdlmake + (let ((commit "c56cb8efa2000d06cec698f0149bc4ca4ef4e5bc") + (revision "3")) + (package + (name "python-hdlmake") + (version (git-version "3.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ohwr/project/hdl-make/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1w4b0g015rzfypr8sjyr8xqij6s2p5qxhxraswrhjvg1w86b6s36")))) + (build-system pyproject-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (add-before 'check 'chdir + (lambda _ + (chdir "testsuite")))) + #:test-flags #~(list "test_all.py"))) + (native-inputs (list python-pytest python-setuptools-next)) + (propagated-inputs (list python-networkx python-six)) + (home-page "https://ohwr.gitlab.io/project/hdl-make/") + (synopsis "Generate multi-purpose makefiles for HDL projects") + (description + "Hdlmake helps manage and share @acronym{HDL, hardware description +language} code by automatically finding file dependencies, writing synthesis +and simulation Makefiles.") + (license license:gpl3+)))) + +(define-public python-migen + ;; XXX: The latest version tag (0.9.2) was placed in 2019, there are latest + ;; changes supporting Python 3.11 on master branch, see + ;; . + (let ((commit "6e3a9e150fb006dabc4b55043d3af18dbfecd7e8") + (revision "1")) + (package + (name "python-migen") + (version (git-version "0.9.2" revision commit)) + (source + (origin + ;; Tests fail in the PyPI tarball due to missing files. + (method git-fetch) + (uri (git-reference + (url "https://github.com/m-labs/migen") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hibhjnj5b3ka5y4nnqx9zp5w730gfqfa3r5injpa14i4cz6bj1n")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools-next)) + (propagated-inputs + (list python-colorama)) + (home-page "https://m-labs.hk/gateware/migen/") + (synopsis "Python toolbox for building complex digital hardware") + (description + "Migen FHDL is a Python library that replaces the event-driven paradigm +of Verilog and VHDL with the notions of combinatorial and synchronous +statements, has arithmetic rules that make integers always behave like +mathematical integers, and allows the design's logic to be constructed by a +Python program.") + (license license:bsd-2)))) + +(define-public python-myhdl + (let ((commit "7dc29c242cd33cb835c336a81ffc3a461eaa92f4") + (revision "0")) + (package + (name "python-myhdl") + (version (git-version "0.11" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/myhdl/myhdl/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b91yvr0ksrw3bx61i7914caf8pyks9c242kwmj4l12zjd06mp56")))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "iverilog" "core"))))))) + (build-system pyproject-build-system) + (native-inputs + (list iverilog python-setuptools-next python-pytest)) + (home-page "http://www.myhdl.org/") + (synopsis "Python as a Hardware Description Language") + (description "This package provides a library to turn Python into +a hardware description and verification language.") + (license license:lgpl2.1+)))) + (define-public python-pydigitalwavetools (package (name "python-pydigitalwavetools") @@ -969,6 +1592,72 @@ design.") to enforce it.") (license license:gpl3+))) +(define-public python-vunit + (package + (name "python-vunit") + (version "5.0.0-dev.6") ;v4.7.0 dates back from 2 years ago. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/VUnit/vunit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1si542jrrvibiigaridg2vds5smbiass7g5pdfk5z26xqgbh0fxc")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-ghdl-jit + (lambda _ + ;; TODO: Remove when fixed upstream (see: + ;; https://github.com/VUnit/vunit/pull/1121). + (substitute* "vunit/sim_if/ghdl.py" + ((": \"llvm\",") + (string-append + ": \"llvm\",\n\tr\"static elaboration, LLVM JIT code " + "generator\": \"llvm-jit\","))))) + (add-after 'ensure-no-mtimes-pre-1980 'dosymlink + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "vunit/vhdl/JSON-for-VHDL" + (symlink + (search-input-directory inputs "/share/json-for-vhdl") + "src")) + (with-directory-excursion "vunit/vhdl" + (delete-file-recursively "osvvm") + (symlink + (search-input-directory inputs "/share/osvvm/osvvm") + "osvvm"))))) + #:test-flags + ;; Skip lint tests which require python-pycodestyle, python-pylint and + ;; python-mypy to reduce closoure size; some lint test fails, see + ;; . + ;; + ;; XXX: Acceptance tests take 10+ minutes to complete, hang on + ;; "test_external_run_scripts.py" and fail eventually, consider to + ;; improve them; ignore for now. + #~(list "tests/unit"))) + (native-inputs + (list nvc + python-pytest + python-setuptools + python-setuptools-scm + python-wheel)) + (inputs + (list json-for-vhdl-for-vunit osvvm-2023.04)) + (propagated-inputs + (list python-colorama)) + (home-page "https://vunit.github.io") + (synopsis "Unit testing framework for VHDL/SystemVerilog") + (description + "VUnit features the functionality needed to realize continuous and +automated testing of HDL code.") + ;; According to 'LICENSE.rst', VUnit itself is under MPL but two + ;; subdirectories are under ASL. + (license (list license:mpl2.0 license:asl2.0)))) + (define-public qucsator-rf (package (name "qucsator-rf") @@ -1308,6 +1997,44 @@ them usable as simple logic analyzer and/or oscilloscope hardware.") verification flows.") (license license:isc))) +(define-public systemc + (package + (name "systemc") + (version "3.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/accellera-official/systemc") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c8brlv3702p2ivifai9929bg20y30jb301ap0gdmz305q8mcb33")))) + (native-inputs (list perl)) + (build-system cmake-build-system) + (arguments + (list + #:modules '((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (replace 'check (assoc-ref gnu:%standard-phases 'check))))) + (home-page "https://systemc.org/") + (synopsis "Library for event-driven simulation") + (description + "SystemC is a C++ library for modeling concurrent systems, and the +reference implementation of IEEE 1666-2011. It provides a notion of timing as +well as an event-driven simulations environment. Due to its concurrent and +sequential nature, SystemC allows the description and integration of complex +hardware and software components. To some extent, SystemC can be seen as +a Hardware Description Language. However, unlike VHDL or Verilog, SystemC +provides sophisticated mechanisms that offer high abstraction levels on +components interfaces. This, in turn, facilitates the integration of systems +using different abstraction levels.") + ;; homepages.cae.wisc.edu/~ece734/SystemC/Esperan_SystemC_tutorial.pdf + (license license:asl2.0))) + (define-public uhdm (package (name "uhdm") @@ -1347,6 +2074,65 @@ verification flows.") VPI Interface, Elaborator, Serialization, Visitor and Listener.") (license license:asl2.0))) +(define-public verilator + (package + (name "verilator") + (version "5.040") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/verilator/verilator/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xw2w7fikli3jffwd819rx8bwbh3zsymhrn3zbq34glklff07rsb")))) + (native-inputs + (list autoconf + automake + bison + cmake-minimal + flex + gdb/pinned + gettext-minimal + help2man + python-distro + python-minimal + which)) + (inputs + (list perl python systemc)) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoconf"))) + (add-after 'unpack 'adjust-source + (lambda _ + (substitute* "bin/verilator" + (("/bin/echo") "echo")))) + (add-before 'check 'set-SYSTEMC_ROOT + (lambda _ + (setenv "SYSTEMC_ROOT" #$(this-package-input systemc)))) + (add-before 'check 'disable-gdb-safe-path + (lambda _ + (setenv "HOME" (getcwd)) + (mkdir-p (string-append (getcwd) "/.config/gdb")) + (with-output-to-file + (string-append (getcwd) "/.config/gdb/gdbinit") + (lambda () + (display "set auto-load safe-path /")))))) + #:test-target "test")) + (home-page "https://www.veripool.org/verilator/") + (synopsis "Verilog/SystemVerilog simulator") + (description + "Verilator transforms the specified Verilog or SystemVerilog code by +reading it, performing lint checks, and optionally inserting assertion checks +and coverage-analysis points. It outputs single- or multi-threaded +@file{.cpp} and @file{.h} files.") + (license license:lgpl3))) + (define-public xoscope (package (name "xoscope") @@ -1369,3 +2155,123 @@ from ALSA, ESD, and COMEDI sources. This package currently does not include support for ESD sources.") (home-page "https://xoscope.sourceforge.net/") (license license:gpl2+))) + +(define-public yosys + (package + (name "yosys") + (version "0.57") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/yosys") + (commit (string-append "v" version)))) + (sha256 + (base32 "0bix5zlv9zp9fxqpn9l9bdw65xrgih5w0csq1xkkhm2c7p3vqjbb")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "test" + #:make-flags + #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "CXX=" + #$(cxx-for-target)) + (string-append "PREFIX=" + #$output)) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "backends/smt2/smtio.py" + (("\\['z3") + (string-append "['" + (search-input-file inputs "bin/z3")))) + (substitute* "kernel/fstdata.cc" + (("vcd2fst") + (search-input-file inputs "bin/vcd2fst"))) + (substitute* "kernel/driver.cc" + (("^#include \"libs/cxxopts/include/cxxopts.hpp\"") + "#include ")) + (substitute* '("passes/cmds/show.cc" "passes/cmds/viz.cc") + (("exec xdot") + (string-append "exec " + (search-input-file inputs "bin/xdot"))) + (("dot -") + (string-append (search-input-file inputs "bin/dot") " -")) + (("fuser") + (search-input-file inputs "bin/fuser"))))) + (replace 'configure + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "config-gcc" make-flags))) + (add-after 'configure 'use-external-abc + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("Makefile") + (("ABCEXTERNAL \\?=") + (string-append "ABCEXTERNAL = " + (search-input-file inputs "/bin/abc")))))) + (add-after 'install 'add-symbolic-link + (lambda* (#:key inputs #:allow-other-keys) + ;; Previously this package provided a copy of the "abc" + ;; executable in its output, named "yosys-abc". Create a + ;; symbolic link so any external uses of that name continue to + ;; work. + (symlink (search-input-file inputs "/bin/abc") + (string-append #$output "/bin/yosys-abc")))) + (add-after 'install 'keep-pmgen-py + (lambda* (#:key inputs #:allow-other-keys) + ;; pmgen.py is required by some yosys plugins. + (install-file (search-input-file inputs + "/passes/pmgen/pmgen.py") + (string-append #$output "/bin")))) + (add-after 'install 'wrap + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/yosys-witness") + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))))))))) + (native-inputs (list bison + cxxopts ;header-only library + flex + gawk ;for the tests and "make" progress pretty-printing + iverilog ;for the tests + pkg-config + python + tcl)) ;tclsh for the tests + (inputs (list abc-yosyshq + bash-minimal + graphviz + gtkwave + libffi + psmisc + python + python-click + readline + tcl + xdot + z3 + zlib)) + (home-page "https://yosyshq.net/yosys/") + (synopsis "FPGA Verilog RTL synthesizer") + (description "Yosys synthesizes Verilog-2005.") + (license license:isc))) + +(define-public yosys-clang + (package + (inherit yosys) + (name "yosys-clang") + (arguments + (substitute-keyword-arguments (package-arguments yosys) + ((#:make-flags _ #f) + #~(list "CC=clang" + "CXX=clang++" + (string-append "PREFIX=" #$output))) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'configure + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "config-clang" make-flags))))))) + (inputs + (modify-inputs (package-inputs yosys) + (append clang))) + (synopsis "FPGA Verilog RTL synthesizer (Clang variant)"))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f6ca09abb38..2d8aae762e2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mike Gerwitz -;;; Copyright © 2017-2025 Maxim Cournoyer +;;; Copyright © 2017-2025 Maxim Cournoyer ;;; Copyright © 2018 Sohom Bhattacharjee ;;; Copyright © 2018, 2019 Mathieu Lirzin ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt @@ -210,11 +210,11 @@ #:use-module (gnu packages dictionaries) #:use-module (gnu packages djvu) #:use-module (gnu packages ebook) + #:use-module (gnu packages electronics) #:use-module (gnu packages emacs) #:use-module (gnu packages emacs-build) #:use-module (gnu packages enchant) #:use-module (gnu packages fonts) - #:use-module (gnu packages fpga) #:use-module (gnu packages freedesktop) #:use-module (gnu packages games) #:use-module (gnu packages gawk) @@ -17732,8 +17732,8 @@ indentation guides in Emacs: ;; https://github.com/jorgenschaefer/elpy/issues/1824 ;; https://github.com/jorgenschaefer/elpy/pull/1951 ;; https://github.com/jorgenschaefer/elpy/issues/1940. - (let ((commit "7ff8ffa918411887d165764f7a5a12bc46646e73") - (revision "2")) + (let ((commit "0b381f55969438ab2ccc2d1a1614045fcf7c9545") + (revision "3")) (package (name "emacs-elpy") (version (git-version "1.35.0" revision commit)) @@ -17745,8 +17745,7 @@ indentation guides in Emacs: (file-name (git-file-name name version)) (sha256 (base32 - "0lh8w5a1abxaa7lf1c4yzgr0sh9szcwdnwd8w2004hv6mrcmyqc6")) - (patches (search-patches "emacs-elpy-dup-test-name.patch")))) + "0398zwzq5c33fi8icyy2x50q7rs819i5xkpmhbfm1s34m6prv46a")))) (build-system emacs-build-system) (arguments `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) @@ -17793,10 +17792,6 @@ indentation guides in Emacs: (substitute* "elpy-company-backend-test.el" (("elpy-company-backend-should-find-.*-prefix-string.*" all) (string-append all " :expected-result :failed\n"))) - (substitute* "elpy-shell-get-or-create-process-test.el" - (("elpy-shell-get-or-create-process-should-add-project-root\ --to-path.*" all) - (string-append all " :expected-result :failed\n"))) (substitute* "elpy-format-code-test.el" (("elpy-should-format-code-with-default-formatter.*" all) (string-append all " :expected-result :failed\n")))))) @@ -18175,6 +18170,19 @@ restrict the text width to 80 characters.") (arguments `(#:test-command '("make" "test") #:phases (modify-phases %standard-phases + ;; The files auto-generated by `emacs-build-system' cause + ;; the Makefile target `compile' to fail (due to missing + ;; `lexical-binding' directives in the generated files). + ;; Since `emacs-build-system' already byte-compiles the + ;; source files (to `.elc' files), `make compile' is not + ;; needed anyway. Additionally, the `clean' target must be + ;; inhibited as it deletes all `.elc' files in the source + ;; directory, which, however, are part of the installation. + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("test: compile clean") + "test:")))) ;; Set HOME, otherwise tests fail on loading aspell dict. (add-before 'check 'set-home (lambda _ (setenv "HOME" (getcwd))))))) @@ -41756,6 +41764,29 @@ supports generation of phonetic and numeric passwords.") text into a QR Code and show it in a separate buffer.") (license license:gpl3+))) +(define-public emacs-quick-fasd + (package + (name "emacs-quick-fasd") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jamescherti/quick-fasd.el/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fsl6l67jf8fm5h6i5qxqvibzssbiyyjzchq3r5sbqry3d8yx3mk")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (home-page "https://github.com/jamescherti/quick-fasd.el/") + (synopsis "Navigate file system within Emacs by using @code{fasd}") + (description + "@code{quick-fasd} integrates the @code{fasd} tool within the Emacs +environment, providing fast access to frequently used files and directories.") + (license license:gpl3+))) + (define-public emacs-quiet (package (name "emacs-quiet") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b4494e2fad5..de1564b1e30 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016 Nikita ;;; Copyright © 2017 Marius Bakke -;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2017, 2023, 2024, 2025 Janneke Nieuwenhuizen diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index a6d40c7f9e5..03b2e8989f0 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020, 2021, 2022 Simon South ;;; Copyright © 2021 Morgan Smith ;;; Copyright © 2022 Mathieu Othacehe -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2025 Junker dk@junkeria.club @@ -1429,58 +1429,6 @@ simulator.") (home-page (package-home-page propeller-gcc)) (license (package-license propeller-gcc)))))) -(define-public binutils-vc4 - (let ((commit "708acc851880dbeda1dd18aca4fd0a95b2573b36")) - (package - (name "binutils-vc4") - (version (string-append "2.23.51-0." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/puppeh/binutils-vc4") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags '("--target=vc4-elf" - "--disable-werror" - "--enable-cgen-maint") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-cgen - (lambda* (#:key inputs #:allow-other-keys) - (copy-recursively (string-append (assoc-ref inputs "cgen") - "/cgen") "cgen") - #t)) - (add-after 'unpack-cgen 'fix-cgen-guile - (lambda _ - (substitute* "opcodes/Makefile.in" - (("guile\\{,-\\}1.8") "guile")) - (invoke "which" "guile")))))) - (native-inputs - `(("cgen" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/puppeh/cgen") - (commit "d8e2a9eb70425f180fdd5bfd032884b0855f2032"))) - (sha256 - (base32 - "14b3h2ji740s8zq5vwm4qdcxs4aa4wxi6wb9di3bv1h39x14nyr9")))) - ("texinfo" ,texinfo) - ("flex" ,flex) - ("bison" ,bison) - ("guile-1.8" ,guile-1.8) - ("which" ,which))) - (synopsis "Binutils for VC4") - (description "This package provides @code{binutils} for VideoCore IV, -the Raspberry Pi chip.") - (license license:gpl3+) - (home-page "https://github.com/puppeh/vc4-toolchain/")))) - (define make-gcc-vc4 (mlambda () (let ((commit "0fe4b83897341742f9df65797474cb0feab4b377") diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 0ac1cb974d9..7fa39385096 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1088,67 +1088,74 @@ The following systems are supported: (license (list license:gpl2+ license:bsd-3)))) (define-public mgba - (package - (name "mgba") - (version "0.10.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mgba-emu/mgba") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1scyvcp8l5z1sy1hcr0wgdf8zrirg07fzqjdmhkjnyhxmb9sibb5")) - (modules '((guix build utils) - (ice-9 ftw) - (srfi srfi-26))) - (snippet - #~(begin - (define (delete-all-but directory . preserve) - (with-directory-excursion directory - (let* ((pred (negate (cut member <> (cons* "." ".." preserve)))) - (items (scandir "." pred))) - (for-each (cut delete-file-recursively <>) items)))) + ;; Use the latest commit, as the last release does not support Qt 6 yet. + (let ((commit "c6aa8f5523b21fd84336c9855b7f4df54a606a32") + (revision "0")) + (package + (name "mgba") + (version (git-version "0.10.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mgba-emu/mgba") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) - (delete-all-but "src/third-party" - "blip_buf" - "inih"))))) - (build-system qt-build-system) - (arguments - (list - #:qtbase qtbase - #:configure-flags - #~(list "-DBUILD_SUITE=ON" - "-DUSE_DISCORD_RPC=OFF" ;avoid bundled copy - "-DUSE_LIBZIP=OFF" ;use "zlib" instead - "-DUSE_LZMA=OFF"))) ;do not use bundled LZMA - (native-inputs (list cmocka pkg-config qttools)) - (inputs - (list ffmpeg - libedit - elfutils - libepoxy - libpng - mesa - minizip - ncurses - qtbase - qtmultimedia - sdl2 - sqlite - zlib)) - (home-page "https://mgba.io") - (synopsis "Game Boy Advance emulator") - (description - "mGBA is an emulator for running Game Boy Advance games. It aims to be -faster and more accurate than many existing Game Boy Advance emulators, as -well as adding features that other emulators lack. It also supports Game Boy -and Game Boy Color games") - (license (list license:mpl2.0 ;mgba itself - license:lgpl2.1+ ;blip_buf bundled library - license:bsd-3)))) ;inih bundled library + (delete-all-but "src/third-party" + "blip_buf" + "inih"))))) + (build-system qt-build-system) + (arguments + (list + #:qtbase qtbase + #:configure-flags + #~(list "-DBUILD_SUITE=ON" + "-DUSE_DISCORD_RPC=OFF" ;avoid bundled copy + "-DUSE_LIBZIP=OFF" ;use "zlib" instead + "-DUSE_LZMA=OFF") ;do not use bundled LZMA + ;; The platform-qt-autoscript and platform-qt-library tests fails due + ;; to 'LibraryModelTest::testList' not returning the expected value + ;; (see: ). + #:test-exclude "(platform-qt-autoscript|platform-qt-library)")) + (native-inputs (list cmocka pkg-config qttools)) + (inputs + (list ffmpeg + libedit + elfutils + libepoxy + libpng + mesa + minizip + ncurses + qtbase + qtmultimedia + sdl2 + sqlite + zlib)) + (home-page "https://mgba.io") + (synopsis "Game Boy Advance emulator") + (description + "mGBA is an emulator for running Game Boy Advance games. It aims to be + faster and more accurate than many existing Game Boy Advance emulators, as + well as adding features that other emulators lack. It also supports Game Boy + and Game Boy Color games") + (license (list license:mpl2.0 ;mgba itself + license:lgpl2.1+ ;blip_buf bundled library + license:bsd-3))))) ;inih bundled library (define-public mgba-for-dolphin ;; The commit should match that of the mgba git submodule in dolphin (see: diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 244a8023cae..5c810617771 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -33,7 +33,7 @@ ;;; Copyright © 2022 Malte Frank Gerdes ;;; Copyright © 2022 Greg Hogan ;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov -;;; Copyright © 2022, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2025 Maxim Cournoyer ;;; Copyright © 2022, 2023, 2025 Felix Gruber ;;; Copyright © 2023 Theofilos Pechlivanis ;;; Copyright © 2023 Sharlatan Hellseher @@ -4496,7 +4496,7 @@ G-codes to binary and vice versa.") (define-public prusa-slicer (package (name "prusa-slicer") - (version "2.9.2") + (version "2.9.3") (source (origin (method git-fetch) @@ -4505,7 +4505,7 @@ G-codes to binary and vice versa.") (url "https://github.com/prusa3d/PrusaSlicer") (commit (string-append "version_" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "05zwwhqv3fjg9rx6a4ga55f4ic1136f6lwms0kb4kaq50w9dvxwg")) + (sha256 (base32 "15m015fr6yd41dbh26p93xyc320w1j7drr0rkfhsgi1x3np8fsq7")) (patches (search-patches "prusa-slicer-add-cmake-module.patch")) (modules '((guix build utils))) (snippet @@ -4592,6 +4592,7 @@ G-codes to binary and vice versa.") mesa mpfr nanosvg + nlohmann-json nlopt opencascade-occt-7.6.1 openssl diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 29fe5334dfd..60196cd6e3a 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Nikita ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Timo Eisenmann -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2025 Nicolas Graves ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 0e606085d4a..0e05f7e0791 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -49,7 +49,7 @@ (define-public erlang (package (name "erlang") - (version "27.3.4.1") + (version "27.3.4.3") (source (origin (method git-fetch) ;; The tarball from http://erlang.org/download contains many @@ -61,7 +61,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0psayp39priibc0clkhx4h593iar2sp0lg9zls4l123854cq8m8m")) + "040wayc6q8g8fspvyq7l3ckd9p1q2zc6ycrnm6mmwghd5rb3fvyi")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -74,7 +74,7 @@ "/OTP-" version "/otp_doc_man_" version ".tar.gz")) (sha256 (base32 - "03333khh6qqkp7rfagb9jqdgcywc2vz2305fva9rn50h3i6v9cnk")))))) + "0dy4wv0vqy5dy7j4sj7zld2g6yirwmg0f465db6qzgzx6lpjwk82")))))) (inputs (list ncurses openssl wxwidgets)) (propagated-inputs diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index 1613ea8c01f..44d4d6f9203 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2019 Tobias Geerinckx-Rice -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 929324cf8d7..d7871a90614 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2021 John Kehayias ;;; Copyright © 2022 Kyle Meyer ;;; Copyright © 2022 Aleksandr Vityazev -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Philip McGrath ;;; Copyright © 2022 Collin J. Doering ;;; Copyright © 2023 dan diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 6670532ea36..e6793d1a321 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -11,9 +11,11 @@ ;;; Copyright © 2021 Martin Becze ;;; Copyright © 2021 Mathieu Othacehe ;;; Copyright © 2022 Peter Polidoro +;;; Copyright © 2022 Danny Milosavljevic ;;; Copyright © 2023 B. Wilson -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Artyom V. Poptsov +;;; Copyright © 2024, 2025 Cayetano Santos ;;; Copyright © 2025 Joaquín Aguirrezabalaga ;;; Copyright © 2025 Sharlatan Hellseher ;;; Copyright © 2025 Ian Eure @@ -82,31 +84,34 @@ (define-public flashrom (package (name "flashrom") - (version "1.5.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://download.flashrom.org/releases/flashrom-v" - version ".tar.xz")) - (sha256 - (base32 - "14v2bd46wyz46bvsxr3zx2wacqbqzi4w4pk50giar7nldq3lp4qz")))) + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://download.flashrom.org/releases/flashrom-v" + version ".tar.xz")) + (sha256 + (base32 + "08s4r7abcyk849zk840l3szgdmaxj0bx1281wy0zrdgrgncb77cb")))) (build-system meson-build-system) - (inputs (list bash-minimal dmidecode pciutils libusb libftdi libjaylink)) - (native-inputs (list cmocka pkg-config)) (arguments - (list #:configure-flags - #~'("-Dprogrammer=all") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "dmi.c" - (("(dmidecode)( 2>/dev/null)" _ command suffix) - (string-append - (search-input-file - inputs (in-vicinity "sbin" command)) - suffix)))))))) + (list + #:configure-flags #~'("-Dprogrammer=all") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "dmi.c" + (("(dmidecode)( 2>/dev/null)" _ command suffix) + (string-append + (search-input-file + inputs (in-vicinity "sbin" command)) + suffix)))))))) + (native-inputs + (list cmocka pkg-config)) + (inputs + (list bash-minimal dmidecode pciutils libusb libftdi libjaylink)) (home-page "https://flashrom.org/") (synopsis "Identify, read, write, erase, and verify ROM/flash chips") (description @@ -238,14 +243,15 @@ firmware from it.") (define-public teensy-loader-cli (package (name "teensy-loader-cli") - (version "2.2") + (version "2.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/PaulStoffregen/teensy_loader_cli") (commit version))) - (sha256 (base32 "12n8ifz4gph1anhwd8if3j1kw0wc3yxf48abbyxl8071l9vj3m0b")) + (sha256 + (base32 "0kqjmbmns3ansmrs6pbpsqk0g4d82hxknpng6lp7375zccsq52im")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet @@ -257,14 +263,18 @@ firmware from it.") (arguments (list #:tests? #f ;; Makefile has no test target - #:make-flags #~(list "CC=gcc" (string-append "PREFIX=" #$output)) - #:phases #~(modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda _ - (install-file "teensy_loader_cli" - (string-append #$output "/bin"))))))) - (inputs (list libusb-compat)) ;only compatible with libusb 0.1 + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "teensy_loader_cli" + (string-append #$output "/bin"))))))) + (inputs + (list libusb-compat)) ;only compatible with libusb 0.1 (synopsis "Command line firmware uploader for Teensy development boards") (description "The Teensy loader program communicates with your Teensy board when the @@ -314,8 +324,8 @@ for possible workarounds.") %supported-systems)))) (define-public rkflashtool - (let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53") - (revision "1")) + (let ((commit "6022dd724e8247ff7a0825b0eda6a07c446aacdd") + (revision "2")) (package (name "rkflashtool") (version (git-version "5.2" revision commit)) @@ -325,17 +335,19 @@ for possible workarounds.") (uri (git-reference (url "https://github.com/linux-rockchip/rkflashtool") (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ndyzg1zlgg20dd8js9kfqm5kq19k005vddkvf65qj20w0pcyahn")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0s4zir2s0c3igplj42lq7bq0f0416nf9hrprbxzm87c9mvsdhyvv")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure)) ; no configure - #:make-flags (list (string-append "PREFIX=" %output)) - #:tests? #f)) ; no tests + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure)) ; no configure + #:make-flags + #~(list (string-append "PREFIX=" #$output)) + #:tests? #f)) ; no tests (native-inputs (list pkg-config)) (inputs @@ -399,30 +411,31 @@ referred to as the \"Odin 3 protocol\".") (package (name "ifdtool") (version "4.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/coreboot/coreboot") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0jidj29jh6p65d17k304wlzhxvp4p3c2namgcdwg2sxq8jfr0zlm")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://review.coreboot.org/coreboot") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jidj29jh6p65d17k304wlzhxvp4p3c2namgcdwg2sxq8jfr0zlm")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (list "CC=gcc" - "INSTALL=install" - (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/ifdtool") - #t)) - (delete 'configure)) ; no configure script - #:tests? #f)) ; no test suite - (home-page "https://github.com/corna/me_cleaner/") + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "INSTALL=install" + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/ifdtool"))) + (delete 'configure)) ; no configure script + #:tests? #f)) ; no test suite + (home-page "https://doc.coreboot.org/util/ifdtool/") (synopsis "Intel Firmware Descriptor dumper") (description "This package provides @command{ifdtool}, a program to dump Intel Firmware Descriptor data of an image file.") @@ -588,6 +601,52 @@ Additionally your user must be member of the @code{plugdev} group.") Unifinished Extensible Firmware Interface (UEFI) images.") (license license:bsd-2))) +(define-public openfpgaloader + (package + (name "openfpgaloader") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trabucayre/openfpgaloader") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00xr4dzd1mlc1k4rivh9ibmdlx6yizb016laad10dkhjqfz1ixhq")))) + (build-system cmake-build-system) + (native-inputs + (list pkg-config)) + (inputs (list eudev + hidapi + libftdi + libgpiod + libusb + zlib)) + (arguments + (list #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-rules + (lambda _ + (install-file + "../source/99-openfpgaloader.rules" + (string-append #$output "/lib/udev/rules.d/"))))))) + (synopsis "Utility for programming FPGA") + (description "This package provides a program to transfer a bitstream +to an FPGA. To use @code{openfpgaloader} without root privileges it is +necessary to install the necessary udev rules. This can be done by extending +@code{udev-service-type} in the @code{operating-system} configuration file with +this package, as in: +@lisp +(udev-rules-service 'openfpgaloader openfpgaloader #:groups '(\"plugdev\") +@end lisp +Additionally, the @samp{plugdev} group should be registered in the +@code{supplementary-groups} field of your @code{user-account} declaration. Refer +to @samp{info \"(guix) Base Services\"} for examples.") + (home-page "https://trabucayre.github.io/openFPGALoader/") + (license license:asl2.0))) + (define-public srecord (package (name "srecord") @@ -789,10 +848,14 @@ production use.") (native-inputs (list libxml2)) (inputs (list eudev)) (arguments - `(#:tests? #f ; No tests implemented - #:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "prefix=" %output)) - #:phases (modify-phases %standard-phases (delete 'configure)))) + (list + #:tests? #f ; No tests implemented + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (home-page "https://git.linaro.org/landing-teams/working/qualcomm/qdl") (synopsis "Qualcomm EDL mode flashing tool") (description "This tool communicates with USB devices of id 05c6:9008 to diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index bf58efdbc74..fd8396eae91 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -34,8 +34,8 @@ ;;; Copyright © 2020 John Soo ;;; Copyright © 2020 Raghav Gururajan ;;; Copyright © 2020, 2021 Julien Lepiller -;;; Copyright © 2020, 2024 Zhu Zihao -;;; Copyright © 2020, 2021, 2022 Simen Endsjø +;;; Copyright © 2020, 2024, 2025 Zhu Zihao +;;; Copyright © 2020-2022, 2025 Simen Endsjø ;;; Copyright © 2020 Tim Van den Langenbergh ;;; Copyright © 2020 Nicolò Balzarotti ;;; Copyright © 2021 Antoine Côté @@ -47,7 +47,7 @@ ;;; Copyright © 2022 Kitzman ;;; Copyright © 2021 Wamm K. D. ;;; Copyright © 2022 Jai Vetrivelan -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Liliana Marie Prikler ;;; Copyright © 2022 Jose G Perez Taveras ;;; Copyright © 2022 Hilton Chain @@ -269,31 +269,33 @@ glyphset has also been extended, supporting now a wider number of languages.") (license license:silofl1.1)))) (define-public font-ibm-plex - (package - (name "font-ibm-plex") - (version "6.4.2") - ;; We prefer git-fetch since it lets us get the opentype, truetype and web - ;; fonts all in one download. The zip archive releases separate the - ;; opentype, truetype and web fonts into three separate archives. - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/IBM/plex") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "00lzbm1b7zbx5q3p0s8fh9q9zj6z4k01fn7n177iybh9xn4jgx0p")))) - (build-system font-build-system) - (outputs '("out" "ttf" "woff")) - (home-page "https://github.com/IBM/plex") - (synopsis "IBM Plex typeface") - (description - "This package provides the Plex font family. It comes in a Sans, Serif, + (let ((commit "89cba80dad75561262e758f4b6ddd474c5119796") + (revision "0")) + (package + (name "font-ibm-plex") + (version (git-version "6.4.2" revision commit)) + ;; We prefer git-fetch since it lets us get the opentype, truetype and web + ;; fonts all in one download. The zip archive releases separate the + ;; opentype, truetype and web fonts into three separate archives. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/IBM/plex") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ddc3471m2jhbdq7cfxnimsi4v31n69xlw8rxd2hyphyg79nqfrl")))) + (build-system font-build-system) + (outputs '("out" "ttf" "woff")) + (synopsis "IBM Plex typeface") + (description + "This package provides the Plex font family. It comes in a Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The fonts have been designed to work well in user interface (UI) environments as well as other mediums.") - (license license:silofl1.1))) + (home-page "https://github.com/IBM/plex") + (license license:silofl1.1)))) (define-public font-lilex (package @@ -990,41 +992,96 @@ terminal applications, and user interfaces that involve both Latin and Japanese text.") (license license:silofl1.1))) -(define-public font-cns11643 - ;; Since upstream doesn't provide any version numbers, the date of the last - ;; edit is used, taken from https://data.gov.tw/dataset/5961 - ;; XXX: The source is also updated in-place, so it may be desirable to mirror - ;; it elsewhere to avoid suddenly losing the current source file. +(define-public font-cns11643-sung (package - (name "font-cns11643") - (version "98.1.20180605") - (source (origin - (method url-fetch) - (uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip") - (sha256 - (base32 - "000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw")))) + (name "font-cns11643-sung") + (version "20250718") ; see https://www.cns11643.gov.tw/opendata/release.txt + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://web.archive.org/web/20250914051659if_/" + "https://cns11643.gov.tw/opendata/Fonts_Sung.zip")) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0b570p5jnw4bqhapalascrx8z1ybgf1c9xj691f5g48pq1jxrhqb")))) (build-system font-build-system) - (home-page "http://www.cns11643.gov.tw/AIDB/welcome.do") - (synopsis "CJK TrueType fonts, TW-Kai and TW-Sung") + (home-page "https://www.cns11643.gov.tw") + (synopsis "CJK TrueType fonts, TW-Sung") (description "@code{CNS 11643} character set (Chinese National Standard, or Chinese Standard Interchange Code) is the standard character set of the Republic of China (Taiwan) for Chinese Characters and other Unicode symbols. Contained -are six TrueType fonts based on two script styles, Regular script (Kai), and -Sung/Ming script, each with three variants: +are three variant of TrueType fonts in Sung/Ming script: @itemize -@item @code{CNS 11643} (@code{TW-Kai} and @code{TW-Sung}): Tens of thousands -of CJK characters from frequency tables published by the Taiwanese -Ministry of Education. ISO 10646 and Unicode compatible encoding. -@item @code{Big-5 Plus}: Several thousand frequently used CJK characters -encoded in the user defined area of the Big-5 code. -@item @code{Big-5 Extended}: A Big-5 character set based on the -@code{Big-5 Plus} and @code{CNS 11643} character sets. +@item @code{TW-Sung-98_1.ttf}: CJK characters in the Basic Multilingual Plane +of Unicode. +@item @code{TW-Sung-Ext-B-98_1.ttf}: CJK characters in the CJK Unified +Ideographs Extension B of Unicode. +@item @code{TW-Sung-Plus-98_1.ttf}: CJK characters in the Plane 15 (Private Use) +of Unicode. @end itemize\n") - (license (license:non-copyleft - "http://data.gov.tw/license")))) ; CC-BY 4.0 compatible + (license license:silofl1.1))) + +(define-public font-cns11643-kai + (package + (inherit font-cns11643-sung) + (name "font-cns11643-kai") + (version "20250718") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://web.archive.org/web/20250914051659if_/" + "https://cns11643.gov.tw/opendata/Fonts_Kai.zip")) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "10xylq0p8qhi8rlq62rhnfskfy6kdlh4ay8v7sp28xxl2291ll1j")))) + (synopsis "CJK TrueType fonts, TW-Kai") + (description + "@code{CNS 11643} character set (Chinese National Standard, or Chinese +Standard Interchange Code) is the standard character set of the Republic of +China (Taiwan) for Chinese Characters and other Unicode symbols. Contained +are three variant of TrueType fonts in Regular script (Kai): + +@itemize +@item @code{TW-Kai-98_1.ttf}: CJK characters in the Basic Multilingual Plane +of Unicode. +@item @code{TW-Kai-Ext-B-98_1.ttf}: CJK characters in the CJK Unified +Ideographs Extension B of Unicode. +@item @code{TW-Kai-Plus-98_1.ttf}: CJK characters in the Plane 15 (Private Use) +of Unicode. +@end itemize\n"))) + +;; In past, TW-Kai and TW-Sung are distributed in same zip archive. But now +;; they are already separated in font-cns11643-kai and font-cns11643-sung. +;; This package exists as a backward-compatible definition. +(define-public font-cns11643 + (package + (inherit font-cns11643-sung) + (name "font-cns11643") + (source #f) + (build-system trivial-build-system) + (arguments + (list + #:modules '((guix build union)) + #:builder + #~(begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build #$output directories)))))) + (inputs (list font-cns11643-kai font-cns11643-sung)) + (synopsis "CJK TrueType fonts, TW-Kai and TW-Sung") + (description + "@code{CNS 11643} character set (Chinese National Standard, or Chinese +Standard Interchange Code) is the standard character set of the Republic of +China (Taiwan) for Chinese Characters and other Unicode symbols. + +This package is an amalgamation of @code{font-cns11643-sung} and +@code{font-cns11643-kai}."))) (define-public font-cns11643-swjz (package @@ -2238,7 +2295,7 @@ guix repl < ;;; Copyright © 2020 Roel Janssen ;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou -;;; Copyright © 2021-2024 Maxim Cournoyer +;;; Copyright © 2021-2024 Maxim Cournoyer ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Felipe Balbi ;;; Copyright © 2023 gemmaro diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm deleted file mode 100644 index 430b93a278c..00000000000 --- a/gnu/packages/fpga.scm +++ /dev/null @@ -1,963 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Danny Milosavljevic -;;; Copyright © 2016, 2017 Theodoros Foradis -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice -;;; Copyright © 2019 Amin Bandali -;;; Copyright © 2020 Vinicius Monego -;;; Copyright © 2021 Andrew Miloradovsky -;;; Copyright © 2022 Christian Gelinek -;;; Copyright © 2022 jgart -;;; Copyright © 2023 Simon South -;;; Copyright © 2024 Efraim Flashner -;;; Copyright © 2024 Jakob Kirsch -;;; Copyright © 2025 Zheng Junjie <873216071@qq.com> -;;; Copyright © 2025 Cayetano Santos -;;; Copyright © 2025 Maxim Cournoyer -;;; -;;; 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 . - -(define-module (gnu packages fpga) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix gexp) - #:use-module (guix packages) - #:use-module (guix deprecation) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system glib-or-gtk) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix build-system meson) - #:use-module (guix build-system python) - #:use-module (guix build-system pyproject) - #:use-module (guix build-system qt) - #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages algebra) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) - #:use-module (gnu packages bison) - #:use-module (gnu packages boost) - #:use-module (gnu packages check) - #:use-module (gnu packages cmake) - #:use-module (gnu packages compression) - #:use-module (gnu packages cpp) - #:use-module (gnu packages electronics) - #:use-module (gnu packages elf) - #:use-module (gnu packages flex) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gawk) - #:use-module (gnu packages gdb) - #:use-module (gnu packages gettext) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages glib) - #:use-module (gnu packages gperf) - #:use-module (gnu packages graphviz) - #:use-module (gnu packages gtk) - #:use-module (gnu packages libffi) - #:use-module (gnu packages libftdi) - #:use-module (gnu packages libusb) - #:use-module (gnu packages linux) - #:use-module (gnu packages llvm) - #:use-module (gnu packages man) - #:use-module (gnu packages maths) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages python-build) - #:use-module (gnu packages python-check) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages ruby) - #:use-module (gnu packages qt) - #:use-module (gnu packages readline) - #:use-module (gnu packages sphinx) - #:use-module (gnu packages tcl) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages toolkits) - #:use-module (gnu packages version-control) - #:use-module (gnu packages web)) - -(define-public abc - (let ((commit "e29dcd9f3275874c8d31a2f781487efac1dabb7b") - (revision "6")) - (package - (name "abc") - (version (git-version "0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/berkeley-abc/abc") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "18g4i1kdsxvp25p5z3wja4jkxppgrp6ybxal9y2p2d2qvlafiw5z")))) - (build-system gnu-build-system) - (inputs - (list readline)) - (arguments - (list #:license-file-regexp "copyright.txt" - #:tests? #f ; no tests - #:phases - #~(modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda _ - (install-file "abc" (string-append #$output "/bin"))))))) - (home-page "https://people.eecs.berkeley.edu/~alanmi/abc/") - (synopsis "Sequential logic synthesis and formal verification") - (description "ABC is a program for sequential logic synthesis and -formal verification.") - (license - (license:non-copyleft - "https://people.eecs.berkeley.edu/~alanmi/abc/copyright.htm"))))) - -(define-public abc-yosyshq - (package - (inherit abc) - (name "abc-yosyshq") - (version "0.57") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/YosysHQ/abc/") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "191hsznsmsjn8100n50qsh3ng8wgrnyfhr7qcnb8yskiwqp37pjh")))) - (home-page "https://github.com/YosysHQ/abc/") - (description "ABC is a program for sequential logic synthesis and -formal verification. This is the Yosyshq fork of ABC.") - (license (license:non-copyleft "file:///copyright.txt")))) - -(define-public apycula - (package - (name "apycula") - (version "0.24") - ;; The pypi tar.gz file includes the necessary .pickle files, not available - ;; in the home-page repository. - (source - (origin - (method url-fetch) - (uri (pypi-uri "apycula" version)) - (sha256 - (base32 "1mlasq8lf90jcdwp4sk5a834bbmnnfxk2gswwcw83ypg75lli1gw")))) - (build-system pyproject-build-system) - (arguments (list #:tests? #f)) ;requires Gowin EDA tools - (inputs (list python-crc)) - (native-inputs (list python-setuptools python-wheel)) - (home-page "https://github.com/YosysHQ/apicula/") - (synopsis "Gowin FPGA bitstream format") - (description - "The project Apycula provides tools to support development and -generating bitstreams with Gowin FPGAs.") - (license license:expat))) - -(define-public iverilog - (package - (name "iverilog") - (version "12.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/steveicarus/iverilog") - (commit - (string-append "v" (string-replace-substring version "." "_"))))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1cm3ksxyyp8ihs0as5c2nk3a0y2db8dmrrw0f9an3sl255smxn17")))) - (build-system gnu-build-system) - (arguments - (list - #:bootstrap-scripts #~(list "autoconf.sh") - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'ensure-native-baked-CC/CXX - (lambda _ - ;; The compilers used to build are retained in - ;; bin/iverilog-vpi, which is a Makefile - ;; script. Normalize these to just 'gcc' and 'g++' to - ;; avoid having these set to cross compilers. - (substitute* "Makefile.in" - (("s;@IVCC@;\\$\\(CC);") - "s;@IVCC@;gcc;") - (("s;@IVCXX@;\\$\\(CXX);") - "s;@IVCXX@;g++;"))))))) - (native-inputs (list autoconf bison flex gperf)) - (inputs (list zlib)) - (home-page "https://steveicarus.github.io/iverilog/") - (synopsis "FPGA Verilog simulation and synthesis tool") - (description - "Icarus Verilog is a Verilog simulation and synthesis tool. -It operates as a compiler, compiling source code written in Verilog -(IEEE-1364) into some target format. -For batch simulation, the compiler can generate an intermediate form -called vvp assembly. -This intermediate form is executed by @command{vvp}. -For synthesis, the compiler generates netlists in the desired format.") - ;; GPL2 only because of: - ;; - ./driver/iverilog.man.in - ;; - ./iverilog-vpi.man.in - ;; - ./tgt-fpga/iverilog-fpga.man - ;; - ./vvp/vvp.man.in - ;; Otherwise would be GPL2+. - ;; You have to accept both GPL2 and LGPL2.1+. - (license (list license:gpl2 license:lgpl2.1+)))) - -(define-public yosys - (package - (name "yosys") - (version "0.57") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/YosysHQ/yosys") - (commit (string-append "v" version)))) - (sha256 - (base32 "0bix5zlv9zp9fxqpn9l9bdw65xrgih5w0csq1xkkhm2c7p3vqjbb")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - (list - #:test-target "test" - #:make-flags - #~(list (string-append "CC=" - #$(cc-for-target)) - (string-append "CXX=" - #$(cxx-for-target)) - (string-append "PREFIX=" - #$output)) - #:phases - #~(modify-phases %standard-phases - (add-before 'configure 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "backends/smt2/smtio.py" - (("\\['z3") - (string-append "['" - (search-input-file inputs "bin/z3")))) - (substitute* "kernel/fstdata.cc" - (("vcd2fst") - (search-input-file inputs "bin/vcd2fst"))) - (substitute* "kernel/driver.cc" - (("^#include \"libs/cxxopts/include/cxxopts.hpp\"") - "#include ")) - (substitute* '("passes/cmds/show.cc" "passes/cmds/viz.cc") - (("exec xdot") - (string-append "exec " - (search-input-file inputs "bin/xdot"))) - (("dot -") - (string-append (search-input-file inputs "bin/dot") " -")) - (("fuser") - (search-input-file inputs "bin/fuser"))))) - (replace 'configure - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "config-gcc" make-flags))) - (add-after 'configure 'use-external-abc - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("Makefile") - (("ABCEXTERNAL \\?=") - (string-append "ABCEXTERNAL = " - (search-input-file inputs "/bin/abc")))))) - (add-after 'install 'add-symbolic-link - (lambda* (#:key inputs #:allow-other-keys) - ;; Previously this package provided a copy of the "abc" - ;; executable in its output, named "yosys-abc". Create a - ;; symbolic link so any external uses of that name continue to - ;; work. - (symlink (search-input-file inputs "/bin/abc") - (string-append #$output "/bin/yosys-abc")))) - (add-after 'install 'keep-pmgen-py - (lambda* (#:key inputs #:allow-other-keys) - ;; pmgen.py is required by some yosys plugins. - (install-file (search-input-file inputs - "/passes/pmgen/pmgen.py") - (string-append #$output "/bin")))) - (add-after 'install 'wrap - (lambda* (#:key inputs #:allow-other-keys) - (wrap-program (string-append #$output "/bin/yosys-witness") - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH"))))))))) - (native-inputs (list bison - cxxopts ;header-only library - flex - gawk ;for the tests and "make" progress pretty-printing - iverilog ;for the tests - pkg-config - python - tcl)) ;tclsh for the tests - (inputs (list abc-yosyshq - bash-minimal - graphviz - gtkwave - libffi - psmisc - python - python-click - readline - tcl - xdot - z3 - zlib)) - (home-page "https://yosyshq.net/yosys/") - (synopsis "FPGA Verilog RTL synthesizer") - (description "Yosys synthesizes Verilog-2005.") - (license license:isc))) - -(define-public yosys-clang - (package - (inherit yosys) - (name "yosys-clang") - (arguments - (substitute-keyword-arguments (package-arguments yosys) - ((#:make-flags _ #f) - #~(list "CC=clang" - "CXX=clang++" - (string-append "PREFIX=" #$output))) - ((#:phases phases) - #~(modify-phases #$phases - (replace 'configure - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "config-clang" make-flags))))))) - (inputs - (modify-inputs (package-inputs yosys) - (append clang))) - (synopsis "FPGA Verilog RTL synthesizer (Clang variant)"))) - -(define-public icestorm - (let ((commit "3cdcf4b009bb8681ab7e2e09d65043f04334b60e") - (revision "5")) - (package - (name "icestorm") - (version (git-version "0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/YosysHQ/icestorm/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ygp6cj7grlnyji572kx215p2mw4crllskif9g795f390bp38g68")))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ;avoid a cyclic dependency with nextpr-ice40 - #:make-flags - #~(list (string-append "CC=" - #$(cc-for-target)) - (string-append "CXX=" - #$(cxx-for-target)) - (string-append "PREFIX=" - #$output) - "ICEPROG=1") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-usr-local - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "icepack/Makefile" - (("/usr/local") - #$output)) - (substitute* "icebox/Makefile" - (("/usr/local") - #$output)) - (substitute* "icebox/icebox_vlog.py" - (("/usr/local") - #$output)))) - (add-after 'build 'make-info - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion "docs" - (invoke "make" "info") - (install-file "build/texinfo/projecticestorm.info" - (string-append #$output "/share/info")) - (copy-recursively "build/texinfo/projecticestorm-figures" - (string-append #$output - "/share/info/projecticestorm-figures"))))) - (delete 'configure)))) - (inputs (list libftdi)) - (native-inputs (list pkg-config - python - python-sphinx - python-sphinx-rtd-theme - texinfo)) - (home-page "https://prjicestorm.readthedocs.io/") - (synopsis "Bitstream tools for Lattice iCE40 FPGAs") - (description - "Project IceStorm aims at documenting the bitstream format of -Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream -files.") - (license license:isc)))) - -(define-public libfst - ;; There are no release nor tags. - (let ((commit "6a52070cd62ec65c29832bc95e7db493504aa7ac") - (revision "0")) - (package - (name "libfst") - (version (git-version "1.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gtkwave/libfst/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0b1r660m5aib316jjl4nhs10y7vhhqy2mvxjip3ynahig3hpi46z")))) - (build-system meson-build-system) - (native-inputs (list gobject-introspection pkg-config)) - (inputs (list bzip2)) - (propagated-inputs (list zlib)) ;in Requires.private of libfst.pc - (synopsis "Fast Signal Trace (FST) format waveforms library") - (description "Libfst is a small library used to read and write -@acronym{FST, Fast Signal Trace} format waveforms.") - (home-page "https://github.com/gtkwave/libfst/") - (license (list license:expat ;libfst and fastlz-derived sources - license:bsd-2))))) ;for lz4-derived sources - -(define-public nextpnr - ;; Necessary for compatibility with latest apycula. - ;; TODO: Remove with release 0.9. - (let ((commit "d796cc720b60ccc18580c686d93c8751fe461532") - (revision "0")) - (package - (name "nextpnr") - (version (git-version "0.8" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/YosysHQ/nextpnr/") - (commit commit) - ;; XXX: Fetch some bundled libraries such as QtPropertyBrowser, - ;; json11 and python-console, which have custom modifications or - ;; no longer have their original upstream. - (recursive? #t))) - (file-name (git-file-name name version)) - (modules '((guix build utils) - (ice-9 ftw) - (srfi srfi-26))) - (snippet - '(begin - ;; XXX: 'delete-all-but' is copied from the turbovnc package. - (define (delete-all-but directory . preserve) - (with-directory-excursion directory - (let* ((pred (negate (cut member <> - (cons* "." ".." preserve)))) - (items (scandir "." pred))) - (for-each (cut delete-file-recursively <>) items)))) - (delete-all-but "3rdparty" - ;; The following sources have all been patched, so - ;; cannot easily be unbundled. - "QtPropertyBrowser" - "json11" - "python-console" - "oourafft"))) - (patches (search-patches "nextpnr-gtest.patch" - "nextpnr-imgui.patch")) - (sha256 - (base32 "1arj25vad76wg6b5yaaky4cby5zp9v92pdd4y3l0kxi7wvxhmmya")))) - (build-system qt-build-system) - (arguments - (list - #:cmake cmake ;CMake 3.25 or higher is required. - #:configure-flags - ;; TODO: enable more architectures? - #~(list "-DARCH=generic;ice40;ecp5;himbaechel" - "-DBUILD_GUI=ON" - "-DUSE_OPENMP=ON" - "-DBUILD_TESTS=ON" - "-DHIMBAECHEL_UARCH=ng-ultra;gowin" - "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra" - "-DHIMBAECHEL_SPLIT=ON" - "-DHIMBAECHEL_PRJBEYOND_DB=/tmp/prjbeyond-db" - (string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version) - (string-append "-DICESTORM_INSTALL_PREFIX=" - #$(this-package-input "icestorm")) - (string-append "-DTRELLIS_INSTALL_PREFIX=" - #$(this-package-input "prjtrellis")) - "-DUSE_IPO=OFF") - #:phases - #~(modify-phases %standard-phases - ;; Required by himbaechel architecture, ng-ultra support. - (add-after 'unpack 'get-prjbeyond-db - (lambda _ - (copy-recursively - #$(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/yosyshq-GmbH/prjbeyond-db/") - ;; We take latest commit, as indicated in nextpnr’s - ;; README.md file - (commit "06d3b424dd0e52d678087c891c022544238fb9e3"))) - (sha256 - (base32 - "17dd3cgms2fy6xvz7magdmvv92km4cqh2kz9dyjrvz5y8caqav4y"))) - "/tmp/prjbeyond-db"))) - (add-after 'unpack 'unbundle-sanitizers-cmake - (lambda _ - (substitute* "CMakeLists.txt" - ;; Use the system sanitizers-cmake module. This is made - ;; necessary 'sanitizers-cmake' installing a FindPackage - ;; module but no CMake config file. - (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake") - (string-append - #$(this-package-native-input "sanitizers-cmake") - "/share/sanitizers-cmake/cmake")))))))) - (native-inputs - (list googletest - sanitizers-cmake)) - (inputs - (list apycula - boost - corrosion - eigen - icestorm - prjtrellis - pybind11 - python - qtbase-5 - qtwayland-5 - qtimgui - yosys)) - (synopsis "Place-and-Route tool for FPGAs") - (description "Nextpnr is a portable FPGA place and route tool.") - (home-page "https://github.com/YosysHQ/nextpnr/") - (license license:isc)))) - -(define-public nextpnr-ice40 - (deprecated-package "nextpnr-ice40" nextpnr)) - -(define-public gtkwave - ;; The last release is more than 2 years old, and there are improvements in - ;; the master branch, such as GTK 4 support: pick the latest commit that - ;; passes their CI. - (let ((commit "bb978d9d667d569b9153ffa34007e300302907dc") - (revision "0")) - (package - (name "gtkwave") - ;; The version string can be found in meson.build. - (version (git-version "3.4.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gtkwave/gtkwave") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1nv27cpz5937cb6bkhpw8w0ji6hm9xr8f0znvfwzfl1fwwypf23y")))) - (build-system meson-build-system) - (arguments (list #:glib-or-gtk? #t)) - (native-inputs (list desktop-file-utils - flex - `(,glib "bin") ;for glib-mkenums - gobject-introspection - gperf - `(,gtk "bin") - pkg-config)) - (inputs (list gtk gtk+ libfst)) - (synopsis "Waveform viewer for FPGA simulator trace files") - (description "This package is a waveform viewer for @acronym{FST, FPGA -Simulator Trace} files.") - (home-page "https://github.com/gtkwave/gtkwave") - ;; Exception against free government use in tcl_np.c and tcl_np.h. - (license (list license:gpl2+ license:expat license:tcl/tk))))) - -(define-public python-migen - ;; XXX: The latest version tag (0.9.2) was placed in 2019, there are latest - ;; changes supporting Python 3.11 on master branch, see - ;; . - (let ((commit "6e3a9e150fb006dabc4b55043d3af18dbfecd7e8") - (revision "1")) - (package - (name "python-migen") - (version (git-version "0.9.2" revision commit)) - (source - (origin - ;; Tests fail in the PyPI tarball due to missing files. - (method git-fetch) - (uri (git-reference - (url "https://github.com/m-labs/migen") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1hibhjnj5b3ka5y4nnqx9zp5w730gfqfa3r5injpa14i4cz6bj1n")))) - (build-system pyproject-build-system) - (native-inputs - (list python-pytest - python-setuptools-next)) - (propagated-inputs - (list python-colorama)) - (home-page "https://m-labs.hk/gateware/migen/") - (synopsis "Python toolbox for building complex digital hardware") - (description - "Migen FHDL is a Python library that replaces the event-driven paradigm -of Verilog and VHDL with the notions of combinatorial and synchronous -statements, has arithmetic rules that make integers always behave like -mathematical integers, and allows the design's logic to be constructed by a -Python program.") - (license license:bsd-2)))) - -(define-public python-myhdl - (let ((commit "7dc29c242cd33cb835c336a81ffc3a461eaa92f4") - (revision "0")) - (package - (name "python-myhdl") - (version (git-version "0.11" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/myhdl/myhdl/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1b91yvr0ksrw3bx61i7914caf8pyks9c242kwmj4l12zjd06mp56")))) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "make" "iverilog" "core"))))))) - (build-system pyproject-build-system) - (native-inputs - (list iverilog python-setuptools-next python-pytest)) - (home-page "http://www.myhdl.org/") - (synopsis "Python as a Hardware Description Language") - (description "This package provides a library to turn Python into -a hardware description and verification language.") - (license license:lgpl2.1+)))) - -(define-public python-vunit - (package - (name "python-vunit") - (version "5.0.0-dev.6") ;v4.7.0 dates back from 2 years ago. - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/VUnit/vunit") - (commit (string-append "v" version)) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0zm7733g7ivcx6y00bigvqzkxa2i46sw4pb5k1n3lfbqvsjymshh")))) - (build-system pyproject-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-ghdl-jit - (lambda _ - ;; TODO: Remove when fixed upstream (see: - ;; https://github.com/VUnit/vunit/pull/1121). - (substitute* "vunit/sim_if/ghdl.py" - ((": \"llvm\",") - (string-append - ": \"llvm\",\n\tr\"static elaboration, LLVM JIT code " - "generator\": \"llvm-jit\",")))))) - #:test-flags - ;; Skip lint tests which require python-pycodestyle, python-pylint and - ;; python-mypy to reduce closoure size; some lint test fails, see - ;; . - ;; - ;; XXX: Acceptance tests take 10+ minutes to complete, hang on - ;; "test_external_run_scripts.py" and fail eventually, consider to - ;; improve them; ignore for now. - #~(list "tests/unit"))) - (native-inputs - (list nvc - python-pytest - python-setuptools - python-setuptools-scm - python-wheel)) - (propagated-inputs - (list python-colorama)) - (home-page "https://vunit.github.io") - (synopsis "Unit testing framework for VHDL/SystemVerilog") - (description - "VUnit features the functionality needed to realize continuous and -automated testing of HDL code.") - ;; According to 'LICENSE.rst', VUnit itself is under MPL but two - ;; subdirectories are under ASL. - (license (list license:mpl2.0 license:asl2.0)))) - -(define-public nvc - (package - (name "nvc") - (version "1.17.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nickg/nvc") - (commit (string-append "r" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0hr5y9ys5kf096x18mh10wwqa0hbzlmdj7pyayc6szsjla1d3mk0")))) - (build-system gnu-build-system) - (arguments - (list #:out-of-source? #t - #:configure-flags - #~(list "--enable-tcl" - "--enable-llvm" - "--enable-verilog" - "--enable-vital" - "--enable-server" - "--with-ncurses" - "--enable-parallel-make" - "--enable-vital" - (string-append "--with-bash-completion=" #$output - "/share/bash-completion/completions")) - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'clean-up - (lambda _ - (delete-file "autogen.sh")))))) - (native-inputs - (list automake - autoconf - check ; for the tests - flex - gettext-minimal - libtool - pkg-config - python-minimal - which)) - (inputs - (list jansson - libffi - llvm - readline - tcl - `(,zstd "lib"))) - (synopsis "VHDL compiler and simulator") - (description "This package provides a VHDL compiler and simulator.") - (home-page "https://www.nickg.me.uk/nvc/") - (license license:gpl3+))) - -(define-public systemc - (package - (name "systemc") - (version "3.0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/accellera-official/systemc") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1c8brlv3702p2ivifai9929bg20y30jb301ap0gdmz305q8mcb33")))) - (native-inputs (list perl)) - (build-system cmake-build-system) - (arguments - (list - #:modules '((guix build cmake-build-system) - ((guix build gnu-build-system) #:prefix gnu:) - (guix build utils)) - #:phases - #~(modify-phases %standard-phases - (replace 'check (assoc-ref gnu:%standard-phases 'check))))) - (home-page "https://systemc.org/") - (synopsis "Library for event-driven simulation") - (description - "SystemC is a C++ library for modeling concurrent systems, and the -reference implementation of IEEE 1666-2011. It provides a notion of timing as -well as an event-driven simulations environment. Due to its concurrent and -sequential nature, SystemC allows the description and integration of complex -hardware and software components. To some extent, SystemC can be seen as -a Hardware Description Language. However, unlike VHDL or Verilog, SystemC -provides sophisticated mechanisms that offer high abstraction levels on -components interfaces. This, in turn, facilitates the integration of systems -using different abstraction levels.") - ;; homepages.cae.wisc.edu/~ece734/SystemC/Esperan_SystemC_tutorial.pdf - (license license:asl2.0))) - -(define-public verilator - (package - (name "verilator") - (version "5.040") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/verilator/verilator/") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0xw2w7fikli3jffwd819rx8bwbh3zsymhrn3zbq34glklff07rsb")))) - (native-inputs - (list autoconf - automake - bison - cmake-minimal - flex - gdb/pinned - gettext-minimal - help2man - python-distro - python-minimal - which)) - (inputs - (list perl python systemc)) - (build-system gnu-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (replace 'bootstrap - (lambda _ (invoke "autoconf"))) - (add-after 'unpack 'adjust-source - (lambda _ - (substitute* "bin/verilator" - (("/bin/echo") "echo")))) - (add-before 'check 'set-SYSTEMC_ROOT - (lambda _ - (setenv "SYSTEMC_ROOT" #$(this-package-input systemc)))) - (add-before 'check 'disable-gdb-safe-path - (lambda _ - (setenv "HOME" (getcwd)) - (mkdir-p (string-append (getcwd) "/.config/gdb")) - (with-output-to-file - (string-append (getcwd) "/.config/gdb/gdbinit") - (lambda () - (display "set auto-load safe-path /")))))) - #:test-target "test")) - (home-page "https://www.veripool.org/verilator/") - (synopsis "Verilog/SystemVerilog simulator") - (description - "Verilator transforms the specified Verilog or SystemVerilog code by -reading it, performing lint checks, and optionally inserting assertion checks -and coverage-analysis points. It outputs single- or multi-threaded -@file{.cpp} and @file{.h} files.") - (license license:lgpl3))) - -(define-public fftgen - (let ((commit "3378b77d83a98b06184656a5cb9b54e50dfe4485") ;no releases - (revision "1")) - (package - (name "fftgen") - (version (git-version "0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ZipCPU/dblclockfft") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rvln871wjkbbqnv88jnx328xlhn5sgbr8fglk3ajnd9rwgiq3jg")))) - (build-system gnu-build-system) - (arguments - (list - #:test-target "bench-test" - #:make-flags #~(list "CFLAGS=-g -O2") ;default flags lack -O2 - #:phases - #~(modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda _ - (install-file "sw/fftgen" - (string-append #$output "/bin"))))))) - (native-inputs (list bc fftw python-minimal verilator which)) - (synopsis "Generic pipelined FFT core generator") - (description "fftgen produces @acronym{FFT, fast-Fourier transforms} -hardware designs in Verilog.") - (home-page "https://github.com/ZipCPU/zipcpu/") - (license license:lgpl3+)))) - -(define-public openfpgaloader - (package - (name "openfpgaloader") - (version "0.13.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/trabucayre/openfpgaloader") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1p5qvr0bq27rp7f20ysjml7zy4bbwjx3s4yd5qjsg4b01mw4hbiq")))) - (build-system cmake-build-system) - (native-inputs - (list pkg-config)) - (inputs (list eudev - hidapi - libftdi - libgpiod - libusb - zlib)) - (arguments - (list #:tests? #f ;no test suite - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'install-rules - (lambda _ - (install-file - "../source/99-openfpgaloader.rules" - (string-append #$output "/lib/udev/rules.d/"))))))) - (synopsis "Utility for programming FPGA") - (description "This package provides a program to transfer a bitstream -to an FPGA. To use @code{openfpgaloader} without root privileges it is -necessary to install the necessary udev rules. This can be done by extending -@code{udev-service-type} in the @code{operating-system} configuration file with -this package, as in: -@lisp -(udev-rules-service 'openfpgaloader openfpgaloader #:groups '(\"plugdev\") -@end lisp -Additionally, the @samp{plugdev} group should be registered in the -@code{supplementary-groups} field of your @code{user-account} declaration. Refer -to @samp{info \"(guix) Base Services\"} for examples.") - (home-page "https://trabucayre.github.io/openFPGALoader/") - (license license:asl2.0))) - -(define-public python-hdlmake - (let ((commit "c56cb8efa2000d06cec698f0149bc4ca4ef4e5bc") - (revision "3")) - (package - (name "python-hdlmake") - (version (git-version "3.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/ohwr/project/hdl-make/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1w4b0g015rzfypr8sjyr8xqij6s2p5qxhxraswrhjvg1w86b6s36")))) - (build-system pyproject-build-system) - (arguments (list #:phases #~(modify-phases %standard-phases - (add-before 'check 'chdir - (lambda _ - (chdir "testsuite")))) - #:test-flags #~(list "test_all.py"))) - (native-inputs (list python-pytest python-setuptools-next)) - (propagated-inputs (list python-networkx python-six)) - (home-page "https://ohwr.gitlab.io/project/hdl-make/") - (synopsis "Generate multi-purpose makefiles for HDL projects") - (description - "Hdlmake helps manage and share @acronym{HDL, hardware description -language} code by automatically finding file dependencies, writing synthesis -and simulation Makefiles.") - (license license:gpl3+)))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 38186bf8aad..877504b014d 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2021 Robby Zambito ;;; Copyright © 2021, 2022, 2023 Maxime Devos ;;; Copyright © 2021, 2022, 2024 John Kehayias -;;; Copyright © 2021-2025 Maxim Cournoyer +;;; Copyright © 2021-2025 Maxim Cournoyer ;;; Copyright © 2022 Daniel Meißner ;;; Copyright © 2022 Wamm K. D. ;;; Copyright © 2022 Petr Hodina @@ -154,7 +154,7 @@ (define-public appstream (package (name "appstream") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) @@ -163,7 +163,7 @@ "appstream/releases/" "AppStream-" version ".tar.xz")) (sha256 - (base32 "195snvg2jw5ywqxz02xfb570yhxvaqp9d4w5a2lpay2fck7zddjs")))) + (base32 "08aijy6mfyd9cc7b7gk0610w6rqr5xwpva0fg77z1mdbi6gd43nf")))) (build-system meson-build-system) (arguments (list @@ -612,19 +612,22 @@ Directory Specification.") (define-public xdg-utils (package (name "xdg-utils") - (version "1.1.3") + (version "1.2.1") (source (origin - (method url-fetch) - (uri (string-append - "https://portland.freedesktop.org/download/xdg-utils-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/xdg/xdg-utils.git/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1nai806smz3zcb2l5iny4x7li0fak0rzmjg6vlyhdqm8z25b166p")))) + "0hnb523hiz8wy6gffapys6vw7h1xq50li0s31mvyv4v5nmp2bhg7")))) (build-system gnu-build-system) (native-inputs - (list docbook-xsl docbook-xml-4.1.2 + (list docbook-xsl + docbook-xml-4.1.2 + docbook-xml-4.3 libxslt xmlto w3m-for-tests)) (inputs (list bash-minimal ;for 'wrap-program' @@ -644,27 +647,27 @@ Directory Specification.") ,@%default-gnu-modules) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'patch-hardcoded-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "scripts/xdg-mime.in" - (("/usr/bin/file") - (search-input-file inputs "bin/file"))) - (substitute* "scripts/xdg-open.in" - (("/usr/bin/printf") - (search-input-file inputs "bin/printf"))))) - (add-after 'install 'wrap-executables - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((dependencies '("awk" "grep" "hostname" "ls" "mimeopen" - "sed" "xprop" "xset")) - (pkgs (map (lambda (cmd) - (search-input-file inputs - (string-append "bin/" cmd))) - dependencies)) - (bindirs (map dirname pkgs))) - (with-directory-excursion (string-append #$output "/bin") - (for-each (cute wrap-program <> - `("PATH" ":" prefix ,bindirs)) - (find-files "."))))))))) + (add-after 'unpack 'patch-hardcoded-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "scripts/xdg-mime.in" + (("/usr/bin/file") + (search-input-file inputs "bin/file"))) + (substitute* "scripts/xdg-open.in" + (("/usr/bin/printf") + (search-input-file inputs "bin/printf"))))) + (add-after 'install 'wrap-executables + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((dependencies '("awk" "grep" "hostname" "ls" "mimeopen" + "sed" "xprop" "xset")) + (pkgs (map (lambda (cmd) + (search-input-file inputs + (string-append "bin/" cmd))) + dependencies)) + (bindirs (map dirname pkgs))) + (with-directory-excursion (string-append #$output "/bin") + (for-each (cute wrap-program <> + `("PATH" ":" prefix ,bindirs)) + (find-files "."))))))))) (home-page "https://www.freedesktop.org/wiki/Software/xdg-utils/") (synopsis "Freedesktop.org scripts for desktop integration") (description "The xdg-utils package is a set of simple scripts that @@ -676,7 +679,7 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.26.2") + (version "1.29.1") (source (origin (method git-fetch) (uri (git-reference @@ -685,7 +688,7 @@ freedesktop.org project.") (file-name (git-file-name name version)) (sha256 (base32 - "1zwwq7a0a6yznc6jxhp6gb50yw5vpfkvgbrabrpc5pwldpckfbrg")))) + "11n2vqkdz40vbqdjwm19i7rv2lzqf4i7anlla0havf7h0glqin60")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") @@ -732,21 +735,6 @@ other applications that need to directly deal with input devices.") "-Ddebug-gui=false" ;requires gtk+@3 ,flags)))))) -;; TODO: Remove this package when libinput-minimal >= 1.28 -(define-public libinput-minimal-next - (package/inherit libinput-minimal - (name "libinput-minimal") - (version "1.28.903") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.freedesktop.org/libinput/libinput.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0i5yljdff4fjchpa8ifscbcssnmiim58ai1zy3v41vim2illprv5")))))) - (define-public libei (package (name "libei") @@ -3433,14 +3421,14 @@ interfaces.") (define-public xdg-desktop-portal-kde (package (name "xdg-desktop-portal-kde") - (version "6.3.4") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "0888kybi3xqp45chlvh5w43rs4jw0z9kmn1pslfp5b1dkmkjzijr")))) + "09zwq52wyr2wj5zvgqrzi02xcy610hrvqx1sb4ykps5b0ph73v1z")))) (build-system qt-build-system) (arguments (list #:tests? #f ;; colorschemetest test fail, because require dbus. diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 31398438a2c..f43608094e3 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -32,14 +32,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.6.15") + (version "1.6.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "1bwc5gz3985fly84ap1yq8jkddkf6s5px2dinmswxx9r8qsrr4nn")))) + "078i0ilsv4czzr2j0nwjafgqkrxc62cmf8rn9ady905nksxzdkjv")))) (build-system gnu-build-system) (arguments (append diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 12287be3582..3e61ae119a8 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -964,7 +964,7 @@ complex and interesting levels.") ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (inputs - `(("guile-sdl2" ,guile3.0-sdl2) + `(("guile-sdl2" ,guile-sdl2) ("guile" ,guile-3.0) ("pango" ,pango) ("sdl2" ,sdl2))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2536421f6c4..feba1a230cb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2395,7 +2395,7 @@ such as chess or stockfish.") (define-public gnubg (package (name "gnubg") - (version "1.07.001") + (version "1.08.003") (source (origin (method url-fetch) @@ -2403,10 +2403,10 @@ such as chess or stockfish.") version "-sources.tar.gz")) (sha256 (base32 - "07l2srlm05c99l4pppba8l54bnh000ns2rih5h8rzbcw84lrffbj")))) + "0yar8j6g2f1q9zz9m9ha9xzvjr6mwp2qrzwhp9ppizyg2fdrczbg")))) (build-system gnu-build-system) (inputs (list ;; XXX: Build with an older Pango for 'pango_font_get_hb_font' and - ;; 'pango_coverage_get_type'. Try removing this for versions > 1.07.001. + ;; 'pango_coverage_get_type'. Try removing this for versions > 1.08.003. pango-1.42 glib readline @@ -2415,10 +2415,10 @@ such as chess or stockfish.") glu gtkglext sqlite - libcanberra - libxcrypt)) ;required by Python.h - (native-inputs `(("python-2" ,python-2) - ("pkg-config" ,pkg-config))) + libcanberra)) + (native-inputs (list flex + python + pkg-config)) (arguments `(#:configure-flags ;; SSE instructions are available on Intel systems only. @@ -2777,7 +2777,7 @@ Every puzzle has a complete solution, although there may be more than one.") (define-public dsda-doom (package (name "dsda-doom") - (version "0.29.0") + (version "0.29.3") (source (origin (method git-fetch) @@ -2786,7 +2786,7 @@ Every puzzle has a complete solution, although there may be more than one.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1aki559nz1czlvzah1rdmpdcad4mswpp5gszfwxhil9x0hc3gj4r")))) + (base32 "1nhlwxwhs69ibsi873cdjanfdlpqcb4ybcp8c2j8j9l07xpgvk1n")))) (build-system cmake-build-system) (arguments (list @@ -11502,50 +11502,6 @@ player adaptability for character progression.") (modify-inputs (package-native-inputs harmonist) (prepend pkg-config))))) -(define-public gnurobots - (package - (name "gnurobots") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gnurobots/gnurobots-" - version ".tar.gz")) - (sha256 - (base32 - "07gi3lsmbzzsjambgixj6xy79lh22km84z7bnzgwzxdy806lyvwb")))) - (build-system gnu-build-system) - (inputs - (list glib gtk+-2 vte/gtk+-2 readline guile-1.8 libxcrypt)) - (native-inputs - (list pkg-config)) - (arguments - `(#:make-flags - (list - ;; Do not abort build on "deprecated-declarations" warnings. - "CFLAGS=-Wno-error=deprecated-declarations" - ;; Find readline headers in sub-directory. - (string-append "READLINE_CFLAGS=-I" - (assoc-ref %build-inputs "readline") - "/include/readline/")) - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (install-file "doc/Robots-HOWTO" - (string-append (assoc-ref outputs "out") - "/share/doc/gnurobots-" - ,version)) - #t))))) - (home-page "https://www.gnu.org/software/gnurobots/") - (synopsis "Program a little robot and watch it explore a world") - (description - "GNU Robots is a game in which you program a robot to explore a world -full of enemies that can hurt it, obstacles and food to be eaten. The goal of -the game is to stay alive and collect prizes. The robot program conveniently -may be written in a plain text file in the Scheme programming language.") - (license license:gpl3+))) - (define-public li-ri (package (name "li-ri") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 08c18f0fb02..57b81a43eb9 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2022 Greg Hogan ;;; Copyright © 2024, 2025 Zheng Junjie ;;; Copyright © 2023 Bruno Victal -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Nguyễn Gia Phong ;;; Copyright © 2025 Janneke Nieuwenhuizen ;;; Copyright © 2025 Leo Nikkilä diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 98d34cfa71e..d20b7f3c964 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017, 2021 Efraim Flashner ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 736bd60c044..145ffc776e9 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021, 2024 Janneke Nieuwenhuizen -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2025 Zheng Junjie ;;; Copyright © 2025 Andreas Enge ;;; diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 450cd2c8bc0..959c7e2dd68 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2021, 2022 Nikolay Korotkiy ;;; Copyright © 2022 Patrick Noll ;;; Copyright © 2022 Roman Scherer -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2024 Wilko Meyer ;;; Copyright © 2024 Jonathan Brielmaier @@ -4126,8 +4126,19 @@ time. Interactively visualize vector, raster and volume data.") #:configure-flags #~(list "-DSAMPLE_MAP=FALSE") #:phases #~(modify-phases %standard-phases + ;; Workaround for the following issue: + ;; https://github.com/navit-gps/navit/issues/1294 which results in + ;; 'error:navit:navit_init:FATAL: No GUI available.' For now there + ;; is only a workaround and no real fix yet. (add-after - 'unpack 'patch-navit-config + 'unpack 'patch-cmake_minimum_required + (lambda _ + (substitute* + "CMakeLists.txt" + (("cmake_minimum_required\\(VERSION 3\\.10\\)") + "cmake_minimum_required(VERSION 3.2)")))) + (add-after + 'patch-cmake_minimum_required 'patch-navit-config (lambda _ ;; For now this package only supports SDL, so if we keep ;; the configuration as-is, Navit doesn't start. diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index c63be3df707..fb46ad2acff 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2020 EuAndreh ;;; Copyright © 2022, 2024, 2025 gemmaro -;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com> +;;; Copyright © 2023 Maxim Cournoyer maxim@guixotic.coop> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 2a662752bad..d5da671ada6 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2021, 2022, 2025 Vinicius Monego -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 Runciter ;;; Copyright © 2025 Janneke Nieuwenhuizen ;;; diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 2a1c7a90de6..38c0f5be546 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Giacomo Leidi -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020 Kei Kebreau ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2021-2025 John Kehayias @@ -23,6 +23,7 @@ ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2024 Arnaud Lechevallier ;;; Copyright © 2024 aurtzy +;;; Copyright © 2025 Sughosha ;;; ;;; This file is part of GNU Guix. ;;; @@ -1088,6 +1089,68 @@ and surfaces, receiving input and events.") (arguments (substitute-keyword-arguments (package-arguments glfw) ((#:out-of-source? _ #f) #f))))) +(define-public nanovg + ;; No tags are available. + (let ((revision "0") + (commit "b83cf926525e7cea8d2483da2a75852b8c7b6d28")) + (package + (name "nanovg") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/memononen/nanovg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zp355pw6xnb5mjarz67cxkglv7j1s0qzv705fz1wf0gl0sjhy8f")) + (modules '((guix build utils))) + (snippet + ;; Fix including freetype. + '(substitute* (find-files "." "\\.(c|h)$") + (("ft2build\\.h") "freetype2/ft2build.h"))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + ;; No Makefile exists. + (replace 'build + (lambda _ + (invoke #$(cc-for-target) + "../source/src/nanovg.c" "-c" "-fPIC" + "-DFONS_USE_FREETYPE=1" + (string-append "-I" + #$(this-package-input "freetype") + "/include/freetype2")) + (invoke #$(cc-for-target) + "-shared" "-olibnanovg.so" "nanovg.o" + "-lfreetype"))) + ;; No Makefile exists. + (replace 'install + (lambda _ + (let ((lib (string-append #$output "/lib")) + (include (string-append #$output + "/include/nanovg"))) + (install-file "libnanovg.so" lib) + (with-directory-excursion "../source" + (for-each + (lambda (file) + (install-file file include)) + (append (find-files "src" "nanovg.*\\.h$") + '("example/perf.h" + "example/stb_image_write.h")))))))))) + (inputs + (list freetype)) + (home-page "https://github.com/memononen/nanovg") + (synopsis "2D vector drawing library on top of OpenGL") + (description + "NanoVG is an antialiased vector graphics rendering library for OpenGL. +It is aimed for building scalable user interfaces and visualizations.") + (license license:zlib)))) + (define-public nanovg-for-extempore (let ((version "0.7.1") (revision "0") diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 54b4da5bbfe..8347359a846 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Petter ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong -;;; Copyright © 2019-2023, 2025 Maxim Cournoyer +;;; Copyright © 2019-2023, 2025 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019, 2020, 2021 Marius Bakke ;;; Copyright © 2020 Nicolò Balzarotti diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index e7a23336d47..720195c2614 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2023 Eidvilas Markevičius ;;; Copyright © 2025 aurtzy ;;; Copyright © 2025 Ashvith Shetty -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2025 Gabriel Santos ;;; Copyright © 2025 Noé Lopez ;;; diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ffced012bb7..256655072fe 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4237,7 +4237,9 @@ widgets built in the loading process.") "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags + '("CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types") + #:phases (modify-phases %standard-phases (add-before 'check 'start-xserver (lambda* (#:key inputs #:allow-other-keys) @@ -4691,32 +4693,6 @@ editors, IDEs, etc.") (append libsixel) (append lz4))))) -;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07. -(define-public vte/gtk+-2 - (package (inherit vte) - (name "vte") - (version "0.28.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6")) - (patches (search-patches - "vte-CVE-2012-2738-pt1.patch" - "vte-CVE-2012-2738-pt2.patch")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--disable-python"))) - (native-inputs - (list pkg-config intltool - `(,glib "bin"))) ; for glib-genmarshal, etc. - (propagated-inputs - (list gtk+-2 ; required by libvte.pc - ncurses)))) ; required by libvte.la - (define-public vinagre (package (name "vinagre") @@ -7859,7 +7835,8 @@ configuration program to choose applications starting on login.") xorg-server-for-tests)) (propagated-inputs ;; These are all in the Requires.private field of gjs-1.0.pc. - (list cairo gobject-introspection mozjs)) + ;; Check the version of mozjs required in meson.build. + (list cairo gobject-introspection mozjs-128)) (inputs (list gtk+ readline)) (synopsis "Javascript bindings for GNOME") diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index ee9fe5a366d..958a704a341 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2024 Efraim Flashner ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019, 2021 Guillaume Le Vaillant ;;; Copyright © 2020 Prafulla Giri ;;; Copyright © 2020 Christopher Lam diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 013e974dfa4..c7eb4fbb984 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2023 Adam Faiz -;;; Copyright © 2023, 2024 Maxim Cournoyer +;;; Copyright © 2023, 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,7 +193,7 @@ authentication and support for SSL3 and TLS.") (define-public gnunet (package (name "gnunet") - (version "0.24.2") + (version "0.25.0") (source (origin (method url-fetch) @@ -201,7 +201,7 @@ authentication and support for SSL3 and TLS.") ".tar.gz")) (sha256 (base32 - "0ixgyq331vyv1vv63jcxgqwwyb7pxb69arsdvp1z09wlgn84lkif")))) + "1zrn5j12c2vfp3vfx3kirknsvzb4r832hbgh5a2lcnb0x0p6dsid")))) (build-system meson-build-system) (inputs (list bluez @@ -235,7 +235,9 @@ authentication and support for SSL3 and TLS.") which)) (arguments (list - #:parallel-tests? #f ;parallel tests aren't supported + ;; Only running util tests until the p2p tests stop being flaky. + ;; See . + #:test-options #~(list "--suite=util") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-network-tests diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 9f87dcb4468..c98d5fc7d26 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Nikita Domnitskii ;;; Copyright © 2021 Aleksandr Vityazev -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index d555a00b0cc..23a255cd940 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020, 2022 Marius Bakke ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021-2023, 2025 Maxim Cournoyer ;;; Copyright © 2021 Baptiste Strazzul ;;; Copyright © 2022 SeerLite ;;; Copyright © 2024 Aleksandr Vityazev @@ -41,6 +41,8 @@ #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (ice-9 format) #:use-module (ice-9 match) + #:autoload (ice-9 pretty-print) (pretty-print) + #:autoload (ice-9 textual-ports) (get-string-all) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -74,6 +76,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-web) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages fonts) @@ -100,12 +103,12 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) - #:autoload (json parser) (json->scm)) + #:use-module (gnu packages time)) (define-public mozjs (package (name "mozjs") - (version "128.3.1") + (version "140.3.0") (source (origin (method url-fetch) ;; TODO: Switch to IceCat source once available on ftp.gnu.org. @@ -114,7 +117,7 @@ version "esr.source.tar.xz")) (sha256 (base32 - "1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61")))) + "05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg")))) (build-system gnu-build-system) (arguments (list @@ -136,6 +139,7 @@ "--enable-optimize" "--enable-release" "--enable-readline" + "--enable-rust-simd" "--enable-shared-js" "--with-system-icu" "--with-system-nspr" @@ -180,6 +184,136 @@ (string-append "--prefix=" #$output) configure-flags))) (add-before 'check 'adjust-tests + (lambda _ + (with-directory-excursion "../js/src/tests" + (substitute* "shell/os.js" + ;; FIXME: Why does the killed process have an exit status? + ((".*killed process should not have exitStatus.*") + "")) + + ;; Most of the timezone related failures are probably + ;; attributable to our use of a system-provided icu4c library + ;; instead of the bundled one. + (for-each + delete-file + '( ;; FIXME: An one-hour difference is produced after DST + ;; starting in the timezone the test suite uses. + "non262/Date/15.9.5.7.js" + + ;; The test suite expects a lightly patched ICU. Disable tests + ;; that do not work with the system version. See + ;; "intl/icu-patches" for clues. + + ;; See and + ;; and + ;; related patch for why this is failing. + "non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js" + ;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)" + "non262/Intl/DateTimeFormat/day-period-hour-cycle.js" + ;; FIXME: got "en-US-posix", expected "en-US-POSIX". + "non262/Intl/available-locales-supported.js" + ;; FIXME: got "en-US", expected "en-US-POSIX" + "non262/Intl/available-locales-resolved.js" + +;;; Since 115: + ;; Mismatching array lengths + "non262/Intl/supportedValuesOf-timeZones-canonical.js" + ;; TODO: tzdata 2024a expected – find a way to regenerate + ;; these generated tests + "non262/Intl/DateTimeFormat/timeZone_version.js" + + ;; FIXME: got "\uD840\uDDF2", expected "\u5047" + "non262/Intl/Collator/implicithan.js" + ;; FIXME: got "\uD840\uDDF2", expected "\u3467" + "non262/Intl/Collator/big5han-gb2312han.js" + + ;; Since 128: + ;; FIXME: got (void 0), expected "GMT" + "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js" + ;; FIXME: got 7, expected 9: parts count mismatch + "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js" + "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js" + + ;; Since 140: + ;; RangeError: invalid time zone: America/Coyhaique + "non262/Temporal/ZonedDateTime/zones-and-links.js" + ;; got 2042, expected 2043 + "non262/Temporal/Intl/consistent-dates.js" + ;; got "Pacific/Auckland", expected "Antarctica/McMurdo" + "non262/Intl/DateTimeFormat/timeZone_links.js" + "test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js" + ;; Test262Error: Expected true but got false + "test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js" + ;; Test262Error: getTimeZoneTransition(next) does not return its input + "test262/intl402/Temporal/ZonedDateTime/prototype/\ +getTimeZoneTransition/result-type.js" + ;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null» + "test262/intl402/Temporal/ZonedDateTime/prototype/\ +getTimeZoneTransition/transition-at-instant-boundaries.js" + ;; Expected SameValue(«1762063200000000000n», «1572760800000000000n» + "test262/intl402/Temporal/ZonedDateTime/prototype/\ +getTimeZoneTransition/specific-tzdb-values.js" + ;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"», + ;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"» + "test262/intl402/Temporal/ZonedDateTime/prototype/\ +getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js" + ;; TypeError: can't access property "epochNanoseconds", + ;; before.getTimeZoneTransition(...) is null + "test262/intl402/Temporal/ZonedDateTime/prototype/\ +getTimeZoneTransition/transitions-close-together.js"))))) + (add-before 'check 'pre-check + (lambda _ + (setenv "JSTESTS_EXTRA_ARGS" + (string-join + (list + ;; Do not run tests marked as "random". + "--exclude-random" + ;; Exclude web platform tests. + "--wpt=disabled" + ;; Respect the daemons configured number of jobs. + (string-append "--worker-count=" + (number->string (parallel-job-count))))))))))) + (native-inputs + (list autoconf + llvm ;for llvm-objdump + m4 + perl + pkg-config + python-wrapper + rust + `(,rust "cargo") + rust-cbindgen)) + (inputs + (list icu4c-77 readline zlib)) + (propagated-inputs + (list nspr)) ; in the Requires.private field of mozjs-*.pc + (home-page + "https://spidermonkey.dev/") + (synopsis "Mozilla JavaScript engine") + (description "SpiderMonkey is Mozilla's JavaScript engine written +in C/C++.") + (license license:mpl2.0))) ; and others for some files + +(define-public mozjs-128 + (package + (inherit mozjs) + (version "128.3.1") + (source (origin + (method url-fetch) + ;; TODO: Switch to IceCat source once available on ftp.gnu.org. + (uri (string-append "https://ftp.mozilla.org/pub/firefox" + "/releases/" version "esr/source/firefox-" + version "esr.source.tar.xz")) + (sha256 + (base32 + "1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61")))) + (arguments + (substitute-keyword-arguments (package-arguments mozjs) + ((#:configure-flags flags) + #~(delete "--enable-rust-simd" #$flags)) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'adjust-tests (lambda _ (with-directory-excursion "../js/src/tests" (substitute* "shell/os.js" @@ -235,39 +369,9 @@ fractional-second-digits-append-item.js") (delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js") ;; FIXME: got 7, expected 9: parts count mismatch (delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js") - (delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js")))) - (add-before 'check 'pre-check - (lambda _ - (setenv "JSTESTS_EXTRA_ARGS" - (string-join - (list - ;; Do not run tests marked as "random". - "--exclude-random" - ;; Exclude web platform tests. - "--wpt=disabled" - ;; Respect the daemons configured number of jobs. - (string-append "--worker-count=" - (number->string (parallel-job-count))))))))))) - (native-inputs - (list autoconf - llvm ;for llvm-objdump - m4 - perl - pkg-config - python-wrapper - rust - `(,rust "cargo") - rust-cbindgen)) + (delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js")))))))) (inputs - (list icu4c readline zlib)) - (propagated-inputs - (list nspr)) ; in the Requires.private field of mozjs-*.pc - (home-page - "https://spidermonkey.dev/") - (synopsis "Mozilla JavaScript engine") - (description "SpiderMonkey is Mozilla's JavaScript engine written -in C/C++.") - (license license:mpl2.0))) ; and others for some files + (list icu4c-73 readline zlib)))) (define-public mozjs-115 (package @@ -283,6 +387,8 @@ in C/C++.") "0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2")))) (arguments (substitute-keyword-arguments (package-arguments mozjs) + ((#:configure-flags flags) + #~(delete "--enable-rust-simd" #$flags)) ((#:phases phases) #~(modify-phases #$phases (replace 'adjust-tests @@ -348,330 +454,14 @@ fractional-second-digits-append-item.js") (inputs (list icu4c-73 readline zlib)))) - -;;; -;;; Localization helper procedures. -;;; -(define mozilla-115-compare-locales - (origin - (method hg-fetch) - (uri (hg-reference - (url "https://hg.mozilla.org/l10n/compare-locales/") - (changeset "RELEASE_8_1_0"))) - (file-name "mozilla-compare-locales") - (sha256 (base32 "00bpkaqf2ng1nn9ajyb5mli0jq58q5fm2n3yy90jy0hp4q2gbs50")))) - -(define (mozilla-115-locale locale changeset hash-string) - (origin - (method hg-fetch) - (uri (hg-reference - (url (string-append "https://hg.mozilla.org/l10n-central/" - locale)) - (changeset changeset))) - (file-name (string-append "mozilla-locale-" locale)) - (sha256 (base32 hash-string)))) - -(define-syntax-rule (mozilla-115-locales (hash-string changeset locale) ...) - (list (mozilla-115-locale locale changeset hash-string) - ...)) - -(define (update-mozilla-115-locales changesets.json) - "Output a new list of Mozilla locales, to update the ALL-MOZILLA-115-LOCALES -variable defined below. It requires guile-json to be installed." - (match (call-with-input-file changesets.json json->scm) - (((lang ("revision" . revision) platforms pin) ...) - (let ((data (reverse (map (lambda (rev lang) - `(,(list->string (make-list 40 #\0)) - ,(string-take rev 12) ,lang)) - revision lang)))) - (format #t "~{~s~%~}" data) - data)))) - -(define-public all-mozilla-115-locales - (mozilla-115-locales - ;; sha256 changeset locale - ;;--------------------------------------------------------------------------- - ("152dc3nxbsjhawq8wm040hbnhq96l039j3k8ll4q93qm93msj507" "de9eb6a1e3e0" "ach") - ("0rfbzyv87x5d4qspjaiwsvqcf57g0d93daibj4rc4xsq3g2gw45v" "45b72420bf17" "af") - ("13lfl3nq0nr3zvh1zddpnyk8x054784yz08nkprmqhzyvfv3i5wq" "babed417b5e8" "an") - ("07fjh9wvl9jgvyqbvsd7l4pq895y4sv725fd8fr274s6l4x7pzz0" "7df35a519b47" "ar") - ("04zmfr15a3zhalj66ydpcrh3nxk1q7wb2gckfqsq55q72i3hvkcy" "fd0068a8989f" "ast") - ("1x2hnsa1nfmysd7w53ly14bp8hk1vbgfj1016wapcshvf1kap3mr" "4df6d5edc74d" "az") - ("1synmbnng6ai8gmz8srxdgf3qgadjvymb66inp3g2lww0c98c4qn" "97829729f043" "be") - ("1zank8f4145v4fv28y47ssknn55zrpyll3kxhha2h54za4zkn4p1" "4f568ae49cf3" "bg") - ("00wdllmdmzg11x6dcj3f2i047y3bgab1qw2zjaa92i36d5nd2hdr" "a634f8559ffd" "bn") - ("0b5f50ar7zj2z1jjvhv8841rabx5a2ylcl0rma3qiz5i6r41lgli" "4ca046b16e37" "br") - ("1g1qh8b496psq9yknjzi7drzqzhd5g50xl5qiwd6pr61xyqfvnkx" "690960700526" "bs") - ("1wd463lfhdybx0nz0dqvhrsi7f9xl5qd7mvshpgqxlj5x1nhamzy" "58714a456fd6" "ca") - ("1s9ls2fh9xfgb8q9vay5lkszfhh0k99lrp28m3fi83b5vv8qj8fq" "12760eef74bc" "cak") - ("0abwslv88hda2wfsnkyi7si9v16923gf4xfbq3h0a6mpxf1mylhs" "703352c2a9b4" "ca-valencia") - ("05pfacr2kk0sxrpw3s15c8rvchkzxgvsy1njp5q72b270sw98i7h" "6a7eef3982fb" "cs") - ("0cidwylb4s7n1hdw4yjqj89bl2qsscf3b1vnfl7hsxf68lj2lzaj" "9c30e4ec1dde" "cy") - ("10d7mn2qq0nvw3073ga4garwnvpk5xqkgn3dgw1az2g5pncclhfk" "668cf42570ef" "da") - ("0nfb3nf47gavafb35mm4ghl82kpylyj0r1vqc47nz151mjj2mnli" "c968a5118cda" "de") - ("1qjf12aymz1x281chv7sqyarbz6f8w7nxsli3b4srsar12l5f0lb" "27dd7f4a3f3f" "dsb") - ("040165lwplyj0cv9ccagdjwigy527rli3qda6b633bqrpx6310sw" "920e28aa6758" "el") - ("1h5zk58rmrqnbfhxyiwcn0385v6r5ayfkblpwqkji80p135n74sa" "b0e55a5a6413" "en-CA") - ("1w5q4b1a9ysgc76dg45cr2q55y4djdcrj2qzs0imq61sjrvih2fv" "9aae743f32df" "en-GB") - ("0mxsp5ipg36jdpphwrdra877z9vz1ifbhas988awhc3i9byx7zbh" "3c825be76f39" "eo") - ("1nxscjmk80wh359lv4cxgh1y85f8qw522dppy292pkqnqnsrfnq1" "ffac56bd3aef" "es-AR") - ("02353n524fy5icp2myjn198n511lzb03hcd4a61bgd7f26cpkhy5" "77e209bb2114" "es-CL") - ("1863d4zy2745hfw2kgw5z0625znvzkqwlwbvcj8cw6nv3r6dxgdv" "215ced58e499" "es-ES") - ("0asrcxvig4i75r4kpkmcfsc1kzjl8cbaz11an5kny2slcy63av7i" "d748a2a91643" "es-MX") - ("1p40zmf29mq81blssjh6gs8fih925mia3l1gya9vzgyp5i4dvln6" "66edf9863a04" "et") - ("1hr4q01856j8jmjia39586mxfbv5ijkq7i6cyxz1r422gqivv13v" "752b6aa2225e" "eu") - ("0d6vgd6anz237ckgc3a30nzdxa98fw33rc1r2wkr4y3yfvd2bidc" "4a57be1cf783" "fa") - ("1kjb8k55vkgn7fpzgvayahzx7cbx7vryyv89kynp2lv052smhh01" "e42c0149059c" "ff") - ("0d392s3fh1cl491b72cxlj7la6in84mfxbcn862f0sr63iz0q7wn" "0a2a3e96367c" "fi") - ("10rvxinl9as9wdd9yrhsskjwsklzxd35j4b1ygr4jlvslcrmdhpn" "119b009eba98" "fr") - ("1x0bfp7gaplnwcmfvv8c87znxp9fxsa99nl88j87qxn45h9kz8q6" "475065215d5c" "fur") - ("0p20jlm8vxlzixm446wcqjs5sz7m9x7v4zgqczvriwyspad7d8xp" "6909c0c42a2e" "fy-NL") - ("1rh8mvlamawzdfis0ah8rgnjk30mzpxhgh1yx8rxppps7l5n2hpj" "2f350c9ba505" "ga-IE") - ("1n2dxvv0q77azg2cz4nasq47pbsh1l6fngphy3lzz1wj4x3s8z7g" "3fe4a6bcac31" "gd") - ("15x51q3lsr67lklci13cqlxmgjyk8px12qc3qfrfdv2dk68znwmq" "0482da4a3d5b" "gl") - ("1zx7a0l781hyi9k6bi0m9ghgzcb116cqy88q7bf9sm0gar85yxwi" "bb255fc733c3" "gn") - ("1p6ycyjp7qsv1fk19yca5bwvyg72y3v87fr3wmhq7xzmdz6994fm" "dd3707daa411" "gu-IN") - ("02r68v2yhxxdfms9l2yq8pk7rarg1ysv67mbny04gaws6k5fv3an" "c247293030ae" "he") - ("116s9qgcwb0j1mzwy5napq5ww9cs5hcj41xiq2k6kz4gjxw4jazl" "e9c1a1fe1b79" "hi-IN") - ("1kg7xiw75ks490kiay2gndlc2akkg4bxdx4q7ysaxf6kpgisakxg" "068c00ca7cae" "hr") - ("1xjqvqn65nyb0dlchy3bikpf0g3qjba7i5g68jcicz0hcyrfagvd" "5fd424d1061b" "hsb") - ("1j81cv599h3iv26yzzdf8m5vkdw9kdhrlls8c6zd3fslpd91yn5q" "0ef89daff942" "hu") - ("0wwjyjpqcxvjsw7md6sz2zxncay3wk066qiv4p2vpqv5sw9z1sdh" "771fd65bc781" "hy-AM") - ("0pxjvzkkhls3d28c1656y3fc78snhc90f0mj5jx9rhh7l6hg0801" "6cfa8fc01f2a" "ia") - ("1xh93qkj7y4ad10sqyldr9hymsbffnq7kya0smvci1nwmnndd8bk" "ae863f3cd230" "id") - ("1npyaz5zyk6yr8z8sj2gbd0ahynglxmalw27rcdb57h81n0520y7" "d465499a6600" "is") - ("14hhl050vzbrwwppvpyicqfcqazpvyaygnr8hgrz0jgyb30lfvhw" "a8ac50410815" "it") - ("1jz9i0x22qig74gwrrrvnwc7s50h1x18sl797lr678xiw4f6p0ar" "13abbdd8abdf" "ja") - ("04k53mnskapqv968gphpmzhxbg1m0jxbzf24z9g0lgspnhcgwpx9" "1f388ad7f0e9" "ja-JP-mac") - ("1n9ayc6l72fy08zdqpwag54rh6j5aagj7y7976gyvjl1ssz745fs" "ed774dd2eff3" "ka") - ("09bw4sk8g7bmx9xxxiy8y9p8zhf3h3gvaddlx86zdk12k44iqmnc" "c9cfab9734b4" "kab") - ("0lmwsq72vk424nlrgnq46apdbgivzrmx303rvng8h03wrp9qjz1m" "4797db4a0fcb" "kk") - ("0al453bmiq85kkkfaba11iwnx0dy9f3dl9hlz0j38ysgcipwap5l" "f312da458d8b" "km") - ("1rjf875nwcqnlbfgk92vpa8msy3vp2xcgfasj7kksr37rxcbwa8m" "a30ac878de56" "kn") - ("0v5a1v0a6xziwhspfqpdccl00h0b4j4k4vwmmijld44cdmj208v9" "6f5e9c8eb029" "ko") - ("0kx0hz0dp9bdgf0r0m9qsip2ybrc4dwmry3kp488z2pig0asai7x" "dcdf4bf4482b" "lij") - ("1iawv3hbl0wab1xzhhihxiqsz2i6icf64ipmjrpm9srlg6kaxgg5" "913770b70ead" "lt") - ("15ppml5b0f78ycdswff0yqr27d649fr2rggv5dnxqxxm2bx5hzw6" "6351f7efe4d7" "lv") - ("0crbysr0raqh90ayb5rq73d3cddfryfaj4bdbzijk2j2rpdlwv1m" "6acffb2c66ee" "mk") - ("0b5dw5a904w5ibd7yz1839a0cv2hmnlv2bz0kpsr6xf52jv20g6a" "942eca4c76b6" "mr") - ("0fr83kiq7xmw1kyrjrmm3iirlfcp94dyacdkkj9df6gr5qp6wn7i" "de00ab4bb6fe" "ms") - ("011y1yyl97avjawja3gmwwa74kxcvm2g2wn47yv01xqy74wbbss7" "2ce7138cd126" "my") - ("0f6ffh76g31df9kfj6azip2qy0b14s287isgm7sxnclch4jwq83s" "5cc51d238790" "nb-NO") - ("193nw6l0z7vlcd7flb72bc8h7vd9vjj8xlz5lhf7irmfr2bldj0r" "db205a4fd15a" "ne-NP") - ("14qizkrcs1avd78ci4i4hr7v3bz3m51if1jc5wxydkx9n0yb8cgn" "1abc02acab91" "nl") - ("1cjglsaf8ynm4wgzpbcf68gj8jhvnzldrnjlni4c4vvl0bfxnxa2" "b4ff1a7885c2" "nn-NO") - ("0jpdq7zpqs3gnyzz1xvccvjqbzwga35sj85z52vprm6zcxd8gm0m" "1c7d5471dba9" "oc") - ("14apl3vhxkqcy8l5a0ny71f9dkmbb5fakvkpngqv5xgbbl0byfk3" "cf3fd8eb605b" "pa-IN") - ("1aglsx0w3xgbn1dhdbzwcqn8sdkp4bncl5bj7nlick56rbkicj9j" "3c9c3c67830a" "pl") - ("10hqfd0fjbcbgdsj0jxdfvm9abiya05lw2bpy0cz6h61mgjywqiz" "68bf2b7c6f25" "pt-BR") - ("1vvs0kkvnnnsxn1d5fnma55fizzs1bbx5sv5k2w4164k6h7fhxfv" "fae18b48519f" "pt-PT") - ("0c8dl12n5fjdd3bjaf8idyaxsf8ppbma132vdw8bk2wqnh4cv69a" "92110fd6e211" "rm") - ("0mxxy56kj0k5jhjxjv8v4zz57pha819mz7j803lcilax7w52wgca" "5eeba1f64743" "ro") - ("0jrd95n108r4sxdwgy39zjynm5nlzzmiijsfpxxfwj7886wl4faz" "47131134e349" "ru") - ("1lwm5jv3hvjp84a70186x2083nhr3mfcl7kpmw5in9amaflfi41b" "a5cd6d3d67ee" "sat") - ("1q6pn3iixzcas9blf61bhvwgppbsh0am0wdz6a6p9f9978894d73" "880b7986692a" "sc") - ("0xndsph4v725q3xcpmxxjb9vxv19sssqnng82m9215cdsv9klgpb" "bf5f6e362f6f" "sco") - ("0l70n8817mbmbc09fsnn2aqjj9k9dhad2gmzgphmiilf9mqm2dpf" "1f705c926a99" "si") - ("19bqjazazww08chd1qc08dsnr2521088jq5jd4j3185yb1ypm3nr" "c1bd10d70325" "sk") - ("12q1nv6z4bk8yaw3vhl9xs41i7kpx1415mwg635v76fx8h94ycl3" "00eaf8d9e83b" "skr") - ("11nmjmy2j249588ahg4mh9lxdqr476jbh28a07qxxibfa76j9vk3" "44be3cbf69b6" "sl") - ("1ww35141nixg2s03kfmmq9fk6m3qiz2vg7p5a85shjp7i89pyj1d" "800576ff8ef9" "son") - ("1q7nfybwc8mxdwi9fpvfhayq18mykzygkpakr5ngfz2316k8lf5r" "4de8638ac27f" "sq") - ("06wr7zx6kvaxsly5f3ci7kb2zaqlwjjbg1vrimp0jcqs4l5x6wpl" "ec560d96370c" "sr") - ("01n1ly9lihnznrab3kcby2i93k0qwg99c9fh55xpi90vkyq77gmq" "c5754f9325a1" "sv-SE") - ("09kk9bj2139j34md26zysaaf8cqyh5nmf861vxnc2vdsd37nr4x4" "c3fa195a8edf" "szl") - ("1vpr88vj9n7pm87dynyqyyiv1v2igd3w0f3a65g8rirknh3wfw44" "755763981e95" "ta") - ("19qwvi642fpg7zyhlcj9fgnm0bbkvqby6apr7iijayammg2vnyx3" "3a34078388af" "te") - ("1lh3m1d8rblas50g990qwcr2qv2nk5m6isjvi0gr57zhc4l9a4lw" "24c3a61f463c" "tg") - ("0sr0wa886a5gwrgn7rmn08sn6qz4p58037wx9gskacclhrzs53aw" "6dad5f8774df" "th") - ("19cvf42lmi9996mxlmplpk1b65p1fh4ja36xprs115z2n1iky9y5" "befaa7917b35" "tl") - ("04p50pd380hdalizz09qix7camipazkjyyi97f3sl04h6i67vz17" "66c8bc5e9da6" "tr") - ("0lqbaxkdvi8hjns8myssmv6bxymh53glf0w2nfpj72zh40rr1n09" "9e86caeded11" "trs") - ("13qmsji7gyad0d23ac7lx4181zhm3kb9xym82z786f7k271jq7kl" "bd5e0aad5f0b" "uk") - ("0m52xl2vy0paj5kcfk8jy70hhck5bgdg8lb6cvjqm2mhl5sli0ka" "040d506ed663" "ur") - ("1n0gdgjwwwd5yd69ylr05hskjxasydnkqw33rncpx7491x3nf4kf" "7e4e5290c700" "uz") - ("140lnl9dq82azlw1qic386h4z0xbilcf3jvjy93qid67mvnmwqqm" "b8196f646583" "vi") - ("07yc91645aiks3fxzx16kw4kzvksyrj36n9iz59wn9wppzlampx6" "ef98e07b4b9e" "xh") - ("1c1sfaincridbdp66bzgwgxgp5gqpvzkf10m9yafm9bgkif18vwy" "f614d8a31562" "zh-CN") - ("0s9chi76476gznrxjcn6slhgsznjnaps0h29kck6ijb0x3yx98xi" "ab22459ceb2f" "zh-TW"))) - (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-115-base-version "115.24.0") -(define %icecat-115-version (string-append %icecat-115-base-version "-guix1")) -(define %icecat-115-build-id "20250527000000") ;must be of the form YYYYMMDDhhmmss - -(define icecat-115-source - (let* ((major-version (first (string-split %icecat-115-base-version #\.))) - (minor-version (second (string-split %icecat-115-base-version #\.))) - (sub-version (third (string-split %icecat-115-base-version #\.))) - - (upstream-firefox-version (string-append %icecat-115-base-version "esr")) - (upstream-firefox-source - (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/firefox/releases/" - upstream-firefox-version "/source/" - "firefox-" upstream-firefox-version ".source.tar.xz")) - (sha256 - (base32 - "00229s39xidjzf7afpkyai9jz6ffqqcghn2wniraxyqa2rc5mfc1")))) - - ;; The upstream-icecat-base-version may be older than the - ;; %icecat-base-version. - (upstream-icecat-base-version "115.24.0") - (gnuzilla-commit "b1da0f01591182b43e179451ce2484d0fee88dd8") - (gnuzilla-source - (origin - (method git-fetch) - (uri (git-reference - (url "git://git.savannah.gnu.org/gnuzilla.git") - (commit gnuzilla-commit))) - (file-name (git-file-name "gnuzilla" - ;;upstream-icecat-base-version - (string-take gnuzilla-commit 8))) - (sha256 - (base32 - "1nrswd5g75wq8z997dilh2mxd0ssjrp1kp7v7l6x2gqmfiwa8r7h")))) - - ;; 'search-patch' returns either a valid file name or #f, so wrap it - ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. - (makeicecat-patch - (local-file (assume-valid-file-name - (search-patch "icecat-makeicecat.patch"))))) - - (origin - (method computed-origin-method) - (file-name (string-append "icecat-" %icecat-115-version ".tar.xz")) - (sha256 #f) - (uri - (delay - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (let ((firefox-dir - (string-append "firefox-" #$%icecat-115-base-version)) - (icecat-dir - (string-append "icecat-" #$%icecat-115-version))) - - (set-path-environment-variable - "PATH" '("bin") - (list #+python - #+(canonical-package bash) - #+(canonical-package coreutils) - #+(canonical-package findutils) - #+(canonical-package patch) - #+(canonical-package xz) - #+(canonical-package sed) - #+(canonical-package grep) - #+(canonical-package bzip2) - #+(canonical-package gzip) - #+(canonical-package tar))) - - (set-path-environment-variable - "PYTHONPATH" - (list #+(format #f "lib/python~a/site-packages" - (version-major+minor - (package-version python)))) - '#+(cons python-jsonschema - (map second - (package-transitive-propagated-inputs - python-jsonschema)))) - - ;; We copy the gnuzilla source directory because it is - ;; read-only in 'gnuzilla-source', and the makeicecat script - ;; uses "cp -a" to copy parts of it and assumes that the - ;; copies will be writable. - (copy-recursively #+gnuzilla-source "/tmp/gnuzilla" - #:log (%make-void-port "w")) - - (with-directory-excursion "/tmp/gnuzilla" - (make-file-writable "makeicecat") - (invoke "patch" "--force" "--no-backup-if-mismatch" - "-p1" "--input" #+makeicecat-patch) - (patch-shebang "makeicecat") - (substitute* "makeicecat" - (("^readonly FFMAJOR=(.*)" all ffmajor) - (unless (string=? #$major-version - (string-trim-both ffmajor)) - ;; The makeicecat script cannot be expected to work - ;; properly on a different version of Firefox, even if - ;; no errors occur during execution. - (error "makeicecat major version mismatch")) - (string-append "readonly FFMAJOR=" #$major-version "\n")) - (("^readonly FFMINOR=.*") - (string-append "readonly FFMINOR=" #$minor-version "\n")) - (("^readonly FFSUB=.*") - (string-append "readonly FFSUB=" #$sub-version "\n")) - (("^readonly DATADIR=.*") - "readonly DATADIR=/tmp/gnuzilla/data\n") - (("^readonly SOURCEDIR=.*") - (string-append "readonly SOURCEDIR=" icecat-dir "\n")) - (("/bin/sed") - #+(file-append (canonical-package sed) "/bin/sed")))) - - (format #t "Unpacking upstream firefox tarball...~%") - (force-output) - (invoke "tar" "xf" #+upstream-firefox-source) - (rename-file firefox-dir icecat-dir) - - (with-directory-excursion icecat-dir - (format #t "Populating l10n directory...~%") - (force-output) - (mkdir "l10n") - (with-directory-excursion "l10n" - (for-each - (lambda (locale-dir) - (let ((locale - (string-drop (basename locale-dir) - (+ 32 ; length of hash - (string-length "-mozilla-locale-"))))) - (format #t " ~a~%" locale) - (force-output) - (copy-recursively locale-dir locale - #:log (%make-void-port "w")) - (for-each make-file-writable (find-files locale)) - (with-directory-excursion locale - (when (file-exists? ".hgtags") - (delete-file ".hgtags")) - (mkdir-p "browser/chrome/browser/preferences") - (call-with-output-file - "browser/chrome/browser/preferences/advanced-scripts.dtd" - (lambda (port) #f))))) - '#+all-mozilla-115-locales) - (copy-recursively #+mozilla-115-compare-locales - "compare-locales" - #:log (%make-void-port "w")) - (delete-file "compare-locales/.gitignore") - (delete-file "compare-locales/.hgignore") - (delete-file "compare-locales/.hgtags"))) - - (format #t "Running makeicecat script...~%") - (force-output) - (invoke "bash" "/tmp/gnuzilla/makeicecat") - - (format #t "Packing IceCat source tarball...~%") - (force-output) - (setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args))) - (invoke "tar" "cfa" #$output - ;; Avoid non-determinism in the archive. We set the - ;; mtime of files in the archive to early 1980 because - ;; the build process fails if the mtime of source - ;; files is pre-1980, due to the creation of zip - ;; archives. - "--mtime=@315619200" ; 1980-01-02 UTC - "--owner=root:0" - "--group=root:0" - "--sort=name" - icecat-dir))))))))) - (define mozilla-compare-locales (origin (method git-fetch) (uri (git-reference (url "https://github.com/mozilla/compare-locales") - (commit "RELEASE_9_0_4"))) + (commit "RELEASE_9_0_4"))) ;use the latest release (file-name "mozilla-compare-locales") (sha256 (base32 "13qn983j0pgs2550fgd5gvnl4lq6ywqjvgbyx850jwg79w8b0ifz")))) @@ -679,25 +469,145 @@ variable defined below. It requires guile-json to be installed." (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mozilla-l10n/firefox-l10n") - (commit "fcd0300e8478d1ec4d1c097a073ddb8e1e0351e3"))) + (url "https://github.com/mozilla-l10n/firefox-l10n") + ;; Use the revision specified in the + ;; browser/locales/l10n-changesets.json file of the used firefox + ;; source (all the languages normally use the same revision). + (commit "64046fdc97c1b1886a479dead61e6dc5428ae6e6"))) (file-name "mozilla-l10n") - (sha256 (base32 "1pzw65852ix6a6qb3wwhg5vrkz8337cs6lznk2vj0md5cvf2rrc4")))) + (sha256 (base32 "1rvk1m8bjnk9x61663s7bhgax6ig37v9m1d64g89fk1qwsk3djhh")))) +(define (format-locales all-locales-file) + "Format a Scheme list of all the locales string found in ALL-LOCALES-FILE. +In the case of Thunderbird, that file is comm/mail/locales/all-locales, while +in the case of Firefox, it is browser/locales/all-locales." + (pretty-print (string-split + (string-trim-right + (call-with-input-file all-locales-file + get-string-all)) + #\newline))) + +;;; To regenerate, use the above `format-locales' procedure. (define %icecat-locales - '("ach" "af" "an" "ar" "ast" "az" "be" "bg" "bn" "br" "bs" "ca" "cak" - "ca-valencia" "cs" "cy" "da" "de" "dsb" "el" "en-CA" "en-GB" "eo" - "es-AR" "es-CL" "es-ES" "es-MX" "et" "eu" "fa" "ff" "fi" "fr" "fur" - "fy-NL" "ga-IE" "gd" "gl" "gn" "gu-IN" "he" "hi-IN" "hr" "hsb" "hu" - "hy-AM" "ia" "id" "is" "it" "ja" "ja-JP-mac" "ka" "kab" "kk" "km" - "kn" "ko" "lij" "lt" "lv" "mk" "mr" "ms" "my" "nb-NO" "ne-NP" "nl" - "nn-NO" "oc" "pa-IN" "pl" "pt-BR" "pt-PT" "rm" "ro" "ru" "sat" "sc" - "sco" "si" "sk" "skr" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" - "tg" "th" "tl" "tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW")) + '("ach" + "af" + "an" + "ar" + "ast" + "az" + "be" + "bg" + "bn" + "bo" + "br" + "brx" + "bs" + "ca" + "ca-valencia" + "cak" + "ckb" + "cs" + "cy" + "da" + "de" + "dsb" + "el" + "en-CA" + "en-GB" + "eo" + "es-AR" + "es-CL" + "es-ES" + "es-MX" + "et" + "eu" + "fa" + "ff" + "fi" + "fr" + "fur" + "fy-NL" + "ga-IE" + "gd" + "gl" + "gn" + "gu-IN" + "he" + "hi-IN" + "hr" + "hsb" + "hu" + "hy-AM" + "hye" + "ia" + "id" + "is" + "it" + "ja" + "ja-JP-mac" + "ka" + "kab" + "kk" + "km" + "kn" + "ko" + "lij" + "lo" + "lt" + "ltg" + "lv" + "meh" + "mk" + "ml" + "mr" + "ms" + "my" + "nb-NO" + "ne-NP" + "nl" + "nn-NO" + "oc" + "pa-IN" + "pl" + "pt-BR" + "pt-PT" + "rm" + "ro" + "ru" + "sat" + "sc" + "scn" + "sco" + "si" + "sk" + "skr" + "sl" + "son" + "sq" + "sr" + "sv-SE" + "szl" + "ta" + "te" + "tg" + "th" + "tl" + "tr" + "trs" + "uk" + "ur" + "uz" + "vi" + "wo" + "xh" + "zh-CN" + "zh-TW")) -(define %icecat-base-version "128.14.0") +(define %icecat-base-version (package-version mozjs)) +;;; See +;;; for the source of truth regarding Firefox releases. (define %icecat-version (string-append %icecat-base-version "-gnu1")) -(define %icecat-build-id "20250819000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-build-id "20250916000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -708,18 +618,9 @@ variable defined below. It requires guile-json to be installed." (sub-version (third (string-split %icecat-base-version #\.))) (upstream-firefox-version (string-append %icecat-base-version "esr")) - (upstream-firefox-source - (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/firefox/releases/" - upstream-firefox-version "/source/" - "firefox-" upstream-firefox-version ".source.tar.xz")) - (sha256 - (base32 - "0lwsn1y988naxs9031sbzsh9b0x7c6zmpf89y4pv477l55ifzfck")))) + (upstream-firefox-source (package-source mozjs)) - (gnuzilla-commit "ba161be3de71bb556be951ac4dbb81c807f68770") + (gnuzilla-commit "c939d76c33294791cce8ce1722bd6747dadbe31f") (gnuzilla-source (origin (method git-fetch) @@ -730,7 +631,7 @@ variable defined below. It requires guile-json to be installed." (string-take gnuzilla-commit 8))) (sha256 (base32 - "0gcpwxjz407lgjg8p3mgaij10xy1p6j3sbij46mi8h18d4q1iagg")))) + "03ly055r77fprm53474998hyjhb1a78spyxjs7998npyqzv3fscs")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -740,7 +641,7 @@ variable defined below. It requires guile-json to be installed." (origin (method computed-origin-method) - (file-name (string-append "icecat-" %icecat-version ".tar.xz")) + (file-name (string-append "icecat-" %icecat-version ".tar.zst")) (sha256 #f) (uri (delay @@ -760,6 +661,7 @@ variable defined below. It requires guile-json to be installed." #+(canonical-package findutils) #+(canonical-package patch) #+(canonical-package xz) + #+(canonical-package zstd) #+(canonical-package sed) #+(canonical-package grep) #+(canonical-package bzip2) @@ -820,27 +722,23 @@ variable defined below. It requires guile-json to be installed." (with-directory-excursion "l10n" (for-each (lambda (locale) - (let ((locale-dir - (string-append #+mozilla-l10n "/" locale))) + (let ((locale-dir (string-append #+mozilla-l10n "/" + locale))) (format #t " ~a~%" locale) (force-output) (copy-recursively locale-dir locale #:log (%make-void-port "w")) (for-each make-file-writable (find-files locale)) (with-directory-excursion locale - (when (file-exists? ".hgtags") - (delete-file ".hgtags")) (mkdir-p "browser/chrome/browser/preferences") - (call-with-output-file - "browser/chrome/browser/preferences/advanced-scripts.dtd" + (call-with-output-file "browser/chrome/browser/\ +preferences/advanced-scripts.dtd" (lambda (port) #f))))) '#+%icecat-locales) (copy-recursively #+mozilla-compare-locales "compare-locales" #:log (%make-void-port "w")) - (delete-file "compare-locales/.gitignore") - (delete-file "compare-locales/.hgignore") - (delete-file "compare-locales/.hgtags"))) + (delete-file "compare-locales/.gitignore"))) (format #t "Running makeicecat script...~%") (force-output) @@ -848,7 +746,7 @@ variable defined below. It requires guile-json to be installed." (format #t "Packing IceCat source tarball...~%") (force-output) - (setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args))) + (setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count))) (invoke "tar" "cfa" #$output ;; Avoid non-determinism in the archive. We set the ;; mtime of files in the archive to early 1980 because @@ -885,7 +783,7 @@ variable defined below. It requires guile-json to be installed." libcanberra libgnome libjpeg-turbo - libpng-apng + libpng-apng-next ;; UNBUNDLE-ME! libogg ;; UNBUNDLE-ME! libtheora ; wants theora-1.2, not yet released ;; UNBUNDLE-ME! libvorbis @@ -898,7 +796,7 @@ variable defined below. It requires guile-json to be installed." libffi ffmpeg libvpx - icu4c + icu4c-77 pixman pulseaudio mesa @@ -950,6 +848,7 @@ variable defined below. It requires guile-json to be installed." #:configure-flags #~(list + "--disable-fhs" "--enable-application=browser" "--with-distribution-id=org.gnu" "--enable-geckodriver" @@ -987,8 +886,6 @@ variable defined below. It requires guile-json to be installed." (dirname (search-input-file %build-inputs "lib/libclang.so"))) - "--enable-official-branding" - ;; TODO: Add support for wasm sandboxed libraries. "--without-wasm-sandboxed-libraries" @@ -1034,7 +931,9 @@ variable defined below. It requires guile-json to be installed." '(#$(local-file (search-patch "icecat-compare-paths.patch")) #$(local-file - (search-patch "icecat-use-system-wide-dir.patch")))))) + (search-patch "icecat-use-system-wide-dir.patch")) + #$(local-file + (search-patch "icecat-fhs-configure-option.patch")))))) (add-after 'apply-guix-specific-patches 'remove-bundled-libraries (lambda _ ;; Remove bundled libraries that we don't use, since they may @@ -1152,7 +1051,9 @@ variable defined below. It requires guile-json to be installed." ;; complain that it's not able to change Cargo.lock. ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373 (substitute* "build/RunCbindgen.py" - (("args.append\\(\"--frozen\"\\)") "pass")))) + (("args.append\\(\"--frozen\"\\)") "pass")) + (substitute* "config/makefiles/rust.mk" + (("cargo_build_flags \\+= --frozen") "")))) (delete 'bootstrap) (replace 'configure ;; configure does not work followed by both "SHELL=..." and @@ -1231,7 +1132,28 @@ variable defined below. It requires guile-json to be installed." ;; reason. Use 'find-files' to avoid having to deal with the ;; system/architecture-specific file name. (install-file (first (find-files "." "geckodriver")) - (string-append #$output "/bin")))) + (string-append #$output "/bin")) + ;; Install a policies.json file as an extra step to ensure + ;; IceCat does not call home. The available policies can be + ;; found at . + + ;; TODO: Disable remote settings feature when it becomes + ;; possible to do so (see: + ;; ). + (let ((policies.json (string-append + #$output + "/lib/icecat/distribution/policies.json"))) + (mkdir-p (dirname policies.json)) + (call-with-output-file policies.json + (lambda (p) + (format p "\ +{ + \"policies\": { + \"DisableFirefoxAccounts\": true, + \"DisableTelemetry\": true, + \"DisablePocket\": true + } +}~%")))))) (add-after 'install 'wrap-program (lambda* (#:key inputs #:allow-other-keys) (let* ((lib (string-append #$output "/lib")) @@ -1263,20 +1185,24 @@ variable defined below. It requires guile-json to be installed." (add-after 'wrap-program 'install-desktop-entry (lambda _ ;; Install the '.desktop' file. - (let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop") + (let* ((desktop-file (string-append "toolkit/mozapps/installer" + "/linux/rpm/mozilla.desktop")) (applications (string-append #$output "/share/applications"))) (substitute* desktop-file - (("^Exec=icecat") (string-append "Exec=" #$output "/bin/icecat")) - (("IceCat") "GNU IceCat") - (("Icon=.*") "Icon=icecat\n") - (("NewWindow") "new-window") - (("NewPrivateWindow") "new-private-window") - (("StartupNotify=true") - "StartupNotify=true\nStartupWMClass=Icecat")) - (install-file desktop-file applications)))) + (("@MOZ_APP_NAME@") + "icecat") + (("^Exec=icecat") + (string-append "Exec=" #$output "/bin/icecat")) + (("@MOZ_APP_DISPLAYNAME@") + "GNU IceCat") + (("@MOZ_APP_REMOTINGNAME@") + "Icecat")) + (mkdir-p applications) + (copy-file desktop-file + (string-append applications "/icecat.desktop"))))) (add-after 'install-desktop-entry 'install-icons (lambda _ - (with-directory-excursion "browser/branding/official" + (with-directory-excursion "browser/branding/unofficial" (for-each (lambda (file) (let* ((size (string-filter char-numeric? file)) @@ -1285,13 +1211,13 @@ variable defined below. It requires guile-json to be installed." (mkdir-p icons) (copy-file file (string-append icons "/icecat.png")))) '("default16.png" "default22.png" "default24.png" - "default32.png" "default48.png" "content/icon64.png" - "mozicon128.png" "default256.png")))))))) + "default32.png" "default48.png" "default256.png" + "content/icon64.png" "mozicon128.png" )))))))) (native-search-paths (list (search-path-specification - (variable "ICECAT_SYSTEM_DIR") - (separator #f) ;single entry - (files '("lib/icecat"))))) + (variable "MOZILLA_SYSTEM_DIR") + (separator #f) ;single entry + (files '("lib/icecat"))))) (home-page "https://www.gnu.org/software/gnuzilla/") (synopsis "Entirely free browser derived from Mozilla Firefox") (description @@ -1306,57 +1232,117 @@ testing.") (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) -(define %icedove-build-id "20241119000000") ;must be of the form YYYYMMDDhhmmss -(define %icedove-version "115.16.3") +(define %icedove-build-id "20250916000000") ;must be of the form YYYYMMDDhhmmss +;;; See +;;; for the source of truth regarding Thunderbird releases. +(define %icedove-version "140.3.0") ;; Provides the "comm" folder which is inserted into the icecat source. -;; Avoids the duplication of Icecat's source tarball. +;; Avoids the duplication of Icecat's source tarball. Pick the changeset that +;; matches the most recent tag of the form 'THUNDERBIRD_140_2_0esr_RELEASE'. (define thunderbird-comm-source (origin (method hg-fetch) (uri (hg-reference - (url "https://hg.mozilla.org/releases/comm-esr115") - (changeset "8ab43355c97d91f5adaae732fb8c9f5ca210fe8b"))) + (url "https://hg.mozilla.org/releases/comm-esr140") + (changeset "0a019f4060541a15af8be50c4d923aebe6b9ccb2"))) (file-name (string-append "thunderbird-" %icedove-version "-checkout")) (sha256 (base32 - "1fax5sdc087ly62fh2g4yvi7v80vrhn94hpzdr98a4m3psdgglh0")))) + "00m2xzb1mvyllg31yrz7kw0m89c28b55cdd486mbk0k6xwv2gm8m")) + (patches (search-patches "icedove-observer-fix.patch")))) -(define (comm-source->locales+changeset source) - "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the -list of languages supported as well as the currently used changeset." - (match (update-mozilla-115-locales - (string-append source "/mail/locales/l10n-changesets.json")) - (((_ changeset locale) ...) - (values locale (first changeset))))) - -;;; Generated with comm-source->locales+changeset. +;;; To regenerate, see the `format-locales' helper defined above. (define %icedove-locales - '("af" "ar" "ast" "be" "bg" "br" "ca" "cak" "cs" "cy" "da" "de" "dsb" "el" - "en-CA" "en-GB" "es-AR" "es-ES" "es-MX" "et" "eu" "fi" "fr" "fy-NL" "ga-IE" - "gd" "gl" "he" "hr" "hsb" "hu" "hy-AM" "id" "is" "it" "ja" "ja-JP-mac" "ka" - "kab" "kk" "ko" "lt" "lv" "ms" "nb-NO" "nl" "nn-NO" "pa-IN" "pl" "pt-BR" - "pt-PT" "rm" "ro" "ru" "sk" "sl" "sq" "sr" "sv-SE" "th" "tr" "uk" "uz" "vi" - "zh-CN" "zh-TW")) + '("af" + "ar" + "ast" + "be" + "bg" + "br" + "ca" + "cak" + "cs" + "cy" + "da" + "de" + "dsb" + "el" + "en-CA" + "en-GB" + "es-AR" + "es-ES" + "es-MX" + "et" + "eu" + "fi" + "fr" + "fy-NL" + "ga-IE" + "gd" + "gl" + "he" + "hr" + "hsb" + "hu" + "hy-AM" + "id" + "is" + "it" + "ja" + "ja-JP-mac" + "ka" + "kab" + "kk" + "ko" + "lt" + "lv" + "mk" + "ms" + "nb-NO" + "nl" + "nn-NO" + "pa-IN" + "pl" + "pt-BR" + "pt-PT" + "rm" + "ro" + "ru" + "sk" + "sl" + "sq" + "sr" + "sv-SE" + "th" + "tr" + "uk" + "uz" + "vi" + "zh-CN" + "zh-TW")) (define thunderbird-comm-l10n - (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/thunderbird/releases/" - %icedove-version - "/source/thunderbird-" - %icedove-version - ".strings_all.tar.zst")) - (sha256 - (base32 - "1nnvnfhbb7174898i62a9sy1zxc5qw3nhmf9agy1p6jvldn5nb8z")))) + ;; The commit to use can be found in the mail/locales/l10n-changesets.json + ;; file in Thunderbird's source. + (let* ((commit "b6fd3d6c75ba35d91fe131a654df76ca86f35ac5") + (revision "0") + (version (git-version %icedove-version revision commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thunderbird/thunderbird-l10n") + (commit commit))) + (file-name (git-file-name "thunderbird-l10n" version)) + (sha256 + (base32 + "0n4df6kv70a6mxxsqwc83nhj8vl7acv9bcbf07nkcsjjxh3szvqc"))))) (define icedove-source (let ((name (string-append "icedove-" %icedove-version))) (origin (method computed-origin-method) - (file-name (string-append name ".tar.xz")) + (file-name (string-append name ".tar.zst")) (sha256 #f) (uri (delay @@ -1368,32 +1354,27 @@ list of languages supported as well as the currently used changeset." (set-path-environment-variable "PATH" '("bin") (list #+(canonical-package tar) - #+(canonical-package xz) #+(canonical-package zstd))) ;; Extract the base Icecat tarball, renaming its top-level ;; directory. (invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",") - "-xf" #$icecat-115-source) + "-xf" #$icecat-source) (chdir #$name) - ;; *Replace* the l10n directory with that of Thunderbird. - (delete-file-recursively "l10n") - (mkdir "l10n") - (invoke "tar" "--extract" "--file" #$thunderbird-comm-l10n - "--strip-components=1" "--directory" "l10n/") + ;; Merge the Thunderdbird localization data. + (copy-recursively #$thunderbird-comm-l10n "l10n") - ;; Add the Thunderbird-specific "comm" directory.. + ;; Add the Thunderbird-specific "comm" directory. (mkdir "comm") (copy-recursively #$thunderbird-comm-source "comm") + (for-each make-file-writable (find-files "comm")) (delete-file "sourcestamp.txt") ;; Adjust the application name. - (substitute* "comm/mail/confvars.sh" - (("MOZ_APP_NAME=thunderbird") - "MOZ_APP_NAME=icedove") - (("MOZ_UPDATER=1") - "MOZ_UPDATER=0")) + (substitute* "comm/mail/moz.configure" + (("\"MOZ_APP_NAME\", \"thunderbird\"") + "\"MOZ_APP_NAME\", \"icedove\"")) ;; Remove branding to comply with Mozilla's trademark policy (with-directory-excursion "comm/mail/branding/nightly" @@ -1421,7 +1402,7 @@ list of languages supported as well as the currently used changeset." (substitute* '("overrides/app-license-name.html") (("Thunderbird") "Icedove"))) (with-directory-excursion "comm/mail/components/" - (substitute* '("MailGlue.jsm" + (substitute* '("MailGlue.sys.mjs" "extensions/schemas/addressBook.json" "extensions/schemas/tabs.json" "extensions/schemas/cloudFile.json" @@ -1433,7 +1414,8 @@ list of languages supported as well as the currently used changeset." "enterprisepolicies/helpers/moz.build" "enterprisepolicies/schemas/moz.build") (("Thunderbird") "Icedove"))) - (substitute* '("comm/mailnews/base/prefs/content/accountUtils.js" + (substitute* '("devtools/startup/DevToolsStartup.sys.mjs" + "comm/mailnews/base/prefs/content/accountUtils.js" "comm/mail/base/content/customizeToolbar.js" "comm/suite/components/customizeToolbar.js") (("AppConstants.MOZ_APP_NAME (.)= \"thunderbird" _ e) @@ -1451,6 +1433,8 @@ list of languages supported as well as the currently used changeset." (string-append m ", false);")) (("(pref\\(\"lightweightThemes.update.enabled\").*" _ m) (string-append m ", false);")) + (("(pref\\(\"services.settings.server\").*" _ m) + (string-append m ", \"\");")) ;; XXX: The autoDisableScopes is tweaked by the makeicecat ;; script, but it doesn't know about Thunderbird. This is @@ -1465,11 +1449,21 @@ list of languages supported as well as the currently used changeset." (string-append anchor "pref(\"intl.locale.requested\", \"\");\n"))) + ;; Fix more discrepancies caused by the fact that the + ;; makeicecat script didn't run on the Thunderbird sources. + (substitute* '("Cargo.lock" + "comm/rust/Cargo.lock" + "comm/rust/Cargo.toml" + "gfx/qcms/Cargo.toml" + "toolkit/library/rust/shared/Cargo.toml") + (("IceCatGraphics") "FirefoxGraphics") + (("firefox-on-glean") "icecat-on-glean")) + ;; Step out of the directory and create the tarball. (chdir "..") (format #t "Packing Icedove source tarball...~%") (force-output) - (setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args))) + (setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count))) (invoke "tar" "cfa" #$output "--mtime=@315619200" ;1980-01-02 UTC "--owner=root:0" @@ -1495,6 +1489,11 @@ list of languages supported as well as the currently used changeset." ,@%default-gnu-modules) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-verify-vendored-rust-dependencies + (lambda _ + (substitute* "comm/python/rocbuild/rocbuild/rust.py" + (("result = check_vendored_dependencies\\(topsrcdir)") + "sys.exit(0)")))) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda _ (use-modules (guix build cargo-utils)) @@ -1507,15 +1506,35 @@ ca495991b7852b855")) (string-append "checksum = \"" null-hash "\"")))) (find-files "." "Cargo.lock$")) (for-each generate-all-checksums - '("third_party/rust" - "toolkit/library/rust"))))) + '("services" + "js" + "third_party/rust" + "dom/media" + "dom/webauthn" + "toolkit" + "gfx" + "storage" + "modules" + "xpcom/rust" + "media" + "mozglue/static/rust" + "netwerk" + "remote" + "intl" + "servo" + "security/manager/ssl" + "build" + ;; Thunderbird-specific. + "comm"))))) (add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag (lambda _ ;; Remove --frozen flag from cargo invocation, otherwise it'll ;; complain that it's not able to change Cargo.lock. ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373 (substitute* "build/RunCbindgen.py" - (("\"--frozen\",") "")))) + (("args.append\\(\"--frozen\"\\)") "pass")) + (substitute* "config/makefiles/rust.mk" + (("cargo_build_flags \\+= --frozen") "")))) ;; Fixes issue where each installation directory generates its own ;; profile (see: ;; https://trac.torproject.org/projects/tor/ticket/31457). @@ -1565,8 +1584,6 @@ ca495991b7852b855")) (setenv "MOZ_NOSPAM" "1") (setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system") - (setenv "PYTHON" - (search-input-file inputs "/bin/python")) (setenv "GUIX_PYTHONPATH" (string-append (getcwd) "/obj-x86_64-pc-linux-gnu/_virtualenvs/build")) @@ -1600,6 +1617,7 @@ ca495991b7852b855")) "ac_add_options --enable-optimize\n" "ac_add_options --enable-pulseaudio\n" "ac_add_options --enable-release\n" + "ac_add_options --enable-rust-simd\n" "ac_add_options --enable-strip\n" "ac_add_options --enable-system-ffi\n" "ac_add_options --enable-system-pixman\n" @@ -1699,16 +1717,15 @@ ca495991b7852b855")) cairo cups dbus-glib - ;; Support for FFmpeg 6 was only added in version 112 (see: - ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1819374). + eudev + ffmpeg freetype gdk-pixbuf glib gpgme gtk+ - gtk+-2 hunspell - icu4c + icu4c-77 libcanberra libevent libffi @@ -1716,31 +1733,29 @@ ca495991b7852b855")) libjpeg-turbo libnotify libpng-apng + libva libvpx libxcomposite libxft libxinerama libxscrnsaver libxt - libva mesa mit-krb5 nspr - nss + nss-rapid pango pciutils pixman pulseaudio sqlite startup-notification - eudev unzip zip zlib)) (native-inputs - (list `(,rust "cargo") - clang-15 - llvm-15 + (list clang-20 + llvm-20 m4 nasm node-lts @@ -1748,7 +1763,8 @@ ca495991b7852b855")) pkg-config python-wrapper rust - rust-cbindgen-0.24 + `(,rust "cargo") + rust-cbindgen which yasm)) (home-page "https://www.thunderbird.net") @@ -1809,9 +1825,6 @@ their corresponding VERSION, SOURCE and LOCALES variables." (string-append (getcwd) "/mach_state")) (setenv "MOZCONFIG" (string-append (getcwd) "/.mozconfig")) (setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system") - (setenv "GUIX_PYTHONPATH" - (string-append (getcwd) - "/obj/_virtualenvs/build/lib/python3.11/site-packages")) (setenv "BUILD_BACKENDS" "FasterMake,RecursiveMake"))) (replace 'build ;build and install data files (lambda* (#:key outputs #:allow-other-keys) @@ -1821,6 +1834,13 @@ their corresponding VERSION, SOURCE and LOCALES variables." (error "could not find file in dir" name dir)) (car files))) + ;; Register "tb_common" as a valid site, to please the mach + ;; virtualenv machinery (see: + ;; ). + (substitute* "python/mach/mach/site.py" + (("\"mach\", \"build\", \"common\"" all) + (string-append all ", \"tb_common\""))) + (for-each (lambda (l) (let* ((out (assoc-ref outputs l)) @@ -1844,10 +1864,9 @@ their corresponding VERSION, SOURCE and LOCALES variables." 'thunderbird '#$project)))) (format #t "processing locale `~a'...~%" l) - ;; XXX: For some reasons, on version 115, there are some - ;; parsing errors that cause the build system to - ;; return an unclean exit code; use system* to ignore - ;; errors. + ;; TODO: Revert to use 'invoke' here, after + ;; + ;; is fixed. (system* "./mach" "build" (string-append "langpack-" l)) (mkdir-p ext-dir) (let ((xpi (find-file "obj" (string-append @@ -1862,7 +1881,10 @@ their corresponding VERSION, SOURCE and LOCALES variables." (native-inputs (list m4 perl - python-wrapper + python + python-aiohttp + python-async-timeout + python-dateutil node-lts unzip)) (home-page "https://www.mozilla.org/") diff --git a/gnu/packages/golang-apps.scm b/gnu/packages/golang-apps.scm index 3015f1e0abb..d5444813911 100644 --- a/gnu/packages/golang-apps.scm +++ b/gnu/packages/golang-apps.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz> ;;; Copyright © 2025 Sharlatan Hellseher ;;; diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm index 3e7e2690cb1..963bc942a9e 100644 --- a/gnu/packages/golang-check.scm +++ b/gnu/packages/golang-check.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2024 Troy Figiel ;;; Copyright © 2024 Roman Scherer -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/golang-vcs.scm b/gnu/packages/golang-vcs.scm index 18fd7d8a40e..23d43e635ca 100644 --- a/gnu/packages/golang-vcs.scm +++ b/gnu/packages/golang-vcs.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2025 David Thompson ;;; Copyright © 2025 Ludovic Courtès -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index aa27a4750bc..602d8262d86 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Pierre-Antoine Rouby -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Vagrant Cascadian ;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2020 Jack Hill diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index f8b154ec60d..d64d5ff08b3 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2021 Collin J. Doering ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Guix Together -;;; Copyright © 2021, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2025 Maxim Cournoyer ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Ramana Radhakrishnan ;;; Copyright © 2021 Ricardo Wurmus diff --git a/gnu/packages/gperf.scm b/gnu/packages/gperf.scm index 0a653ccb847..d46baaa6782 100644 --- a/gnu/packages/gperf.scm +++ b/gnu/packages/gperf.scm @@ -44,18 +44,3 @@ strings, it produces a hash function and hash table in C or C++ code. That the hash function is perfect means that no collisions can exist and that look-ups can be made by single string comparisons.") (license gpl3+))) - -(define-public gperf-3.0 - ;; This older version would use 'unsigned int' in its generated lookup - ;; functions whereas 3.1 uses 'size_t', which causes breakage such as - ;; . - (package - (inherit gperf) - (version "3.0.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gperf/gperf-" - version ".tar.gz")) - (sha256 - (base32 - "0gnnm8iqcl52m8iha3sxrzrl9mcyhg7lfrhhqgdn4zj00ji14wbn")))))) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index c3e1c9b496d..de9e13f4dd5 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019, 2020, 2021 Pierre Langlois ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 Stefan Reichör -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 8cb61cb5a65..e9091e73991 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2020 Pierre Langlois ;;; Copyright © 2021, 2023, 2025 Vinicius Monego ;;; Copyright © 2021 Alexandre Hannud Abdo -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2023 David Elsing ;;; Copyright © 2025 Mark Walker diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7e9fa97e1df..53c3dcfff9f 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou ;;; Copyright © 2020 Raghav Gururajan -;;; Copyright © 2020-2024 Maxim Cournoyer +;;; Copyright © 2020-2024 Maxim Cournoyer ;;; Copyright © 2020 Gabriel Arazas ;;; Copyright © 2021 Antoine Côté ;;; Copyright © 2021 Andy Tai diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 454e6757f7e..f023947f97f 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -304,7 +304,8 @@ applications that want audio visualisation and audio visualisation plugins.") (commit "ESOUND_0_2_41"))) (file-name (git-file-name name version)) (sha256 - (base32 "141jg70fim276i8k2kyypm84gy89i1k9mm4yf68mfwnybvjw1d6n")))) + (base32 "141jg70fim276i8k2kyypm84gy89i1k9mm4yf68mfwnybvjw1d6n")) + (patches (search-patches "esound-c99.patch")))) (build-system gnu-build-system) (native-inputs (list autoconf diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7ab4110c96b..b5b6a3b887b 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012-2025 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber -;;; Copyright © 2016 Alex Sassmannshausen +;;; Copyright © 2016, 2025 Alex Sassmannshausen ;;; Copyright © 2016-2023 Ricardo Wurmus ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016, 2019-2021, 2023 Eraim Flashner @@ -16,7 +16,7 @@ ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Nikita ;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice -;;; Copyright © 2018, 2021, 2022, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2018, 2021-2025 Maxim Cournoyer ;;; Copyright © 2018–2025 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier @@ -141,6 +141,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages tree-sitter) #:use-module (gnu packages version-control) + #:use-module (gnu packages vim) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -354,6 +355,38 @@ currently does not do much, but it might in the future.") OAuth2 protocols.") (license license:gpl3+))) +(define-public guile-bewaking + (package + (name "guile-bewaking") + (version "0.1.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/jjba23/bewaking.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cx2pn6bfgy1xzms92v28q3mf24p195sjl2yyz7wbq8r9nz6rc2i")))) + (build-system guile-build-system) + (arguments + (list + #:source-directory "src")) + (native-inputs (list guile-uuid guile-gcrypt guile-3.0)) + (propagated-inputs (list openssl xxd)) + (home-page "https://codeberg.org/jjba23/bewaking") + (synopsis "Authentication / Authorization library for Guile Scheme") + (description + "bewaking provides functionalities to (double) encrypt and +decrypt data, aided by a custom obfuscation algorithm. + +It also provides a DSL to be used for Authorization and Authentication +for your Guile Scheme projects with a simple user permission system. + +Data is protected through multiple layers of cryptography techniques +and obfuscation tricks, producing secure files and tokens one can use.") + (license license:lgpl3+))) + (define-public guile-openai (let ((commit "751cd5db5f8bb7c00e60042a7ec86100930b0f02") (revision "1")) @@ -2698,74 +2731,70 @@ above command-line parameters.") (replace "guile" guile-2.2))))) (define-public guile-hall - ;; There are many unreleased bug fixes; use the latest commit for now. - (let ((commit "7558ba906d4281a5b825e3c1c87f2810312414b6") - (revision "1")) - (package - (name "guile-hall") - (version (git-version "0.4.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/a-sassmannshausen/guile-hall") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0sqm6nyzc37p0xgjj21m9dar2iqik9gfwlcacp2v6y10lh2f1yps")))) - (build-system gnu-build-system) - (arguments - (list - #:modules `(((guix build guile-build-system) - #:select - (target-guile-effective-version)) - ,@%default-gnu-modules) - #:phases - (with-imported-modules `((guix build guile-build-system) - ,@%default-gnu-imported-modules) - #~(modify-phases %standard-phases - (add-after 'install 'hall-wrap-binaries - (lambda* (#:key inputs #:allow-other-keys) - (let* ((version (target-guile-effective-version)) - (site-ccache (string-append "/lib/guile/" - version "/site-ccache")) - (site (string-append "/share/guile/site/" version)) - (dep-path - (lambda (env path) - (list env ":" 'prefix - (cons (string-append #$output path) - (map (lambda (input) - (string-append - (assoc-ref inputs input) - path)) - (list "guile-config" - "guile-lib")))))) - (bin (string-append (ungexp output) "/bin/"))) - (wrap-program (string-append bin "hall") - (dep-path "GUILE_LOAD_PATH" site) - (dep-path "GUILE_LOAD_COMPILED_PATH" site-ccache))))))))) - (native-inputs - (list autoconf - automake - gettext-minimal - guile-3.0 - pkg-config - texinfo)) - (inputs - (list bash-minimal - guile-3.0 - guile-config - guile-lib)) - (propagated-inputs - (list guile-config)) - (synopsis "Guile project tooling") - (description - "Hall is a command-line application and a set of Guile libraries that + (package + (name "guile-hall") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/a-sassmannshausen/guile-hall") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11v7gmldz4i59q64xhz5l958dw57gn7y24ccivw2qv5sf0djad54")))) + (build-system gnu-build-system) + (arguments + (list + #:modules `(((guix build guile-build-system) + #:select + (target-guile-effective-version)) + ,@%default-gnu-modules) + #:phases + (with-imported-modules `((guix build guile-build-system) + ,@%default-gnu-imported-modules) + #~(modify-phases %standard-phases + (add-after 'install 'hall-wrap-binaries + (lambda* (#:key inputs #:allow-other-keys) + (let* ((version (target-guile-effective-version)) + (site-ccache (string-append "/lib/guile/" + version "/site-ccache")) + (site (string-append "/share/guile/site/" version)) + (dep-path + (lambda (env path) + (list env ":" 'prefix + (cons (string-append #$output path) + (map (lambda (input) + (string-append + (assoc-ref inputs input) + path)) + (list "guile-config" + "guile-lib")))))) + (bin (string-append (ungexp output) "/bin/"))) + (wrap-program (string-append bin "hall") + (dep-path "GUILE_LOAD_PATH" site) + (dep-path "GUILE_LOAD_COMPILED_PATH" site-ccache))))))))) + (native-inputs + (list autoconf + automake + gettext-minimal + guile-3.0 + pkg-config + texinfo)) + (inputs + (list bash-minimal + guile-3.0 + guile-config + guile-lib + guix)) + (synopsis "Guile project tooling") + (description + "Hall is a command-line application and a set of Guile libraries that allow you to quickly create and publish Guile projects. It allows you to transparently support the GNU build system, manage a project hierarchy & provides tight coupling to Guix.") - (home-page "https://gitlab.com/a-sassmannshausen/guile-hall") - (license license:gpl3+)))) + (home-page "https://gitlab.com/a-sassmannshausen/guile-hall") + (license license:gpl3+))) (define-public guile-ics (package @@ -2974,55 +3003,6 @@ users and in some situations.") (description "Guile-Udev provides GNU Guile bindings to libudev.") (license license:gpl3+))) -(define-public guile-sly - (package - (name "guile-sly") - (version "0.1") - (source (origin - (method url-fetch) - (uri (string-append "https://files.dthompson.us/sly/sly-" - version ".tar.gz")) - (sha256 - (base32 - "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "configure" - (("_guile_required_version=\"2.0.11\"") - "_guile_required_version=\"2\"") - (("ac_subst_vars='") - "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n")) - (substitute* (find-files "." "Makefile.in") - (("moddir = .*$") - (string-append - "moddir = " - "$(prefix)/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n")) - (("godir = .*$") - (string-append - "godir = " - "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))) - #t)))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags - (list (string-append "--with-libfreeimage-prefix=" - (assoc-ref %build-inputs "freeimage")) - (string-append "--with-libgslcblas-prefix=" - (assoc-ref %build-inputs "gsl"))))) - (native-inputs - (list pkg-config)) - (propagated-inputs - (list guile-sdl guile-opengl)) - (inputs - (list guile-2.2 gsl freeimage mesa)) - (synopsis "2D/3D game engine for GNU Guile") - (description "Sly is a 2D/3D game engine written in Guile Scheme. Sly -features a functional reactive programming interface and live coding -capabilities.") - (home-page "https://dthompson.us/projects/sly.html") - (license license:gpl3+))) - (define* (g-golf-source #:key version hash) (origin (method git-fetch) @@ -6103,20 +6083,20 @@ not provide a way to change the headers on its own.") (license license:gpl3+))) (define-public guile-lens - (let ((commit "14b15d07255f9d3f55d40a3b750d13c9ee3a154f") - (revision "0")) + (let ((commit "722dcf79fc472ca5fdd60a2519105be85c803589") + (revision "1")) (package (name "guile-lens") (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/a-sassmannshausen/guile-lens.git") - (commit commit))) + (url "https://gitlab.com/a-sassmannshausen/guile-lens.git") + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0w8jzqyla56yrgj7acsgd4nspyir6zgp3vgxid4xmwhg9wmf1ida")))) + "1ysbcsnybs0xkap5cspmn6z0s9rj9x9qhmlkcwr5hmajl4f45hj9")))) (build-system gnu-build-system) (arguments '(#:phases @@ -6124,10 +6104,6 @@ not provide a way to change the headers on its own.") (add-after 'unpack 'run-hall (lambda _ (setenv "HOME" "/tmp") ; for ~/.hall - ;; Patch hall.scm. - (substitute* "hall.scm" - (("\\(copyright '\\(2018\\)\\)") - "(email \"alex@pompo.co\") (copyright (2018))")) ;; Invoke hall. (invoke "hall" "build-system" "-x")))))) (native-inputs diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 4f3d493dda5..111d9e52ce4 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2022 Marcel Kupiec -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022, 2025 Efraim Flashner ;;; Copyright © 2023 Spencer Skylar Chan ;;; Copyright © 2023 Foundation Devices, Inc. @@ -75,6 +75,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages lxqt) #:use-module (gnu packages man) + #:use-module (gnu packages mes) #:use-module (gnu packages messaging) #:use-module (gnu packages mtools) #:use-module (gnu packages package-management) @@ -108,6 +109,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system pyproject) @@ -1791,3 +1793,36 @@ output relays.") "This is the Python extension to @code{usbrelay}, a Linux driver based on hidapi for a variety of inexpensive HID compatible USB relay modules. This package also includes @code{usbrelayd}."))) + +(define-public guile-usbrelay + (package + (name "guile-usbrelay") + (version "0.1.0") + (home-page "https://codeberg.org/pisemsky/guile-usbrelay") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72")))) + (build-system guile-build-system) + (arguments + (list + #:source-directory "modules" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'compile-ffi + (lambda* (#:key inputs #:allow-other-keys) + (setenv "GUILE_AUTO_COMPILE" "0") + (invoke "guile" "make.scm")))))) + (native-inputs (list gcc guile-3.0 nyacc pkg-config)) + (inputs (list hidapi)) + (propagated-inputs (list nyacc)) + (synopsis "Control USB HID relays from Guile") + (description + "This package provides a Guile Scheme API to control USB HID relay modules +produced by dcttech.") + (license license:lgpl3+))) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8a232e9f6cd..9686cd1f718 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2021 Matthew James Kraai ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Simon Tournier -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 0eba354ddbb..afcab98c805 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2021 Felix Gruber ;;; Copyright © 2021 Songlin Jiang ;;; Copyright © 2021 Taiju HIGASHI -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023 Luis Felipe López Acevedo ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Charles diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index f096c82b271..9f2f1afd454 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2021 Paul Garlick ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Ivan Gankevich -;;; Copyright © 2022, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2025 Maxim Cournoyer ;;; Copyright © 2022 Tomasz Jeneralczyk ;;; Copyright © 2022 Paul A. Patience ;;; Copyright © 2023 Cairn diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 4949451800d..e4157e0b073 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 dissent ;;; Copyright © 2022 Michael Rohleder -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Tomasz Jeneralczyk ;;; Copyright © 2022 Cairn ;;; Copyright © 2023 Florian Pelz diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1b3327d74b9..1088115d0e3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2020 R Veera Kumar -;;; Copyright © 2020, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2023 Maxim Cournoyer ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2020 Zhu Zihao ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego @@ -332,36 +332,35 @@ APNG patch provides APNG support to libpng.") ;; Temporary, until 76798 merges into core-packages-team, and that merges into ;; master. -(define-public libpng-apng-for-librewolf - (hidden-package - (package - (inherit libpng-apng) - (version "1.6.46") - (source - (origin - (method url-fetch) - (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" - version "/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src" - "/libpng16/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" - "/libpng16/libpng-" version ".tar.xz"))) - (sha256 - (base32 - "1cbwf20zlm4gcv8rpjivkngrjgl5366w21lr9qmbk2lr0dq8papk")))) - (inputs - (modify-inputs (package-inputs libpng-apng) - (replace "apng" - (origin - (method url-fetch) - (uri - (string-append "mirror://sourceforge/libpng-apng/libpng16/" - version "/libpng-" version "-apng.patch.gz")) - (sha256 - (base32 - "00ykl1bzb79xsjwrq7dl0yz9dz5g3zwj0lry5zam3vs6s3gw5gi9"))))))))) +(define-public libpng-apng-next + (package + (inherit libpng-apng) + (version "1.6.46") + (source + (origin + (method url-fetch) + (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" + version "/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src" + "/libpng16/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" + "/libpng16/libpng-" version ".tar.xz"))) + (sha256 + (base32 + "1cbwf20zlm4gcv8rpjivkngrjgl5366w21lr9qmbk2lr0dq8papk")))) + (inputs + (modify-inputs (package-inputs libpng-apng) + (replace "apng" + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/libpng-apng/libpng16/" + version "/libpng-" version "-apng.patch.gz")) + (sha256 + (base32 + "00ykl1bzb79xsjwrq7dl0yz9dz5g3zwj0lry5zam3vs6s3gw5gi9")))))))) (define-public pngcrush (package @@ -761,19 +760,26 @@ maximum quality factor.") "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk")))) (build-system gnu-build-system) (arguments - (if (and (target-riscv64?) - (%current-target-system)) - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'update-config-scripts - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (for-each (lambda (file) - (install-file + (append + (list + #:configure-flags + #~(list (string-append "CFLAGS= " + ;; Relax GCC 14's checks. + "-Wno-error=builtin-declaration-mismatch " + "-Wno-error=implicit-function-declaration"))) + (if (and (target-riscv64?) + (%current-target-system)) + (list #:phases + (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each (lambda (file) + (install-file (search-input-file - (or native-inputs inputs) - (string-append "/bin/" file)) ".")) - '("config.guess" "config.sub"))))) ) - '())) + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))))) + '()))) (native-inputs (if (and (target-riscv64?) (%current-target-system)) @@ -2668,6 +2674,7 @@ Format) file format decoder and encoder.") (package (name "libjxl") (version "0.11.1") + (outputs (list "out" "pixbuf-loader")) (source (origin (method git-fetch) @@ -2689,35 +2696,63 @@ Format) file format decoder and encoder.") "libpng" "zlib")))))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(#:modules ((guix build cmake-build-system) + (guix build utils) + (srfi srfi-26)) + #:configure-flags (list "-DJPEGXL_FORCE_SYSTEM_GTEST=true" "-DJPEGXL_FORCE_SYSTEM_BROTLI=true" "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" "-DJPEGXL_FORCE_SYSTEM_HWY=true" - "-DJPEGXL_BUNDLE_LIBPNG=false") - ,@(cond - ((target-riscv64?) - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-atomic + "-DJPEGXL_BUNDLE_LIBPNG=false" + "-DJPEGXL_ENABLE_PLUGINS=true") + #:phases + (modify-phases %standard-phases + ,@(cond + ((target-riscv64?) + '((add-after 'unpack 'fix-atomic (lambda _ (substitute* "lib/jxl/enc_xyb.cc" (("#include \"lib/jxl/enc_xyb.h\"" a) - (string-append a "\n#include ")))))))) - ((target-x86-32?) - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-test-parameter + (string-append a "\n#include "))))))) + ((target-x86-32?) + '((add-after 'unpack 'loosen-test-parameter (lambda _ ;; This test fails likely due to a floating point ;; rounding difference. (substitute* "lib/jxl/color_management_test.cc" - (("8\\.7e-4") "8.7e-3"))))))) - (#t '())))) + (("8\\.7e-4") "8.7e-3")))))) + (#t '())) + (add-after 'install 'split + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out:pixbuf (assoc-ref outputs "pixbuf-loader")) + (thumbnailer (string-append + out + "/share/thumbnailers/jxl.thumbnailer")) + (thumbnailer* (string-append + out:pixbuf + "/share/thumbnailers/jxl.thumbnailer")) + (pixbuf-loader (string-append + out + "/lib/gdk-pixbuf-2.0/2.10.0/loaders/" + "libpixbufloader-jxl.so")) + (pixbuf-loader* (string-append + out:pixbuf + "/lib/gdk-pixbuf-2.0/2.10.0/loaders/" + "libpixbufloader-jxl.so"))) + + (for-each (lambda (old new) + (install-file old (dirname new)) + (delete-file old) + (chmod new #o555)) + (list thumbnailer pixbuf-loader) + (list thumbnailer* pixbuf-loader*)))))))) (native-inputs (list asciidoc doxygen googletest pkg-config python)) (inputs (list freeglut + gdk-pixbuf gflags giflib imath @@ -2735,6 +2770,8 @@ Format) file format decoder and encoder.") (synopsis "JPEG XL image format reference implementation") (description "This package contains a reference implementation of JPEG XL (encoder and decoder).") + (properties + `((output-synopsis "pixbuf-loader" "gdk-pixbuf loader for the JXL format"))) (license license:bsd-3))) (define-public libjxl-0.10 diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index e3acf3fd71b..b1b03928d06 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2018, 2024 Ricardo Wurmus ;;; Copyright © 2017, 2020 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2020, 2021, 2022, 2024 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2024 Maxim Cournoyer ;;; Copyright © 2020 Boris A. Dekshteyn ;;; Copyright © 2020 Ekaitz Zarraga ;;; Copyright © 2023, 2024 Efraim Flashner diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 76317563ffb..4e2cbab38dd 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -54,8 +54,8 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ceramicnetwork/go-dag-jose") - (commit (string-append "v" version)))) + (url "https://github.com/ceramicnetwork/go-dag-jose") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0g34dwlnq07zg176bdhp2hcg1hg5l55s0a6hk4kiq37vm01w68j7")) @@ -104,8 +104,8 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/bbloom") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/bbloom") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0dcdn7nlysynl7yrbivv8m7j83jq7pabhcff8mvfjdk583rgnkp2")))) @@ -284,8 +284,8 @@ Verification specification (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-bitfield") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-bitfield") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1zhgwdg2kizhk0hb9q5p0pwrwldd2pacz8l1pnapxh6qm3fqs663")))) @@ -308,8 +308,8 @@ Verification specification (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-block-format") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-block-format") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0pd8ww06ss922g3w2fgi3w0q66y2mkb9b2q9x5qxabrjj65xranz")))) @@ -339,8 +339,8 @@ corresponding to the block.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-blockservice") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-blockservice") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1pg6mj0iwlisp0sk9dng9663vvxbcnxjmbb62nkdfaf4dkbs920c")))) @@ -383,8 +383,8 @@ data either locally or from a remote peer through the exchange.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-cidutil") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-cidutil") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0j18wf42rfxrrh2fjdbjsjvjqxwgvg46b9wl6y5ig22fx5hvpm1n")))) @@ -412,8 +412,8 @@ with @url{https://github.com/ipld/cid, CIDs}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-badger4") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-badger4") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1gyzywd74cb8jl0zr8b3fjjmd8rsabwk5rj17nhagigps4971h1a")))) @@ -445,8 +445,8 @@ datastore for IPFS.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-dynamodb") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-dynamodb") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1z155ajpx52v71hsdjz5950z1w0qmp6c7lsqmsa9qyn7x21g7p0g")))) @@ -479,8 +479,8 @@ scans, enabling high performance, ordered, high-cardinality prefix queries.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-flatfs") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-flatfs") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1m5fxxdn2zj9i9nm8fdyll4wcgaknfg3vj07959mj06hwc9r3z3c")))) @@ -508,8 +508,8 @@ hierarchy of the keys.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-measure") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-measure") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "14p3681sb1h81qxkwblngvy72yrd73drcvamgc3v7za734l9f54b")))) @@ -535,8 +535,8 @@ hierarchy of the keys.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-pebble") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-pebble") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0l0abcknray9hvk5j3vdiybgjk7yn6j3awznpy46j08g97z88ljw")))) @@ -565,8 +565,8 @@ go-datastore}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-fs-lock") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-fs-lock") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "14m5038067px6vvqyvx6449f0f62nj8d0p5hkf9rj8ykfahs80ff")))) @@ -593,8 +593,8 @@ go-datastore}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-blockstore") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-blockstore") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1a3a0fm8k8njdlq2w795qff01piadjfp6r5r2hww69fxqsplln9l")))) @@ -630,8 +630,8 @@ datastore, giving a clean interface for getting and putting block objects.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-blocksutil") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-blocksutil") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0g6b4b2b5wp5r0dh20qdfdm76qnh421y8lgz4381r02q2flh57dv")))) @@ -656,8 +656,8 @@ datastore, giving a clean interface for getting and putting block objects.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-cmds") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-cmds") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0npgcwzxzgvygl9r9h5kbnfl1dh0hygmwk1jj1hwznyvj47x6lwl")))) @@ -692,8 +692,8 @@ applications.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-delay") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-delay") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0a5acj622sk1hibnh893mya4h86nsy1dan0wlh9q444c04iqpviw")))) @@ -716,8 +716,8 @@ objects.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-ds-help") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-ds-help") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1xmn9pdyrcim9ahqs9pkh0c9ac71gilb3pb48kcagq8zxf22i4bj")))) @@ -745,8 +745,8 @@ keys used by @code{go-ipfs} (Kubo).") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-datastore") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-datastore") + (commit (string-append "v" version)))) (modules '((guix build utils))) (snippet #~(begin @@ -797,8 +797,8 @@ throughout its lifetime.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-datastore") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-datastore") + (commit (string-append "v" version)))) (modules '((guix build utils))) (snippet #~(begin @@ -825,8 +825,8 @@ throughout its lifetime.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-badger") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-badger") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0ywq8cs6yf5vqfbw6rd5pw79sqljd87qi0ykv4gg736s7g7mkjr6")))) @@ -856,8 +856,8 @@ by @url{https://dgraph.io/docs/badger,Badger}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ds-leveldb") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ds-leveldb") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1hi7vmjpzzh00zcf0638rvgiqj4j8difz5kzr0pilr0z6zcb7dq3")))) @@ -883,8 +883,8 @@ LevelDB backend.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-detect-race") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-detect-race") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0rqb0q66d7z852j5mhlr025dz698c44w014g4mx587amr1rvwqna")))) @@ -905,8 +905,8 @@ LevelDB backend.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-exchange-interface") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-exchange-interface") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0h5jizhjq4yz9sikqc6yhv5gsb8fgv67v0qjzagyhfznfx8kwv1d")))) @@ -931,8 +931,8 @@ LevelDB backend.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-exchange-offline") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-exchange-offline") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1ad28xbqbxc93ckjnlifbk7p58qis7ayfpndav33n6b4sq6s2a0r")))) @@ -964,8 +964,8 @@ but returns nil values to every request.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-pq") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-pq") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0zi177lysf6f2zap9l0yxcw4r2xvjiji1yb1jzdmiif2ahvi0v84")))) @@ -989,8 +989,8 @@ but returns nil values to every request.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-redirects-file") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-redirects-file") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "16lisd5jbniang85jzfwfigw0kmz73913fsrfj49nh92mpw50qpz")))) @@ -1018,8 +1018,8 @@ parsing.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-routing") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-routing") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0j5pyp35z0jnqzz7iiknqx3234swqrpqz478ng8al3b6gqaza9ks")))) @@ -1060,8 +1060,8 @@ development.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipfs-util") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipfs-util") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0x80c6a50zcv473xx0b39sz2xkwpiw3nmmjf51k5x7a4rx0rgvx4")))) @@ -1085,8 +1085,8 @@ development.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipld-cbor") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipld-cbor") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0yxk4sbf1fk9aaizzpz3h30049wqvaz0s3jnbdd5akhj7wg89h21")))) @@ -1117,8 +1117,8 @@ implementation of @code{go-ipld-format}") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipld-format") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipld-format") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0zl172ncmx9h5z2p3d0j1377xm9glw4zfyamks31p0pvvx2kyn7c")))) @@ -1145,8 +1145,8 @@ order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-fore (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipld-git") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipld-git") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1v52qzgmx7qym0qzkzkry2kfj58f9hh7c8qycg74sqbd9zb1ynjj")))) @@ -1187,8 +1187,8 @@ IPLD graph as detailed below. Objects are demonstrated here using both (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-ipld-legacy") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-ipld-legacy") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0sc2zc3lyxy30fzynwdpfrl8jhh1ynwixn1crrv8hzn93yix6550")))) @@ -1218,8 +1218,8 @@ IPLD graph as detailed below. Objects are demonstrated here using both (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-merkledag") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-merkledag") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0g1hrk2iw7gvk5qyv5avcc2idkc13w8agz6d7390bwjk18bdd5gr")))) @@ -1265,8 +1265,8 @@ Graphs, DAG} data structures as specified in (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-metrics-interface") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-metrics-interface") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0d7jh9aclmxq4z5hynn4lc0ab8c8rip92xkc224vjw2y7kg6jyvg")))) @@ -1295,8 +1295,8 @@ Graphs, DAG} data structures as specified in (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-metrics-prometheus") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-metrics-prometheus") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "12bvlg1pnwxyfn8paxf0viky5mv5isdql29mflvjhgs5g48mnc3s")))) @@ -1322,8 +1322,8 @@ Graphs, DAG} data structures as specified in (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-peertaskqueue") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-peertaskqueue") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0mz6kj0d23p7hfmcrh8l0khj6gx9f58v2ls5336im6yw4vkzr711")))) @@ -1352,8 +1352,8 @@ tasks distributed among peers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-test") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-test") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0h2lns6xl874m175l692qwsrwrv7jcx54ncqygjy9l3910ny2dg2")))) @@ -1385,8 +1385,8 @@ IPFS related projects.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-unixfsnode") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-unixfsnode") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0rn4x8f9a1ipwz0rg19ylbyh2s3q81vpnlan9yjscnfxx1r6gdbg")))) @@ -1400,17 +1400,17 @@ IPFS related projects.") (list go-github-com-stretchr-testify)) (propagated-inputs (list ;; go-github-com-ipfs-boxo ; introduce cycle - go-github-com-ipfs-go-bitfield - go-github-com-ipfs-go-cid - go-github-com-ipfs-go-ipld-format - go-github-com-ipfs-go-test - go-github-com-ipld-go-car-v2 - go-github-com-ipld-go-codec-dagpb - go-github-com-ipld-go-ipld-prime - go-github-com-multiformats-go-multicodec - go-github-com-multiformats-go-multihash - go-github-com-spaolacci-murmur3 - go-google-golang-org-protobuf)) + go-github-com-ipfs-go-bitfield + go-github-com-ipfs-go-cid + go-github-com-ipfs-go-ipld-format + go-github-com-ipfs-go-test + go-github-com-ipld-go-car-v2 + go-github-com-ipld-go-codec-dagpb + go-github-com-ipld-go-ipld-prime + go-github-com-multiformats-go-multicodec + go-github-com-multiformats-go-multihash + go-github-com-spaolacci-murmur3 + go-google-golang-org-protobuf)) (home-page "https://github.com/ipfs/go-unixfsnode") (synopsis "ADL IPLD prime node implementation of protobuf") (description @@ -1433,8 +1433,8 @@ based of paths.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-verifcid") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-verifcid") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "05i6wp2nln0mlr1pivmva7j6bwa09k7jl04acx1lw65h4d9nxsjm")))) @@ -1463,8 +1463,8 @@ code prior to it getting merged into @code{go-cid}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs-shipyard/nopfs") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs-shipyard/nopfs") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1qbp7hny0v6n74agh1ym98ndnnr53aq1hd6ybm5q214fah7k23r7")) @@ -1555,8 +1555,8 @@ go-ipfs stack to enable content-blocking.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipld/go-car") - (commit (string-append "v" version)))) + (url "https://github.com/ipld/go-car") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1c9mmvwwhl86m0jv7cp3xaay7bpp9nzq3by3r75z2hyz341zvb2c")) @@ -1601,8 +1601,8 @@ go-ipfs stack to enable content-blocking.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipld/go-car") - (commit (string-append "v" version)))) + (url "https://github.com/ipld/go-car") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "08zkz73r76va2hvrg6gixc0nfdwwsigdncsl9h6b5ibb11zwa0gn")))) @@ -1646,8 +1646,8 @@ go-ipfs stack to enable content-blocking.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipld/go-codec-dagpb") - (commit (string-append "v" version)))) + (url "https://github.com/ipld/go-codec-dagpb") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1jbrwbgr222wsi95gdflbj350csja6k8vphdq7c9bm50ipr8bvkq")))) @@ -1674,8 +1674,8 @@ go-ipfs stack to enable content-blocking.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipld/go-ipld-prime") - (commit (string-append "v" version)))) + (url "https://github.com/ipld/go-ipld-prime") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1ycb08h0hvq3mw3sbjkjzp5sfcxmss155jxiv5gjg7myxvzk91ja")))) @@ -1722,8 +1722,8 @@ basic operations on IPLD objects (traversals, etc).") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-log") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-log") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1yh3sw8knpy364h8h8rqw193whnjd6fbc13cxh6zs29z3x2a7aqa")))) @@ -1752,8 +1752,8 @@ their levels to be controlled individually.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipfs/go-log") - (commit (string-append "v" version)))) + (url "https://github.com/ipfs/go-log") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0gj2yqrv6wgpkv6f9c1anmw5kwg59plv0jrcxb3zmjrnk8fsn1jr")))) @@ -1774,8 +1774,8 @@ their levels to be controlled individually.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ipshipyard/p2p-forge") - (commit (string-append "v" version)))) + (url "https://github.com/ipshipyard/p2p-forge") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0qh820v738fn1k5scd99v230s4xcz26wg2s41farirhdjx8lmzc6")))) @@ -1824,8 +1824,8 @@ peers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-cidranger") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-cidranger") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "05hzlk5hx7qna5znr3q1crr0qb7h8yrv1v96pj015dh0kbdkdaba")))) @@ -1862,8 +1862,8 @@ published AWS Route53 CIDR 52.95.110.0/24), IP routing rules, etc.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-doh-resolver") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-doh-resolver") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0asni7f3gd65bjfqz99fqchz9y75cpgmfwkkhsbq0y2dydagw666")))) @@ -1892,8 +1892,8 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc8484, RFC 8484}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1sxx27hgryg93a03n08vasycaj76iwclzdskajjy8bivk5z9ls9p")) @@ -1999,8 +1999,8 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc8484, RFC 8484}.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-gostream") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-gostream") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1zq5vhjj590azc1gwwiyqilf9ifxp8nz4hziz0fxs5ly2xhjj1mw")))) @@ -2035,8 +2035,8 @@ Go with @url{https://github.com/libp2p/libp2p, LibP2P} streams.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-http") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-http") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0v65xjj1ljpx9bfwqivgncc6imrykw1dd8m2zvaqiygv0dirzkzn")))) @@ -2073,8 +2073,8 @@ through @url{https://github.com/libp2p/libp2p, LibP2P} using Go's standard (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-kad-dht") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-kad-dht") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1m263kjax7zyn3k3xgiamh6fcfl4724hm64z6mvmlslcx5zvmmzz")))) @@ -2147,8 +2147,8 @@ kab-dht}. This DHT is modeled after Kademlia with S/Kademlia modifications.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-kbucket") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-kbucket") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1p764b38xm0v5w3h8df14480j6y0fxxlsxwqizqchf0ivr3fr634")))) @@ -2187,8 +2187,8 @@ kab-dht}. This DHT is modeled after Kademlia with S/Kademlia modifications.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-pubsub") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-pubsub") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "14afjrgfbmlrnjd5xnl70ff95mbvfxp9n8mx3hrw8069bcpzvm2k")))) @@ -2232,8 +2232,8 @@ provides topic-based pubsub, with pluggable routing algorithms.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-pubsub-router") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-pubsub-router") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "01mxb8gi7myidnyfg8yqb445lbwqmgncvh7rcwx6n8av84afplx4")))) @@ -2268,8 +2268,8 @@ provides topic-based pubsub, with pluggable routing algorithms.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-record") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-record") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0hl3khlsxagypf18cgx0rd2hnlnpg2vhcrn4g7m1xrkimgj57696")))) @@ -2298,8 +2298,8 @@ systems.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-routing-helpers") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-routing-helpers") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0s0gzxfhmvywk4w78j1ga1ha7f948csfyflpxz8la1cp64238f01")))) @@ -2339,8 +2339,8 @@ different types of routers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-testing") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-testing") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "08n17mqskdj5il6lws53wk1zsf9d8c55f58bap1rjngf2d669p39")))) @@ -2364,8 +2364,8 @@ different types of routers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-libp2p-xor") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-libp2p-xor") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0p4mwz0q0zbj8p1s04hmpy0w0znfxz3b7x28dv7cz0cg6wqvfqvk")))) @@ -2394,8 +2394,8 @@ as distance-based operations with respect to the XOR metric.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libp2p/go-socket-activation") - (commit (string-append "v" version)))) + (url "https://github.com/libp2p/go-socket-activation") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1cqxzmjfg7838xifs07kigys9icardwlj1wl426mzgzmbwn6pg5s")))) @@ -2423,8 +2423,8 @@ daemon as described in (origin (method git-fetch) (uri (git-reference - (url "https://github.com/whyrusleeping/cbor-gen") - (commit (go-version->git-ref version)))) + (url "https://github.com/whyrusleeping/cbor-gen") + (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "08by7pqh4fcwf2va01iif75yqkfssi6d48334404mmv9jmhzim60")))) @@ -2595,8 +2595,8 @@ also mount the world at @code{/ipfs}.") (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/spritely/go-libp2p-daemon.git") - (commit commit))) + (url "https://gitlab.com/spritely/go-libp2p-daemon.git") + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0bk2610rlg8d4lla7h7sic9drv1syabfbr7kbg2yqqbhiwg0v2br")))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e2dcd2d1c0d..6e61bded235 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2019, 2020, 2021 Björn Höfling ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2020 Raghav Gururajan -;;; Copyright © 2020, 2022, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2022, 2025 Maxim Cournoyer ;;; Copyright © 2021 Vincent Legoll ;;; Copyright © 2021 Mike Gerwitz ;;; Copyright © 2021 Pierre Langlois diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 9ea7e815e92..b5f47be0f36 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017-2020, 2022-2024 Efraim Flashner ;;; Copyright © 2018 Nicolas Goaziou ;;; Copyright © 2021 Pierre Neidhardt -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Frank Pursel ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2025 Ashvith Shetty diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 5cbdbfb57bf..384056c1b5c 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2021, 2022 Jean-Baptiste Volatier ;;; Copyright © 2021 Simon Tournier -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Akira Kyle ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index 975366598f7..607a0d5aebd 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2021 Nicolas Goaziou ;;; Copyright © 2022 Marius Bakke -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2024 Nicolas Graves ;;; Copyright © 2024-2025 Sharlatan Hellseher ;;; diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 4d70a9b276d..3da9c6e0e9f 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -197,7 +197,7 @@ common build settings used in software produced by the KDE community.") (define-public kquickcharts (package (name "kquickcharts") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" @@ -205,7 +205,7 @@ common build settings used in software produced by the KDE community.") "/" name "-" version ".tar.xz")) (sha256 (base32 - "02za34rf623mzqlfvnq93xlfxbrdnbyrc6hrlnqlrx30ljapxq5w")))) + "0g8qkyivgxbr9frx3k77iffrj2wc5dwx2382rjxriw5innjhz9q3")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules glslang pkg-config)) @@ -366,7 +366,7 @@ Phonon-VLC is a backend based on the VLC multimedia library.") (define-public attica (package (name "attica") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -375,7 +375,7 @@ Phonon-VLC is a backend based on the VLC multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "11wav5mimd82v0gax3r6pazwgl3p2ys83lzzlpx23r71cbzvgk5c")))) + "0smy17aw8kdc52bzpzdph9pqcmi30vr7aljbb218vxq69pv8h72x")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -422,7 +422,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") (define-public bluez-qt (package (name "bluez-qt") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -431,7 +431,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") name "-" version ".tar.xz")) (sha256 (base32 - "0hli2kqvch3ggarbsvjmqhz78d156dkhps30gc7d6w5d1959b68s")))) + "1555gmc3nza5afa1gl1rjq4457l7hcqg8f2z7pvyrfx86w7w7xkp")))) (build-system cmake-build-system) (native-inputs (list dbus extra-cmake-modules)) @@ -458,7 +458,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") (define-public breeze-icons (package (name "breeze-icons") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" @@ -466,7 +466,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") "/" name "-" version ".tar.xz")) (sha256 (base32 - "0p9v8y6bhg0bvd5v6y7dill01icqj75am54bwq57xff0h920bnkn")))) + "1d1n563b172zfbflvlr74n6cdsa8ngj3ny1g9scdn9j1cwxpjvll")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules @@ -497,7 +497,7 @@ It is the default icon theme for the KDE Plasma desktop.") (define-public kapidox (package (name "kapidox") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -506,7 +506,7 @@ It is the default icon theme for the KDE Plasma desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0c9nrf9a7wbsxig4mrnibyq3d4hfcam5vy65r3s4ff8v2fk0fvgk")))) + "06yfql6pfjnn6h8ax7r4i4qs3n3qqcsccp7q61hfddbl6cn6mliw")))) (build-system python-build-system) (arguments (list #:tests? #f ; test need network @@ -537,7 +537,7 @@ documentation.") (define-public karchive (package (name "karchive") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" @@ -545,7 +545,7 @@ documentation.") "/" name "-" version ".tar.xz")) (sha256 (base32 - "146c9yaxljbmpbfhmj7ns87zzwb7svcp0g8mw9hjgzmx7b7mv6rw")))) + "1zww81923ppgch6rr3xarwyn5xsc1mkdwcrah6hmf2qxpvr8z8fv")))) (build-system cmake-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -592,7 +592,7 @@ GZip format, via a subclass of QIODevice.") (define-public kcalendarcore (package (name "kcalendarcore") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -601,7 +601,7 @@ GZip format, via a subclass of QIODevice.") name "-" version ".tar.xz")) (sha256 (base32 - "0h8zzakprgsbblfff1hi5fgnxggb8v525mh5mjzgkyrr3y2lll71")))) + "16xxjmx0wwzw88755vg9rlkccmc6r4cpjs5zw397qgbf6lmis7aj")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules perl tzdata-for-tests)) @@ -632,7 +632,7 @@ and the older vCalendar.") (define-public kcodecs (package (name "kcodecs") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -641,7 +641,7 @@ and the older vCalendar.") name "-" version ".tar.xz")) (sha256 (base32 - "10i029p1fcsplj3psvgjc3gg81r1adcka7mklbk6l0hdjxfy1pfx")))) + "15g533vsbzmcn2z1mw4c4ng2g1zf7xknnv4876zk5a1shpf3rlnq")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules gperf qttools)) (inputs (list qtbase)) @@ -709,7 +709,7 @@ which can be used to add custom colors to the popup menu.") (define-public kcolorscheme (package (name "kcolorscheme") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -719,7 +719,7 @@ which can be used to add custom colors to the popup menu.") (sha256 (base32 - "1pwy2bcpfxxbxralyc9463vr5jvy0x4x9lsah9j3zf5qpmksbf4a")))) + "00vkd2ialayi2zw88p19wvjpdz6r56hndvx3kww46aaj7l56s0j6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kguiaddons ki18n @@ -744,7 +744,7 @@ KColorScheme.") (define-public kconfig (package (name "kconfig") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -753,10 +753,10 @@ KColorScheme.") name "-" version ".tar.xz")) (sha256 (base32 - "0icl7wclnpa499x8xlv0ilhvcvr61ra51fisrhplgpw8cacnriif")))) + "099m39k98ynrjvh6h8y4jasm7460nxkpj3v4phjrbvsz0a7wav5s")))) (build-system qt-build-system) (native-inputs - (list dbus extra-cmake-modules inetutils qttools)) + (list dbus extra-cmake-modules inetutils qttools tzdata-for-tests)) (propagated-inputs (list qtdeclarative)) (arguments (list @@ -764,7 +764,7 @@ KColorScheme.") #:phases #~(modify-phases %standard-phases (add-before 'check 'check-setup - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key inputs tests? #:allow-other-keys) (when tests? (with-output-to-file "autotests/BLACKLIST" (lambda _ @@ -776,6 +776,9 @@ KColorScheme.") "testNotify" "testSignal" "testDataUpdated")))) + (setenv "TZDIR" + (search-input-directory inputs + "share/zoneinfo")) (setenv "HOME" (getcwd)) (setenv "QT_QPA_PLATFORM" "offscreen"))))))) (home-page "https://community.kde.org/Frameworks") @@ -843,7 +846,7 @@ kconfiggui-kstandardshortcutwatchertest)" (define-public kcoreaddons (package (name "kcoreaddons") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -852,13 +855,16 @@ kconfiggui-kstandardshortcutwatchertest)" name "-" version ".tar.xz")) (sha256 (base32 - "1nyvzmnhy89lj2k38ip2bl2i6m5j5qyajfid7sngnhf50crvq451")))) + "18721a9rkhrh52mlf8aajib6kzd607cfbmxddqhkplcnq922g2kr")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools shared-mime-info)) (inputs (list qtdeclarative)) (arguments (list #:qtbase qtbase + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF") #:phases #~(modify-phases %standard-phases (add-before 'check 'blacklist-failing-test @@ -925,7 +931,7 @@ many more.") (define-public kdbusaddons (package (name "kdbusaddons") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -934,7 +940,7 @@ many more.") name "-" version ".tar.xz")) (sha256 (base32 - "17kzn6y2lxf9kzvbzrc1r7d5xm5fabsksslls4adpc1qb821cbwv")))) + "0ifispgs8k95drw306b0c9pi2vrdmv0amrmwnw9qm8w3hiibk89v")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules dbus qttools)) @@ -1010,7 +1016,7 @@ as well as an API to create KDED modules.") (define-public kdnssd (package (name "kdnssd") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1019,7 +1025,7 @@ as well as an API to create KDED modules.") name "-" version ".tar.xz")) (sha256 (base32 - "10kyj10m31s9pa0bs247f7lfiikb5xjqzf75a54gyvc8lgx5vlp3")))) + "1q58d4pivfn0g76x65wrqj9qj6j7qxx0i8lmd4v333nrqw2xz2xh")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) @@ -1088,7 +1094,7 @@ replace the other outdated Graphviz tools.") (define-public kguiaddons (package (name "kguiaddons") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1097,20 +1103,25 @@ replace the other outdated Graphviz tools.") name "-" version ".tar.xz")) (sha256 (base32 - "1gw4d2jmx7mrw2wklyh3q2yr4q1c3ri45jg3mgzy9f199zqa104j")))) + "1qmjgnm6sdbl1aa51xlvz1b0fmmjv4vif2k12367rsz1zfj567cy")))) (build-system qt-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, ;; python-sip, clang-python, libclang. Requires python-2 in all cases for ;; clang-python. - (native-inputs (list extra-cmake-modules pkg-config)) + (native-inputs (list extra-cmake-modules + pkg-config + wayland-protocols)) (inputs (list libxkbcommon qtdeclarative qtwayland plasma-wayland-protocols wayland)) - (arguments (list #:qtbase qtbase)) + (arguments (list + ;; XXX: build python bindings. + #:configure-flags #~(list "-DBUILD_PYTHON_BINDINGS=OFF") + #:qtbase qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Utilities for graphical user interfaces") (description "The KDE GUI addons provide utilities for graphical user @@ -1139,7 +1150,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (define-public kholidays (package (name "kholidays") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1147,7 +1158,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0xa74vpw9dqaxmgqnz7f7ah6azzb8rvd1660vmv5ysf7napsxlip")))) + (base32 "0085vmw8cskb0vmg54wzdzfsp6kvqvh05cjkhkw61hq8plsrq0jp")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list qtbase qtdeclarative)) @@ -1160,7 +1171,7 @@ other special events for a geographical region.") (define-public ki18n (package (name "ki18n") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1169,7 +1180,7 @@ other special events for a geographical region.") name "-" version ".tar.xz")) (sha256 (base32 - "053afipdl7x1754d3vxmdapln6qgaj5aka9gmb9sghjx4cr0m300")))) + "1mr18k7lg1s92ngjmjwpa9j7ci0idmq6djqrlb260pin2h5x2an5")))) (build-system cmake-build-system) (propagated-inputs (list gettext-minimal)) @@ -1225,7 +1236,7 @@ translation scripting.") (define-public kidletime (package (name "kidletime") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) @@ -1233,7 +1244,7 @@ translation scripting.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1p766vi3xg07691dpac5wc4a1ynwnyb6iacv1q73j1ymrpvx65zf")))) + (base32 "0b8vlvx0w054gaiy9v18bpn2j9nbrdazyhwsgxlsdmwkf06s99sp")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs @@ -1278,7 +1289,7 @@ or user activity.") (define-public kirigami (package (name "kirigami") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1287,7 +1298,7 @@ or user activity.") "kirigami-" version ".tar.xz")) (sha256 (base32 - "0ac3k26xbl6kvchr9j8dmk51valwrbvim19729rypi7vp2ss2nnx")))) + "05jmyl55csn8ajd4i2p6brxkkwr0lyr49nwvryalylfqmhm19l8n")))) (build-system cmake-build-system) (arguments (list @@ -1344,7 +1355,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") (define-public kitemmodels (package (name "kitemmodels") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1353,7 +1364,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") name "-" version ".tar.xz")) (sha256 (base32 - "1rjqmcgxywmk0404wbf00cbmdysifnz8zb8xks84z34ix694fv21")))) + "0p6g3mxsx7ba2sbx6x3w9igmr0pp645zfq5ic57vsw4gwylnwxki")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -1414,7 +1425,7 @@ model to observers (define-public kitemviews (package (name "kitemviews") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1423,7 +1434,7 @@ model to observers name "-" version ".tar.xz")) (sha256 (base32 - "0pb9v7hhz9c99z33cd5brsp59jzlsnv4ff5xdbg7p8mslagqrpp0")))) + "1p8ljamrw7b1d9q4a78z85h1l06gfgq077411cb6vc61bvc42mf4")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) @@ -1456,7 +1467,7 @@ to flat and hierarchical lists.") (define-public kplotting (package (name "kplotting") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1465,7 +1476,7 @@ to flat and hierarchical lists.") name "-" version ".tar.xz")) (sha256 (base32 - "05jrjg2gnm8nfm0gja4azmmd9ixmv94i4gxy9ry7srxcs3wmd2wi")))) + "01mx01f6ljmsyprbkfg6gljxsb04afy9ijv0n7wr4naw1g8pw4d2")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) @@ -1482,7 +1493,7 @@ pixel units.") (define-public ksvg (package (name "ksvg") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1491,7 +1502,7 @@ pixel units.") name "-" version ".tar.xz")) (sha256 (base32 - "0jyjgqki2jnbchm8ksl1p673z9v035ysn6w2a0yb8mv5cakx5w4v")))) + "1hznbi7m596kdk92gyp9v30c1v88gz0n2p6d3h9pq4w4drrg0fzf")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) @@ -1520,7 +1531,7 @@ re-coloring and on-disk caching.") (define-public ksyntaxhighlighting (package (name "ksyntaxhighlighting") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1529,25 +1540,27 @@ re-coloring and on-disk caching.") "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 - "03a50rl86flg3av4wxjk690sr7fc9vqrfd413ljwgqfnhsw9pwfn")))) + "0njgybi2gzysy632h7ny3c9bcyvfrdrmcarmfax5vypknhckg8bl")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules perl qttools)) (inputs (list qtbase qtdeclarative)) (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-after 'patch-source-shebangs 'unpatch-source-shebang - (lambda _ - ;; revert the patch-shebang phase on scripts which are - ;; in fact test data - (substitute* '("autotests/input/highlight.sh" - "autotests/folding/highlight.sh.fold") - (((which "sh")) " /bin/sh")) ;; space in front! - (substitute* '("autotests/input/highlight.pl" - "autotests/folding/highlight.pl.fold") - (((which "perl")) "/usr/bin/perl"))))))) + (list + #:tests? #f ;; XXX: Fix tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-source-shebangs 'unpatch-source-shebang + (lambda _ + ;; revert the patch-shebang phase on scripts which are + ;; in fact test data + (substitute* '("autotests/input/highlight.sh" + "autotests/folding/highlight.sh.fold") + (((which "sh")) " /bin/sh")) ;; space in front! + (substitute* '("autotests/input/highlight.pl" + "autotests/folding/highlight.pl.fold") + (((which "perl")) "/usr/bin/perl"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Syntax highlighting engine for Kate syntax definitions") (description "This is a stand-alone implementation of the Kate syntax @@ -1582,14 +1595,14 @@ integration with a custom editor as well as a ready-to-use (define-public plasma-wayland-protocols (package (name "plasma-wayland-protocols") - (version "1.17.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0ksayza25qlgvygv30kqvx5akrcp123kma8dcmmwfz3b1r24pm6b")))) + "0cs202wmqxc9p7kdfbizgig3ldarvpwsw6xmi2grhpddf4k4frr5")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules wayland)) (arguments '(#:tests? #f)) ;no tests @@ -1606,7 +1619,7 @@ protocols used in KDE Plasma.") (define-public kwayland (package (name "kwayland") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1614,7 +1627,7 @@ protocols used in KDE Plasma.") version ".tar.xz")) (sha256 (base32 - "1m7zjdfj54bi6dalkhgdjjgbjsafg9gjyjvy7gyjczmfj7gqndlh")))) + "10prq7swdznmjmcb9xd1ls5pfv7adlzsc7md3s1v61sl8cy7sl7z")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config @@ -1690,7 +1703,7 @@ represented by a QPoint or a QSize.") (define-public kwidgetsaddons (package (name "kwidgetsaddons") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1699,13 +1712,16 @@ represented by a QPoint or a QSize.") name "-" version ".tar.xz")) (sha256 (base32 - "01kl3j7qnx64zpaaqb5kya6f3d3r9zl7mva402pzh6bkk4lqhlx1")))) + "0p4ifbqyjc6c52irhi0j9y48w8pz0jnvw2zyp53sk37xaa0ghqvn")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) (arguments (list #:qtbase qtbase + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF") #:phases #~(modify-phases %standard-phases (replace 'check @@ -1847,7 +1863,7 @@ lower level classes for interaction with the X Windowing System.") (define-public modemmanager-qt (package (name "modemmanager-qt") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1856,7 +1872,7 @@ lower level classes for interaction with the X Windowing System.") name "-" version ".tar.xz")) (sha256 (base32 - "1l6v6hnmdjkyp2nsxhplx7jv64rwxicw5s1mqf6zby3aq4rd7vr5")))) + "17pq4bv52fvz95fw4z94zq9pg8hq52phzzy5x5mrldf38kmjk69v")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules dbus pkg-config)) @@ -1883,7 +1899,7 @@ messages.") (define-public networkmanager-qt (package (name "networkmanager-qt") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1892,7 +1908,7 @@ messages.") name "-" version ".tar.xz")) (sha256 (base32 - "1h9nmjazircmbbv0x7cql062nvmpjafnnhdh6wknp0drl6akb7ls")))) + "0ib6pn6155l5hgpjqh9wjf1vaz6ch2lligjifsn5mk2rj6m0pvdr")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules dbus pkg-config)) @@ -1943,7 +1959,7 @@ which are used in DBus communication.") (define-public prison (package (name "prison") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) @@ -1951,7 +1967,7 @@ which are used in DBus communication.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1q8303vnh02b8s3x2p5lxazw1d91qsypl4c31k5xmw97khl6xi13")))) + (base32 "0475wkb86qq7999vjdc7r9szz2vaasw540r9c15w6m807ag2narq")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -1994,7 +2010,7 @@ libpulse.") (define-public qqc2-desktop-style (package (name "qqc2-desktop-style") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2003,7 +2019,7 @@ libpulse.") name "-" version ".tar.xz")) (sha256 (base32 - "0sj231igkf11bnnzhvvc0cz93742hqpc205ks2qpr9ry6k7ai9d8")))) + "1ry3cgzmb0sb07hkdpjqvbvfyysi39psqf4plgf5nv1c4cz2rc9s")))) (build-system qt-build-system) (arguments (list @@ -2044,7 +2060,7 @@ feel.") (define-public solid (package (name "solid") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2053,7 +2069,7 @@ feel.") name "-" version ".tar.xz")) (sha256 (base32 - "07q5ci22w75spf2489pw2d9zn79vpv91pdz2m1v5qpd4m4cg26al")))) + "185qpqhj7504w7l8jh0fn474mav1q2jx99xnjzxvldckg6fn1v00")))) (build-system cmake-build-system) (native-inputs (list bison dbus extra-cmake-modules flex pkg-config qttools)) @@ -2099,7 +2115,7 @@ system.") (define-public sonnet (package (name "sonnet") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2108,7 +2124,7 @@ system.") name "-" version ".tar.xz")) (sha256 (base32 - "1vhy8snjin02whi08caji6m90d3k4kfa9hwj07xpq993sslnax6l")))) + "1f62ran7mhfl2nmhx6m2nzzhnwfjxwargz8yhyivgcy43lxcshhp")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -2149,7 +2165,7 @@ ASpell and HUNSPELL.") (define-public threadweaver (package (name "threadweaver") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2158,7 +2174,7 @@ ASpell and HUNSPELL.") name "-" version ".tar.xz")) (sha256 (base32 - "16p3jx03qldvjmqbcjqi2p6knyvs9f2p0gibk7fn6lnjkzs658b4")))) + "1dhl1r1mkfn74kf19lcy9qrh2wjv35f2wzvzsl6l6xzgd8kiz7g8")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list qtbase)) @@ -2276,7 +2292,7 @@ with other frameworks.") (define-public kauth (package (name "kauth") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2285,7 +2301,7 @@ with other frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "1mnqm0amdyg2x6mg7f2q9z7rsa3y5zq1grxzr2cz936q51wg0fx3")))) + "0qs90gbgm7jra33lxbs622djis1lk9bf6rh221zyp32yv97yiwq4")))) (build-system cmake-build-system) (native-inputs (list dbus extra-cmake-modules qttools)) @@ -2345,7 +2361,7 @@ utilities.") (define-public kcompletion (package (name "kcompletion") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2354,7 +2370,7 @@ utilities.") name "-" version ".tar.xz")) (sha256 (base32 - "02lilyi3jhdd6m0mid8jxbymhf1rm439ygfyvrcs14gxvg5flp2m")))) + "0cx1gjfhv69xdsfliawixdhr87ik68hpvbgf4a9m41579krdfw9z")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) @@ -2391,7 +2407,7 @@ integrated it into your application's other widgets.") (define-public kcontacts (package (name "kcontacts") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2402,11 +2418,11 @@ integrated it into your application's other widgets.") (search-patches "kcontacts-incorrect-country-name.patch")) (sha256 (base32 - "0vshaz0dp4qyyr0c4k5j7i168zwj6fy6yb3bbjzawahzwkwqkwy3")))) + "0pkamk7rckshkbxc43vdrzljmxyg1484h9yl6m9qk5cv26msjmzz")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules ;; for test - iso-codes/pinned)) + iso-codes)) (inputs (list qtdeclarative)) (propagated-inputs (list ;; As required by KF6ContactsConfig.cmake. @@ -2437,7 +2453,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. (define-public kcrash (package (name "kcrash") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2446,7 +2462,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. name "-" version ".tar.xz")) (sha256 (base32 - "0pxraxnm7hw3lk1125z1vp3s4ciz08yfahshn803spa4panjjbi6")))) + "1hqxd71xk6kqaaii7wnnnxsaf0rybi4m00ikai8kjyjrp84s3qq6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcoreaddons kwindowsystem)) @@ -2480,7 +2496,7 @@ application crashes.") (define-public kdoctools (package (name "kdoctools") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2489,7 +2505,7 @@ application crashes.") name "-" version ".tar.xz")) (sha256 (base32 - "1bfa59fkjzrnhf31mb875czyfx7hg84lq9izgx3kkj39s8jw1idm")))) + "18js255mhqqw6sm49iklgr9r1ma1lshsp8k379chyrbqg4d5632w")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -2581,7 +2597,7 @@ from DocBook files.") (define-public kfilemetadata (package (name "kfilemetadata") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2590,7 +2606,7 @@ from DocBook files.") name "-" version ".tar.xz")) (sha256 (base32 - "17mylkg821m4pxxkkqwsy1phfzqsby2ziz3jf0799mvwaw2ws3q9")))) + "1ia0fvin999x7i65cj5ginx3x3jjcfszxjrxxbginhlp4sv81mj7")))) (build-system cmake-build-system) (arguments (list @@ -2711,7 +2727,7 @@ by applications to write metadata.") (define-public kimageformats (package (name "kimageformats") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2720,7 +2736,7 @@ by applications to write metadata.") name "-" version ".tar.xz")) (sha256 (base32 - "0kpk8ydvwvd1sbwn09jla3spqbdb5vxin7dkcpc4mqlwqhnykb4c")))) + "0jywq486b5linfgkswf19pqpmr0lbl9qxj7ylwcpnpw4mc2vppw6")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config)) @@ -2755,7 +2771,7 @@ formats.") (define-public kjobwidgets (package (name "kjobwidgets") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2764,13 +2780,17 @@ formats.") name "-" version ".tar.xz")) (sha256 (base32 - "15dqfg2mb4whz8nv4gavi1h8fyn2a511qq951ln221235j0kiy38")))) + "0ajbp7qazybac99rh61529isgqif6b0a53gkk9sxviwf33q06xsi")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list libxkbcommon kcoreaddons knotifications kwidgetsaddons qtbase)) - (arguments (list #:tests? #f)) + (arguments + (list #:tests? #f + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF"))) (home-page "https://community.kde.org/Frameworks") (synopsis "Widgets for showing progress of asynchronous jobs") (description "KJobWIdgets provides widgets for showing progress of @@ -2799,7 +2819,7 @@ asynchronous jobs.") (define-public knotifications (package (name "knotifications") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2808,9 +2828,13 @@ asynchronous jobs.") name "-" version ".tar.xz")) (sha256 (base32 - "1pgrd42wgd6ffy52mfs9ii1l87lvx772w4blr05p03z898fjzcfj")))) + "17rvm4y5ig6bwbxg4q41cwzybpg0n2555mz98miljyk5b48a8ga2")))) (build-system cmake-build-system) - (arguments (list #:tests? #f)) + (arguments + (list #:tests? #f + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF"))) (native-inputs (list extra-cmake-modules pkg-config qttools)) (propagated-inputs (list qtdeclarative)) @@ -2867,7 +2891,7 @@ covers feedback and persistent events.") (define-public kpackage (package (name "kpackage") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2876,7 +2900,7 @@ covers feedback and persistent events.") name "-" version ".tar.xz")) (sha256 (base32 - "12k4hpf568753rs0y0pfmz50zll53z2jpjw895xrpmr3lx56j8m6")))) + "1jz3iqqfva5s9rjgcqm02ilniqh890vi23nxs76nafyv4q8cwpx4")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -2986,7 +3010,7 @@ were traditional plugins.") (define-public kpty (package (name "kpty") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -2995,7 +3019,7 @@ were traditional plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "04rmlim9czf1krimiqpgdkbsfpq3z4kr9inc1i5wmllvay6gma5g")))) + "1kz92jdwk9yvap0l5rksvsagjjp222d2mdd87iz0x8bzmzsv2qcp")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -3020,7 +3044,7 @@ and communicating with them using a pty.") (define-public kunitconversion (package (name "kunitconversion") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3029,13 +3053,17 @@ and communicating with them using a pty.") name "-" version ".tar.xz")) (sha256 (base32 - "1shp01hx5nga6ldi2374v0f38b9s3dbqbbqapgh9kyc9h1z073r0")))) + "038fif7abb1sz3yvjym9d6w396k7qjdx01ylblcr2haqpzlp5955")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list ki18n qtbase)) - (arguments `(#:tests? #f)) ;; Requires network. + (arguments (list + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF") + #:tests? #f)) ;; Requires network. (home-page "https://community.kde.org/Frameworks") (synopsis "Converting physical units") (description "KUnitConversion provides functions to convert values in @@ -3047,7 +3075,7 @@ gallons).") (define-public syndication (package (name "syndication") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3056,7 +3084,7 @@ gallons).") name "-" version ".tar.xz")) (sha256 (base32 - "1dwgl0nqc8lpkcs7hnd642q2ixbvjw4yx9wmz59rfr852xc7mq0z")))) + "1pmndjdcsz9siphhrnrn5xslrja4zv96qkh2fj0q2489f9q547wh")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) @@ -3079,7 +3107,7 @@ between feed formats.") (define-public baloo (package (name "baloo") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3088,7 +3116,7 @@ between feed formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1y1k040r4v6j3mswbmghgz0s11kk390vscg9fp4vv050lkcp8iav")))) + "0r8z2zv47fmif53si40kimb171zjh9bp6g235s377c2slbngw9wc")))) (build-system cmake-build-system) (propagated-inputs (list kcoreaddons kfilemetadata)) @@ -3134,7 +3162,7 @@ maintaining an index of the contents of your files.") (define-public plasma-activities (package (name "plasma-activities") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -3142,7 +3170,7 @@ maintaining an index of the contents of your files.") version ".tar.xz")) (sha256 (base32 - "0a1rj0i6kbg0a003zr55sjgas0f3wnvjq6rv7879rc4g0q529nrk")))) + "1w4fp6h6kmjzk94mvk73wzkkn3bhq4vyd6jv976zmph2crscm38w")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -3155,8 +3183,8 @@ maintaining an index of the contents of your files.") solid)) (arguments (list - #:tests? #f - #:qtbase qtbase)) + #:tests? #f + #:qtbase qtbase)) (home-page "https://invent.kde.org/plasma/plasma-activities") (synopsis "Core components for the KDE Activity System") (description "KActivities provides the infrastructure needed to manage a @@ -3170,7 +3198,7 @@ with other frameworks.") (define-public plasma-activities-stats (package (name "plasma-activities-stats") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -3178,7 +3206,7 @@ with other frameworks.") version ".tar.xz")) (sha256 (base32 - "1qhh01srvbdlry3i269j3bmwyjkaqa3fdgqipq2k3n7a8kbzrj8m")))) + "0srv5g3xfnwzl6qllz9d5zhcpai3182nkl9wb2wnjncvvbih444r")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs @@ -3196,7 +3224,7 @@ by which applications, and what documents have been linked to which activity.") (define-public kbookmarks (package (name "kbookmarks") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3205,7 +3233,7 @@ by which applications, and what documents have been linked to which activity.") name "-" version ".tar.xz")) (sha256 (base32 - "1lmjdpk91mg5vq1crxvgwj5p16cz731hbw9mhfpjv39siva567bb")))) + "1dddsq5df4rp1j7gv8a6xj1pzr2s383qdhlbnss29mdd96nmcina")))) (build-system cmake-build-system) (propagated-inputs (list kwidgetsaddons)) @@ -3268,7 +3296,7 @@ using the XBEL format.") (define-public kcmutils (package (name "kcmutils") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3277,7 +3305,7 @@ using the XBEL format.") name "-" version ".tar.xz")) (sha256 (base32 - "13swq46l1scbs3g8360i1wygk8svxyxzzw1ajqbiblmrilxk5w0i")))) + "0i1k3s979d3w2jx50b6sj3ijps6x0y008hb7rdjbrywg52rmwgs0")))) (build-system cmake-build-system) (propagated-inputs (list kconfigwidgets @@ -3372,7 +3400,7 @@ KCModules can be created with the KConfigWidgets framework.") (define-public kconfigwidgets (package (name "kconfigwidgets") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3381,7 +3409,7 @@ KCModules can be created with the KConfigWidgets framework.") name "-" version ".tar.xz")) (sha256 (base32 - "0nin8277q7qcivyyq8gii54mrzgdsh5vkhrwhrkfavqi7gbmbpy5")))) + "1ifmwbp59vlli6l8a5rgf0y5slc03s9hs7mxhqjv2jg0v9pjbh31")))) (build-system qt-build-system) (propagated-inputs (list kcodecs kconfig kcolorscheme kwidgetsaddons)) @@ -3463,7 +3491,7 @@ their settings.") (define-public kdeclarative (package (name "kdeclarative") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3472,7 +3500,7 @@ their settings.") name "-" version ".tar.xz")) (sha256 (base32 - "0a53n2b6yrwv89ci5axmkxyfh61jk3fgbjmidfyzw1lg7miy6a78")))) + "03n867gy8v136mfs1j6vrarnxqgdk1jkj2ygs2b6ya01ynhzg3f5")))) (build-system cmake-build-system) (propagated-inputs (list kconfig qtdeclarative)) @@ -3553,7 +3581,7 @@ that offer bindings to some of the Frameworks.") (define-public kded (package (name "kded") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3562,7 +3590,7 @@ that offer bindings to some of the Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "1f0zjd0gigfd6rqlvnyg6yz5fjdkcvkh3srw7044nhhc0wns8xbh")))) + "0ahv70qms1sdi1n45xyp5rqlmrazx1mfs0wng2r2ag6m3nq2yds9")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs @@ -3611,7 +3639,7 @@ started on demand.") (define-public kdesu (package (name "kdesu") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3620,7 +3648,7 @@ started on demand.") name "-" version ".tar.xz")) (sha256 (base32 - "0qha716gkqkry9wrzl2xmcrysfwwcdkr5wg4yhhjbfqj36r1xsbb")))) + "0s4dbjsrshjqw73z2d9y4x4c1yrd0jdchi4p4q5x1kwnhplgmjzr")))) (build-system cmake-build-system) (propagated-inputs (list kpty)) @@ -3676,7 +3704,7 @@ emoticons coming from different providers.") (define-public kglobalaccel (package (name "kglobalaccel") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3685,7 +3713,7 @@ emoticons coming from different providers.") name "-" version ".tar.xz")) (sha256 (base32 - "1c4nzr778qlgw67zmd7nzbi7ylyg8al69fzxkibg8mzjiimg2m4r")))) + "18aapp3xlrgllwxmqabyz18wj4kyqg092kplp765v2vrh8d4cqv6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config qttools)) @@ -3738,7 +3766,7 @@ window does not need focus for them to be activated.") (define-public kiconthemes (package (name "kiconthemes") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3747,7 +3775,7 @@ window does not need focus for them to be activated.") name "-" version ".tar.xz")) (sha256 (base32 - "18asz8dza9xvzpjf29ihcrrc0xaskdghsanpbppv1zf255fqq9x3")))) + "00p40xyza5i9ian5akbc9b3z5z0sm0yga4n6l27iqdj9riv2jfm7")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools shared-mime-info)) @@ -3905,7 +3933,7 @@ consumption.") (define-public kio (package (name "kio") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -3914,8 +3942,7 @@ consumption.") name "-" version ".tar.xz")) (sha256 (base32 - "00x2q9pf52khllnh86h4zcmqxhhfry6y5qkxvg25gws0nz8545a3")) - (patches (search-patches "kio-search-smbd-on-PATH.patch")))) + "131y6ciamibwssb8i5phxxx154mfnw656wzg6kadzgvj1j5bypk7")))) (build-system cmake-build-system) (propagated-inputs (list acl @@ -4123,7 +4150,7 @@ KIO enabled infrastructure.") (define-public knewstuff (package (name "knewstuff") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4132,7 +4159,7 @@ KIO enabled infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "166p4r15jpizw76ysz8vy9cv06zxs3wf8ch7fqxg14q5rb77721k")))) + "0qjfw7b26vcm1w69sapsr5j53sryw2p1p1g2b3qw3a6pkfl0kr2k")))) (build-system cmake-build-system) (propagated-inputs (list attica @@ -4210,7 +4237,7 @@ specification.") (define-public knotifyconfig (package (name "knotifyconfig") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4219,7 +4246,7 @@ specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1d1rz0p270fwx84870kj7nih40kkxnpl3963mf52zs0xzkmkk6xb")))) + "166ahfqwp6p0wm0rsx9p2h1d86f0j0nfg4awr4xna2bcspgjin4h")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs @@ -4291,7 +4318,7 @@ notifications which can be embedded in your application.") (define-public kparts (package (name "kparts") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4300,7 +4327,7 @@ notifications which can be embedded in your application.") name "-" version ".tar.xz")) (sha256 (base32 - "1x1xwclnpsh07flzr1xwb503j9gglv8g5zzhr5mhjyyknkx3dly8")))) + "0rxvqqqm2idws4xk3pgr5byyp3f4rrbza2sw1srfpa8g6j1k8gnz")))) (build-system qt-build-system) (arguments (list #:phases @@ -4371,7 +4398,7 @@ widgets with a user-interface defined in terms of actions.") (define-public kpeople (package (name "kpeople") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4380,7 +4407,7 @@ widgets with a user-interface defined in terms of actions.") name "-" version ".tar.xz")) (sha256 (base32 - "017qgilbjp5flccdz1wsn6av3dbix4h0v83hf69cf8gg26hirv1s")))) + "0spvjl1i91p5ilp8m31jcs0s9w7mz421b6r61bxv1jwm0mmgpm7n")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -4408,7 +4435,7 @@ to easily extend the contacts collection.") (define-public krunner (package (name "krunner") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4417,7 +4444,7 @@ to easily extend the contacts collection.") name "-" version ".tar.xz")) (sha256 (base32 - "0fzm0h7yay24vvm4m1khyr5x2rg9vspqm6qgh5r3pbsxdrd7gqax")))) + "1g2xmgy12hs6ff06znfh02qbya1081q7sw40b23i8bam648p84gk")))) (build-system qt-build-system) (propagated-inputs (list kcoreaddons)) @@ -4512,7 +4539,7 @@ typed.") (define-public kservice (package (name "kservice") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4521,7 +4548,7 @@ typed.") name "-" version ".tar.xz")) (sha256 (base32 - "1m8w3jgrnsq0kdgpfl58616wwf02nnz2xahjrhyvwc4xf8pm9nb5")))) + "07h8rjqrfj73rciqa2i6qi2xkwxqigdy2v9y5pjx3a8mjgmcjppf")))) (build-system cmake-build-system) (propagated-inputs (list kconfig kcoreaddons kdoctools)) @@ -4614,7 +4641,7 @@ types or handled by application specific code.") (define-public kstatusnotifieritem (package (name "kstatusnotifieritem") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4623,10 +4650,13 @@ types or handled by application specific code.") name "-" version ".tar.xz")) (sha256 (base32 - "16nynk0b1bmbi4fjyppfavnw1m6jkfwnpvsnm4zvrdfwwgg7yf7d")))) + "085dmi2z8pdqs32visn1d4whzgv3ywfh5p5pqcgzddbg5w5mkhkk")))) (build-system qt-build-system) (arguments (list + #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF") #:qtbase qtbase #:tests? #f)) (native-inputs (list extra-cmake-modules qttools)) @@ -4640,7 +4670,7 @@ Items.") (define-public ktexteditor (package (name "ktexteditor") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4649,7 +4679,7 @@ Items.") "ktexteditor-" version ".tar.xz")) (sha256 (base32 - "1ky7szynbp3kl83xw5wj94f55mlw134yxh65xjsw7ga53w3fy4kw")))) + "0a3ib479lf4d4zc4maz8ri8l85wajig07f5iw6w1mfp4krxgxsxb")))) (build-system cmake-build-system) (propagated-inputs (list kparts @@ -4767,7 +4797,7 @@ library.") (define-public ktextwidgets (package (name "ktextwidgets") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4776,7 +4806,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0bnz3ryxsxsnvgyq9vvynr11rdbp167mgr5gmbzhjzr45gq9pwhz")))) + "189fl1q95aw10lkpnhzzsmnrmadf47qhhbsm5rzv38985khqlwfb")))) (build-system qt-build-system) (propagated-inputs (list ki18n sonnet)) @@ -4837,7 +4867,7 @@ It supports rich text as well as plain text.") (define-public ktexttemplate (package (name "ktexttemplate") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4846,7 +4876,7 @@ It supports rich text as well as plain text.") version ".tar.xz")) (sha256 (base32 - "1ncj7ww6ycgv274rwjb59pzjigrqrdz6w2wc9l8bib1qvrvcwl20")))) + "1dgr81p3lahllw624y2930k5g3gkg3z3sgaif9hxqc80i4dcz00q")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -4861,7 +4891,7 @@ to separate the structure of documents from the data they contain.") (define-public kwallet (package (name "kwallet") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4870,7 +4900,7 @@ to separate the structure of documents from the data they contain.") name "-" version ".tar.xz")) (sha256 (base32 - "0dnbm0y46k5ybz7pyy234jyldjvdg5rwh2mhlsyk7930yv6g4vqs")))) + "1vafhnkbqh3gnmrbdkbpmdsql44l48jhj5qc0lsx6hs65h6k7pfq")))) (build-system cmake-build-system) (arguments (list #:phases @@ -4881,7 +4911,7 @@ to separate the structure of documents from the data they contain.") (invoke "ctest" "-E" "(fdo_secrets_test)"))))))) (native-inputs - (list extra-cmake-modules kdoctools)) + (list extra-cmake-modules kdoctools pkg-config)) (inputs (list gpgme kauth @@ -4899,6 +4929,7 @@ to separate the structure of documents from the data they contain.") kwidgetsaddons kwindowsystem libgcrypt + libsecret phonon qgpgme qca-qt6 @@ -4950,7 +4981,7 @@ the passwords on KDE work spaces.") (define-public kxmlgui (package (name "kxmlgui") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -4959,7 +4990,7 @@ the passwords on KDE work spaces.") name "-" version ".tar.xz")) (sha256 (base32 - "1rhdfp9dalw1l4ya0x33bjdnp8iw1w7jwm5mxvyplpxi7cnlh1p1")))) + "0km76b722a08jjyg33g87fy891hfnb27zd6m52lcaaahv5sm7zi6")))) (build-system cmake-build-system) (propagated-inputs (list @@ -4986,7 +5017,10 @@ the passwords on KDE work spaces.") qtdeclarative sonnet)) (arguments - (list #:phases + (list #:configure-flags + ;; XXX: build python bindings. + #~(list "-DBUILD_PYTHON_BINDINGS=OFF") + #:phases #~(modify-phases %standard-phases (add-before 'check 'check-setup (lambda* (#:key tests? #:allow-other-keys) @@ -5055,7 +5089,7 @@ descriptions for integrating actions from plugins.") (define-public libplasma (package (name "libplasma") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -5063,7 +5097,7 @@ descriptions for integrating actions from plugins.") version ".tar.xz")) (sha256 (base32 - "0i5k4w45gcm9kagawmskqbfcb4shajh59vrnbq09zi3hz78sxcxi")))) + "1j0cpf9bikrk02i7pdwf3fia2h741rh9a4g3wmi4849asg7cw27m")))) (build-system qt-build-system) (propagated-inputs (list kpackage kwindowsystem)) @@ -5191,7 +5225,7 @@ script engines.") (define-public purpose (package (name "purpose") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -5200,7 +5234,7 @@ script engines.") name "-" version ".tar.xz")) (sha256 (base32 - "09w38lzlizb3gnpd55qsclrspclli8zckjfdm9gykgh5fn879arb")))) + "1gw876q4azwnh1s1gjwsxqjin456yhlbl50rv321gm8civ4z43xa")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules gettext-minimal)) @@ -5321,7 +5355,7 @@ applications.") (define-public kde-frameworkintegration (package (name "kde-frameworkintegration") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) (uri (string-append @@ -5330,7 +5364,7 @@ applications.") "frameworkintegration-" version ".tar.xz")) (sha256 (base32 - "07zkhylvyjd477cwcdzabbh4lar0zhf8lzj2qa89iph8k8f92aqq")))) + "1z07b6vpqdqq3vr02qvam3gfmxvyj863z2bkcbgf46bbfz2y5qx0")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config)) @@ -5404,7 +5438,7 @@ support.") (define-public kdav (package (name "kdav") - (version "6.13.0") + (version "6.16.0") (source (origin (method url-fetch) @@ -5412,7 +5446,7 @@ support.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1ndhhq7q4v2aamgj2bpv1kc80n0lfxhjh5wgb0glqzwd2psyhryp")))) + (base32 "09dk0rbp8lhkhfcr39pwfzgmk2j4c2ccn3k9lx32gddk8rkcg8aq")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm index 559c8d2dd0f..646735b55ed 100644 --- a/gnu/packages/kde-games.scm +++ b/gnu/packages/kde-games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017, 2019 Hartmut Goebel ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice -;;; Copyright © 2021, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2025 Maxim Cournoyer ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant ;;; Copyright © 2022 Brendan Tildesley ;;; Copyright © 2022 Petr Hodina @@ -30,6 +30,7 @@ #:use-module (guix build-system qt) #:use-module (guix build-system trivial) #:use-module (guix gexp) + #:use-module (gnu packages audio) #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages games) @@ -38,23 +39,69 @@ #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages perl) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages xiph)) +(define-public libkdegames + (package + (name "libkdegames") + (version "25.08.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" version + "/src/libkdegames-" version ".tar.xz")) + (sha256 + (base32 "0fp84nkjzf4m2r2gfp8i45xw9bv1mqxzbwn0ghawb4ah3jajyasl")))) + (build-system qt-build-system) + (arguments (list #:qtbase qtbase)) + (native-inputs + (list extra-cmake-modules)) + (inputs + (list karchive + kbookmarks + kcodecs + kcompletion + kconfigwidgets + kcrash + kdbusaddons + kdeclarative + kdnssd + kglobalaccel + kguiaddons + ki18n + kiconthemes + kitemviews + kjobwidgets + knewstuff + kservice + ktextwidgets + kwidgetsaddons + kxmlgui + libsndfile + openal + qtdeclarative + qtsvg)) + (home-page "https://apps.kde.org/categories/games/") + (synopsis "Runtime library for kdegames") + (description "Runtime library for kdegames") + (license (list license:gpl2+ license:fdl1.2+)))) + (define-public ktuberling (package (name "ktuberling") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ktuberling-" version ".tar.xz")) (sha256 - (base32 "0hdn2rvi1v6jzvidqq6db38axiah7cg1jsmj0bdlpfjzbffi8mjl")))) + (base32 "0aqxk98qll6a89brbqdwrw92pazyg5z32rp141nc7zgx8j8i174w")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -98,14 +145,14 @@ This package is part of the KDE games module.") (define-public picmi (package (name "picmi") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/picmi-" version ".tar.xz")) (sha256 - (base32 "1s2841rii2zdv6dg7987rgli28gczjsrglq19wxzg78gshhhjdbg")))) + (base32 "0kigm9m5ydzwfqsp4c5prywyl3x4fiswky5ji0cdi8fhcsgm9ixl")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -135,14 +182,14 @@ This package is part of the KDE games module.") (define-public kolf (package (name "kolf") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kolf-" version ".tar.xz")) (sha256 - (base32 "0pbq1v84j8jl64p4lv60x1gss28181594vlhcpqyjadxwgy5n37m")))) + (base32 "0jp3gzw3mgwjricwi7qk6zhnnqbndzhh6ww0x8a1rps8j24x6cx4")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -185,14 +232,14 @@ This package is part of the KDE games module.") (define-public libkmahjongg (package (name "libkmahjongg") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkmahjongg-" version ".tar.xz")) (sha256 - (base32 "0h3mvzqp00g9x21v6bxa04p12hkvb2zl6bg0zbkig53hxaiy775s")))) + (base32 "0alwrgx4n5nacmzp1523yw0hyiz4my53534zv125lpm27xqinwwd")))) (build-system qt-build-system) (arguments (list @@ -234,14 +281,14 @@ other Mah Jongg like games.") (define-public kmahjongg (package (name "kmahjongg") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmahjongg-" version ".tar.xz")) (sha256 - (base32 "0cwxn49isb2c31462irng83rg82v18cvyd9cz8i6ais2imvls2r2")))) + (base32 "1yp5ifhg1kzpakss7mnwg8qxn17c9v5pssmnqa7n82kbr8drk6pm")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -275,14 +322,14 @@ This package is part of the KDE games module.") (define-public kshisen (package (name "kshisen") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kshisen-" version ".tar.xz")) (sha256 - (base32 "12rw0wqzr8z2khy6yim6khlfgyxrhx5mx5f41xq8hmsd4125z0sz")))) + (base32 "0q5va5wk8ldwi5846vcb7fhyg3w7l5zb72gpb47qi02smwvdhjwy")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules @@ -313,14 +360,14 @@ This package is part of the KDE games module.") (define-public kajongg (package (name "kajongg") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kajongg-" version ".tar.xz")) (sha256 - (base32 "0pq0vzxy7n64hjqx8hkn7gl58ligfmcnbk1mjnh9ndby8ar9pmz7")))) + (base32 "1sgng5709p4ghfp13z3qw4xlm2m667gzqw2vs2bzmm75gscj0c17")))) (build-system qt-build-system) (arguments (list @@ -386,14 +433,14 @@ This package is part of the KDE games module.") (define-public kbreakout (package (name "kbreakout") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kbreakout-" version ".tar.xz")) (sha256 - (base32 "00qbyv7awf70dxid2m71izsl39mfvjgzrfqdpfgkgisfvrwwnw90")))) + (base32 "1mfjka7myzs2vpjr8b22a3j6ndkqmyz97h88a4xbrmxq9w70wgzr")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -426,14 +473,14 @@ This package is part of the KDE games module.") (define-public kmines (package (name "kmines") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmines-" version ".tar.xz")) (sha256 - (base32 "0qw460yp5g1ca21dl72mkdl7fidcbzs8ajvdsqyylrslh4aafxjq")))) + (base32 "1jxn4p1l8ijykchxn1918whgsnajl0z9fc3rpx3ybr920xlq3lbs")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -466,14 +513,14 @@ This package is part of the KDE games module.") (define-public konquest (package (name "konquest") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/konquest-" version ".tar.xz")) (sha256 - (base32 "1ks4x320q6di0f8w8r9bnayhmn11cnfqw86jx63a74vgkn4878w6")))) + (base32 "1v1nbr5cfydj9kwiak0y74czlwj1grm02nh3ak4nxk8llhcdbg5s")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -508,14 +555,14 @@ This package is part of the KDE games module.") (define-public kbounce (package (name "kbounce") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kbounce-" version ".tar.xz")) (sha256 - (base32 "1kdrwn4i24kn9r3ardz92m2c2lfh2fla6x62g8wd8j30sd4q2i8j")))) + (base32 "1ylrsh1qzhhkvjs5x1n9zlw8v89iv9k48328x0h2cx74wnxf8z68")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -549,14 +596,14 @@ This package is part of the KDE games module.") (define-public kblocks (package (name "kblocks") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kblocks-" version ".tar.xz")) (sha256 - (base32 "0naipskix96gdigwhadnnz6mkcxkh7sjyvakigmkfdkac4fpd90c")))) + (base32 "1zscip75qjhxbq3lf4ysz0cwbvq009wid93lk4gdkybs7ydd1r4i")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -590,14 +637,14 @@ This package is part of the KDE games module.") (define-public ksudoku (package (name "ksudoku") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksudoku-" version ".tar.xz")) (sha256 - (base32 "0mhc56s59l2hqdb27jypdgd82l2li2lil9a7kb4zg8x245c42jhk")))) + (base32 "0vgkhaj1w3r6kgq0sajdk66si7mjqkknfnz9bkq3saf6f9fv2g6z")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -653,14 +700,14 @@ This package is part of the KDE games module.") (define-public klines (package (name "klines") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/klines-" version ".tar.xz")) (sha256 - (base32 "0xqddz0xzyn2j578v2clqsnqmqbf83787wkv54kpzdz3v6nbdswk")))) + (base32 "0hildpklv83xdbs1yxprplqgyggb8s8mgb0ri8gpnan3yd0wb890")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -699,14 +746,14 @@ This package is part of the KDE games module.") (define-public kgoldrunner (package (name "kgoldrunner") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kgoldrunner-" version ".tar.xz")) (sha256 - (base32 "07mz92k9ggdfrl3hnpwg6xl70mjaklwrp26a282n1j66arawmkjv")))) + (base32 "14zx8cd4d1csprcf8ysz7avmdhl8whwnfhprqlsj8c5yxizkf1v2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -743,14 +790,14 @@ This package is part of the KDE games module.") (define-public kdiamond (package (name "kdiamond") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdiamond-" version ".tar.xz")) (sha256 - (base32 "1a2fgdfckmsz3ycrlbiddfd2vfhlhx8zn47zg5f2ic00jpp8wch4")))) + (base32 "1ml5fj9ji7xbf74k5jzywlb9vr7gnznphi3zlabld3l0v1i30x97")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -784,14 +831,14 @@ This package is part of the KDE games module.") (define-public kfourinline (package (name "kfourinline") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kfourinline-" version ".tar.xz")) (sha256 - (base32 "05cddjavbhdn4bwmg6ik2q0y0vjl1pn2nrlpkivsn97m1aka57hl")))) + (base32 "0h82s9bw4j0adb5zh3hz9d40az92qlhlimbw9fvkwgsk2a87078s")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -826,14 +873,14 @@ This package is part of the KDE games module.") (define-public kblackbox (package (name "kblackbox") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kblackbox-" version ".tar.xz")) (sha256 - (base32 "1bj181is31hci056qxvf0wcqzggxxlszn65npm16038wa3bh95lw")))) + (base32 "0a4pwq3lck6lg2cgigv8qjyyscv419m79dwsxhpl00pwks8lfrjq")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -869,14 +916,14 @@ This package is part of the KDE games module.") (define-public knetwalk (package (name "knetwalk") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/knetwalk-" version ".tar.xz")) (sha256 - (base32 "1d9v6cx7gskwv6qrayb7b5lxn8xx5rb8hr5q51zydivfry9cnlkx")))) + (base32 "04wv5vpcg3krgx6dq0g19rk720c3gydsmin9x0ag0wdmy9yiz3ki")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -911,14 +958,14 @@ This package is part of the KDE games module.") (define-public bomber (package (name "bomber") - (version "24.12.3") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/bomber-" version ".tar.xz")) (sha256 - (base32 "03llwmd8ichdb9n2xy0rhxy3hwzrxq39jmspjcynxnapl8qq2jnh")))) + (base32 "1v6bqlw3ksyp4h0xk9n92jvp2p6k1xcbjmjfvnnfjnppa0q10g60")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -929,6 +976,7 @@ This package is part of the KDE games module.") kcrash kdbusaddons ki18n + kiconthemes kxmlgui libkdegames qtdeclarative)) @@ -954,14 +1002,14 @@ This package is part of the KDE games module.") (define-public granatier (package (name "granatier") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/granatier-" version ".tar.xz")) (sha256 - (base32 "1k8j498gwkf0pg92jy22jmk6gcjxf88snbgvbvxic46xgv07n6vg")))) + (base32 "11k70q4xvcdmcwwk17r9xfp46y9jnig6xbyh4wjcr7iykbpl4fy6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -994,14 +1042,14 @@ This package is part of the KDE games module.") (define-public ksirk (package (name "ksirk") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksirk-" version ".tar.xz")) (sha256 - (base32 "0n19nhzzh1acgkia0b5s827rpzxvkp2acl3v2qjsr9kzk43cf7bb")))) + (base32 "0b4ay3s0dm15azxdycvp3frnbxc27z9c5li58vpp5wmalqv9hch5")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1054,14 +1102,14 @@ This package is part of the KDE games module.") (define-public palapeli (package (name "palapeli") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/palapeli-" version ".tar.xz")) (sha256 - (base32 "1b26qx1xdsby0vm93c0p89ka5hyrbn0z6mknja3s5vds0apwjrz9")))) + (base32 "1vnw6zpgmcscjcbcq5ijx32ibpxrfs4bi1418p1zqc9saq8c0y2l")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1103,14 +1151,14 @@ This package is part of the KDE games module.") (define-public kiriki (package (name "kiriki") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kiriki-" version ".tar.xz")) (sha256 - (base32 "1blzngbwiqjs42qb79c41g714glmpwpfv5myww912i1k7n345gm6")))) + (base32 "0iciqi1ai8m1rpp3snzbdh9w6185mjck71836gpqb30k3wn1r81s")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1143,14 +1191,14 @@ This package is part of the KDE games module.") (define-public kigo (package (name "kigo") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kigo-" version ".tar.xz")) (sha256 - (base32 "1gj9srz5rakkb2hjkd8awg2ra9acnizk2v4a4ldv11imxmx2fx1q")))) + (base32 "1zal219viq2qwpshka9rm87jz81qyh1hivgy21ixz4wksyrjd5wr")))) (build-system qt-build-system) (arguments (list @@ -1200,14 +1248,14 @@ This package is part of the KDE games module.") (define-public kubrick (package (name "kubrick") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kubrick-" version ".tar.xz")) (sha256 - (base32 "1adysq3kfi70f60gj3b2g82b3p30y5sla1q87fmljvgfyb0zxyn5")))) + (base32 "109kklsv7rnhg4xrdnj51hmw6gmvhyi4cds42l20vkwkkchmbgfv")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1245,14 +1293,14 @@ This package is part of the KDE games module.") (define-public lskat (package (name "lskat") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/lskat-" version ".tar.xz")) (sha256 - (base32 "05j5xfva0xc67x6ig3349amryza2fgrgvpg95svai4p8g5khppaa")))) + (base32 "1n2c74ykqd7lq3pm6fyyx79ind63p43a4lljwq0w9pwcvh7gy7f1")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1287,14 +1335,14 @@ This package is part of the KDE games module.") (define-public kapman (package (name "kapman") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kapman-" version ".tar.xz")) (sha256 - (base32 "1hcfscsrd9sx6h5813mgr4is4154z9xxbh8sr8idkr8hqxrhf108")))) + (base32 "0pvmhh8mkm1yf2hq20c32hiq3d3fzk8jbxigk5gzzhwykml16gc2")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1329,14 +1377,14 @@ This package is part of the KDE games module.") (define-public kspaceduel (package (name "kspaceduel") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kspaceduel-" version ".tar.xz")) (sha256 - (base32 "0lhy72afybp4z9hz7p48hyy17q29z5aj46981p3hn309y3yv2lac")))) + (base32 "1hg5rbi540alqrsswm0zpn54k4yp42p71pa3m2vznhfqkcacrq61")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1366,14 +1414,14 @@ This package is part of the KDE games module.") (define-public bovo (package (name "bovo") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/bovo-" version ".tar.xz")) (sha256 - (base32 "1rdx9d3pghs7a8c5dhs0j07ckgxbbap4lxj1immsl62syk3jxrd5")))) + (base32 "1pb67vs42qfgxg701ligys9a5wrpq9qj0pyf88h4hjkmdzzyq4dz")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1405,14 +1453,14 @@ This package is part of the KDE games module.") (define-public killbots (package (name "killbots") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/killbots-" version ".tar.xz")) (sha256 - (base32 "1h1j3n2wy641gp53m2rb8zbsn93ciprivfi718bcvwvr2k41ncga")))) + (base32 "17rp893yh5fvavwp2djydnrmckswy7qnqpal3kr1q6pp1yy3mvk8")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1449,14 +1497,14 @@ This package is part of the KDE games module.") (define-public ksnakeduel (package (name "ksnakeduel") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksnakeduel-" version ".tar.xz")) (sha256 - (base32 "0v7rh6zlf742gz6y8w440ap9zirv2yvmdybhz3qiwbxag5qvr5r0")))) + (base32 "1wl1m25bg2xz084bcnhry18qw4acmgfx27myfj7qyprsr7r7kry2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1490,14 +1538,14 @@ This package is part of the KDE games module.") (define-public kollision (package (name "kollision") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kollision-" version ".tar.xz")) (sha256 - (base32 "0hh85zl2wid190bgp542msigjyvdwfgvzvfcl22sx15ydnp6v6ma")))) + (base32 "0b9c1n434cwz7n59jivasqycxy78vrf3yqs6g5llah3dvb7jypl2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1530,14 +1578,14 @@ This package is part of the KDE games module.") (define-public knavalbattle (package (name "knavalbattle") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/knavalbattle-" version ".tar.xz")) (sha256 - (base32 "0dammn0a2z5valmbr3c85y6rsxh2isixl72wvfj6zvvp2s5lvsi1")))) + (base32 "1sgfy6sj7qv2bzvaw17zw3lb3rixiakkgcgpchp7iwyk8qiywkdy")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1572,14 +1620,14 @@ This package is part of the KDE games module.") (define-public kreversi (package (name "kreversi") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kreversi-" version ".tar.xz")) (sha256 - (base32 "01chrif9f73nxx4fdmipi3yl2r8dzi5wsgksrc6kqj12j6gpdpjy")))) + (base32 "0znsljjhwll8v1hcm9fni5rs2nbvkck3fl57jd0gcv90fy8jp58n")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1616,14 +1664,14 @@ This package is part of the KDE games module.") (define-public ksquares (package (name "ksquares") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksquares-" version ".tar.xz")) (sha256 - (base32 "0p1nc34n93mzdxih6799j25fic95mha311rifnghk9mlc6fw416n")))) + (base32 "1q7012fdhw2425ky9r8r0jss4ds88ys85wv0i74axlpg2d3izglm")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1654,14 +1702,14 @@ This package is part of the KDE games module.") (define-public kjumpingcube (package (name "kjumpingcube") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kjumpingcube-" version ".tar.xz")) (sha256 - (base32 "058sbbx73kbm2ils6ay0g3n9q05lid8aixl81i0246cgi2kvwvwy")))) + (base32 "13939dgjppzcmzwm4k76w9cvlg53v4xa5rmapi7v57igjnk91lr7")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1694,14 +1742,14 @@ This package is part of the KDE games module.") (define-public knights (package (name "knights") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/knights-" version ".tar.xz")) (sha256 - (base32 "0yrrbmiv9blpafwpa24w4farv76rqghqnrr6r01kkxrikcav9j0y")))) + (base32 "1ak0hik6gvdy54p0jmyf7gn4z3qwy6nkxkja93pcmis1ibzcxx97")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1756,7 +1804,7 @@ This package is part of the KDE games module.") (define-public kde-games (package (name "kde-games") - (version "25.04.0") + (version "25.08.1") (source #f) (build-system trivial-build-system) (arguments diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 5d521805338..f99d134c75d 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -61,68 +61,6 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) -(define-public choqok - (package - (name "choqok") - (version "1.7.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/choqok/" - (version-major+minor version) - "/src/choqok-" version ".tar.xz")) - (sha256 - (base32 "0zm4nkpmvd181xlkis7ydzx54p3vn0zgpdzgh54f1hsjy6ahsq16")))) - (build-system qt-build-system) - (arguments - (list #:tests? #f)) - (native-inputs - (list extra-cmake-modules kdoctools-5 pkg-config)) - (inputs - (list attica-5 - kcmutils-5 - kconfigwidgets-5 - kcoreaddons-5 - kemoticons - kglobalaccel-5 - kguiaddons-5 - ki18n-5 - kio-5 - knotifications-5 - knotifyconfig-5 - kparts-5 - ktextwidgets-5 - kwallet-5 - kwidgetsaddons-5 - kxmlgui-5 - ;; TODO: telepathy - breeze-icons ; default icon set - purpose-5 - qca - qoauth - qtbase-5 - qtnetworkauth-5 - sonnet-5)) - (home-page "https://kde.org/applications/internet/org.kde.choqok") - (synopsis "Micro-Blogging Client") - (description "Choqok is a fast, efficient and simple to use micro-blogging -client for KDE. It currently supports the twitter.com and identi.ca -microblogging services. - -Other notable features include: -@itemize -@item Support for user + friends time-lines. -@item Support for @@Reply time-lines. -@item Support for sending and receiving direct messages. -@item Twitpic.com integration. -@item The ability to use multiple accounts simultaneously. -@item Support for search APIs for all services. -@item KWallet integration. -@item Support for automatic shortening urls with more than 30 characters. -@item Support for configuring status lists appearance. -@end itemize") - (license license:gpl3+))) - (define-public falkon (package (name "falkon") diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 2278c1f2181..a914a1fb53c 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -632,14 +632,14 @@ CalDAV server.") (define-public kaccounts-integration (package (name "kaccounts-integration") - (version "24.12.1") + (version "25.04.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/" name "-" version ".tar.xz")) (sha256 (base32 - "1y19kb87wqf8w5b5yvnkykqkrri7djrb8gd39c734zq7ks5wjd67")))) + "134qw8ka2nx38z3pjzjgc4jx1d96id8h729d6fglxykl49d4g83i")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcmutils @@ -664,14 +664,14 @@ management system and its Plasma integration components.") (define-public kaccounts-providers (package (name "kaccounts-providers") - (version "24.12.1") + (version "25.04.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/" name "-" version ".tar.xz")) (sha256 (base32 - "1jaigpnclcmwm0az169mc7l2kic652prxcbs1k71c8b04frnw44c")))) + "1cvpc5kggq5rnfdgd4j9cmcgdwx02p7jlhvi0qcngf7lax8j9n58")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules intltool)) (inputs (list kaccounts-integration diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index e1f9a2ab023..a947fc3d6ef 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -104,14 +104,14 @@ (define-public bluedevil (package (name "bluedevil") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "12r3dx31sl9rhn3siscq03zzyxvdky6v0qfyi11wzssbqlgg6jqv")))) + "079krbcgnsk4ykqk0vka0y2b37a75wkzdy1r7m4wx1g77syxnq17")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -142,14 +142,14 @@ (define-public breeze (package (name "breeze") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1i1g6xy6gybdzfmanyrw8iw78g81ih6a57x728zk5d1aajhk4rga")))) + "1gsghks25z56dzkwa66giz2iy0d0saj5p7s8cz8w5803z2njsyh1")))) (build-system qt-build-system) ;; TODO: Check whether is makes sence splitting into several outputs. (native-inputs @@ -199,7 +199,7 @@ the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.") (define-public breeze-gtk (package (name "breeze-gtk") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -207,7 +207,7 @@ the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.") "-" version ".tar.xz")) (sha256 (base32 - "0bya2g410cbk52fr3z7lj8yy1cg943gnd2lpcxwkj4zqk9ga4212")))) + "00z81q3fy9033gga1ihk183a17f7hsgb149hbmqvr5i58qmav4fv")))) (build-system qt-build-system) (arguments (list @@ -256,7 +256,7 @@ Breeze is the default theme for the KDE Plasma desktop.") (define-public discover (package (name "discover") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -268,7 +268,7 @@ Breeze is the default theme for the KDE Plasma desktop.") ".tar.xz")) (sha256 (base32 - "0rihqcafvdawlwa6yy1gql473ynmkjl1y61l37j04xpnjk4mz930")))) + "046ybp2bmfvwx7xchpww41cssys64h7xfabg5jhh3j58m8w85pf2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -291,6 +291,8 @@ Breeze is the default theme for the KDE Plasma desktop.") (string-append (getcwd) ":" (getenv "XDG_DATA_DIRS"))))))))) (native-inputs (list extra-cmake-modules pkg-config)) + ;; TODO: Add packagekit-qt6 when a guix backend for packagekit will be + ;; available. (inputs (list appstream-qt6 attica fwupd ; optional @@ -317,14 +319,12 @@ Breeze is the default theme for the KDE Plasma desktop.") kidletime libostree ; required by flatpak markdown - packagekit-qt6 purpose qcoro-qt6 qt5compat qtdeclarative qtsvg - qtwebview - qcoro-qt6)) + qtwebview)) ;; -- The following features have been disabled: ;; * RpmOstree, rpm-ostree binary to manage the system. Required to build the rpm-ostree backend ;; @@ -413,7 +413,7 @@ games, and tools.") (define-public kactivitymanagerd (package (name "kactivitymanagerd") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -421,7 +421,7 @@ games, and tools.") version ".tar.xz")) (sha256 (base32 - "1nkxvghy8mk3d053n5gw9ynka11m6d2rrgysl7rrzvny9wjblq2l")))) + "12x6nqaj60dma1n6dxv87z51013aqw7dzywab939sipw7c32psz9")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -490,7 +490,7 @@ desktop.") (define-public krdp (package (name "krdp") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -498,7 +498,7 @@ desktop.") version ".tar.xz")) (sha256 (base32 - "15ajcclx3zb5rwd0yrfvns7dh5ijn9i6a5hfb2qjfyv1adzqx22v")))) + "11xphz2q201zwgfq9njh5vwqhc9acf0nwryw40slpw906qwm0jdh")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f @@ -528,7 +528,7 @@ desktop.") kpipewire openssl plasma-wayland-protocols - freerdp + freerdp-3 qtwayland qtdeclarative qtkeychain-qt6 @@ -543,14 +543,14 @@ RDP server.") (define-public kde-gtk-config (package (name "kde-gtk-config") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kde-gtk-config-" version ".tar.xz")) (sha256 (base32 - "1dajyyll8m2yivyhsy051ifpbfnni5plq4vnmq7r9sjkk1fw4h6f")))) + "04jrkdav5iahr6nqr27gal91m717pcvanmkxgdsv26w0pi9j5xr2")))) (build-system qt-build-system) (arguments (list @@ -585,14 +585,14 @@ applications.") (define-public kdecoration (package (name "kdecoration") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kdecoration-" version ".tar.xz")) (sha256 (base32 - "06pa1w7sxkylgl82bgbkz18mbik89qf4zgw3v254gazkj2nlz62s")))) + "093qxpyqdhzcpjkx62qi1zljibar692f69qjigd5ka47yjyrj3xx")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -609,7 +609,7 @@ manager which re-parents a Client window to a window decoration frame.") (define-public kde-cli-tools (package (name "kde-cli-tools") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -617,7 +617,7 @@ manager which re-parents a Client window to a window decoration frame.") (patches (search-patches "kde-cli-tools-delay-mime-db.patch")) (sha256 (base32 - "1vl5jgp1a19c7644czljr10kcqi5iv4lyr7y4djw24xkci8nn0ls")))) + "0a3fmwbww9qwphbzba61895s5k03s0g5lrbn54rghplmihpw8k6m")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -657,14 +657,14 @@ KDE Frameworks 5 to better interact with the system.") (define-public kdeplasma-addons (package (name "kdeplasma-addons") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1azgsyg6q0f6q6k10zds5jihsgjkx063gxmz74c8x7jxfvw9swra")))) + "16yimbrfkhjrkfdp7s094rsgdvvf68canfjpysalx7z9zrv93bbx")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -712,7 +712,7 @@ KDE Frameworks 5 to better interact with the system.") (define-public kgamma (package (name "kgamma") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -720,7 +720,7 @@ KDE Frameworks 5 to better interact with the system.") version ".tar.xz")) (sha256 (base32 - "0jzqrbxsf0zxiayzx2wv686asfv0gjaidlnrvxm1f4i8f8qmnski")))) + "03pc2fdq33l1k6wn3i86fl7w2l890sj1id93aqwp60cvzpv8cpyq")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -741,7 +741,7 @@ KDE Frameworks 5 to better interact with the system.") (define-public kglobalacceld (package (name "kglobalacceld") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -749,7 +749,7 @@ KDE Frameworks 5 to better interact with the system.") version ".tar.xz")) (sha256 (base32 - "11985vk2ldmww4gc8fpp0r74sykvcwlckl3mgcl1s6wacmf536ws")))) + "0y23rhxc138dlzdhrihc43jjf7vjjnhx30rzkzlxafhk3dz7i756")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:phases @@ -786,14 +786,14 @@ functionality") (define-public kinfocenter (package (name "kinfocenter") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "0l5r0j01zpd1r1izl5yrajpalvdllnxx5m7rn4a89vc76r8lp155")))) + "0ycaljixrn43hj5ladid5gn15zdfnzz7dxi9yas78akpf2a4jpsd")))) (build-system cmake-build-system) (arguments (list @@ -857,6 +857,7 @@ functionality") ;; Wayland KCM (inputs (list bash-minimal dmidecode + eudev fwupd kauth kconfig @@ -893,7 +894,7 @@ computer's hardware.") (define-public kmenuedit (package (name "kmenuedit") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -901,7 +902,7 @@ computer's hardware.") ".tar.xz")) (sha256 (base32 - "03k53723p181788yakfhf2hp702inln3yx7751mh0b7qcwjbv3xx")))) + "12cwlwmgd9r79af54mh55l56yfvbd9svyazqi05291g1zkpjdywl")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -1041,14 +1042,14 @@ the schedule and venue information.") (define-public kpipewire (package (name "kpipewire") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1daa632919fq8bc44hrpf65rfyc26x72lmfg83m4dd8r6rjdlkv2")))) + "0hlnz8w69n2p6f53d096frqikacb3bdw1p253pnq7fv1rrkdjrhq")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config)) (propagated-inputs (list qtbase qtdeclarative @@ -1078,7 +1079,7 @@ PipeWire in Qt projects.") (define-public kscreen (package (name "kscreen") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1086,12 +1087,15 @@ PipeWire in Qt projects.") ".tar.xz")) (sha256 (base32 - "13aibq9zdfk8msnv05f9ny6zlf0hxm9lvl5612csx6gig7p9nwy1")))) + "1ab0z87312vb25acin4w273q1pi5yppzlhgbxk7r6qhkl8r71vrp")))) (build-system cmake-build-system) (arguments ;; TODO: All tests fail (list #:tests? #f)) - (native-inputs (list extra-cmake-modules qttools pkg-config)) + (native-inputs (list extra-cmake-modules qttools pkg-config + wayland + wayland-protocols + qtwayland)) (inputs (list kconfig kdbusaddons kdeclarative @@ -1100,6 +1104,7 @@ PipeWire in Qt projects.") kwindowsystem kiconthemes kcoreaddons + kcrash kcmutils kxmlgui layer-shell-qt @@ -1110,6 +1115,7 @@ PipeWire in Qt projects.") plasma-wayland-protocols qtsensors qtbase + qtwayland xcb-util libplasma)) (home-page "https://invent.kde.org/plasma/kscreen") @@ -1121,14 +1127,14 @@ KDE Plasma Workspaces.") (define-public ksshaskpass (package (name "ksshaskpass") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/ksshaskpass-" version ".tar.xz")) (sha256 (base32 - "1k975amfg55cg7xmjcivkvdclvs0b7c6h6yixq1vdvvkrlq3y032")))) + "045g1dvcjh14y537h9z14a5yk20zabijpvcabgnhf7593ah8jpwn")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1148,7 +1154,7 @@ call it if it is not associated to a terminal.") (define-public ksystemstats (package (name "ksystemstats") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1156,7 +1162,7 @@ call it if it is not associated to a terminal.") version ".tar.xz")) (sha256 (base32 - "08qkynr7p3b1s7n49n7wf8kkr3xms9s54wsx4pa2lx172l1h6r79")))) + "036sx162rbw7jmq2vk20gqk3pc09npclxp7q218ma8ypix8xn6qd")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1187,59 +1193,17 @@ the running system.") (home-page "https://invent.kde.org/plasma/ksystemstats") (license (list license:gpl2 license:gpl3)))) -(define-public latte-dock - (package - (name "latte-dock") - (version "0.10.9") - (source (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/latte-dock/" - "latte-dock-" version ".tar.xz")) - (sha256 - (base32 - "0zj818wpxdiqpzivvwrgbzj26lcmmv49zw8206v4shcms1afbl9j")))) - (build-system cmake-build-system) - (native-inputs (list extra-cmake-modules)) - (inputs (list qtbase-5 - qtdeclarative-5 - knotifications - kwindowsystem - kio - plasma-framework - kwayland - kactivities - kcrash - kiconthemes - knewstuff - karchive - kguiaddons - kdbusaddons - kglobalaccel - kirigami - ki18n - kdeclarative - kcoreaddons - xcb-util - qtx11extras - libsm)) - (synopsis "Latte is a dock based on plasma frameworks") - (description - "Latte is a dock based on plasma frameworks that provides -an elegant and intuitive experience for your tasks and plasmoids.") - (home-page "https://github.com/KDE/latte-dock") - (license license:gpl2+))) - (define-public layer-shell-qt (package (name "layer-shell-qt") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/layer-shell-qt-" version ".tar.xz")) (sha256 (base32 - "1z5js0fa4z8w113n041cq872v695wkj23r3m2hphnwpvf5wim3dx")))) + "0z6vvpwm26s43x8n3hzsh7v6n052sv2akyn3qd3rb7idrp04xrik")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1260,14 +1224,14 @@ an elegant and intuitive experience for your tasks and plasmoids.") (define-public kscreenlocker (package (name "kscreenlocker") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kscreenlocker-" version ".tar.xz")) (sha256 (base32 - "00cmg1nzbacikak72vsib0jhgx2khlrnv1850922mi92v7lqvavs")))) + "1hya3lns7rh5jykym2gxq3g33779krpj98lzlm65467x4r21fh9l")))) (build-system qt-build-system) (arguments (list #:tests? #f ;TODO: make tests pass @@ -1322,14 +1286,14 @@ an elegant and intuitive experience for your tasks and plasmoids.") (define-public libkscreen (package (name "libkscreen") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1414i8q0c7xqcs5ig84zszygqy2kdzqbxrkj4d8y8w69a7fccg5j")))) + (base32 "0sxhh7mx4h9s7vgapphfhlwfnxzjx7yydv80w13whlh62420cpx2")))) (build-system qt-build-system) (arguments (list @@ -1409,14 +1373,14 @@ basic needs and easy to configure for those who want special setups.") (define-public libksysguard (package (name "libksysguard") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/libksysguard-" version ".tar.xz")) (sha256 - (base32 "1yxwfq7x55n864wv3byhzfj6hncg58xydpc06didr2h1hy9pvy8l")))) + (base32 "1qijnyz6f4kk2y3zl4c369sbbrzrdbndi6g3dr30w2yjbwqm78sp")))) (native-inputs (list bash-minimal extra-cmake-modules pkg-config qttools)) (inputs @@ -1454,7 +1418,7 @@ with a ksysguardd daemon, which may also run on a remote system.") (define-public kwallet-pam (package (name "kwallet-pam") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1462,7 +1426,7 @@ with a ksysguardd daemon, which may also run on a remote system.") ".tar.xz")) (sha256 (base32 - "17v8l7x6l4xpxfh2vh716vxr3qm04qhq9r1lhzblab0hpggjzk4i")))) + "1phcznsmmhysk0vri33lh60g8p09qfnklzljjrv8x2kv7sh1q588")))) (build-system qt-build-system) (arguments (list @@ -1487,7 +1451,7 @@ you login.") (define-public kwayland-integration (package (name "kwayland-integration") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1495,7 +1459,7 @@ you login.") version ".tar.xz")) (sha256 (base32 - "1isqa2b2hfah0yvns7nflg53m0cd5h3lc0bwhsndyawzfdy80imf")))) + "1l72ns4mj7a6dvhzi3hrhv54pa8zj5izm53q856rsbnkw8s23bwv")))) (build-system qt-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -1533,7 +1497,7 @@ KDE Frameworks components.") (define-public kwin (package (name "kwin") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1542,24 +1506,15 @@ KDE Frameworks components.") (patches (search-patches "kwin-unwrap-executable-name-for-dot-desktop-search.patch")) (sha256 (base32 - "04nf7xql7qgq96jwbzf1p6ajyb024jp98ahd90giv3ym0rgj1wi7")))) + "1a02npafxbpkqi8phy9n7gqc7vb0p1w2ffjanhz819zc334nhdd1")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase - #:configure-flags - #~(list (string-append "-DQtWaylandScanner_EXECUTABLE=" - #$(this-package-native-input "qtwayland") - "/lib/qt6/libexec/qtwaylandscanner")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("src/plugins/kdecorations/aurorae/src/aurorae.cpp") - (("(^\\s*QDirIterator it.path, QDirIterator::Subdirectories)(\\);)" - _ a b) - (string-append a - " | QDirIterator::FollowSymlinks" b))) (substitute* '("autotests/integration/dont_crash_glxgears.cpp" "autotests/integration/debug_console_test.cpp" @@ -1729,7 +1684,7 @@ conjunction with the KDE Plasma Desktop.") (define-public kwrited (package (name "kwrited") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1737,7 +1692,7 @@ conjunction with the KDE Plasma Desktop.") version ".tar.xz")) (sha256 (base32 - "1m1p4yy046j0fm45czps4bwg2lqdrvlj7sa36g8syci67ilgfiyk")))) + "12q9vf52p1hwkdql1z0sbh1y1qy4wiqbk1qiyx2vs317sig4n57y")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcoreaddons ki18n kpty knotifications)) @@ -1753,7 +1708,7 @@ conjunction with the KDE Plasma Desktop.") (define-public milou (package (name "milou") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1761,7 +1716,7 @@ conjunction with the KDE Plasma Desktop.") version ".tar.xz")) (sha256 (base32 - "1zx09f3cmk9wabiawl3837fs7gj21v4zdn4lfcfvj1mlna5vr2l4")))) + "1wazsc7yhl64czd7kr1ymjmfnygf3y1ivbv8sfdi9f5fc9dwjyfn")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcoreaddons @@ -1785,7 +1740,7 @@ on top of Baloo.") (define-public qqc2-breeze-style (package (name "qqc2-breeze-style") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1793,7 +1748,7 @@ on top of Baloo.") version ".tar.xz")) (sha256 (base32 - "1xl5bmk9rmilb0187bm4fyvg6x6j62pq6l5l8604fn6s00pd448a")))) + "1813sg9l9vvj08mh4p65h3ibvsmc2v5x0dz4hmq3l4q31dsasv1w")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -1811,7 +1766,7 @@ on top of Baloo.") (define-public oxygen-sounds (package (name "oxygen-sounds") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1819,7 +1774,7 @@ on top of Baloo.") version ".tar.xz")) (sha256 (base32 - "1bb8ckgvxrcgnfi9argr1phf53mbl2n6yrnmybwq0zl0kbc14rb4")))) + "0arfmwxr6p6hfjsywz9zr0cvaf4qj2bsnqdm0h7fk72cm3wnc1a4")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs (list extra-cmake-modules)) @@ -1831,7 +1786,7 @@ on top of Baloo.") (define-public ocean-sound-theme (package (name "ocean-sound-theme") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -1839,7 +1794,7 @@ on top of Baloo.") version ".tar.xz")) (sha256 (base32 - "03abqdx0ffdp41gkgpmhxdixbqc8a4fbfd7aq1ykwd7xp9yjyk0x")))) + "0cl489jvlsd27qiw07ymfnn8ckrfzyd3vnwm6w1fcjzg4q021y5k")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs (list extra-cmake-modules)) @@ -1878,7 +1833,6 @@ on top of Baloo.") kiconthemes ;required by sddm breeze theme kinfocenter kmenuedit - kpmcore krdp kscreen kscreenlocker @@ -1895,7 +1849,7 @@ on top of Baloo.") milou ocean-sound-theme oxygen-sounds - partitionmanager + packagekit ;for discover plasma5support ;required by sddm breeze theme plasma-browser-integration plasma-desktop @@ -1928,10 +1882,18 @@ on top of Baloo.") (resolve-interface '(gnu packages kde-systemtools)) 'konsole) + (module-ref + (resolve-interface + '(gnu packages kde-systemtools)) + 'kpmcore) (module-ref (resolve-interface '(gnu packages kde-systemtools)) 'kwalletmanager) + (module-ref + (resolve-interface + '(gnu packages kde-systemtools)) + 'partitionmanager) spectacle)) ;; plasma-thunderbolt ;waiting for bolt (synopsis "The KDE Plasma desktop environment") @@ -1943,14 +1905,14 @@ on top of Baloo.") (define-public plasma5support (package (name "plasma5support") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1wxap1lsf80vjxxwdrsv1fldc2br1vfxnhmsl464k1nyfxfhg8my")))) + "1xlcrpsl7w14pcxm8kl05as5nf49fi3z6bz0rf7qmn8qbn9si28y")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -2053,14 +2015,14 @@ on QtMultimedia and @command{yt-dlp}.") (define-public plasma-browser-integration (package (name "plasma-browser-integration") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "07c7b38xn90n92vksdzx3idpf9ldncwixvz61867hw63yvxrwh1w")))) + "1jxbg4qqp8ffa0k8zihxdll26gf8q9kyh1dy32aaxhsfmcbygk2q")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config)) ;; TODO: Figure out how to integrate this package into web browsers @@ -2094,14 +2056,14 @@ the KDE Plasma 6 desktop.") (define-public plasma-desktop (package (name "plasma-desktop") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1pd6lj01k4vfj7zr6v6jzkwm4dcq3kjm6ap4vzkwla9hczyj23i1")))) + "09d5b8j0gc2c7aj1imrd6lg9h7px1zknkwn3chhsjgvbixaky2hr")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules dbus @@ -2246,7 +2208,7 @@ activities effectively, without being distracting.") (define-public plasma-disks (package (name "plasma-disks") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2254,7 +2216,7 @@ activities effectively, without being distracting.") version ".tar.xz")) (sha256 (base32 - "0c9x4a3pvgmrjvxywq2il40p00vk575547qcnbhdy18rp5f9lk6x")))) + "04y28s9vfajw2hmiqj0z75znrjnr9i2jvmv250ifgbs2ar3n6vmx")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -2289,7 +2251,7 @@ activities effectively, without being distracting.") (define-public plasma-firewall (package (name "plasma-firewall") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2297,7 +2259,7 @@ activities effectively, without being distracting.") version ".tar.xz")) (sha256 (base32 - "1zl4p788q447f4mgaq7mf98s0fl0zjybp1vnpfxmc7rmk5bz9gxq")))) + "1366hf33004nnby4fp5l5hi58x1a1q92rc3mh8iv2sjnnr3h0y5w")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules)) @@ -2317,7 +2279,7 @@ activities effectively, without being distracting.") (define-public plasma-integration (package (name "plasma-integration") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2325,7 +2287,7 @@ activities effectively, without being distracting.") version ".tar.xz")) (sha256 (base32 - "0sh38qrmxjarcbp41qi7865cjx7n1w2qsk21zj0j0fh55a1vqppz")))) + "1mwb50ri6qijl1qy5qkziljw607vvhj091bkwk13zwxpsx1ydwvi")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -2376,14 +2338,14 @@ integration of Qt applications when running on a KDE Plasma workspace.") (define-public plasma-nano (package (name "plasma-nano") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/plasma-nano-" version ".tar.xz")) (sha256 (base32 - "17pki8i7hh1hhh8nlm1yzbfg97a4j8mpn193xfqc25zcyb87gxpd")))) + "0mlaadv0cmcfxysy5f8ahvy3lm1cn0x8is4ir1vyynpzmmbmnz0a")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config qttools)) (inputs (list qtbase @@ -2405,7 +2367,7 @@ integration of Qt applications when running on a KDE Plasma workspace.") (define-public plasma-nm (package (name "plasma-nm") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2413,7 +2375,7 @@ integration of Qt applications when running on a KDE Plasma workspace.") ".tar.xz")) (sha256 (base32 - "0rqrrhi54l613igdkijg6q9q83jc61ch7yaibjx5zd3j8iaff2ma")))) + "0gm18rma3dsvvpsyvn7aq91ksih6j8mi94br4ghhmsal18y8xhv7")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) @@ -2453,7 +2415,7 @@ connections.") (define-public plasma-mobile (package (name "plasma-mobile") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2475,6 +2437,7 @@ connections.") kirigami-addons kitemmodels knotifications + kpipewire kwayland kwin layer-shell-qt @@ -2521,7 +2484,7 @@ customizable platform for mobile devices.") (define-public plasma-pa (package (name "plasma-pa") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2529,7 +2492,7 @@ customizable platform for mobile devices.") version ".tar.xz")) (sha256 (base32 - "1qdcjf1dg42jk9j574khdhd7ih5fwdmgsp35rqa10617a6gcdndp")))) + "08afzb95z421xivjp8ql60xa66i586zzq4fj33y8dkv9nhx3s3kb")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase ;; test require selenium-webdriver-at-spi-run @@ -2626,14 +2589,14 @@ adding, modifying and removing contacts.") (define-public plasma-vault (package (name "plasma-vault") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1balrgv5q3ac1xq3pazrbnc99l6ibhiijzawripxwhwl5qaf5bh6")))) + "1isf0d3nvnc6p7isqfgm0hd1vpp51yb5hpqcrm1m0l06cqf0wydr")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list kio @@ -2689,14 +2652,14 @@ vaults.") (define-public plasma-systemmonitor (package (name "plasma-systemmonitor") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "04i2b5hwlyzp7qn2w6ppmkik59bl6vvnx69f2bmjdpa5wz075mhf")))) + "0c6jjm48w25f8panfigdl877ml6k37wbr7rqx4p369jm4scy6mk8")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list ki18n @@ -2730,7 +2693,7 @@ sensors, process information and other system resources.") (define-public plasma-welcome (package (name "plasma-welcome") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" @@ -2739,7 +2702,7 @@ sensors, process information and other system resources.") version ".tar.xz")) (sha256 (base32 - "0hw8lj4nfp1dwd2y3rldqvv4rc36fj40ny411hbmdj8w86fg5i24")))) + "0qxlf2w5lavz5sddzkdx9ymx4dxbc2j0ix9hzbya97vmkwwxc76p")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config)) @@ -2778,19 +2741,20 @@ sensors, process information and other system resources.") (define-public plasma-workspace (package (name "plasma-workspace") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1h3qx2ih2z2d3s79ijzz63hgsn7hm28xczygcixvq63hb1w2qmss")))) + "1f7dil2bhrdvhl9gqrpqvz62ldlq5ljdnyiac6q05j0ym62z4m3j")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools pkg-config qtsvg qttools xorg-server-for-tests - python-minimal)) + python-minimal + python-pygobject)) (inputs (list appmenu-gtk-module appstream-qt6 baloo @@ -2868,6 +2832,7 @@ sensors, process information and other system resources.") plasma-workspace-wallpapers plasma-wayland-protocols prison + qtlocation qt5compat qtsvg qtshadertools @@ -2989,7 +2954,11 @@ deviceerrormonitor_p.cpp" "dbusmethodcalltest" "klipper-testHistoryCycler" "klipper-testHistoryModel" - "klipper_v3migrationtest") + "klipper_v3migrationtest" + "testrunnermodel" + "dbussignalwatchertest" + "dbuspropertiestest" + "testdesktop") "|"))))) ;; share/dbus-1/system-services have same name file ;; when dbus-root-service-type merge it, wail report @@ -3009,14 +2978,14 @@ hardware management, and a high degree of customizability.") (define-public plasma-workspace-wallpapers (package (name "plasma-workspace-wallpapers") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "17qpznf9afi76c3dmyjm795fkrdwjr06i5qdw2gaissgrr0lxgh1")))) + "1i697bad8d1184jfyjwpmpy723igx3ksg8bqnn1l9nsfnnmivlpm")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) (native-inputs (list extra-cmake-modules)) @@ -3029,14 +2998,14 @@ hardware management, and a high degree of customizability.") (define-public print-manager (package (name "print-manager") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/print-manager-" version ".tar.xz")) (sha256 - (base32 "02v5rqlfk446qyc6pwi9qhbrbmr1pmq5ihrdrw5vfwr0n9vghss2")))) + (base32 "0d1dld9kbn2h9alyrwkycy4s4krzp40vjk4aq9spx4vdd3ipzzgx")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -3068,27 +3037,28 @@ hardware management, and a high degree of customizability.") (define-public polkit-kde-agent (package (name "polkit-kde-agent") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-1-" version ".tar.xz")) (sha256 (base32 - "0y16kpj8gvygpgmi0r4ca8k2sbjlld0kdibhm4vsfg8lvylwr3fl")))) + "1rw2ar20i6sp2rr9cqq2gb6hmwh0c4wcb8r6b6yxr7rfl07inwr2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) (native-inputs (list extra-cmake-modules)) - (inputs (list ki18n - kwindowsystem - kdbusaddons - kwidgetsaddons - kcoreaddons + (inputs (list kcoreaddons kcrash + kdbusaddons kiconthemes + knotifications + kwidgetsaddons + kwindowsystem polkit-qt6 - qtdeclarative)) + qtdeclarative + ki18n)) (synopsis "Polkit authentication UI for Plasma") (description "This package contains a daemon providing a Polkit authentication @@ -3100,14 +3070,14 @@ UI for Plasma") (define-public powerdevil (package (name "powerdevil") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1wma65rjaix94mc3jng8i0yrcbwl3indcgmf7y0ix6f09n6gxn68")))) + "1mib0laspzzsrqm3g2bdlb7iw3zvh6204cq13jgy0pch2k2d0iy2")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools pkg-config)) (inputs (list bluez-qt @@ -3160,14 +3130,14 @@ of a Plasma shell.") (define-public spectacle (package (name "spectacle") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/spectacle-" version ".tar.xz")) (sha256 - (base32 "0wkw4bfp2anl1b1w97cfig86ax84i9vmyddsbhpq0p3y6xj9r7q3")))) + (base32 "1n19pcqqmgcj66pv5d287zh79hg96cx8pg902l73yfli3w4zr1lr")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -3218,14 +3188,14 @@ of a Plasma shell.") (define-public system-settings (package (name "system-settings") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/systemsettings-" version ".tar.xz")) (sha256 (base32 - "116p2agask93pgsb65ppnv8n6xb65wkhqjdyhh7zhpmzgywp5j61")))) + "0mjm62r7wqn7k9ifs0vq87dlag8rsyacmvc64hjgvxgk23bxq76c")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kaccounts-integration @@ -3265,7 +3235,7 @@ of a Plasma shell.") (define-public wacomtablet (package (name "wacomtablet") - (version "6.3.6") + (version "6.4.3") (source (origin (method url-fetch) (uri @@ -3273,7 +3243,7 @@ of a Plasma shell.") "/wacomtablet-" version ".tar.xz")) (sha256 (base32 - "0xgygd227bs6jkfrmpyk88nhbr2jdl54i3ndmrsj8rhxmxv6vjn3")))) + "161k0ccnjcgn3xgkgigfjjq8yqywmmabv2h13xf09azpm7sl6g9m")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm index f1b0001f0f7..0b6b2219d0e 100644 --- a/gnu/packages/kde-systemtools.scm +++ b/gnu/packages/kde-systemtools.scm @@ -21,6 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages kde-systemtools) + #:use-module (guix build-system cmake) #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix git-download) @@ -29,8 +30,11 @@ #:use-module (guix utils) #:use-module (guix gexp) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages aidc) + #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages freedesktop) #:use-module (gnu packages image) #:use-module (gnu packages kde) @@ -39,6 +43,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages ocr) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages qt) #:use-module (gnu packages glib) #:use-module (gnu packages ruby) @@ -55,21 +60,21 @@ (define-public dolphin (package (name "dolphin") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/dolphin-" version ".tar.xz")) (sha256 - (base32 "061a05dab11isn7pnv07mvvh84wgx8appxpygmj25bqjxw2fr5w9")))) + (base32 "1kgaf4889g2hpgi9rdsnlf90a27z3gy6myhgca6zs937d7053c08")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools ruby ruby-test-unit)) (inputs (list baloo baloo-widgets - plasma-activities + breeze-icons ;; default icon set kbookmarks kcmutils kcompletion @@ -87,10 +92,10 @@ ktextwidgets kuserfeedback kwindowsystem - breeze-icons ;; default icon set - phonon - solid - libxkbcommon)) + libxkbcommon + plasma-activities + qtmultimedia + solid)) (arguments (list #:qtbase qtbase #:tests? #f)) ;; TODO: 4/15 tests fail even with offscreen @@ -113,14 +118,14 @@ The main features of Dolphin are: (define-public dolphin-plugins (package (name "dolphin-plugins") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/dolphin-plugins-" version ".tar.xz")) (sha256 - (base32 "16sd5ygzzi0r2245kfj4gclid15xhylsy5xvf3nif1az9f8bw6pz")))) + (base32 "1jqr3k9zc9xgzx7sg2x7iwmim143402aznng0w3m9pw5zpaj5x3p")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -143,17 +148,55 @@ The main features of Dolphin are: Dolphin with the version control systems: Bzr, Git, Mercurial, Subversion.") (license license:gpl2+))) +(define-public kdf + (package + (name "kdf") + (version "25.08.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" + version "/src/kdf-" version ".tar.xz")) + (sha256 + (base32 + "0h527y4bnr2z4krkbl9m2091v9065waqyc0cqcbvglrs8zj2bjda")))) + (build-system qt-build-system) + (native-inputs + (list extra-cmake-modules kdoctools)) + (inputs + (list kcmutils + kconfigwidgets + kcoreaddons + kcrash + ki18n + kiconthemes + kio + knotifications + kwidgetsaddons + kstatusnotifieritem + kxmlgui + qt5compat)) + (arguments + (list #:qtbase qtbase + #:tests? #f)) + (home-page "https://kde.org/applications/system/kdk") + (synopsis "View Disk Usage") + (description "KDiskFree displays the available file devices (hard drive +partitions, floppy and CD drives, etc.) along with information on their +capacity, free space, type and mount point. It also allows you to mount and +unmount drives and view them in a file manager.") + (license license:gpl2+))) + (define-public khelpcenter (package (name "khelpcenter") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/khelpcenter-" version ".tar.xz")) (sha256 - (base32 "0nbv5lzsn45wszqdz3mj7bz6w4dli9nhn7w6abcl553h002vadch")))) + (base32 "1br0hw7a61672cg453c32q2b9z8wy2zx2afin5wzx7m7fgwjqmvx")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools perl)) @@ -188,17 +231,112 @@ also described by a meta data file which contains the same information as a document meta data file.") (license license:gpl2+))) +(define-public kio-fuse + (package + (name "kio-fuse") + (version "5.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/kio-fuse/kio-fuse-" + version ".tar.xz")) + (sha256 + (base32 + "0jz9952dd20sw0c25pyn2l86nmc1s5l42gxk4js1jnkx4a0la43x")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~(list "-DQT_MAJOR_VERSION=6") + #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)) + (setenv "XDG_RUNTIME_DIR" (getcwd)) + (setenv "QT_QPA_PLATFORM" "offscreen") + (invoke "dbus-launch" "ctest" "-E" + "(fileopstest-cache|fileopstest-filejob)"))))))) + (native-inputs (list dbus extra-cmake-modules pkg-config)) + (inputs (list fuse kio kcoreaddons qtbase)) + (home-page "https://community.kde.org/Frameworks") + (synopsis "FUSE Interface for KIO") + (description "This package provides FUSE Interface for KIO.") + (license license:lgpl2.1+))) + +(define-public kpmcore + (package + (name "kpmcore") + (version "25.08.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/release-service/" version + "/src/" name "-" version ".tar.xz")) + (sha256 + (base32 + "0q7pdjvsd7sxmhmwazvxlccxjmpsyzn3phkhwm8s9fnka2qzqj9g")))) + (build-system cmake-build-system) + (native-inputs + (list extra-cmake-modules pkg-config)) + (inputs + `(("coreutils" ,coreutils) + ("cryptsetup" ,cryptsetup) + ("eudev" ,eudev) + ("kauth" ,kauth) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kwidgetsaddons" ,kwidgetsaddons) + ("lvm2" ,lvm2) + ("mdadm" ,mdadm) + ("polkit-qt6" ,polkit-qt6) + ("qtbase" ,qtbase) + ("qca-qt6" ,qca-qt6) + ("smartmontools" ,smartmontools) + ("util-linux" ,util-linux) + ("util-linux:lib" ,util-linux "lib"))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-polkit-action-path + (lambda _ + (substitute* "src/util/CMakeLists.txt" + (("DESTINATION \\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") + "DESTINATION share/polkit-1/actions")) + (substitute* "src/backend/corebackend.cpp" + (("\\/usr") #$output)))) + (add-before 'configure 'patch-trustedprefixes-file + (lambda* (#:key inputs #:allow-other-keys) + (call-with-output-file "src/util/trustedprefixes" + (lambda (port) + (map (lambda (prefix) + (display prefix port) + (newline port)) + (list (assoc-ref inputs "coreutils") + (assoc-ref inputs "util-linux") + (assoc-ref inputs "eudev") + (assoc-ref inputs "cryptsetup") + (assoc-ref inputs "lvm2") + (assoc-ref inputs "mdadm") + (assoc-ref inputs "smartmontools") + "/run/current-system/profile" + "/usr" + "/"))))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Library for managing partitions") + (description "Library for managing partitions.") + (license license:gpl3+))) + (define-public konsole (package (name "konsole") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/konsole-" version ".tar.xz")) (sha256 - (base32 "1lbr7bkmm5lz0am9z70z06y7cf6kl7ganszd6181wcqpgfjxn9nk")))) + (base32 "1q1w0m0rgl3q096mmaz69d2248fidzd9fkvf3b7gqgg1mgkiz4b0")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools zlib)) @@ -245,14 +383,14 @@ This package is part of the KDE base applications module.") (define-public krfb (package (name "krfb") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/krfb-" version ".tar.xz")) (sha256 - (base32 "1m3f4lpzwbrbdmp9237186x4p0w2rk1cz4a7nin38c8ll9sgrfb2")))) + (base32 "0mqm2s8sbs1c1441pwlm47jg5hanpb4wm4si4w7flixznjddcvs2")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f @@ -306,14 +444,14 @@ This package is part of the KDE networking module.") (define-public ksystemlog (package (name "ksystemlog") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksystemlog-" version ".tar.xz")) (sha256 - (base32 "0qsps71bfi7sm6f5x3jd1lss7pgjpmvmqsky3wjk34jzxq953rzs")))) + (base32 "0cc3dslyw8zps4y6f0b56miaj52ndmbw4hn8ajcfm890kjgb3lq4")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs @@ -346,14 +484,14 @@ This package is part of the KDE administration module.") (define-public kwalletmanager (package (name "kwalletmanager") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kwalletmanager-" version ".tar.xz")) (sha256 - (base32 "17mb07a8s2x2qlazfjwaqi7329w9894fy03saqa6jx61lfas7g8y")))) + (base32 "014799qlyk9nz459niqr39xpgwmli0knm34iwyljmidbd9sf4lnd")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -385,6 +523,46 @@ This package is part of the KDE administration module.") "This package provides a tool to manage passwords on @code{kwallet}.") (license license:gpl2+))) +(define-public partitionmanager + (package + (name "partitionmanager") + (version "25.08.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" version + "/src/partitionmanager-" version ".tar.xz")) + (sha256 + (base32 "14575n9wkp0jd1wqnhdd6wj9l76xl22jwi2gllfhqvgqldw97vqv")))) + (build-system qt-build-system) + (arguments + (list #:qtbase qtbase + #:tests? #f)) + (native-inputs + (list extra-cmake-modules kdoctools)) + (inputs + (list kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kjobwidgets + kpmcore + kwidgetsaddons + kwindowsystem + kxmlgui + polkit-qt6)) + (home-page "https://apps.kde.org/partitionmanager/") + (synopsis "Disk device, partition and file system manager") + (description "KDE Partition Manager is a utility to help you manage the +disks, partitions, and file systems. It allows you to easily create, copy, +move, delete, back up, restore, and resize them without losing data. It +supports a large number of file systems, including ext2/3/4, btrfs, NTFS, +FAT16/32, JFS, XFS and more.") + (license license:gpl3+))) + (define-public spectacle-ocr-screenshot (package (name "spectacle-ocr-screenshot") @@ -431,14 +609,14 @@ as well as QR codes.") (define-public yakuake (package (name "yakuake") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/yakuake-" version ".tar.xz")) (sha256 (base32 - "13ndnsibdyymnn8awwbzx1rxsw34223gkvnndbrk3jaqlmp4cgv4")))) + "0bjmdgzy2n5y7k82b42spyhg971zs066g32k8i9whgm3bflgyzda")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 9d9f25e3e6a..f734efa27f6 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages samba) + #:use-module (gnu packages tls) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages version-control)) @@ -61,14 +62,14 @@ (define-public ark (package (name "ark") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ark-" version ".tar.xz")) (sha256 (base32 - "1dymi06sifxdg183nzb7pq14b6pq3malmvynd7fvccyg1fycmbq7")) + "0vzrb04xwmxb6rjlsp69r19m679vsm0p04648hpx7qw132qvmsrg")) ;; The libarchive package in Guix does not support ;; xar; disable related tests. (patches (search-patches "ark-skip-xar-test.patch")))) @@ -265,14 +266,14 @@ well as CD-ROM images.") (define-public filelight (package (name "filelight") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/filelight-" version ".tar.xz")) (sha256 (base32 - "1jfa59yw6miq21wrid20845ba2kd7xr8pyg3d413f6kll0il3kzy")))) + "19fvkbrbwb8yamfggf6xpvdd7pbw7yg59ig247lxllwc8x5wzy0p")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcrash @@ -295,16 +296,14 @@ your computer.") (define-public francis (package (name "francis") - (version "25.04.0") + (version "25.08.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://invent.kde.org/utilities/francis") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" + version "/src/francis-" version ".tar.xz")) (sha256 (base32 - "1lxpy5ffcyfb6xhs0yiwidai357x07ga8564l6qhgsygm5iiq0z6")))) + "1cxknyl8zzcc2dyvqsjj4f7i386mw31501296d5wl2hb5zfjv4nr")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kirigami @@ -325,26 +324,27 @@ your computer.") (define-public isoimagewriter (package (name "isoimagewriter") - (version "25.04.0") + (version "25.08.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://invent.kde.org/utilities/isoimagewriter") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" + version "/src/isoimagewriter-" version + ".tar.xz")) (sha256 (base32 - "149qgmc2qj8n1rxkqzmbwi6r0bbq48y8g9vqqaz3yrr2ljygds04")))) + "12qh8xlc7x0wvkpp2fac96nnr9iil3zpkw4wkmwd2jx6xwmi7230")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) - (inputs (list kauth + (inputs (list gpgme + kauth karchive kcoreaddons ki18n kiconthemes kcrash solid - kwidgetsaddons)) + kwidgetsaddons + qgpgme-qt6)) (arguments (list #:qtbase qtbase #:tests? #f)) (home-page "https://invent.kde.org/utilities/isoimagewriter") @@ -356,14 +356,14 @@ your computer.") (define-public kamera (package (name "kamera") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kamera-" version ".tar.xz")) (sha256 (base32 - "1448kiykab4lm2xkimapj11m7iqj6x7y2ly5mrw3c1092p56kvs2")))) + "0j3j9y5hrz79338bpbw74bqy2x8j47lv3dd2sc32dfvm58jdw1hn")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -389,20 +389,20 @@ to camera devices supported by @code{libgphoto2} using (define-public kate (package (name "kate") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kate-" version ".tar.xz")) (sha256 - (base32 "04i7k4r7wqir3jay0abfgq1wm0c67yzbwqw3v28h7gx4avdf9q7n")))) + (base32 "1qg85dgkxapmndc5spb0q0p89xrvnqx1br234s76d9x51lj9spvb")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) (inputs (list breeze-icons ;; default icon set - plasma-activities + karchive kconfig kcrash kdbusaddons @@ -422,7 +422,8 @@ to camera devices supported by @code{libgphoto2} using kwindowsystem kxmlgui libplasma - libxkbcommon)) + libxkbcommon + plasma-activities)) (arguments (list #:qtbase qtbase #:phases @@ -462,7 +463,7 @@ Kate's features include: (define-public kdebugsettings (package (name "kdebugsettings") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" @@ -470,7 +471,7 @@ Kate's features include: ".tar.xz")) (sha256 (base32 - "0f0gfa544gnbgn64dcrfmp2mbklwql4d4p8p8n15irncaqiv3hzk")))) + "1c9bhg19x1sj1lsfgh3kwmyi48gb5l6m8kjdn60ibzrrg05symfp")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcoreaddons @@ -493,14 +494,14 @@ Kate's features include: (define-public kbackup (package (name "kbackup") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kbackup-" version ".tar.xz")) (sha256 (base32 - "1kk3jlpks3yaabj8gdb7gl6m6pxlqgzw7j8c72gd8ii0lladz1sq")))) + "0jrgv82cnbgk1w9aqpjl4vrzfcm514m38i2bdxd6714970c78xx0")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kguiaddons @@ -533,14 +534,14 @@ drive, USB stick, etc (define-public kcalc (package (name "kcalc") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kcalc-" version ".tar.xz")) (sha256 (base32 - "07krdvryflwzli2rhzz31638fml7cp209hws1gi9kxb2hnhlwim3")))) + "0mf16m26p708b9n5fyalyr5h5ajrv1c3696v9c72bp1rqlm8k6ps")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules kdoctools)) @@ -564,7 +565,7 @@ drive, USB stick, etc (define-public kcharselect (package (name "kcharselect") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" @@ -572,13 +573,20 @@ drive, USB stick, etc ".tar.xz")) (sha256 (base32 - "195lr8ik6w03kc6ma9zfz7ksg296rn48d1vryin087i9k783rrad")))) + "066n2c6lz7zcqf44niivqkq27630nsfvc7rb5pd4g29qdmnpbcsz")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) - (native-inputs (list extra-cmake-modules)) - (inputs (list kbookmarks kcoreaddons kcrash ki18n kwidgetsaddons kxmlgui)) + (native-inputs (list extra-cmake-modules kdoctools)) + (inputs + (list kbookmarks + kcoreaddons + kcrash + ki18n + kiconthemes + kwidgetsaddons + kxmlgui)) (home-page "https://apps.kde.org/kcharselect/") (synopsis "Select and copy special characters from installed fonts") (description @@ -591,14 +599,14 @@ characters.") (define-public kdialog (package (name "kdialog") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdialog-" version ".tar.xz")) (sha256 (base32 - "0ffnw3hc2xngxryiyanaid7nh51fymahg4jbqf3w684wrn1v6gan")))) + "0jdigijaxrk1yyym9hb6rc1d84dj1jcx9ml4s19x80i7naj9jpv6")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -651,26 +659,39 @@ conversions between European currencies.") (define-public keysmith (package (name "keysmith") - (version "24.12.1") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/keysmith-" version ".tar.xz")) (sha256 (base32 - "1sbixsi4jq8p7bz044qjx70155b2ywvy3pjypfyaicjcq23bnd19")))) + "1lvjslf3vwr0anzrwc6bpl6xnv91hpf5xjnyfsyx74srwjhfsjmz")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config python-minimal)) - (inputs (list kcoreaddons + (inputs (list kconfig + kcoreaddons kdbusaddons kirigami ki18n kwindowsystem libsodium + openssl + prison qqc2-desktop-style qtsvg qtdeclarative)) - (arguments (list #:qtbase qtbase)) + (arguments + (list #:qtbase qtbase + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unrequire-qmlmodule + (lambda _ + ;; HACK: ecm_find_qmlmodule cannot find qmlmodule on other + ;; prefix, so we remove its requirement. + (substitute* "CMakeLists.txt" + (("(org\\.kde\\.prison\\.scanner) REQUIRED" all start) + start))))))) (home-page "https://invent.kde.org/utilities/keysmith") (synopsis "OTP client for Plasma Mobile and Desktop") (description @@ -681,14 +702,14 @@ with support for QR scanning.") (define-public kfind (package (name "kfind") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kfind-" version ".tar.xz")) (sha256 (base32 - "01dxajpx2959m3gk23cvjra1w7i70f49lvys3h034205dyi3qgnm")))) + "1qd4ql2rzw32kgvcfw442ram8hh8kzwdasx8fg9xqxdskwq5n586")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -764,14 +785,14 @@ with support for QR scanning.") (define-public kontrast (package (name "kontrast") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kontrast-" version ".tar.xz")) (sha256 (base32 - "031jsvk060y9w0mh1ylq7cz9nzmikz7vm098nrb10m9bx2x4h13d")))) + "07j3haxhrzj3yl7nyjk61h7jgrxp4pfqly93vljfpf2xcf8ylxk3")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:tests? #f)) @@ -822,14 +843,14 @@ the computer and 3D Printers.") (define-public kmag (package (name "kmag") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmag-" version ".tar.xz")) (sha256 - (base32 "0565x812jbq0j56750q03hmfai4fgdqjrxzw6k94c37ck0nvlfl5")))) + (base32 "0kkwwxwvdgi2gyjds1nr15i02xyj0svimmn9l4g2mfqzxkais6r8")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -855,14 +876,14 @@ artists to web-designers to people with low vision.") (define-public kmousetool (package (name "kmousetool") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmousetool-" version ".tar.xz")) (sha256 - (base32 "1pwc9y11499g9zcyvm0wayfw0cc23yzv3liz2sp85x8493vp3654")))) + (base32 "0qvvygx3brbdccnqfdfmx9kjhsddbayydvirdlncfas80d7anxgj")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -897,14 +918,14 @@ whom pressing buttons hurts.") (define-public kmouth (package (name "kmouth") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmouth-" version ".tar.xz")) (sha256 - (base32 "1x7ddml2jpzjzm2zqmg7r26wapb7xllqxjkdbc2n9x5cy1gs8jrw")))) + (base32 "0mrqki6273lisdn4vh6dh06mfpb54w2yj5q8p7vjvvin34gxsvc6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) @@ -1097,6 +1118,40 @@ Almost completely customizable, Krusader is very user friendly, fast and looks great on your desktop.") (license license:gpl2+))) +(define-public ktimer + (package + (name "ktimer") + (version "25.08.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/release-service/" version + "/src/ktimer-" version ".tar.xz")) + (sha256 + (base32 + "0yqzdsa1pi5sr5w7cgm1ldpsq0j0wq73adc78n3mlygdxldrxbkm")))) + (build-system qt-build-system) + (native-inputs + (list extra-cmake-modules + kdoctools)) + (inputs + (list kcrash + kdbusaddons + ki18n + kio + knotifications + kconfigwidgets + kstatusnotifieritem + qt5compat)) + (arguments + (list #:qtbase qtbase + #:tests? #f)) + (home-page "https://kde.org/applications/utilities/ktimer") + (synopsis "Countdown Launcher") + (description "KTimer is a little tool to execute programs after some time. +It allows you to enter several tasks and to set a timer for each of them. The +timers for each task can be started, stopped, changed, or looped.") + (license license:gpl2+))) + (define-public kxstitch (let ((commit "bfe934ffc2c2dfa1cc554bc4483a3285b027b00c") (revision "0")) @@ -1138,14 +1193,14 @@ either be created or generated from a image.") (define-public okteta (package (name "okteta") - (version "0.26.18") + (version "0.26.23") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/okteta/" version "/src/okteta-" version ".tar.xz")) (sha256 - (base32 "0qwapyplbp811c21089ahzmcflgnzhm99px165pin89fsik622f4")))) + (base32 "1cd3n47cyqq5as6nl3kf9p24i8rmbc7x8nxbd03wa9mcisc50k5h")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools-5 qttools-5 shared-mime-info)) @@ -1241,7 +1296,7 @@ remind you to take a break now and then.") (define-public smb4k (package (name "smb4k") - (version "4.0.0") + (version "4.0.4") (source (origin (method git-fetch) @@ -1249,7 +1304,7 @@ remind you to take a break now and then.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v6h18pla0cx36arka9jy77n5p0chd1xgdgia5xjryzpsc66ddpx")))) + (base32 "1sbw7fdcgfjadggnmsl3m85kgim80lkn2vakwv4mrkrci0izk1xj")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 45df7bd37fb..3b66da2ee9d 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -47,7 +47,6 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (gnu packages) - #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages apr) #:use-module (gnu packages astronomy) @@ -61,7 +60,6 @@ #:use-module (gnu packages code) #:use-module (gnu packages cpp) #:use-module (gnu packages compression) - #:use-module (gnu packages cryptsetup) #:use-module (gnu packages curl) #:use-module (gnu packages djvu) #:use-module (gnu packages documentation) @@ -90,7 +88,6 @@ ;; Including this module breaks the build. ;#:use-module ((gnu packages kde-systemtools) #:select (dolphin)) #:use-module (gnu packages libusb) - #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages markup) #:use-module (gnu packages maths) @@ -102,7 +99,6 @@ #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -112,6 +108,7 @@ #:use-module (gnu packages scanner) #:use-module (gnu packages sdl) #:use-module (gnu packages ssh) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) @@ -123,14 +120,14 @@ (define-public baloo-widgets (package (name "baloo-widgets") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/baloo-widgets-" version ".tar.xz")) (sha256 - (base32 "0iawqhkq3adnsg1mihyh3pqhikwk593sa2fs2fhqi705svfiip53")))) + (base32 "1wamfsl9nq7si4sys0y49yrf5gwvr16m0qgpd3xww8dddma7ckc6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) @@ -810,41 +807,10 @@ KDSoap.") the functionality of the KDE resource and network access abstractions.") (license license:lgpl2.0+))) -(define-public kio-fuse - (package - (name "kio-fuse") - (version "5.1.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/kio-fuse/kio-fuse-" - version ".tar.xz")) - (sha256 - (base32 - "0jz9952dd20sw0c25pyn2l86nmc1s5l42gxk4js1jnkx4a0la43x")))) - (build-system cmake-build-system) - (arguments - (list - #:configure-flags #~(list "-DQT_MAJOR_VERSION=6") - #:phases #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" (getcwd)) - (setenv "XDG_RUNTIME_DIR" (getcwd)) - (setenv "QT_QPA_PLATFORM" "offscreen") - (invoke "dbus-launch" "ctest" "-E" - "(fileopstest-cache|fileopstest-filejob)"))))))) - (native-inputs (list dbus extra-cmake-modules pkg-config)) - (inputs (list fuse kio kcoreaddons qtbase)) - (home-page "https://community.kde.org/Frameworks") - (synopsis "FUSE Interface for KIO") - (description "This package provides FUSE Interface for KIO.") - (license license:lgpl2.1+))) - (define-public kirigami-addons (package (name "kirigami-addons") - (version "1.7.0") + (version "1.9.0") (source (origin (method git-fetch) @@ -853,7 +819,7 @@ the functionality of the KDE resource and network access abstractions.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1w2pxrbvzzpafh1x38rmjqjrpyf1zhkwv354ihpbwkn7grr8d2hy")))) + (base32 "099giz2a4pb68pyynwpzq8i49qxqs6mv9qjvi30sqcmkyvmqrpxh")))) (build-system qt-build-system) (arguments (list @@ -1392,110 +1358,6 @@ opening hours expressions.") multi-floor indoor maps.") (license license:lgpl2.0+))) -(define-public kpmcore - (package - (name "kpmcore") - (version "24.12.3") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://kde/stable/release-service/" version - "/src/" name "-" version ".tar.xz")) - (sha256 - (base32 - "19xfaqj7i8mi5iwkh8n5d5h3m15bny0mzg2skpgbjdlmzc773iga")))) - (build-system cmake-build-system) - (native-inputs - (list extra-cmake-modules pkg-config)) - (inputs - `(("coreutils" ,coreutils) - ("cryptsetup" ,cryptsetup) - ("eudev" ,eudev) - ("kauth" ,kauth) - ("kcoreaddons" ,kcoreaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("lvm2" ,lvm2) - ("mdadm" ,mdadm) - ("polkit-qt6" ,polkit-qt6) - ("qtbase" ,qtbase) - ("qca-qt6" ,qca-qt6) - ("smartmontools" ,smartmontools) - ("util-linux" ,util-linux) - ("util-linux:lib" ,util-linux "lib"))) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-polkit-action-path - (lambda _ - (substitute* "src/util/CMakeLists.txt" - (("DESTINATION \\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") - "DESTINATION share/polkit-1/actions")) - (substitute* "src/backend/corebackend.cpp" - (("\\/usr") #$output)))) - (add-before 'configure 'patch-trustedprefixes-file - (lambda* (#:key inputs #:allow-other-keys) - (call-with-output-file "src/util/trustedprefixes" - (lambda (port) - (map (lambda (prefix) - (display prefix port) - (newline port)) - (list (assoc-ref inputs "coreutils") - (assoc-ref inputs "util-linux") - (assoc-ref inputs "eudev") - (assoc-ref inputs "cryptsetup") - (assoc-ref inputs "lvm2") - (assoc-ref inputs "mdadm") - (assoc-ref inputs "smartmontools") - "/run/current-system/profile" - "/usr" - "/"))))))))) - (home-page "https://community.kde.org/Frameworks") - (synopsis "Library for managing partitions") - (description "Library for managing partitions.") - (license license:gpl3+))) - -(define-public partitionmanager - (package - (name "partitionmanager") - (version "24.12.3") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/release-service/" version - "/src/partitionmanager-" version ".tar.xz")) - (sha256 - (base32 "17p63a9igpbcv0xdziaf3d30n88rj9474w9yx2cpvh0m2nrv3582")))) - (build-system qt-build-system) - (arguments - (list #:qtbase qtbase - #:tests? #f)) - (native-inputs - (list extra-cmake-modules kdoctools)) - (inputs - (list kconfig - kconfigwidgets - kcoreaddons - kcrash - kdbusaddons - ki18n - kio - kjobwidgets - kpmcore - kwidgetsaddons - kwindowsystem - kxmlgui - polkit-qt6)) - (home-page "https://apps.kde.org/partitionmanager/") - (synopsis "Disk device, partition and file system manager") - (description "KDE Partition Manager is a utility to help you manage the -disks, partitions, and file systems. It allows you to easily create, copy, -move, delete, back up, restore, and resize them without losing data. It -supports a large number of file systems, including ext2/3/4, btrfs, NTFS, -FAT16/32, JFS, XFS and more.") - (license license:gpl3+))) - (define-public kpublictransport (package (name "kpublictransport") @@ -1786,77 +1648,6 @@ to perform data analysis.") (license (list license:gpl2+ ;labplot license:gpl3+)))) ;liborigin -(define-public kdf - (package - (name "kdf") - (version "24.12.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/release-service/" - version "/src/kdf-" version ".tar.xz")) - (sha256 - (base32 - "1agv2bpz0gi2l759w4pkafb1pfqyh3m7dhfxpmpvlr8759z4skyv")))) - (build-system qt-build-system) - (native-inputs - (list extra-cmake-modules kdoctools)) - (inputs - (list kcmutils - kconfigwidgets - kcoreaddons - kcrash - ki18n - kiconthemes - kio - knotifications - kwidgetsaddons - kstatusnotifieritem - kxmlgui - qt5compat)) - (arguments - (list #:qtbase qtbase - #:tests? #f)) - (home-page "https://kde.org/applications/system/kdk") - (synopsis "View Disk Usage") - (description "KDiskFree displays the available file devices (hard drive -partitions, floppy and CD drives, etc.) along with information on their -capacity, free space, type and mount point. It also allows you to mount and -unmount drives and view them in a file manager.") - (license license:gpl2+))) - -(define-public ktimer - (package - (name "ktimer") - (version "24.12.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/release-service/" version - "/src/ktimer-" version ".tar.xz")) - (sha256 - (base32 - "1kpz1hz0s32qc1cpbvrs9yw9w86ingc9sk03cykljsc493fhmy9m")))) - (build-system qt-build-system) - (native-inputs - (list extra-cmake-modules - kdoctools)) - (inputs - (list kcrash - kdbusaddons - ki18n - kio - knotifications - kconfigwidgets - kstatusnotifieritem - qt5compat)) - (arguments - (list #:qtbase qtbase - #:tests? #f)) - (home-page "https://kde.org/applications/utilities/ktimer") - (synopsis "Countdown Launcher") - (description "KTimer is a little tool to execute programs after some time. -It allows you to enter several tasks and to set a timer for each of them. The -timers for each task can be started, stopped, changed, or looped.") - (license license:gpl2+))) (define-public kcachegrind (package @@ -1893,51 +1684,6 @@ performance counters. There also exist converters for profiling output of Python, PHP, and Perl.") (license license:gpl2))) -(define-public libkdegames - (package - (name "libkdegames") - (version "25.04.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/release-service/" version - "/src/libkdegames-" version ".tar.xz")) - (sha256 - (base32 "0zq481x2l6sqilw5ialacp3cksvw58syxz9dkk3yha0vfjp1p8k9")))) - (build-system qt-build-system) - (arguments (list #:qtbase qtbase)) - (native-inputs - (list extra-cmake-modules)) - (inputs - (list karchive - kbookmarks - kcodecs - kcompletion - kconfigwidgets - kcrash - kdbusaddons - kdeclarative - kdnssd - kglobalaccel - kguiaddons - ki18n - kiconthemes - kitemviews - kjobwidgets - knewstuff - kservice - ktextwidgets - kwidgetsaddons - kxmlgui - libsndfile - openal - qtdeclarative - qtsvg)) - (home-page "https://apps.kde.org/categories/games/") - (synopsis "Runtime library for kdegames") - (description "Runtime library for kdegames") - (license (list license:gpl2+ license:fdl1.2+)))) - (define-public marble-qt (package (name "marble-qt") @@ -2116,14 +1862,14 @@ PO template files.") (define-public kdegraphics-mobipocket (package (name "kdegraphics-mobipocket") - (version "24.12.1") + (version "25.04.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/" name "-" version ".tar.xz")) (sha256 - (base32 "0rpam31s5cvky4w3bb2qp1pjv0gm9f63a2jv6bcim7qnz050bvvn")))) + (base32 "1lzk8lh51dvmlk9im4cjsl7xwyy814a0yragk4f7r1lhs5w6rxhj")))) (build-system cmake-build-system) (arguments (list #:tests? #f @@ -2138,17 +1884,62 @@ PO template files.") Mobipocket e-books in Dolphin and other KDE apps.") (license license:gpl2+))) +(define-public kdegraphics-thumbnailers + (package + (name "kdegraphics-thumbnailers") + (version "24.12.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://invent.kde.org/graphics/kdegraphics-thumbnailers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vlrn6wg9rpg2cnm6y243accbrgcpdmkg4y8qasw6ify2hjhgfmi")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ;No tests. + #:configure-flags + #~'("-DQT_MAJOR_VERSION=6") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ps/gscreator.cpp" + (("\"gs\",") + (string-append "\"" + (search-input-file inputs "bin/gs") "\",")) + (("\"dvips\",") + (string-append "\"" + (search-input-file inputs "bin/dvips") "\",")))))))) + (native-inputs (list extra-cmake-modules)) + (inputs (list ghostscript + karchive + kdegraphics-mobipocket + kio + libkdcraw + libkexiv2 + qtbase + texlive-dvips-bin)) + (home-page "https://apps.kde.org/kdegraphics_thumbnailers") + (synopsis "KDE thumbnailer for media files") + (description "These plugins allow KDE software to display thumbnails for +PostScript, PDF, RAW, Mobipocket, and Blender files.") + (license license:gpl2))) + (define-public libkexiv2 (package (name "libkexiv2") - (version "24.12.1") + (version "25.04.3") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/" name "-" version ".tar.xz")) (sha256 - (base32 "073px490jvp5f2979ipzbjlw6qg55cfzisj1g3a1f9wwqshm3q5q")))) + (base32 "1a5mwywza7wxprygl06k89msmykyb6m7si4mdbqsr3yvx68xgf6p")))) (build-system cmake-build-system) (arguments (list diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 6fe00494248..65512b17a8b 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Marius Bakke ;;; diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 7627acd1682..08c4fb288d7 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2020, 2022 Julien Lepiller ;;; Copyright © 2022 Milran -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2023, 2025 gemmaro ;;; Copyright © 2024 Efraim Flashner ;;; Copyright © 2024 Charles diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 09ecebaba53..0ae53423b15 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Ben Woodcroft ;;; Copyright © 2017, 2019, 2020, 2022 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2021 Maxim Cournoyer +;;; Copyright © 2019, 2021 Maxim Cournoyer ;;; Copyright © 2020 John Doe ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; Copyright © 2024 Sharlatan Hellseher diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9b67410ae3f..a0b3cd353ae 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2019 Chris Marusich ;;; Copyright © 2020 Marcin Karpezo ;;; Copyright © 2023, 2024 Nicolas Graves -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm index c26ccde5983..f4711abbce3 100644 --- a/gnu/packages/librewolf.scm +++ b/gnu/packages/librewolf.scm @@ -641,7 +641,7 @@ libjpeg-turbo libnotify libpciaccess - libpng-apng-for-librewolf + libpng-apng-next libva libvpx libwebp diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 78b1b3a39f0..777b312d92a 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2021 Tanguy Le Carrour ;;; Copyright © 2022 Felix Gruber ;;; Copyright © 2023 Bruno Victal -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; Copyright © 2024 Evgeny Pisemsky ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a96419aadf0..5f18b22a414 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -8131,7 +8131,7 @@ cpufreq sub-system is enabled or not.") (define-public haveged (package (name "haveged") - (version "1.9.18") + (version "1.9.19") (source (origin (method git-fetch) @@ -8140,7 +8140,7 @@ cpufreq sub-system is enabled or not.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1y1p3qhjzhpgd20xz5ffms3w1bdvpk883y38ydwsmp9mc0kzy8kz")))) + (base32 "1qka68dlfz9z3gjfvfwvh60l2121c1yx0z264jqsf2vjp5f0xbmn")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -10252,7 +10252,7 @@ interface to this kernel feature.") (define-public mbpfan (package (name "mbpfan") - (version "2.2.1") + (version "2.4.0") (source (origin (method git-fetch) @@ -10261,21 +10261,20 @@ interface to this kernel feature.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0gc9ypxi55vxs77nx8ihhh9zk7fr9v0m0zfm76q7x0bi6jz11mbr")))) + (base32 "146sshsjafi26n741jvi9mdbazwf74jlacxfwkky4fhbq98idlhp")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; tests ask to be run as root - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list (string-append "DESTDIR=" out) - ,(string-append "CC=" (cc-for-target)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-paths - (lambda _ - (substitute* "Makefile" - (("/usr") "")) - #t)) - (delete 'configure)))) ; there's no configure phase + (list #:tests? #f ; tests ask to be run as root + #:make-flags + #~(list (string-append "DESTDIR=" #$output) + (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "Makefile" + (("/usr") "")))) + (delete 'configure)))) ; there's no configure phase (home-page "https://github.com/dgraziotin/mbpfan") (synopsis "Control fan speed on Macbooks") (description @@ -11799,7 +11798,7 @@ libraries are found or why they cannot be located.") (define-public touchegg (package (name "touchegg") - (version "2.0.14") + (version "2.0.18") (source (origin (method git-fetch) @@ -11808,7 +11807,7 @@ libraries are found or why they cannot be located.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr")))) + (base32 "0m8zgihij14b8dxrxxvpl8sdsx49mjlnxnm0fhgfxscy7n07kcpc")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests exist @@ -11837,7 +11836,7 @@ desktop.") (define-public evtest (package (name "evtest") - (version "1.35") + (version "1.36") (source (origin (method git-fetch) (uri (git-reference @@ -11846,7 +11845,7 @@ desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "164prnw35kda6jfykl7h52lfzy99ma2lk029zscyqk766k19spf4")))) + "0mwjvz0fwwcwm4fpw0m4x8bcxpnzjkiy7fpb438vf4i5g5q0dc1k")))) (build-system gnu-build-system) (arguments (list #:tests? #f ;No tests exist diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 9a477c31a5f..fe64db6a354 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2021, 2022 Maxime Devos -;;; Copyright © 2020-2022, 2024-2025 Maxim Cournoyer +;;; Copyright © 2020-2022, 2024-2025 Maxim Cournoyer ;;; Copyright © 2021 Julien Lepiller ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2021, 2022 Guillaume Le Vaillant @@ -891,6 +891,12 @@ Library.") (patches (search-patches "llvm-13-gcc-14.patch")))) (arguments (substitute-keyword-arguments (package-arguments llvm-14) + ((#:tests? _ #t) + ;; The tests on riscv64 error on the differences between + ;; generic and generic-rv64. + (not (or (%current-target-system) + (target-x86-32?) + (target-riscv64?)))) ((#:phases phases '%standard-phases) #~(modify-phases #$phases (delete 'change-directory))))) @@ -1026,110 +1032,6 @@ Library.") (define-public clang-toolchain-12 (make-clang-toolchain clang-12 libomp-12)) -(define-public llvm-6 - (package - (inherit llvm-12) - (version "6.0.1") - (source (origin - (method url-fetch) - (uri (llvm-uri "llvm" version)) - (sha256 - (base32 - "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")))) - (arguments - (substitute-keyword-arguments (package-arguments llvm-12) - ((#:phases phases) - #~(modify-phases #$phases - (delete 'delete-failing-tests))))) - (native-inputs - `(("python" ,python-wrapper) - ("perl" ,perl) - ;; In llvm-11 riscv64 support was added manually to config.guess. - ,@(if (target-riscv64?) - `(("config" ,config)) - '()))))) - -(define-public llvm-3.8 - (package (inherit llvm-6) - (name "llvm") - (version "3.8.1") - (source - (origin - (method url-fetch) - (uri (llvm-uri "llvm" version)) - (sha256 - (base32 - "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")) - (patches (search-patches "llvm-3.x.1-fix-build-with-gcc.patch")))) - (outputs '("out")) - (arguments - (substitute-keyword-arguments (package-arguments llvm-6) - ((#:phases phases) - #~(modify-phases #$phases - (add-before 'build 'shared-lib-workaround - ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen - ;; doesn't seem to get the correct rpath to be able to run - ;; from the build directory. Set LD_LIBRARY_PATH as a - ;; workaround. - (lambda _ - (setenv "LD_LIBRARY_PATH" - (string-append (getcwd) "/lib")))) - (delete 'install-opt-viewer))))))) - -(define-public llvm-3.7 - (package (inherit llvm-6) - (version "3.7.1") - (source - (origin - (method url-fetch) - (uri (llvm-uri "llvm" version)) - (sha256 - (base32 - "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")) - (patches (search-patches "llvm-3.x.1-fix-build-with-gcc.patch")))) - (outputs '("out")) - (arguments - (substitute-keyword-arguments (package-arguments llvm-6) - ((#:phases phases) - #~(modify-phases #$phases - (add-before 'build 'shared-lib-workaround - ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen - ;; doesn't seem to get the correct rpath to be able to run - ;; from the build directory. Set LD_LIBRARY_PATH as a - ;; workaround. - (lambda _ - (setenv "LD_LIBRARY_PATH" - (string-append (getcwd) "/lib")))) - (delete 'install-opt-viewer))))))) - -(define-public clang-runtime-3.7 - (clang-runtime-from-llvm - llvm-3.7 - "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx" - '("clang-runtime-asan-build-fixes.patch" - "clang-runtime-3.8-libsanitizer-mode-field.patch" - "clang-3.5-libsanitizer-ustat-fix.patch" - "clang-runtime-3.7-fix-build-with-python3.patch"))) - -(define-public clang-3.7 - (clang-from-llvm llvm-3.7 clang-runtime-3.7 - "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn" - #:legacy-build-shared-libs? #t - #:patches '("clang-3.5-libc-search-path.patch"))) - -(define-public llvm-3.5 - (package (inherit llvm-3.7) - (version "3.5.2") - (source - (origin - (method url-fetch) - (uri (llvm-uri "llvm" version)) - (patches - (search-patches "llvm-3.5-fix-clang-build-with-gcc5.patch")) - (sha256 - (base32 - "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4")))))) - (define-public llvm-16 (make-llvm "16.0.6")) @@ -1659,6 +1561,34 @@ requirements according to version 1.1 of the OpenCL specification.") ;; Apache license 2.0 with LLVM exception (license license:asl2.0))) +(define-public mlir-19 + (package + (name "mlir") + (version (package-version llvm-19)) + (source (llvm-monorepo version)) + (build-system cmake-build-system) + (inputs + (list llvm-19)) + (arguments + (list #:build-type "Release" + #:configure-flags + #~(list "-DMLIR_BUILD_MLIR_C_DYLIB=ON" + "-DLLVM_BUILD_LLVM_DYLIB=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON") + #:tests? #f ; Tests require gtest + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "mlir")))))) + (home-page "https://mlir.llvm.org/") + (synopsis "Multi-Level Intermediate Representation") + (description "This package is a novel approach to building reusable +and extensible compiler infrastructure. MLIR aims to address software +fragmentation, improve compilation for heterogeneous hardware, significantly +reduce the cost of building domain specific compilers, and aid in connecting +existing compilers together.") + (license license:asl2.0))) ; With LLVM exception + (define-public python-llvmlite (package (name "python-llvmlite") diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm index f9b2906ec6a..c22d352cf9d 100644 --- a/gnu/packages/lsof.scm +++ b/gnu/packages/lsof.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Ludovic Courtès -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index bfdbafa1bbb..709679f3fe1 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2023 Valter Nazianzeno ;;; Copyright © 2023 Timo Wilken ;;; Copyright © 2024 Jan Wielkiewicz -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; Copyright © 2025 Zheng Junjie ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/luanti.scm b/gnu/packages/luanti.scm index e56a2c3c1c2..16ae905cb00 100644 --- a/gnu/packages/luanti.scm +++ b/gnu/packages/luanti.scm @@ -56,7 +56,7 @@ (define-public luanti (package (name "luanti") - (version "5.12.0") + (version "5.13.0") (source (origin (method git-fetch) @@ -65,7 +65,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1l8kwy23p3gpk12nnhhq1lp4v0zj6kiygnmia043pdinmgzzd0xy")) + (base32 "1gsdsnyrdy40d6n7a0imjg9hs4k8g01zqbz824j0qiyvdvw39wjf")) (modules '((guix build utils) (srfi srfi-26) (ice-9 ftw))) @@ -89,11 +89,10 @@ ;; Catch2 (substitute* "CMakeLists.txt" (("add_subdirectory\\(lib/catch2\\)") "find_package(Catch2 3 REQUIRED)")) - (substitute* "src/catch.h" - (("catch_amalgamated.hpp") "catch2/catch_all.hpp")) - (substitute* "src/unittest/test_irr_rotation.cpp" - (("catch_amalgamated.hpp") "catch2/catch_all.hpp")) - (substitute* "src/unittest/test_irr_matrix4.cpp" + (substitute* '("src/catch.h" + "src/unittest/test_irr_rotation.cpp" + "src/unittest/test_irr_matrix4.cpp" + "src/unittest/test_irr_x_mesh_loader.cpp") (("catch_amalgamated.hpp") "catch2/catch_all.hpp")))))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 4623871309c..ba1c1374ef0 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2021 Guillaume Le Vaillant -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 John Khoo ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 88133d40a1d..4804e6b5215 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020 Konrad Hinsen ;;; Copyright © 2020 Edouard Klein ;;; Copyright © 2020-2025 Vinicius Monego -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022-2025 Nicolas Graves ;;; Copyright © 2022 Kiran Shila ;;; Copyright © 2022 Wiktor Zelazny @@ -519,6 +519,65 @@ transforms.") Learning usecases.") (license license:asl2.0))) +(define-public python-ml-dtypes + (package + (name "python-ml-dtypes") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jax-ml/ml_dtypes") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yv90f28c9w34430xjwvn1lzxdylvp1zi6b02cx7crla6qkvrzn5")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-eigen-package + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("third_party/eigen") + (search-input-directory inputs "include/eigen3"))))) + (add-after 'install 'symlink-lib + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (lambda (file) + (symlink file + (string-append #$output "/lib/ml_dtypes.so"))) + (find-files (site-packages inputs outputs) "\\.so$"))))))) + (inputs (list eigen-for-python-ml-dtypes)) + (propagated-inputs (list python-numpy)) + (native-inputs (list pybind11 + python-absl-py + python-pytest + python-setuptools + python-wheel)) + (home-page "https://github.com/jax-ml/ml_dtypes") + (synopsis "NumPy dtype extensions used in machine learning") + (description + "This package is a stand-alone implementation of several +NumPy @code{dtype} extensions used in machine learning libraries, including: + +@itemize +@item @code{bfloat16}: an alternative to the standard @code{float16} format +@item @code{float8_*}: several experimental 8-bit floating point + representations including: + @itemize + @item @code{float8_e4m3b11fnuz} + @item @code{float8_e4m3fn} + @item @code{float8_e4m3fnuz} + @item @code{float8_e5m2} + @item @code{float8_e5m2fnuz} + @end itemize +@item @code{int4} and @code{uint4}: low precision integer types. +@end itemize +") + (license license:asl2.0))) + (define-public ghmm ;; The latest release candidate is several years and a couple of fixes have ;; been published since. This is why we download the sources from the SVN @@ -1834,49 +1893,52 @@ compatibility.") (license license:expat))) (define-public gemmlowp - (let ((commit "08e4bb339e34017a0835269d4a37c4ea04d15a69") + (let ((commit "16e8662c34917be0065110bfcd9cc27d30f52fdf") (version "0.1") - (revision "1")) + (revision "2")) (package (name "gemmlowp") (version (git-version version revision commit)) - (home-page "https://github.com/google/gemmlowp") - (source (origin - (method git-fetch) - (uri (git-reference (url home-page) (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1q8f3w5slxd8fbn31hpm00y6wyp7gm71rzr27cmcff4b3px4ca6k")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/gemmlowp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02xmrv921al94nihiqrvi8inlq6qc07j0zll3f9qi8322r31x83v")))) (arguments - `(#:configure-flags - (list ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux") - '("-DCMAKE_CXX_FLAGS=-msse2")) - (_ '())) - "-DBUILD_SHARED_LIBS=ON") - #:phases - (modify-phases %standard-phases - ;; This directory contains the CMakeLists.txt. - (add-after 'unpack 'chdir - (lambda _ (chdir "contrib") #t)) - ;; There is no install target - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/")) - (inc (string-append out "/include/"))) - (install-file "../build/libeight_bit_int_gemm.so" lib) - (for-each (lambda (dir) - (let ((target - (string-append inc "/gemmlowp/" dir))) - (for-each (lambda (h) - (install-file h target)) - (find-files (string-append "../" dir) - "\\.h$")))) - '("meta" "profiling" "public" "fixedpoint" - "eight_bit_int_gemm" "internal")))))))) + (list + #:configure-flags + #~(list #$@(match (%current-system) + ((or "x86_64-linux" "i686-linux") + '("-DCMAKE_CXX_FLAGS=-msse2")) + (_ '())) + "-DBUILD_SHARED_LIBS=ON") + #:phases + #~(modify-phases %standard-phases + ;; This directory contains the CMakeLists.txt. + (add-after 'unpack 'chdir + (lambda _ + (chdir "contrib"))) + ;; There is no install target + (replace 'install + (lambda _ + (let ((lib (string-append #$output "/lib/"))) + (install-file "../build/libeight_bit_int_gemm.so" lib) + (for-each + (lambda (dir) + (let ((target (string-append #$output + "/include/gemmlowp/" dir))) + (for-each (lambda (h) + (install-file h target)) + (find-files (string-append "../" dir) + "\\.h$")))) + '("meta" "profiling" "public" "fixedpoint" + "eight_bit_int_gemm" "internal")))))))) (build-system cmake-build-system) + (home-page "https://github.com/google/gemmlowp") (synopsis "Small self-contained low-precision GEMM library") (description "This is a small self-contained low-precision @dfn{general matrix @@ -3132,7 +3194,7 @@ Python.") (define-public tensorflow-lite (package (name "tensorflow-lite") - (version "2.13.1") + (version "2.14.0") (source (origin (method git-fetch) @@ -3142,15 +3204,18 @@ Python.") (file-name (git-file-name name version)) (sha256 (base32 - "09mfskmpvpbq919wibnw3bnhi1y3hkx3qrzm72gdr0gsivn1yb3w")) - (patches (search-patches "tensorflow-lite-unbundle.patch")))) + "07f4x4g3kwhfjz7iadhqrv97zmw0blacixvca1gdqkqqi7aipxis")))) (build-system cmake-build-system) + (outputs (list "out" "python")) (arguments (list #:build-type "Release" + #:imported-modules (append %cmake-build-system-modules + %pyproject-build-system-modules) #:modules '((ice-9 match) (guix build utils) - (guix build cmake-build-system)) + (guix build cmake-build-system) + ((guix build pyproject-build-system) #:prefix py:)) #:configure-flags #~(list ;; "-DTFLITE_KERNEL_TEST=ON" ; TODO: build tests @@ -3164,6 +3229,7 @@ Python.") "-DTFLITE_ENABLE_RUY=ON" "-DTFLITE_ENABLE_XNNPACK=ON" + "-DSYSTEM_PTHREADPOOL=ON" ;; TODO: turn on Farmhash ;;"-DSYSTEM_FARMHASH=ON" (string-append "-Dabsl_DIR=" #$(this-package-input "abseil-cpp") @@ -3179,8 +3245,11 @@ Python.") "/share/cpuinfo") (string-append "-Druy_DIR=" #$(this-package-input "ruy") "/lib/cmake/ruy") + (string-append "-DML_DTYPES_LIBRARY_DIRS=" + #$(this-package-input "python-ml-dtypes") "/lib") ;; Don't fetch the sources. We have these already + "-Dml_dtypes_POPULATED=ON" "-Dgemmlowp_POPULATED=TRUE" "-Degl_headers_POPULATED=TRUE" "-Dfp16_headers_POPULATED=TRUE" @@ -3200,22 +3269,28 @@ Python.") #~(modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "tensorflow/lite"))) + (add-after 'chdir 'unbundle-gemmlowp + (lambda _ + (call-with-output-file "tools/cmake/modules/gemmlowp.cmake" + (lambda (port) + (display "\ +add_library(gemmlowp INTERFACE IMPORTED) +include_directories(\"${gemmlowp_ROOT}/include/gemmlowp\")" port))) + (call-with-output-file "tools/cmake/modules/ml_dtypes.cmake" + (lambda (port) + (display "\ +add_library(ml_dtypes INTERFACE IMPORTED) +find_library(ML_DTYPES_LIBRARIES + NAMES ml_dtypes.so + PATHS \"${ML_DTYPES_LIBRARY_DIRS}\" + NO_DEFAULT_PATH)" port))))) (add-after 'chdir 'copy-sources (lambda* (#:key inputs #:allow-other-keys) - ;; TODO: properly use Guix's pthreaqdpool. We are not using - ;; pthreadpool because we are not enabling xnnpack - (substitute* "CMakeLists.txt" - (("if\\(NOT DEFINED PTHREADPOOL_SOURCE_DIR\\)") - "if(false)")) - (substitute* "CMakeLists.txt" - (("if\\(NOT TARGET pthreadpool\\)") - "if(false)")) - ;; Don't fetch source code; we already have everything we need. (substitute* '("tools/cmake/modules/fft2d.cmake" "tools/cmake/modules/farmhash.cmake" "tools/cmake/modules/gemmlowp.cmake") - (("OverridableFetchContent_Populate.*") "")) + (("^ *OverridableFetchContent_Populate.*") "")) (mkdir-p "/tmp/farmhash") (with-directory-excursion "/tmp/farmhash" @@ -3241,6 +3316,11 @@ Python.") (lambda _ (substitute* "kernels/internal/spectrogram.cc" (("#include ") "#include \n#include \n")))) + (add-after 'stdint-fix 'gemmlowp-fix + (lambda _ + (substitute* "kernels/internal/common.h" + (("#include \"fixedpoint/fixedpoint\\.h\"") + "#include ")))) (add-after 'build 'build-shared-library (lambda* (#:key configure-flags #:allow-other-keys) (mkdir-p "c") @@ -3252,40 +3332,75 @@ Python.") (lambda _ (invoke "cmake" "--build" "." "--target" "benchmark_model" "-j" (number->string (parallel-job-count))))) - + (add-after 'build-benchmark-model 'build-python + (lambda* (#:key configure-flags #:allow-other-keys) + (let ((script (string-append "../lite/tools/pip_package/" + "build_pip_package_with_cmake.sh"))) + (substitute* script + (("\"\\$\\{TENSORFLOW_LITE_DIR\\}\"" all) + (string-append "${CMAKE_ADDITIONAL_CONFIGURE_FLAGS} " + all))) + (setenv "BUILD_NUM_JOBS" (number->string (parallel-job-count))) + (setenv "CMAKE_ADDITIONAL_CONFIGURE_FLAGS" + (string-join configure-flags " ")) + (invoke "sh" script)))) (add-after 'install 'install-extra - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib")) - (bin (string-append out "/bin"))) - (install-file "../build/c/libtensorflowlite_c.so" lib) - (install-file "../build/tools/benchmark/benchmark_model" bin)))) + (lambda _ + (install-file "../build/c/libtensorflowlite_c.so" + (string-append #$output "/lib")) + (install-file "../build/tools/benchmark/benchmark_model" + (string-append #$output "/bin")))) + (add-after 'install-extra 'install-python + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion + "../lite/tools/pip_package/gen/tflite_pip/python3" + ((assoc-ref py:%standard-phases 'install) + #:inputs inputs + #:outputs `(("out" . ,#$output:python)))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "ctest" "-L" "plain"))))))) + (invoke "ctest" "-L" "plain")))) + (add-after 'install-python 'add-install-to-pythonpath + (lambda* (#:key inputs #:allow-other-keys) + ((assoc-ref py:%standard-phases 'add-install-to-pythonpath) + #:inputs inputs + #:outputs `(("out" . ,#$output:python))))) + (add-after 'add-install-to-pythonpath 'python-sanity-check + (lambda* (#:key tests? inputs #:allow-other-keys) + ((assoc-ref py:%standard-phases 'sanity-check) + #:inputs `(("sanity-check.py" . ,#$(default-sanity-check.py)) + ,@inputs) + #:outputs `(("out" . ,#$output:python)))))))) (inputs - `(("abseil-cpp" ,abseil-cpp) - ("cpuinfo" ,cpuinfo) - ("eigen" ,eigen) - ("fp16" ,fp16) - ("flatbuffers" ,flatbuffers-23.1) - ("gemmlowp" ,gemmlowp) - ("mesa-headers" ,mesa-headers) - ("neon2sse" ,neon2sse) - ("nsync" ,nsync) - ("opencl-clhpp" ,opencl-clhpp) - ("opencl-headers" ,opencl-headers) - ("opencl-icd-loader" ,opencl-icd-loader) - ("pthreadpool" ,pthreadpool) - ("python" ,python) - ("ruy" ,ruy) - ("re2" ,re2) - ("xnnpack" ,xnnpack) - ("vulkan-headers" ,vulkan-headers))) + (list abseil-cpp + cpuinfo + eigen + fp16 + flatbuffers-23.5 + gemmlowp + mesa-headers + neon2sse + nsync + opencl-clhpp + opencl-headers + opencl-icd-loader + pthreadpool + python-wrapper + python-ml-dtypes + ruy + re2 + xnnpack + vulkan-headers + zlib)) + (propagated-inputs + (list python-numpy)) (native-inputs `(("pkg-config" ,pkg-config) ("googletest" ,googletest) + ("pybind11" ,pybind11) + ("python-wheel" ,python-wheel) + ("swig" ,swig) ("farmhash-src" ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) (origin @@ -3315,6 +3430,22 @@ learning models. This package provides the \"lite\" variant for mobile devices.") (license license:asl2.0))) +(define-public python-tflite-runtime + (package + (inherit tensorflow-lite) + (name "python-tflite-runtime") + (source #f) + (build-system trivial-build-system) + (outputs (list "out")) + (arguments + (list + #:builder + #~(begin + (mkdir #$output) + (symlink (string-append #$tensorflow-lite:python "/lib") + (string-append #$output "/lib"))))) + (native-inputs '()))) + (define-public dmlc-core (package (name "dmlc-core") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6c8cc0fa173..770ba247f5d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Justus Winter ;;; Copyright © 2020 Eric Brown -;;; Copyright © 2020, 2021, 2022, 2024 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2024 Maxim Cournoyer ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020, 2021 Alexey Abramov ;;; Copyright © 2020 Tim Gesthuizen @@ -503,16 +503,16 @@ Maildir, MH, MMDF or mbox folders.") (define-public nmail (package (name "nmail") - (version "4.54") + (version "5.5.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/d99kris/nmail/") - (commit (string-append "v" version)))) + (url "https://github.com/d99kris/nmail/") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0bk2kq0pk1r4w5xv94yh37vrwxs8lczjg11gfraxh9cxyjigwsrp")))) + (base32 "1ikl5n6s08gh62cs54mr874walm440w0nxmi0fgnx8giaj3mc436")))) (build-system cmake-build-system) (arguments (list @@ -530,9 +530,9 @@ Maildir, MH, MMDF or mbox folders.") ncurses openssl sqlite - (list util-linux "lib") xapian - zlib)) + zlib + (list util-linux "lib"))) (native-inputs (list pkg-config)) (home-page "https://github.com/d99kris/nmail") (synopsis "Terminal-based email client") @@ -4668,40 +4668,6 @@ complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, Atom feeds or HTML archives.") (license license:agpl3+))) -(define-public sylpheed - (package - (name "sylpheed") - (version "3.7.0") - (source (origin - (method url-fetch) - (uri (string-append "https://sylpheed.sraoss.jp/sylpheed/v3.7/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd")))) - (build-system gnu-build-system) - (native-inputs - (list pkg-config)) - (inputs - (list bogofilter - compface - gnupg-1 - gpgme - gtk+-2 - gtkspell3 - libnsl - openldap - openssl)) - (home-page "https://sylpheed.sraoss.jp/en/") - (synopsis "Lightweight GTK+ email client") - (description - "Sylpheed is a simple, lightweight but featureful, and easy-to-use e-mail -client. Sylpheed provides intuitive user-interface. Sylpheed is also -designed for keyboard-oriented operation.") - (properties '((release-monitoring-url - . "https://sylpheed.sraoss.jp/en/download.html"))) - (license license:gpl2+))) - (define-public python-authres (package (name "python-authres") diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index e12dc292301..b287bc92d52 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021, 2024 Janneke Nieuwenhuizen -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; Copyright © 2022 Imran Iqbal ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 4169de539ab..286252b6ed0 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -595,6 +595,59 @@ Interactive Weather Information Network (IWIN). @end enumerate\n") (license (list license:gpl2+ license:lgpl2.0+ license:gpl3+)))) +(define-public mate-sensors-applet + (package + (name "mate-sensors-applet") + (version "1.28.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://mate/" + (version-major+minor version) + "/" + "mate-sensors-applet-" + version + ".tar.xz")) + (sha256 + (base32 "10as64102wbgmi8ak3ya2zyvc3dpx24rfg18323fp3xgh9k3crfl")))) + (build-system glib-or-gtk-build-system) + (arguments + (list + #:configure-flags + #~(list "--enable-in-process"))) + (native-inputs (list pkg-config + intltool + itstool + yelp-tools + gettext-minimal + gobject-introspection)) + (inputs (list at-spi2-core + dbus + dbus-glib + glib + gtk+ + libnotify + lm-sensors + libx11 + libxml2 + libxslt + libatasmart + libwnck + mate-desktop + mate-menus + mate-panel + pango + polkit ;either polkit or setuid + upower + wireless-tools)) + (home-page "https://mate-desktop.org/") + (synopsis "MATE panel applet for hardware monitoring") + (description + "MATE Sensors Applet displays readings from hardware sensors in the MATE +panel, these include CPU temperature, fan speeds and voltage reading under +GNU plus Linux distributions.") + (license license:gpl2+))) + (define-public mate-media (package (name "mate-media") @@ -1445,53 +1498,54 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public engrampa (package (name "engrampa") - (version "1.28.1") + (version "1.28.2") (source (origin (method url-fetch) - (uri (string-append "mirror://mate/" (version-major+minor version) "/" - "engrampa-" version ".tar.xz")) + (uri (string-append "mirror://mate/" + (version-major+minor version) + "/" + "engrampa-" + version + ".tar.xz")) (sha256 - (base32 "0siqhm6vh0lwx0qh7v4asn4m15ac9g93hm97iymfw24brydlqp4w")))) + (base32 "1vq9mi87c0agfwysrbki155835xgv5qm2cbzld1qigs56z17g68y")))) (build-system glib-or-gtk-build-system) (arguments - `(#:configure-flags (list "--disable-schemas-compile" - "--disable-run-in-place" - "--enable-magic" - "--enable-packagekit" - (string-append "--with-cajadir=" - (assoc-ref %outputs "out") - "/lib/caja/extensions-2.0/")) - #:phases - (modify-phases %standard-phases - (add-before 'install 'skip-gtk-update-icon-cache - ;; Don't create 'icon-theme.cache'. - (lambda _ - (substitute* "data/Makefile" - (("gtk-update-icon-cache") "true")) - #t))))) + (list + #:configure-flags + #~(list "--disable-schemas-compile" "--disable-run-in-place" + "--enable-magic" "--enable-packagekit" + (string-append "--with-cajadir=" + #$output "/lib/caja/extensions-2.0/")) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "data/Makefile" + (("gtk-update-icon-cache") + "true")) #t))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("gtk-doc" ,gtk-doc/stable) - ("intltool" ,intltool) - ("pkg-config" ,pkg-config) - ("yelp-tools" ,yelp-tools))) - (inputs - (list caja - file - glib - gtk+ - (librsvg-for-system) - json-glib - libcanberra - libx11 - libsm - packagekit - pango)) + (list gettext-minimal + gtk-doc/stable + intltool + pkg-config + yelp-tools)) + (inputs (list caja + file + glib + gtk+ + (librsvg-for-system) + json-glib + libcanberra + libx11 + libsm + packagekit + pango)) (home-page "https://mate-desktop.org/") (synopsis "Archive Manager for MATE") - (description - "Engrampa is the archive manager for the MATE Desktop.") + (description "Engrampa is the archive manager for the MATE Desktop.") (license license:gpl2))) (define-public pluma @@ -1707,6 +1761,7 @@ menu specification.") mate-control-center mate-media mate-applets + mate-sensors-applet mate-user-guide mate-calc mate-backgrounds diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f53478e2df6..306582e712f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -61,14 +61,14 @@ ;;; Copyright © 2022, 2023 Nicolas Graves ;;; Copyright © 2022 Roman Scherer ;;; Copyright © 2023 Jake Leporte -;;; Copyright © 2023 Camilo Q.S. (Distopico) +;;; Copyright © 2023, 2025 Camilo Q.S. (Distopico) ;;; Copyright © 2023, 2025 David Elsing ;;; Copyright © 2024 Herman Rimm ;;; Copyright © 2024 Foundation Devices, Inc. ;;; Copyright © 2024, 2025 Artyom V. Poptsov ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2025 Luca Cirrottola -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2025 Sören Tempel ;;; Copyright © 2025 nomike Postmann ;;; @@ -289,27 +289,35 @@ interactive dialogs to guide them.") (define-public calc (package (name "calc") - (version "2.14.2.1") + (version "2.15.1.1") (source (origin (method url-fetch) (uri (string-append "http://www.isthe.com/chongo/src/calc/calc-" version ".tar.bz2")) (sha256 - (base32 "1swalx3cxjcx4aprnchb2jf0wig89ggvxjzzzx488r115w58lxnr")))) + (base32 "1710wsyjg3k6qx5xaa5fa1r81izpgjiy676ayznd2p42rn3czmm2")))) (build-system gnu-build-system) (inputs (list readline)) - (native-inputs (list util-linux)) ; for col + (native-inputs (list man-db util-linux)) ;for col (arguments - (list #:phases #~(modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'patch-makefile - (lambda _ - (substitute* "Makefile" - (("^PREFIX= /usr/local") - (string-append "PREFIX=" #$output)) - (("=\\s?/usr") - "= ${PREFIX}"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-makefile + (lambda _ + (substitute* "Makefile.config" + (("^PREFIX= /usr/local") + (string-append "PREFIX=" + #$output)) + (("=\\s?/usr") + "= ${PREFIX}")) + (substitute* "Makefile.target" + (("LIBCALC_SHLIB=") + "LIBCALC_SHLIB= -Wl,-rpath='$$ORIGIN'") + (("LIBCUSTCALC_SHLIB=") + "LIBCUSTCALC_SHLIB= -Wl,-rpath='$$ORIGIN'"))))))) (synopsis "Arbitrary precision console calculator") (description "Calc is an arbitrary precision arithmetic system that uses a C-like @@ -7808,14 +7816,15 @@ in finite element programs.") (native-inputs (list unzip)) (inputs - `(("hdf5" ,hdf5) - ;; FIXME: 'mkoctfile' fails with a linker error: - ;; ld: cannot find -loctinterp - ;; ld: cannot find -loctave - ;; Disable it for now. - ;;("octave" ,octave-cli) - ("python" ,python-2) ; print syntax - ("zlib" ,zlib))) + (list + hdf5 + ;; FIXME: 'mkoctfile' fails with a linker error: + ;; ld: cannot find -loctinterp + ;; ld: cannot find -loctave + ;; Disable it for now. + ;; octave-cli + python + zlib)) (arguments `(;; The 'share/flann/octave' contains a .mex file, which is an ELF file ;; taken 46 MiB unstripped, and 6 MiB stripped. diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8ea36d81e48..1dadd943765 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -35,7 +35,7 @@ ;;; Copyright © 2022 Aleksandr Vityazev ;;; Copyright © 2022 Jai Vetrivelan ;;; Copyright © 2022 Jack Hill -;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2022 Giovanni Biscuolo ;;; Copyright © 2023 Giacomo Leidi ;;; Copyright © 2023 Yovan Naumovski diff --git a/gnu/packages/mruby-xyz.scm b/gnu/packages/mruby-xyz.scm new file mode 100644 index 00000000000..db7f616641f --- /dev/null +++ b/gnu/packages/mruby-xyz.scm @@ -0,0 +1,174 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Sughosha +;;; +;;; 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 . + +(define-module (gnu packages mruby-xyz) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages audio) + #:use-module (gnu packages fonts) + #:use-module (gnu packages gl) + #:use-module (gnu packages libevent) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages ruby) + #:use-module (gnu packages xorg) + #:use-module (ice-9 match)) + +(define-public mruby-zest + (package + (name "mruby-zest") + (version "3.0.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mruby-zest/mruby-zest-build") + (commit version) + ;; Clone recursively for the mruby sources and gems that + ;; are needed for compilation. The rest of the bundled + ;; dependencies will be deleted in the snippet. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dz4zv1km9805lji2q2qqdd8s8hgfd723dxdzcivbhm612szm1mc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This package contains a custom "pugl". Replacing it with + ;; the system "pugl" fails to build. + ;; Delete the bundled "libuv", "nanovg" and "rtosc". + (with-directory-excursion "deps" + (for-each delete-file-recursively + (list "libuv" "nanovg" "rtosc"))) + ;; Do not compile "nanovg" and "libuv" and replace them with + ;; the respective system libraries. + (substitute* "Makefile" + (("cd deps/nanovg") "#cd deps/nanovg") + (("\\$\\(AR\\) rc deps/libnanovg\\.a") + "#$(AR) rc deps/libnanovg.a") + (("\\./deps/libnanovg\\.a") + "-lnanovg") + (("cd deps/libuv") "#cd deps/libuv") + (("\\./deps/libuv/\\.libs/libuv\\.a") + "-luv") + (("\\./deps/libuv/\\.libs/libuv-win\\.a") + "-luv-win")) + ;; Do not include the bundled "nanovg" and "uv" and replace + ;; them with the respective system libraries. + (substitute* "build_config.rb" + (("cc\\.include_paths.*\\./deps/nanovg/.*$" all) + (string-append "#" all)) + (("cc\\.include_paths.*\\./deps/libuv/.*$" all) + (string-append "#" all)) + (("#\\{`pwd`\\.strip\\}/\\.\\./deps/libnanovg\\.a") + "-lnanovg") + (("#\\{`pwd`\\.strip\\}/\\.\\./deps/libuv\\.a") + "-luv")) + ;; Fix including "nanovg" headers. + (substitute* (find-files "deps/mruby-nanovg" "\\.(c|h)") + (("nanovg\\.h") "nanovg/nanovg.h") + (("nanovg_gl\\.h") "nanovg/nanovg_gl.h") + (("\"\\.\\./\\.\\./nanovg/.*/stb_image_write\\.h\"") + "")) + ;; Fix including "rtosc" headers. + (substitute* "src/mruby-widget-lib/src/gem.c" + (("\"\\.\\./\\.\\./\\.\\./deps/.*/rtosc\\.h\"") + "")))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "CONFIG_SHELL=bash") + #:modules + `(,@%default-gnu-modules + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Patch paths to the missing fonts. + (substitute* + "src/mruby-widget-lib/mrblib/script.rb" + (("sans = \\[") + (string-append + "sans = [\"" + (search-input-file inputs + "/share/fonts/truetype/Roboto-Regular.ttf") + "\", ")) + (("bold = \\[") + (string-append + "bold = [\"" + (search-input-file inputs + "/share/fonts/truetype/Roboto-Bold.ttf") + "\", "))) + ;; Patch paths to the zyn-fusion files. + (substitute* "src/osc-bridge/src/bridge.c" + (("fopen\\(\\\"schema/") + (string-append + "fopen(\"" #$output "/share/zyn-fusion/schema/"))) + (substitute* "test-libversion.c" + (("./libzest.so") + (string-append #$output "/lib/libzest.so"))) + (substitute* "src/mruby-widget-lib/src/api.c" + ((", \\\"\\./qml/") ", \"../share/zyn-fusion/qml/") + (("\\./qml/") + (string-append #$output "/share/zyn-fusion/qml"))))) + ;; No install target. + (replace 'install + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (lib (string-append #$output "/lib")) + (share (string-append #$output "/share")) + (qml (string-append share "/zyn-fusion/qml")) + (schema (string-append share "/zyn-fusion/schema")) + (completions + (string-append share + "/bash-completion/completions"))) + ;; zynaddsubfx looks for "zyn-fusion" instead of "zest". + (rename-file "zest" "zyn-fusion") + (install-file "zyn-fusion" bin) + (install-file "libzest.so" lib) + (for-each (cut install-file <> qml) + (append (find-files "src/mruby-zest/qml" + "\\.qml$") + (find-files "src/mruby-zest/example" + "\\.qml$"))) + (install-file "src/osc-bridge/schema/test.json" schema) + (install-file "completions/zyn-fusion" completions))))))) + (native-inputs + (list pkg-config ruby)) + (inputs + (list font-google-roboto + libuv + libx11 + mesa + nanovg + rtosc)) + (home-page "https://github.com/mruby-zest/mruby-zest-build") + (synopsis "Zyn-Fusion user interface") + (description + "This package provides Zyn-Fusion user interface for +@command{zynaddsubfx}.") + (license + (list license:lgpl2.1)))) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index bafbc8b6c7c..7f471a3f13d 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2018, 2019, 2021, 2023, 2024 Efraim Flashner ;;; Copyright © 2021 Vinicius Monego -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2023 Sharlatan Hellseher ;;; diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 37974937a8c..7f02b13a977 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -45,7 +45,7 @@ ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Thomas Albers Raviola ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2022, 2023 Sughosha +;;; Copyright © 2022, 2023, 2024 Sughosha ;;; Copyright © 2022, 2025 Remco van 't Veer ;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2022 Wamm K. D. @@ -167,6 +167,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages mp3) #:use-module (gnu packages mpd) + #:use-module (gnu packages mruby-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) #:use-module (gnu packages networking) @@ -496,117 +497,121 @@ enables iPod support in music players such as Clementine.") (license license:lgpl2.1+))) (define-public clementine - (package - (name "clementine") - (version "1.4.0rc1-450-g2725ef99d") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/clementine-player/Clementine") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1pcwwi9b2qcfjn748577gqx6d1hgg7cisw2dn43npwafdvvkdb90")) - (modules '((guix build utils) - (ice-9 regex))) - (snippet - '(begin - (use-modules ((ice-9 regex))) - (for-each - (lambda (dir) - ;; TODO: The following dependencies are still bundled: - ;; - "qxt": Appears to be unmaintained upstream. - ;; - "qsqlite" - ;; - "qtsingleapplication" - ;; - "qocoa" - ;; - "qtiocompressor" - (let ((bundled '("qsqlite" - "qtsingleapplication" - "qxt" - "qocoa" - "qtiocompressor"))) - (if (not - (string-match - (string-append ".?*(" (string-join bundled "|") ")") - dir)) - (delete-file-recursively dir)))) - (find-files "3rdparty" - (lambda (file stat) - (string-match "^3rdparty/[^/]*$" file)) - #:directories? #t)))))) - (build-system cmake-build-system) - (arguments - (list - #:configure-flags - #~(list ;; Requires unpackaged "projectm" - "-DENABLE_VISUALISATIONS=OFF" - ;; Otherwise it may try to download a non-free library at run-time. - ;; TODO In an origin snippet, remove the code that performs the - ;; download. - "-DHAVE_SPOTIFY_DOWNLOADER=FALSE" - ;; Clementine checks that the taglib version is higher than 1.11, - ;; because of https://github.com/taglib/taglib/issues/864. Remove - ;; this flag when 1.12 is released. - "-DUSE_SYSTEM_TAGLIB=TRUE") - #:modules '((guix build cmake-build-system) - ((guix build gnu-build-system) #:prefix gnu:) - (guix build utils)) - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:rest args) - (apply (assoc-ref gnu:%standard-phases 'check) - #:test-target "clementine_test" args))) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) - (wrap-program (string-append out "/bin/clementine") - `("GST_PLUGIN_SYSTEM_PATH" ":" prefix - (,gst-plugin-path))))))))) - (native-inputs - (list gettext-minimal - googletest - pkg-config - qttools-5)) - (inputs - (list bash-minimal - boost - chromaprint - fftw - glib - glu - gstreamer - gst-plugins-base - gst-plugins-good - gst-libav - libcdio - libmygpo-qt - libgpod - libmtp - libxml2 - protobuf - pulseaudio - qtbase-5 - qtx11extras - sqlite - sparsehash - taglib)) - (home-page "https://clementine-player.org") - (synopsis "Music player and library organizer") - (description "Clementine is a multiplatform music player. It is inspired + ;; Clementine has one automatic release per commit at + ;; . + (let ((commit "12e8519370e4e7af2daca280cd31f039289a6450") + (revision "48")) + (package + (name "clementine") + (version (git-version "1.4.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clementine-player/Clementine") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06sl9ywrpkmwdr3v75q0x6j111xgb4w2d1fcykmfwp26i77hvh1g")) + (modules '((guix build utils) + (ice-9 regex))) + (snippet + '(begin + (use-modules ((ice-9 regex))) + (for-each + (lambda (dir) + ;; TODO: The following dependencies are still bundled: + ;; - "qxt": Appears to be unmaintained upstream. + ;; - "qsqlite" + ;; - "qtsingleapplication" + ;; - "qocoa" + ;; - "qtiocompressor" + ;; - "projectm" Uses an old version with custom patches. + (let ((bundled '("qsqlite" + "qtsingleapplication" + "qxt" + "qocoa" + "qtiocompressor" + "projectm"))) + (if (not + (string-match + (string-append ".?*(" (string-join bundled "|") ")") + dir)) + (delete-file-recursively dir)))) + (find-files "3rdparty" + (lambda (file stat) + (string-match "^3rdparty/[^/]*$" file)) + #:directories? #t)))))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list + "-DENABLE_VISUALISATIONS=ON" + ;; Otherwise it may try to download a non-free library at run-time. + ;; TODO In an origin snippet, remove the code that performs the + ;; download. + "-DHAVE_SPOTIFY_DOWNLOADER=FALSE" + (string-append "-DFORCE_GIT_REVISION=" #$commit)) + #:modules '((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:rest args) + (apply (assoc-ref gnu:%standard-phases 'check) + #:test-target "clementine_test" args))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/clementine") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix + (,gst-plugin-path))))))))) + (native-inputs + (list gettext-minimal + googletest + pkg-config + qttools-5)) + (inputs + (list bash-minimal + boost + chromaprint + fftw + glib + glu + gstreamer + gst-plugins-base + gst-plugins-good + gst-libav + libcdio + libmygpo-qt + libgpod + libmtp + libxml2 + glew + protobuf + pulseaudio + qtbase-5 + qtx11extras + sqlite + sparsehash + taglib)) + (home-page "https://clementine-player.org") + (synopsis "Music player and library organizer") + (description "Clementine is a multiplatform music player. It is inspired by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and playing your music.") - (license (list - ;; clementine and qtiocompressor are under GPLv3. - license:gpl3+ - ;; qxt is under CPL1.0. - license:cpl1.0 - ;; qsqlite and qtsingleapplication are under LGPL2.1+. - license:lgpl2.1+ - ;; qocoa is under MIT and CC by-sa for the icons. - license:cc-by-sa3.0)))) + (license (list + ;; clementine and qtiocompressor are under GPLv3. + license:gpl3+ + ;; qxt is under CPL1.0. + license:cpl1.0 + ;; qsqlite, libprojectm and qtsingleapplication are under LGPL2.1+. + license:lgpl2.1+ + ;; qocoa is under MIT and CC by-sa for the icons. + license:cc-by-sa3.0))))) (define-public ctrlr ;; The latest release from 2021 does not have a build system. @@ -1149,224 +1154,6 @@ It supports MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg Vorbis, MusePack, Monkey's Audio, and WavPack files.") (license license:gpl2+))) -(define-public extempore - (package - (name "extempore") - (version "0.8.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/digego/extempore") - (commit (string-append "v" version)))) - (sha256 - (base32 - "16i12zl3g1zpx6lhg5pg821xirdf9rxx5m11b68inf83wn6hknhb")) - (file-name (git-file-name name version)) - (patches (search-patches - "extempore-unbundle-external-dependencies.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Remove bundled sources. - (map delete-file-recursively - '("src/pcre")) - #t)))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags (list "-DJACK=ON" - "-DPACKAGE=ON" - (string-append "-DEXT_SHARE_DIR=" - (assoc-ref %outputs "out") - "/share")) - #:modules ((ice-9 match) - (guix build cmake-build-system) - (guix build utils)) - #:phases - (modify-phases %standard-phases - (add-after 'build 'build-aot-libs - (lambda _ - (for-each (lambda (target) - (invoke "make" target)) - '("aot_base" - "aot_math" - "aot_instruments")) - #t)) - (add-after 'unpack 'patch-install-locations - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("EXT_SHARE_DIR=\"\\.\"\\)") - "EXT_SHARE_DIR=\"${EXT_SHARE_DIR}/extempore\")") - (("DESTINATION \"\\.\"\\)") "DESTINATION bin)") - (("DESTINATION \"\\.\"\n") "DESTINATION share/extempore\n")) - #t)) - (add-after 'unpack 'patch-directories - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "extras/extempore.el" - (("\\(runtime-directory \\(concat default-directory \"runtime\"\\)\\)") - (string-append "(runtime-directory \"" - (assoc-ref outputs "out") - "/share/extempore/runtime" - "\")"))) - #t)) - (add-after 'unpack 'link-with-additional-libs - (lambda _ - ;; The executable must be linked with libffi and zlib. - (substitute* "CMakeLists.txt" - (("target_link_libraries\\(extempore PRIVATE dl" line) - (string-append line " ffi z"))) - #t)) - ;; FIXME: All examples that are used as tests segfault for some - ;; unknown reason. - (add-after 'unpack 'disable-broken-tests - (lambda _ - (substitute* "CMakeLists.txt" - (("extempore_add_example_as_test\\(.*") "")) - #t)) - (add-after 'unpack 'hardcode-external-lib-paths - (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (for-each - (match-lambda - ((file-name lib pkg-name) - (substitute* (string-append "libs/external/" file-name ".xtm") - ((lib) (string-append (assoc-ref inputs pkg-name) - "/lib/" lib))))) - '(("assimp" "libassimp.so" "assimp") - ("portmidi" "libportmidi.so" "portmidi") - ("sndfile" "libsndfile.so" "libsndfile") - ("fft" "libkiss_fft.so" "kiss-fft") - ("stb_image" "libstb_image.so" "stb-image") - ("nanovg" "libnanovg.so" "nanovg") - ("glext" "libGL.so" "mesa") - ("glfw3" "libglfw.so" "glfw") - ("gl/glcore-directbind" "libGL.so" "mesa") - ("gl/glcompat-directbind" "libGL.so" "mesa"))) - #t)) - (add-after 'hardcode-external-lib-paths 'hardcode-contrib-lib-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "libs/contrib/rtmidi.xtm" - (("librtmidic.so") - (search-input-file inputs "lib/librtmidi.so"))))) - (add-after 'unpack 'use-own-llvm - (lambda* (#:key inputs #:allow-other-keys) - (setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm")) - ;; Our LLVM builds shared libraries, so Extempore should use - ;; those. - (substitute* "CMakeLists.txt" - (("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY")) - #t)) - (add-after 'unpack 'fix-aot-compilation - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - ;; Extempore needs to be told where the runtime is to be found. - ;; While we're at it we disable automatic tuning for a specific - ;; CPU to make binary substitution possible. - (("COMMAND extempore" prefix) - (string-append prefix " --sharedir " (getcwd) - " --mcpu=generic --attr=none"))) - #t)) - (add-after 'unpack 'symlink-assets - (lambda* (#:key inputs #:allow-other-keys) - (let ((assets (assoc-ref inputs "extempore-assets"))) - (symlink assets "assets") - #t)))))) - (inputs - `(("llvm" - ,(package - (inherit llvm-3.8) - (name "llvm-for-extempore") - (source - (origin - (method url-fetch) - (uri (string-append "http://extempore.moso.com.au/extras/" - "llvm-3.8.0.src-patched-for-extempore.tar.xz")) - (sha256 - (base32 - "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))))) - ("extempore-assets" - ,(let ((commit "0c9f32c18169b3fbc24bc1ad66283125b54a0c85") - (revision "0") - (version "0.0.0")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/extempore-assets") - (commit commit))) - (file-name (git-file-name "extempore-assets" - (git-version version revision commit))) - (sha256 - (base32 "1pxmcbngd9qx8m71d5rfsmf4h31jnsnd3wjh8vb0rwskif22xz8l"))))) - ("libffi" ,libffi) - ("jack" ,jack-1) - ("libsndfile" ,libsndfile) - ("rtmidi" ,rtmidi-4.0) - ("glfw" ,glfw) - ("apr" ,apr) - ("stb-image" - ,(let ((revision "1") - (commit "152a250a702bf28951bb0220d63bc0c99830c498")) - (package - (inherit stb-image) - (name "stb-image-for-extempore") - (version (git-version "0" revision commit)) - (source - (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/stb") - (commit commit))) - (sha256 - (base32 - "0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ;no tests included - (inputs '())))) - ("kiss-fft" ,kiss-fft-for-extempore) - ("nanovg" ,nanovg-for-extempore) - ("portmidi" - ,(let ((version "217") - (revision "0") - (commit "8602f548f71daf5ef638b2f7d224753400cb2158")) - (package - (inherit portmidi) - (name "portmidi-for-extempore") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/portmidi") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ;no tests - (native-inputs '())))) - ("assimp" ,assimp) - ("alsa-lib" ,alsa-lib) - ("portaudio" ,portaudio) - ("mesa" ,mesa) - ("pcre" ,pcre) - ("zlib" ,zlib))) - (native-inputs - `(("perl" ,perl) - ("emacs" ,emacs-no-x))) - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")) - (home-page "https://github.com/digego/extempore") - (synopsis "Programming environment for live coding of multimedia") - (description - "Extempore is a programming language and runtime environment designed -with live programming in mind. It supports interactive programming in a REPL -style, compiling and binding code just-in-time. Although Extempore has its -roots in 'live coding' of audiovisual media art, it is suitable for any task -domain where dynamic run-time modifiability and good numerical performance are -required. Extempore also has strong timing and concurrency semantics, which -are helpful when working in problem spaces where timing is important (such as -audio and video).") - (license license:bsd-2))) - (define-public flacon (package (name "flacon") @@ -1835,6 +1622,119 @@ listeners answer questions about music quickly and simply.") ;; Software is dual-licensed. (license (list license:bsd-3 license:lgpl3+)))) +(define-public stk + (package + (name "stk") + (version "5.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thestk/stk") + (commit version))) + (sha256 + (base32 + "0z16614ljbvqa1ax6wl0nkzpqffaz1y59g4r09ch8x45wmy0xknb")) + (file-name (git-file-name name version)) + (patches + (search-patches "stk-5.0.1-fix-typo.patch")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;no tests + #:modules + '((guix build cmake-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + ;; Patch rawwaves path. + (substitute* (find-files "." "(\\.h$|\\.cpp$)") + (("\\.\\./\\.\\./rawwaves") + (string-append #$output "/share/stk/rawwaves")) + (("\"rawwaves") + (string-append "\"" #$output "/share/stk/rawwaves"))) + ;; Patch tk and tcl paths. + (with-directory-excursion "projects" + (for-each (lambda (file) + (substitute* (string-drop-right file 4) + (("wish") (which "wish")) + (("< tcl") (string-append "< " #$output:gui + "/share/stk/tcl")) + (("\\./") (string-append #$output "/bin/")))) + (find-files "." "\\.bat$")) + (substitute* (find-files "share/stk/tcl" "\\.tcl$") + (("tcl/bitmaps") + (string-append #$output:gui "/share/stk/tcl/bitmaps")))))) + (add-after 'install 'install-rawwaves-and-projects + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (data (string-append #$output "/share/stk")) + (rawwaves (string-append data "/rawwaves")) + (scores (string-append data "/scores")) + (gui (string-append #$output:gui "/bin")) + (tcl (string-append #$output:gui "/share/stk/tcl"))) + (mkdir-p data) + ;; Install rawwaves. + (copy-recursively "rawwaves" rawwaves) + ;; Install projects. + (with-directory-excursion "../source/projects" + ;; Install project binaries. + (for-each (cut install-file <> bin) + '("demo/stk-demo" + "effects/effects" + "examples/audioprobe" + "examples/bethree" + "examples/controlbee" + "examples/crtsine" + "examples/duplex" + "examples/foursine" + "examples/grains" + "examples/inetIn" + "examples/inetOut" + "examples/midiprobe" + "examples/play" + "examples/playsmf" + "examples/record" + "examples/rtsine" + "examples/sine" + "examples/sineosc" + "examples/threebees" + "eguitar/eguitar" + "ragamatic/ragamat")) + ;; Install project rawwaves. + (for-each (cut copy-recursively <> rawwaves) + '("examples/rawwaves" + "ragamatic/rawwaves")) + ;; Install project scores. + (for-each (cut copy-recursively <> scores) + '("demo/scores" + "eguitar/scores" + "examples/scores")) + ;; Install GUI scripts. + (for-each (lambda (file) + (install-file (string-drop-right file 4) gui)) + (find-files "." "\\.bat")) + ;; Install TCL files. + (for-each (cut copy-recursively <> tcl) + '("demo/tcl" + "effects/tcl" + "eguitar/tcl" + "ragamatic/tcl"))))))))) + (outputs + '("out" "gui")) + (inputs + (list alsa-lib jack-2 tk)) + (home-page "https://ccrma.stanford.edu/software/stk/") + (synopsis "Audio signal processing and algorithmic synthesis classes") + (description + "Synthesis ToolKit in C++ (STK) is a set of audio signal processing and +algorithmic synthesis classes written in C++. + +This package also provides its demo project, examples, ElectricGuitar, +RagaMatic and Effects.") + (license (license:non-copyleft "file:///LICENSE")))) + (define-public abjad (package (name "abjad") @@ -3491,10 +3391,17 @@ instrument or MIDI file player.") (base32 "1bkirvcg0lz1i7ypnz3dyh218yhrqpnijxs8n3wlgwbcixvn1lfb")) (patches - (search-patches "zynaddsubfx-3.0.6-include-cstdint.patch")))) + (search-patches "zynaddsubfx-3.0.6-system-rtosc.patch" + "zynaddsubfx-3.0.6-include-cstdint.patch")))) (build-system cmake-build-system) (arguments - `(#:phases + `(#:configure-flags + `("-DGuiModule=zest" + ,(string-append "-DZYN_DATADIR=" + (assoc-ref %outputs "out") + "/share/zynaddsubfx") + "-DZYN_SYSTEM_RTOSC=ON") + #:phases (modify-phases %standard-phases ;; Move SSE compiler optimization flags from generic target to ;; athlon64 and core2 targets, because otherwise the build would fail @@ -3504,10 +3411,19 @@ instrument or MIDI file player.") (substitute* "src/CMakeLists.txt" (("-msse -msse2 -mfpmath=sse") "") (("-march=(athlon64|core2)" flag) - (string-append flag " -msse -msse2 -mfpmath=sse")))))))) + (string-append flag " -msse -msse2 -mfpmath=sse"))))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/main.cpp" + (("\\./zyn-fusion") + (search-input-file inputs "/bin/zyn-fusion"))) + (substitute* "src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp" + (("\\./libzest\\.so") + (search-input-file inputs "/lib/libzest.so")))))))) (inputs (list liblo - ntk + mruby-zest + rtosc mesa alsa-lib jack-1 @@ -5225,8 +5141,17 @@ and more. Full API documentation and examples are included.") (file-name (git-file-name name version)) (sha256 (base32 - "11xgf461cnmq0jkgdgx5bddi87ammpik4whg1m4fcvd3i0d5i601")))) - (build-system cmake-build-system) + "11xgf461cnmq0jkgdgx5bddi87ammpik4whg1m4fcvd3i0d5i601")) + (modules '((guix build utils))) + ;; Include carla headers from the system. + (snippet + '(substitute* "plugins/carlabase/carla.h" + (("\"CarlaNativePlugin\\.h\"") + "") + (("\"CarlaBackend\\.h\"") "") + (("\"CarlaNative\\.h\"") "") + (("\"CarlaUtils\\.h\"") ""))))) + (build-system qt-build-system) (arguments (list #:tests? #f ; no tests @@ -5247,6 +5172,12 @@ and more. Full API documentation and examples are included.") (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "rpmalloc") "src/3rdparty/rpmalloc/rpmalloc"))) + (add-after 'unpack 'patch-stk-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/modules/FindSTK.cmake" + (("/usr") (assoc-ref inputs "stk"))) + (substitute* "src/core/ConfigManager.cpp" + (("/usr") (assoc-ref inputs "stk"))))) (add-before 'configure 'set-ldflags (lambda _ (setenv "LDFLAGS" @@ -5279,15 +5210,20 @@ and more. Full API documentation and examples are included.") freetype jack-2 ladspa + lame + libgig libogg libsamplerate libsndfile + libsoundio libvorbis libxft portaudio - qtbase-5 + pulseaudio + qtwayland-5 qtx11extras - sdl)) + sdl + stk)) (home-page "https://lmms.io/") (synopsis "Music composition tool") (description "LMMS is a digital audio workstation. It includes tools for diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm index 9c736e547c3..8004a833373 100644 --- a/gnu/packages/nettle.scm +++ b/gnu/packages/nettle.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2016, 2021 Mark H Weaver ;;; Copyright © 2017, 2020-2022 Efraim Flashner -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index c4cd2fd55fd..985d1c1b9ac 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 847d663360c..0bb18b2ad5b 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020, 2021 Marius Bakke ;;; Copyright © 2020 Jonathan Brielmaier -;;; Copyright © 2021-2025 Maxim Cournoyer +;;; Copyright © 2021-2025 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; @@ -100,15 +100,10 @@ platform-neutral API for system level and libc-like functions. It is used in the Mozilla clients.") (license license:mpl2.0))) -;; nss should track ESRs, but currently doesn't. 3.102.1 is the current ESR. - (define-public nss (package (name "nss") - ;; IMPORTANT: Also update and test the nss-certs package, which duplicates - ;; version and source to avoid a top-level variable reference & module - ;; cycle. - (version "3.101.4") + (version "3.101.4") ;update to latest ESR release (source (origin (method url-fetch) (uri (let ((version-with-underscores diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 79e97992a79..2f9a98618af 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018, 2022, 2025 Efraim Flashner ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2021 Marius Bakke ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2022 Petr Hodina diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm index 1cfce633b5c..b60003ee24f 100644 --- a/gnu/packages/nutrition.scm +++ b/gnu/packages/nutrition.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Efraim Flashner -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2024 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/nx.scm b/gnu/packages/nx.scm index 189cf7de297..8ef5158ef71 100644 --- a/gnu/packages/nx.scm +++ b/gnu/packages/nx.scm @@ -1,6 +1,6 @@ ;;; This file is part of GNU Guix. ;;; Copyright © 2024 Nicolas Debonnaire -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; 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 diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 1fcad1b66a4..a8410be78b7 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Sarah Morgensen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2022 Garek Dyszel ;;; Copyright © 2023 Csepp diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm index adb71bcc37e..cc7c6ba665c 100644 --- a/gnu/packages/ocr.scm +++ b/gnu/packages/ocr.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2019 Alex Vong ;;; Copyright © 2021, 2024 Andy Tai ;;; Copyright © 2021, 2022, 2024 Nicolas Goaziou -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/openbox.scm b/gnu/packages/openbox.scm index 130b0bae54c..08ce89b5476 100644 --- a/gnu/packages/openbox.scm +++ b/gnu/packages/openbox.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Julien Lepiller ;;; Copyright © 2016, 2023 Efraim Flashner ;;; Copyright © 2017 Nikita -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 114e5315cf4..b857a14caad 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -201,86 +201,6 @@ from vendor-specific drivers. It also delivers a skeleton of bindings to incorporate inside an OpenCL implementation to give it ICD functionalities.") (license license:bsd-2))) -(define-public beignet - (package - (name "beignet") - (version "1.3.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/intel/beignet") - (commit (string-append "Release_v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0lpv3lvi2vrmzb8blflrpbd3jgin76zqmz6jcv17vn9mylqdrfnd")) - (patches (search-patches "beignet-correct-file-names.patch")) - (modules '((guix build utils))) - (snippet - ;; There's a suspicious .isa binary file under kernels/. - ;; Remove it. - '(for-each delete-file (find-files "." "\\.isa$"))))) - (native-inputs (list pkg-config python)) - (inputs `(("clang@3.7" ,clang-3.7) - ("clang-runtime@3.7" ,clang-runtime-3.7) - ("glu" ,glu) - ("llvm@3.7" ,llvm-3.7) - ("libdrm" ,libdrm) - ("libedit" ,libedit) - ("libpthread-stubs" ,libpthread-stubs) - ("libsm" ,libsm) - ("libva" ,libva) - ("libxfixes" ,libxfixes) - ("libxext" ,libxext) - ("mesa-utils" ,mesa-utils) - ("ncurses" ,ncurses) - ("ocl-icd" ,ocl-icd) - ("opencl-icd-loader" ,opencl-icd-loader) - ("opencl-headers" ,opencl-headers) - ("xextproto" ,xextproto) - ("zlib" ,zlib))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list (string-append "-DCLANG_LIBRARY_DIR=" - (assoc-ref %build-inputs "clang@3.7") "/lib") - "-DENABLE_GL_SHARING=ON" - "-DEXPERIMENTAL_DOUBLE=ON") - - #:phases - (modify-phases %standard-phases - (add-after 'install 'remove-headers - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively - (string-append out "/include")) - #t))) - (add-after 'remove-headers 'install-kernels - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (builddir (getcwd)) - (source-dir (string-append - builddir - "/../beignet-Release_v1.3.2/kernels"))) - (copy-recursively source-dir - (string-append out "/lib/beignet/kernels")) - #t)))) - ;; Beignet tries to find GPU when running tests, which is not available - ;; during build. - #:tests? #f)) - (home-page "https://wiki.freedesktop.org/www/Software/Beignet/") - (synopsis "OpenCL framework for Intel GPUs") - (description - "Beignet is an implementation of the OpenCL specification. This code -base contains the code to run OpenCL programs on Intel GPUs---IvyBridge, -Haswell, Skylake, Apollolake, etc. It defines and implements the OpenCL host -functions required to initialize the device, create the command queues, the -kernels and the programs, and run them on the GPU. The code also contains a -back-end for the LLVM compiler framework.") - ;; Beignet only supports Intel processors. - (supported-systems '("x86_64-linux" "i686-linux")) - (license license:lgpl2.1+))) - (define-public pocl (package (name "pocl") diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index aa263978172..bfbdaad2b6c 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Lars-Dominik Braun ;;; Copyright © 2020 Efraim Flashner -;;; Copyright © 2021, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2023 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2023 Brian Cully ;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 360f25fabff..085a832163a 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2022 Marius Bakke ;;; Copyright © 2020, 2021, 2025 Ricardo Wurmus -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2022 Tanguy Le Carrour ;;; Copyright © 2022 Hartmut Goebel ;;; Copyright © 2025 Nicolas Graves diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a1fba91f57c..e66ceb612ec 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 Ivan Gankevich -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 John Kehayias ;;; Copyright © 2022, 2023 Zhu Zihao ;;; Copyright © 2023 jgart @@ -132,6 +132,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages version-control) #:autoload (guix build-system channel) (channel-build-system) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) @@ -152,6 +153,10 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages readline) + #:use-module (gnu packages admin) + #:use-module (gnu packages selinux) + #:use-module (gnu packages elf) #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE $GUIX_EXTENSIONS_PATH)) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -1025,7 +1030,7 @@ features of Stow with some extensions.") (define-public rpm (package (name "rpm") - (version "4.18.0") + (version "4.20.1") (source (origin (method url-fetch) (uri (string-append "http://ftp.rpm.org/releases/rpm-" @@ -1033,39 +1038,71 @@ features of Stow with some extensions.") version ".tar.bz2")) (sha256 (base32 - "0m250plyananjn0790xmwy6kixmxcdj5iyy2ybnk1aw7f4nia5ra")))) + "0kqjc4k679h4s47gx4wxi049yvy9hpjcijvinqx56r43cc97wr2j")))) (outputs '("out" "debug")) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments - '(#:configure-flags '("--enable-python" - ;; The RPM database must be writable. - "--localstatedir=/var") - #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-lua-check - (lambda _ - (substitute* "configure" - (("lua >= ?.?") - "lua-5.3 >= 5.3")))) - (add-after 'unpack 'patch-build-system - (lambda _ - ;; The build system attempts to create /var in the build - ;; chroot, and fails. - (substitute* "Makefile.in" - ((".*MKDIR_P) \\$\\(DESTDIR)\\$\\(localstatedir.*") - ""))))))) + (list + #:tests? #f ; TEST need fhs envirnment. + #:configure-flags + #~(list + ;; TODO: Add rpm-sequoia + "-DWITH_SEQUOIA=OFF" + #$@(if (this-package-native-input "rpmpgp_legacy") + #~("-DWITH_LEGACY_OPENPGP=ON") + #~())) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-rpmpgp_legacy + (lambda _ + (copy-recursively + #$(this-package-native-input "rpmpgp_legacy") + "rpmio/rpmpgp_legacy"))) + (add-after 'unpack 'fix-install + (lambda _ + (let ((site + (string-append + #$output + "/lib/python" + #$(version-major+minor + (package-version + (this-package-native-input "python"))) + "/site-packages"))) + (substitute* "python/CMakeLists.txt" + (("\\$[{]Python3_SITEARCH[}]") + site))) + (substitute* "plugins/CMakeLists.txt" + (("\\$[{]dbus-1_DATADIR[}]") + (string-append #$output "/share")))))))) (native-inputs (list pkg-config - python)) + python + gettext-minimal + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpm-software-management/rpmpgp_legacy") + (commit "1.1"))) + (file-name "rpmpgp_legacy") + (sha256 + (base32 "0z29bdjfd5p0ygn2g9w3xjc4fx4ba8rcikk28acjl7xwfgfsa4pd"))))) (inputs (list bzip2 + readline file libarchive libgcrypt + dbus lua sqlite xz zlib - zstd)) + elfutils + acl + audit + libselinux + libcap + `(,zstd "lib"))) (propagated-inputs ;; popt is listed in the 'Requires' of rpm.pc. (list popt)) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index a2e8cb7a705..7997d6cead7 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019-2024 Ludovic Courtès ;;; Copyright © 2019 Mădălin Ionel Patrașcu ;;; Copyright © 2020 Roel Janssen -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2021 Stefan Reichör ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024, 2025 David Elsing diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm index 1196f099141..351d8528784 100644 --- a/gnu/packages/pascal.scm +++ b/gnu/packages/pascal.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 David Hashe ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2020 Eric Bavier -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Ricardo Wurmus ;;; Copyright © 2023 Efraim Flashner ;;; diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 704690a0f7f..a23082448c5 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -34,7 +34,7 @@ ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2020 Hartmut Goebel ;;; Copyright © 2021 David Dashyan -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 ( ;;; Copyright © 2022 Nicolas Graves diff --git a/gnu/packages/patches/abseil-cpp-20200923.3-adjust-sysinfo.patch b/gnu/packages/patches/abseil-cpp-20200923.3-adjust-sysinfo.patch deleted file mode 100644 index ae52e103a7f..00000000000 --- a/gnu/packages/patches/abseil-cpp-20200923.3-adjust-sysinfo.patch +++ /dev/null @@ -1,60 +0,0 @@ -https://sources.debian.org/data/main/a/abseil/0~20200923.3-2/debian/patches/cpu-frequency.diff -This patch is taken from Debian instead of the upstream URL because the -upstream URL contains far more changes than occur in this patch. - -It was then modified to also work for armhf. - -From: Benjamin Barenblat -Subject: Ignore missing CPU frequency on more architectures -Forwarded: yes -Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1918ad2ae38aa32c74b558b322479a8efdd76363 - -Linux on MIPS, PA-RISC, RISC-V, and SystemZ doesn’t expose the nominal CPU -frequency via /sys, so don’t worry if `NominalCPUFrequency` returns 1.0 on those -platforms. - -Some POWER machines expose the CPU frequency; others do not. Since we can’t -predict which type of machine the tests will run on, simply disable testing for -`NominalCPUFrequency` on POWER. - -The author works at Google. Upstream applied this patch as Piper revision -347079873 and exported it to GitHub; the Applied-Upstream URL above points to -the exported commit. - ---- a/absl/base/internal/sysinfo_test.cc -+++ b/absl/base/internal/sysinfo_test.cc -@@ -37,17 +37,28 @@ TEST(SysinfoTest, NumCPUs) { - << "NumCPUs() should not have the default value of 0"; - } - -+// Ensure that NominalCPUFrequency returns a reasonable value, or 1.00 on -+// platforms where the CPU frequency is not available through sysfs. -+// -+// POWER is particularly problematic here; some Linux kernels expose the CPU -+// frequency, while others do not. Since we can't predict a priori what a given -+// machine is going to do, just disable this test on POWER on Linux. -+#if !(defined(__linux) && (defined(__ppc64__) || defined(__PPC64__))) - TEST(SysinfoTest, NominalCPUFrequency) { --#if !(defined(__aarch64__) && defined(__linux__)) && !defined(__EMSCRIPTEN__) -- EXPECT_GE(NominalCPUFrequency(), 1000.0) -- << "NominalCPUFrequency() did not return a reasonable value"; --#else -- // Aarch64 cannot read the CPU frequency from sysfs, so we get back 1.0. -- // Emscripten does not have a sysfs to read from at all. -+ // Linux only exposes the CPU frequency on certain architectures, and -+ // Emscripten doesn't expose it at all. -+#if defined(__linux__) && \ -+ (defined(__aarch64__) || defined(__hppa__) || defined(__mips__) || \ -+ defined(__arm__) || defined(__riscv) || defined(__s390x__)) || \ -+ defined(__EMSCRIPTEN__) - EXPECT_EQ(NominalCPUFrequency(), 1.0) - << "CPU frequency detection was fixed! Please update unittest."; -+#else -+ EXPECT_GE(NominalCPUFrequency(), 1000.0) -+ << "NominalCPUFrequency() did not return a reasonable value"; - #endif - } -+#endif - - TEST(SysinfoTest, GetTID) { - EXPECT_EQ(GetTID(), GetTID()); // Basic compile and equality test. diff --git a/gnu/packages/patches/abseil-cpp-20200923.3-duration-test.patch b/gnu/packages/patches/abseil-cpp-20200923.3-duration-test.patch deleted file mode 100644 index 9609c2588b6..00000000000 --- a/gnu/packages/patches/abseil-cpp-20200923.3-duration-test.patch +++ /dev/null @@ -1,86 +0,0 @@ -This patch is taken from upstream and helps the test pass on all architectures. - -The adjustment to absl/numeric/internal/bits.h was removed since the file -didn't appear in the git checkout. - -From b0735979d778a768caee207f01f327535cbd2140 Mon Sep 17 00:00:00 2001 -From: Abseil Team -Date: Tue, 2 Mar 2021 14:28:07 -0800 -Subject: [PATCH] Export of internal Abseil changes - --- -a74bdb72c3a6983e08a805938dd0e20e97d55bba by Abseil Team : - -Fix typo: calcualte -> calculate - -PiperOrigin-RevId: 360515509 - --- -3ddf8ac194e81a13e9de095e59dd061c1beacfe3 by Benjamin Barenblat : - -Make tests tolerant of FMA contraction - -Weaken Duration.ToDoubleSecondsCheckEdgeCases and -Duration.ToDoubleSecondsCheckRandom to make them less sensitive to fused -multiply/add contraction. - -PiperOrigin-RevId: 360297653 -GitOrigin-RevId: a74bdb72c3a6983e08a805938dd0e20e97d55bba -Change-Id: I0c55383bc13040ea77511c4130d142368103dc57 ---- - absl/numeric/internal/bits.h | 2 +- - absl/time/duration_test.cc | 18 +++++++++++------- - 2 files changed, 12 insertions(+), 8 deletions(-) - -diff --git a/absl/time/duration_test.cc b/absl/time/duration_test.cc -index 4d85a2c4f45..fb28fa987f6 100644 ---- a/absl/time/duration_test.cc -+++ b/absl/time/duration_test.cc -@@ -1369,10 +1369,13 @@ TEST(Duration, SmallConversions) { - EXPECT_THAT(ToTimeval(absl::Nanoseconds(2000)), TimevalMatcher(tv)); - } - --void VerifySameAsMul(double time_as_seconds, int* const misses) { -+void VerifyApproxSameAsMul(double time_as_seconds, int* const misses) { - auto direct_seconds = absl::Seconds(time_as_seconds); - auto mul_by_one_second = time_as_seconds * absl::Seconds(1); -- if (direct_seconds != mul_by_one_second) { -+ // These are expected to differ by up to one tick due to fused multiply/add -+ // contraction. -+ if (absl::AbsDuration(direct_seconds - mul_by_one_second) > -+ absl::time_internal::MakeDuration(0, 1u)) { - if (*misses > 10) return; - ASSERT_LE(++(*misses), 10) << "Too many errors, not reporting more."; - EXPECT_EQ(direct_seconds, mul_by_one_second) -@@ -1384,7 +1387,8 @@ void VerifySameAsMul(double time_as_seconds, int* const misses) { - // For a variety of interesting durations, we find the exact point - // where one double converts to that duration, and the very next double - // converts to the next duration. For both of those points, verify that --// Seconds(point) returns the same duration as point * Seconds(1.0) -+// Seconds(point) returns a duration near point * Seconds(1.0). (They may -+// not be exactly equal due to fused multiply/add contraction.) - TEST(Duration, ToDoubleSecondsCheckEdgeCases) { - constexpr uint32_t kTicksPerSecond = absl::time_internal::kTicksPerSecond; - constexpr auto duration_tick = absl::time_internal::MakeDuration(0, 1u); -@@ -1423,8 +1427,8 @@ TEST(Duration, ToDoubleSecondsCheckEdgeCases) { - } - // Now low_edge is the highest double that converts to Duration d, - // and high_edge is the lowest double that converts to Duration after_d. -- VerifySameAsMul(low_edge, &misses); -- VerifySameAsMul(high_edge, &misses); -+ VerifyApproxSameAsMul(low_edge, &misses); -+ VerifyApproxSameAsMul(high_edge, &misses); - } - } - } -@@ -1444,8 +1448,8 @@ TEST(Duration, ToDoubleSecondsCheckRandom) { - int misses = 0; - for (int i = 0; i < 1000000; ++i) { - double d = std::exp(uniform(gen)); -- VerifySameAsMul(d, &misses); -- VerifySameAsMul(-d, &misses); -+ VerifyApproxSameAsMul(d, &misses); -+ VerifyApproxSameAsMul(-d, &misses); - } - } - diff --git a/gnu/packages/patches/audiofile-CVE-2022-24599.patch b/gnu/packages/patches/audiofile-CVE-2022-24599.patch new file mode 100644 index 00000000000..9299f6ea823 --- /dev/null +++ b/gnu/packages/patches/audiofile-CVE-2022-24599.patch @@ -0,0 +1,83 @@ +commit 4d3238843385b9929d7a1ab9034a6fc13949c7b4 +Author: Bastien Roucariès +Date: Sat Nov 11 15:58:50 2023 +0000 + + Fix CVE-2022-24599 + + Memory-leak bug in printfileinfo, due to memcpy on an non allocated memory buffer + with a user declared string. + + Fix it by calloc(declaredsize+1,1) that zeros the buffer and terminate by '\0' + for printf + + Avoid also a buffer overflow by refusing to allocating more than INT_MAX-1. + + Before under valgrind: + libtool --mode=execute valgrind --track-origins=yes ./sfinfo heapleak_poc.aiff + + Duration -inf seconds + ==896222== Invalid read of size 1 + ==896222== at 0x4846794: strlen (vg_replace_strmem.c:494) + ==896222== by 0x49246C8: __printf_buffer (vfprintf-process-arg.c:435) + ==896222== by 0x4924D90: __vfprintf_internal (vfprintf-internal.c:1459) + ==896222== by 0x49DE986: __printf_chk (printf_chk.c:33) + ==896222== by 0x10985C: printf (stdio2.h:86) + ==896222== by 0x10985C: printfileinfo (printinfo.c:134) + ==896222== by 0x10930A: main (sfinfo.c:113) + ==896222== Address 0x4e89bd1 is 0 bytes after a block of size 1 alloc'd + ==896222== at 0x48407B4: malloc (vg_replace_malloc.c:381) + ==896222== by 0x109825: copyrightstring (printinfo.c:163) + ==896222== by 0x109825: printfileinfo (printinfo.c:131) + ==896222== by 0x10930A: main (sfinfo.c:113) + ==896222== + Copyright C + + After: + Duration -inf seconds + Copyright C + +diff --git a/sfcommands/printinfo.c b/sfcommands/printinfo.c +index 60e6947..f5cf925 100644 +--- a/sfcommands/printinfo.c ++++ b/sfcommands/printinfo.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + static char *copyrightstring (AFfilehandle file); + +@@ -147,7 +148,11 @@ static char *copyrightstring (AFfilehandle file) + int i, misccount; + + misccount = afGetMiscIDs(file, NULL); +- miscids = (int *) malloc(sizeof (int) * misccount); ++ if(!misccount) ++ return NULL; ++ miscids = (int *) calloc(misccount, sizeof(int)); ++ if(!miscids) ++ return NULL; + afGetMiscIDs(file, miscids); + + for (i=0; i= INT_MAX -1 ) { ++ goto error; ++ } ++ char *data = (char *) calloc(datasize + 1, 1); + afReadMisc(file, miscids[i], data, datasize); + copyright = data; + break; + } +- ++error: + free(miscids); + + return copyright; diff --git a/gnu/packages/patches/clang-3.5-libc-search-path.patch b/gnu/packages/patches/clang-3.5-libc-search-path.patch deleted file mode 100644 index 50e44802399..00000000000 --- a/gnu/packages/patches/clang-3.5-libc-search-path.patch +++ /dev/null @@ -1,66 +0,0 @@ -Clang attempts to guess file names based on the OS and distro (yes!), -but unfortunately, that doesn't work for us. - -This patch makes it easy to insert libc's $libdir so that Clang passes the -correct absolute file name of crt1.o etc. to 'ld'. It also disables all -the distro-specific stuff and removes the hard-coded FHS directory names -to make sure Clang also works on non-GuixSD systems. - ---- cfe-3.6.0.src/lib/Driver/ToolChains.cpp 2015-02-18 22:03:07.000000000 +0100 -+++ cfe-3.6.0.src/lib/Driver/ToolChains.cpp 2015-06-19 16:37:20.459701044 +0200 -@@ -2931,6 +2931,9 @@ Linux::Linux(const Driver &D, const llvm - - Linker = GetLinkerPath(); - -+ // Comment out the distro-specific tweaks so that they don't bite when -+ // using Guix on a foreign distro. -+#if 0 - Distro Distro = DetectDistro(Arch); - - if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) { -@@ -2973,6 +2976,7 @@ Linux::Linux(const Driver &D, const llvm - - if (IsOpenSUSE(Distro)) - ExtraOpts.push_back("--enable-new-dtags"); -+#endif - - // The selection of paths to try here is designed to match the patterns which - // the GCC driver itself uses, as this is part of the GCC-compatible driver. -@@ -3043,14 +3047,12 @@ Linux::Linux(const Driver &D, const llvm - addPathIfExists(D.Dir + "/../" + OSLibDir, Paths); - } - -- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); -- addPathIfExists(SysRoot + "/lib/../" + OSLibDir, Paths); -- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); -- addPathIfExists(SysRoot + "/usr/lib/../" + OSLibDir, Paths); -- - // Try walking via the GCC triple path in case of biarch or multiarch GCC - // installations with strange symlinks. - if (GCCInstallation.isValid()) { -+ // The following code would end up adding things like -+ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. -+#if 0 - addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + - "/../../" + OSLibDir, Paths); - -@@ -3060,6 +3062,7 @@ Linux::Linux(const Driver &D, const llvm - addPathIfExists(GCCInstallation.getInstallPath() + - BiarchSibling.gccSuffix(), Paths); - } -+#endif - - // See comments above on the multilib variant for details of why this is - // included even from outside the sysroot. -@@ -3083,8 +3086,9 @@ Linux::Linux(const Driver &D, const llvm - if (StringRef(D.Dir).startswith(SysRoot)) - addPathIfExists(D.Dir + "/../lib", Paths); - -- addPathIfExists(SysRoot + "/lib", Paths); -- addPathIfExists(SysRoot + "/usr/lib", Paths); -+ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, -+ // and friends can be found. -+ addPathIfExists("@GLIBC_LIBDIR@", Paths); - } - - bool Linux::HasNativeLLVMSupport() const { diff --git a/gnu/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch b/gnu/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch deleted file mode 100644 index cfb09a8ce3d..00000000000 --- a/gnu/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d9d97cac3702b99a00cd113de98c41eb535d47ed Mon Sep 17 00:00:00 2001 -From: Efraim Flashner -Date: Sun, 14 Oct 2018 12:11:30 +0300 -Subject: [PATCH] patch modified from the gcc patch series, also dealing with - ustat. - ---- - .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -index 29fea6e..570b9a5 100644 ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -129,7 +129,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -222,7 +221,19 @@ namespace __sanitizer { - #endif // SANITIZER_LINUX || SANITIZER_FREEBSD - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned struct_ustat_sz = sizeof(struct ustat); -+ // Use pre-computed size of struct ustat to avoid which -+ // has been removed from glibc 2.28. -+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ -+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ -+ || defined(__x86_64__) -+#define SIZEOF_STRUCT_USTAT 32 -+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ -+ || defined(__powerpc__) || defined(__s390__) -+#define SIZEOF_STRUCT_USTAT 20 -+#else -+#error Unknown size of struct ustat -+#endif -+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; - unsigned struct_rlimit64_sz = sizeof(struct rlimit64); - unsigned struct_statvfs64_sz = sizeof(struct statvfs64); - #endif // SANITIZER_LINUX && !SANITIZER_ANDROID --- -2.19.1 - diff --git a/gnu/packages/patches/clang-3.8-libc-search-path.patch b/gnu/packages/patches/clang-3.8-libc-search-path.patch deleted file mode 100644 index 0f7d0a4add4..00000000000 --- a/gnu/packages/patches/clang-3.8-libc-search-path.patch +++ /dev/null @@ -1,69 +0,0 @@ -Clang attempts to guess file names based on the OS and distro (yes!), -but unfortunately, that doesn't work for us. - -This patch makes it easy to insert libc's $libdir so that Clang passes the -correct absolute file name of crt1.o etc. to 'ld'. It also disables all -the distro-specific stuff and removes the hard-coded FHS directory names -to make sure Clang also works on non-GuixSD systems. - -This patch makes slight adjustments over "clang-libc-search-path.patch" for -changes in clang 3.8. - ---- cfe-3.8.0.src/lib/Driver/ToolChains.cpp -+++ cfe-3.8.0.src/lib/Driver/ToolChains.cpp -@@ -3661,6 +3661,9 @@ - GCCInstallation.getTriple().str() + "/bin") - .str()); - -+ // Comment out the distro-specific tweaks so that they don't bite when -+ // using Guix on a foreign distro. -+#if 0 - Distro Distro = DetectDistro(D, Arch); - - if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) { -@@ -3702,6 +3705,7 @@ - - if (IsOpenSUSE(Distro)) - ExtraOpts.push_back("--enable-new-dtags"); -+#endif - - // The selection of paths to try here is designed to match the patterns which - // the GCC driver itself uses, as this is part of the GCC-compatible driver. -@@ -3771,14 +3775,12 @@ - addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); - } - -- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); -- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); -- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); -- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); -- - // Try walking via the GCC triple path in case of biarch or multiarch GCC - // installations with strange symlinks. - if (GCCInstallation.isValid()) { -+ // The following code would end up adding things like -+ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. -+#if 0 - addPathIfExists(D, - SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + - "/../../" + OSLibDir, -@@ -3791,6 +3793,7 @@ - BiarchSibling.gccSuffix(), - Paths); - } -+#endif - - // See comments above on the multilib variant for details of why this is - // included even from outside the sysroot. -@@ -3815,8 +3818,9 @@ - if (StringRef(D.Dir).startswith(SysRoot)) - addPathIfExists(D, D.Dir + "/../lib", Paths); - -- addPathIfExists(D, SysRoot + "/lib", Paths); -- addPathIfExists(D, SysRoot + "/usr/lib", Paths); -+ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, -+ // and friends can be found. -+ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); - } - - bool Linux::HasNativeLLVMSupport() const { return true; } diff --git a/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch b/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch deleted file mode 100644 index 042f0e025a4..00000000000 --- a/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch +++ /dev/null @@ -1,16 +0,0 @@ -Patch based on changes from -https://github.com/llvm/llvm-project/commit/c1fde4fa943fd03a3d40bc5d32b9e0045fd29208 - -diff --git a/lib/sanitizer_common/scripts/gen_dynamic_list.py b/lib/sanitizer_common/scripts/gen_dynamic_list.py -index 5ea2ca1..d7bc287 100755 ---- a/lib/sanitizer_common/scripts/gen_dynamic_list.py -+++ b/lib/sanitizer_common/scripts/gen_dynamic_list.py -@@ -100,7 +100,7 @@ def main(argv): - print('global:') - result.sort() - for f in result: -- print(' ' + f.encode('utf-8') + ';') -+ print(u' %s;' % f) - if args.version_list: - print('local:') - print(' *;') diff --git a/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch b/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch deleted file mode 100644 index f4bca3ecb10..00000000000 --- a/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch +++ /dev/null @@ -1,50 +0,0 @@ -Adjust libsanitizer to ABI change in glibc 2.31. - -Adapted to 3.x from this upstream commit: -https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); - #ifndef __GLIBC_PREREQ - #define __GLIBC_PREREQ(x, y) 0 - #endif --#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) --/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ -+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) -+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit -+ on many architectures. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -188,17 +188,16 @@ namespace __sanitizer { - unsigned __seq; - u64 __unused1; - u64 __unused2; --#elif defined(__mips__) || defined(__aarch64__) -- unsigned int mode; -- unsigned short __seq; -- unsigned short __pad1; -- unsigned long __unused1; -- unsigned long __unused2; -+#elif defined(__sparc__) -+ unsigned mode; -+ unsigned short __pad2; -+ unsigned short __seq; -+ unsigned long long __unused1; -+ unsigned long long __unused2; - #else -- unsigned short mode; -- unsigned short __pad1; -- unsigned short __seq; -- unsigned short __pad2; -+ unsigned int mode; -+ unsigned short __seq; -+ unsigned short __pad2; - #if defined(__x86_64__) && !defined(_LP64) - u64 __unused1; - u64 __unused2; diff --git a/gnu/packages/patches/clang-runtime-asan-build-fixes.patch b/gnu/packages/patches/clang-runtime-asan-build-fixes.patch deleted file mode 100644 index e9db57d7cb2..00000000000 --- a/gnu/packages/patches/clang-runtime-asan-build-fixes.patch +++ /dev/null @@ -1,92 +0,0 @@ -This patch works around build issues in libsanitizer. Note that we carry the -same patches for GCC since it includes the same libsanitizer. - -Work around this build error on glibc 2.26: - - /tmp/guix-build-clang-runtime-3.5.2.drv-0/compiler-rt-3.5.2.src/lib/asan/asan_linux.cc: In function 'bool __asan::AsanInterceptsSignal(int)': - /tmp/guix-build-clang-runtime-3.5.2.drv-0/compiler-rt-3.5.2.src/lib/asan/asan_linux.cc:224:20: error: 'SIGSEGV' was not declared in this scope - -diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc -index c504168..59087b9 100644 ---- a/lib/asan/asan_linux.cc -+++ b/lib/asan/asan_linux.cc -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Now, work around this other error: - - /tmp/guix-build-clang-runtime-3.5.2.drv-0/compiler-rt-3.5.2.src/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: In function 'int __sanitizer::TracerThread(void*)': - /tmp/guix-build-clang-runtime-3.5.2.drv-0/compiler-rt-3.5.2.src/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc:239:22: error: aggregate 'sigaltstack handler_stack' has incomplete type and cannot be defined - - -diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc -index 2cefa20..223d9c6 100644 ---- a/lib/sanitizer_common/sanitizer_linux.cc -+++ b/lib/sanitizer_common/sanitizer_linux.cc -@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - -diff --git a/lib/sanitizer_common/sanitizer_linux.h b/lib/sanitizer_common/sanitizer_linux.h -index 4497702..1594058 100644 ---- a/lib/sanitizer_common/sanitizer_linux.h -+++ b/lib/sanitizer_common/sanitizer_linux.h -@@ -19,7 +19,6 @@ - #include "sanitizer_platform_limits_posix.h" - - struct link_map; // Opaque type returned by dlopen(). --struct sigaltstack; - - namespace __sanitizer { - // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +27,7 @@ struct linux_dirent; - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); -diff --git a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -index c919e4f..014162af 100644 ---- a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ b/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -267,7 +267,7 @@ static int TracerThread(void* argument) { - - // Alternate stack for signal handling. - InternalScopedBuffer handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; -diff --git a/lib/tsan/tsan_platform_linux.cc b/lib/tsan/tsan_platform_linux.cc -index 09cec5f..908f4fe 100644 ---- a/lib/tsan/rtl/tsan_platform_linux.cc -+++ b/lib/tsan/rtl/tsan_platform_linux.cc -@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) { - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; --- -2.9.3 diff --git a/gnu/packages/patches/emacs-elpy-dup-test-name.patch b/gnu/packages/patches/emacs-elpy-dup-test-name.patch deleted file mode 100644 index 02f3f45cec6..00000000000 --- a/gnu/packages/patches/emacs-elpy-dup-test-name.patch +++ /dev/null @@ -1,60 +0,0 @@ -Forwarded upstream: https://github.com/jorgenschaefer/elpy/pull/2031 - -diff --git a/test/elpy-config--insert-help-test.el b/test/elpy-config--insert-help-test.el -index bb293ff..2584fd4 100644 ---- a/test/elpy-config--insert-help-test.el -+++ b/test/elpy-config--insert-help-test.el -@@ -2,6 +2,6 @@ - ;; with output. We will test its constituent functions later, and just - ;; make sure it doesn't throw an error here. - --(ert-deftest elpy-config-should-not-fail () -+(ert-deftest elpy-config-should-not-fail-insert-help () - (elpy-testcase () - (elpy-config--insert-help))) -diff --git a/test/elpy-library-root-test.el b/test/elpy-library-root-test.el -index fdc88b2..2f7484c 100644 ---- a/test/elpy-library-root-test.el -+++ b/test/elpy-library-root-test.el -@@ -4,7 +4,7 @@ - (should (f-equal? (elpy-library-root) - project-root)))) - --(ert-deftest elpy-library-root-should-find-current-directory () -+(ert-deftest elpy-library-root-should-find-current-directory-2 () - (elpy-testcase ((:project project-root - "p1/p2/test.py" - "p1/p2/__init__.py" -diff --git a/test/elpy-open-and-indent-line-above-test.el b/test/elpy-open-and-indent-line-above-test.el -index d846712..790dd26 100644 ---- a/test/elpy-open-and-indent-line-above-test.el -+++ b/test/elpy-open-and-indent-line-above-test.el -@@ -1,4 +1,4 @@ --(ert-deftest elpy-open-and-indent-line-below () -+(ert-deftest elpy-open-and-indent-line-above () - (elpy-testcase () - (elpy-enable) - (python-mode) -diff --git a/test/elpy-rpc-get-usages-test.el b/test/elpy-rpc-get-usages-test.el -index 85f0ad4..be5d7c5 100644 ---- a/test/elpy-rpc-get-usages-test.el -+++ b/test/elpy-rpc-get-usages-test.el -@@ -1,4 +1,4 @@ --(ert-deftest elpy-rpc-get-completions () -+(ert-deftest elpy-rpc-get-completions-usages () - (elpy-testcase () - (mletf* ((called-args nil) - (elpy-rpc (&rest args) (setq called-args args))) -diff --git a/test/elpy-rpc-test.el b/test/elpy-rpc-test.el -index 8b5bdca..3ff6965 100644 ---- a/test/elpy-rpc-test.el -+++ b/test/elpy-rpc-test.el -@@ -17,7 +17,7 @@ - (should (equal error 'elpy-rpc--default-error-callback)))) - (elpy-rpc "test-method" nil 'success)))) - --(ert-deftest elpy-rpc-should-use-default-without-error-callback () -+(ert-deftest elpy-rpc-should-use-default-without-error-callback-2 () - (elpy-testcase () - (mletf* ((elpy-rpc--call-blocking - (method params) diff --git a/gnu/packages/patches/esound-c99.patch b/gnu/packages/patches/esound-c99.patch new file mode 100644 index 00000000000..8167b1e5c3a --- /dev/null +++ b/gnu/packages/patches/esound-c99.patch @@ -0,0 +1,19 @@ +Retrieved from: https://src.fedoraproject.org/rpms/esound/raw/rawhide/f/esound-c99.patch + +Declare clean_exit to avoid an implicit function declaration and +future build breakage. This style of declarations outside of header +files is already used for other functions. + +diff --git a/clients.c b/clients.c +index 1f7e4aa644bdc32c..14416e620dcccbbf 100644 +--- a/clients.c ++++ b/clients.c +@@ -33,7 +33,7 @@ static int write_wait = 0; + /* prototypes */ + void dump_clients(void); + void free_client( esd_client_t *client ); +- ++void clean_exit(int signum); + + /*******************************************************************/ + /* for debugging purposes, dump the list of the clients and data */ diff --git a/gnu/packages/patches/icecat-compare-paths.patch b/gnu/packages/patches/icecat-compare-paths.patch index 87a49d58fa6..6c3f503f355 100644 --- a/gnu/packages/patches/icecat-compare-paths.patch +++ b/gnu/packages/patches/icecat-compare-paths.patch @@ -2,20 +2,11 @@ See comment in gnu/build/icecat-extension.scm. --- a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs +++ b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs -@@ -3613,6 +3613,7 @@ const XPIDatabaseReconcile = { +@@ -3753,6 +3753,7 @@ if ( newAddon || oldAddon.updateDate != xpiState.mtime || + oldAddon.path != xpiState.path || - (aUpdateCompatibility && this.isAppBundledLocation(installLocation)) - ) { - newAddon = this.updateMetadata( -@@ -3621,8 +3622,6 @@ const XPIDatabaseReconcile = { - xpiState, - newAddon - ); -- } else if (oldAddon.path != xpiState.path) { -- newAddon = this.updatePath(installLocation, oldAddon, xpiState); - } else if (aUpdateCompatibility || aSchemaChange) { - newAddon = this.updateCompatibility( - installLocation, + (aUpdateCompatibility && this.isAppBundledLocation(installLocation)) || + // update addon metadata if the addon in bundled into + // the omni jar and version or the resource URI pointing diff --git a/gnu/packages/patches/icecat-fhs-configure-option.patch b/gnu/packages/patches/icecat-fhs-configure-option.patch new file mode 100644 index 00000000000..6c1e4b8b835 --- /dev/null +++ b/gnu/packages/patches/icecat-fhs-configure-option.patch @@ -0,0 +1,38 @@ +Upstream-status: https://phabricator.services.mozilla.com/D263231 + +diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure +index 6162d68699dd..193272588caa 100644 +--- a/build/moz.configure/init.configure ++++ b/build/moz.configure/init.configure +@@ -1351,3 +1351,17 @@ option( + help="Object code libraries in DIR", + ) + set_config("libdir", depends("--libdir")(lambda ldir: ldir[0])) ++ ++# Support for using platform-specific standard (FHS-like) locations. ++option( ++ "--enable-fhs", ++ default=True, ++ help="Enable the search of standard platform-specific (FHS-like) locations", ++) ++ ++@depends("--enable-fhs") ++def use_fhs(value): ++ return bool(value) ++ ++set_config("USE_FHS", use_fhs) ++set_define("USE_FHS", use_fhs) +diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp +index 547cc4c255c4..79133c879be4 100644 +--- a/toolkit/xre/nsXREDirProvider.cpp ++++ b/toolkit/xre/nsXREDirProvider.cpp +@@ -295,6 +295,9 @@ static nsresult GetSystemParentDirectory(nsIFile** aFile) { + localDir.forget(aFile); + return rv; + } ++# ifndef USE_FHS ++ return rv; ++# endif + + // ... falling back to the conventional fixed location otherwise. + # if defined(XP_MACOSX) diff --git a/gnu/packages/patches/icecat-use-system-wide-dir.patch b/gnu/packages/patches/icecat-use-system-wide-dir.patch index 223467a9c10..c7454a72b92 100644 --- a/gnu/packages/patches/icecat-use-system-wide-dir.patch +++ b/gnu/packages/patches/icecat-use-system-wide-dir.patch @@ -1,36 +1,36 @@ -Replace "/usr/lib/mozilla" (the system-wide directory for extensions and -native manifests) with "$ICECAT_SYSTEM_DIR". +Upstream-status: https://bugzilla.mozilla.org/show_bug.cgi?id=1986219 +diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp +index 9c94cb8808aa..dfee051b302f 100644 --- a/toolkit/xre/nsXREDirProvider.cpp +++ b/toolkit/xre/nsXREDirProvider.cpp -@@ -296,24 +296,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir( +@@ -276,11 +276,27 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir( + * + * On OSX this is /Library/Application Support/Mozilla + * On Linux this is /usr/{lib,lib64}/mozilla +- * (for 32- and 64-bit systems respsectively) ++ * (for 32- and 64-bit systems respectively) ++ * ++ * The MOZILLA_SYSTEM_DIR environment variable can be used to override ++ * the system directory used. + */ static nsresult GetSystemParentDirectory(nsIFile** aFile) { - nsresult rv; +- nsresult rv; ++ nsresult rv = NS_ERROR_FAILURE; nsCOMPtr localDir; --# if defined(XP_MACOSX) -- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType, -- getter_AddRefs(localDir)); -- if (NS_SUCCEEDED(rv)) { -- rv = localDir->AppendNative("Mozilla"_ns); -- } --# else -- constexpr auto dirname = --# ifdef HAVE_USR_LIB64_DIR -- "/usr/lib64/mozilla"_ns --# elif defined(__OpenBSD__) || defined(__FreeBSD__) -- "/usr/local/lib/mozilla"_ns --# else -- "/usr/lib/mozilla"_ns --# endif -- ; -- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir)); --# endif + -+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR"); -+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE; ++ // Honor a the MOZILLA_SYSTEM_DIR environment variable first... ++ const char* systemParentDir = getenv("MOZILLA_SYSTEM_DIR"); ++ if (systemParentDir) { ++ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), ++ getter_AddRefs(localDir)); ++ } ++ if (NS_SUCCEEDED(rv)) { ++ localDir.forget(aFile); ++ return rv; ++ } + -+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false, -+ getter_AddRefs(localDir)); - - if (NS_SUCCEEDED(rv)) { - localDir.forget(aFile); ++ // ... falling back to the conventional fixed location otherwise. + # if defined(XP_MACOSX) + rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType, + getter_AddRefs(localDir)); diff --git a/gnu/packages/patches/icedove-observer-fix.patch b/gnu/packages/patches/icedove-observer-fix.patch new file mode 100644 index 00000000000..99645bf10da --- /dev/null +++ b/gnu/packages/patches/icedove-observer-fix.patch @@ -0,0 +1,35 @@ + +# HG changeset patch +# User Magnus Melin +# Date 1757493192 0 +# Node ID 1cc168c9d0a5c55744d2886aa380f5a7bf712ef4 +# Parent 20980bc07105ebb761347e9c99937e572eedf03a +Bug 1987834 - Don't remove not added observer of AUTO_UPDATE_CHANGED_TOPIC when MOZ_UPDATER is off. r=john.bieling + +Differential Revision: https://phabricator.services.mozilla.com/D264376 + +diff --git a/mail/components/preferences/general.js b/mail/components/preferences/general.js +--- a/mail/components/preferences/general.js ++++ b/mail/components/preferences/general.js +@@ -2175,17 +2175,19 @@ var gGeneralPane = { + } + + return /^https?/.test(uri.scheme) ? uri.resolve("/favicon.ico") : ""; + }, + + destroy() { + window.removeEventListener("unload", this); + +- Services.obs.removeObserver(this, AUTO_UPDATE_CHANGED_TOPIC); ++ if (AppConstants.MOZ_UPDATER) { ++ Services.obs.removeObserver(this, AUTO_UPDATE_CHANGED_TOPIC); ++ } + Services.prefs.removeObserver("mailnews.tags.", this); + }, + + // nsISupports + + QueryInterface: ChromeUtils.generateQI(["nsIObserver"]), + + // nsIObserver + diff --git a/gnu/packages/patches/libfaketime-32bit.patch b/gnu/packages/patches/libfaketime-32bit.patch new file mode 100644 index 00000000000..b8ef2d0af01 --- /dev/null +++ b/gnu/packages/patches/libfaketime-32bit.patch @@ -0,0 +1,241 @@ +Taken from https://github.com/wolfcw/libfaketime/pull/487 +Rebased onto v0.9.10 + +From 86e067a01a7882d2140adcf085509e5d72ac3daa Mon Sep 17 00:00:00 2001 +From: Helge Deller +Date: Sun, 12 Jan 2025 22:23:16 +0000 +Subject: [PATCH 1/4] Interpose clock_gettime64 + +Since debian generally added 64-bit time support on 32-bit +arches, now glibc sometimes calls the clock_gettime64 syscall +(and library wrapper). This function was missing, and is added here. + +Patch originally supplied here + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064555 +--- + src/libfaketime.c | 24 ++++++++++++++++++++++++ + test/Makefile | 2 +- + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/src/libfaketime.c b/src/libfaketime.c +index e632395..b9d3d8d 100644 +--- a/src/libfaketime.c ++++ b/src/libfaketime.c +@@ -159,6 +159,13 @@ struct utimbuf { + #include + #endif + ++/* __timespec64 is needed for clock_gettime64 on 32-bit architectures */ ++struct __timespec64 ++{ ++ uint64_t tv_sec; /* Seconds */ ++ uint64_t tv_nsec; /* Nanoseconds */ ++}; ++ + /* + * Per thread variable, which we turn on inside real_* calls to avoid modifying + * time multiple times of for the whole process to prevent faking time +@@ -193,6 +200,7 @@ static time_t (*real_time) (time_t *); + static int (*real_ftime) (struct timeb *); + static int (*real_gettimeofday) (struct timeval *, void *); + static int (*real_clock_gettime) (clockid_t clk_id, struct timespec *tp); ++static int (*real_clock_gettime64) (clockid_t clk_id, struct __timespec64 *tp); + static int (*real_timespec_get) (struct timespec *ts, int base); + #ifdef FAKE_INTERNAL_CALLS + static int (*real___ftime) (struct timeb *); +@@ -2319,6 +2327,17 @@ int clock_gettime(clockid_t clk_id, struct timespec *tp) + return result; + } + ++/* this is used by 32-bit architectures only */ ++int __clock_gettime64(clockid_t clk_id, struct __timespec64 *tp64) ++{ ++ struct timespec tp; ++ int result; ++ ++ result = clock_gettime(clk_id, &tp); ++ tp64->tv_sec = tp.tv_sec; ++ tp64->tv_nsec = tp.tv_nsec; ++ return result; ++} + + #ifdef MACOS_DYLD_INTERPOSE + int macos_timespec_get(struct timespec *ts, int base) +@@ -2652,6 +2671,11 @@ static void ftpl_init(void) + { + real_clock_gettime = dlsym(RTLD_NEXT, "clock_gettime"); + } ++ real_clock_gettime64 = dlsym(RTLD_NEXT, "clock_gettime64"); ++ if (NULL == real_clock_gettime64) ++ { ++ real_clock_gettime64 = dlsym(RTLD_NEXT, "__clock_gettime64"); ++ } + #ifdef FAKE_TIMERS + #if defined(__sun) + real_timer_gettime_233 = dlsym(RTLD_NEXT, "timer_gettime"); +diff --git a/test/Makefile b/test/Makefile +index 1b2a4aa..093d639 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -1,6 +1,6 @@ + CC = gcc + +-CFLAGS += -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra $(FAKETIME_COMPILE_CFLAGS) ++CFLAGS += -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra $(FAKETIME_COMPILE_CFLAGS) -U_FILE_OFFSET_BITS -U_TIME_BITS + LDFLAGS += -lrt -lpthread + + SRC = timetest.c +-- +2.51.0 + +From 1e2626e62e7f3fa3266fbdb93b69bc08a649feaa Mon Sep 17 00:00:00 2001 +From: Ian Jackson +Date: Fri, 17 Jan 2025 12:05:09 +0000 +Subject: [PATCH 2/4] Fix interposition of clock_gettime64 + +timespec.tv_nsec is 32-bit, even though timeval.tv_usec is +64-bit (weirdly). This doesn't matter very much in practice because + * on little endian architectures (which is all our 32-bit release + arches) writing to a too big integer ends up writing the + desired value in the desired location, and + * it doesn't affect the overall struct size on any of our actual + architectures (which align the uint64_t to 8 so must make the + whole struct 16 not 12), so the write overflow is harmless. + +> #include +> #include +> #include +> struct timeval tv; +> struct timespec ts; +> int main(void) { +> printf("time_t %lld\n", (unsigned long long) sizeof(time_t)); +> printf("timeval %lld %lld %lld\n", +> (unsigned long long) sizeof(tv), +> (unsigned long long) sizeof(tv.tv_sec), +> (unsigned long long) sizeof(tv.tv_usec) +> ); +> printf("timespec %lld %lld %lld\n", +> (unsigned long long) sizeof(ts), +> (unsigned long long) sizeof(ts.tv_sec), +> (unsigned long long) sizeof(ts.tv_nsec) +> ); +> } +> (sid_armhf-dchroot)iwj@amdahl:~/Faketime/test$ gcc t.c +> (sid_armhf-dchroot)iwj@amdahl:~/Faketime/test$ ./a.out +> time_t 8 +> timeval 16 8 8 +> timespec 16 8 4 +> (sid_armhf-dchroot)iwj@amdahl:~/Faketime/test$ +--- + src/libfaketime.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libfaketime.c b/src/libfaketime.c +index b9d3d8d..6d9ec1c 100644 +--- a/src/libfaketime.c ++++ b/src/libfaketime.c +@@ -163,7 +163,7 @@ struct utimbuf { + struct __timespec64 + { + uint64_t tv_sec; /* Seconds */ +- uint64_t tv_nsec; /* Nanoseconds */ ++ uint32_t tv_nsec; /* this is 32-bit, apparently! */ + }; + + /* +-- +2.51.0 + +From a2d1dce073b7ffe50009584c89d0b7b061066d53 Mon Sep 17 00:00:00 2001 +From: Ian Jackson +Date: Fri, 17 Jan 2025 09:03:21 +0000 +Subject: [PATCH 3/4] Interpose __time64 + +--- + src/libfaketime.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/src/libfaketime.c b/src/libfaketime.c +index 6d9ec1c..f3706a3 100644 +--- a/src/libfaketime.c ++++ b/src/libfaketime.c +@@ -2339,6 +2339,27 @@ int __clock_gettime64(clockid_t clk_id, struct __timespec64 *tp64) + return result; + } + ++/* this is used by 32-bit architectures only */ ++uint64_t __time64(uint64_t *write_out) ++{ ++ struct timespec tp; ++ uint64_t output; ++ int error; ++ ++ error = clock_gettime(CLOCK_REALTIME, &tp); ++ if (error == -1) ++ { ++ return (uint64_t)error; ++ } ++ output = tp.tv_sec; ++ ++ if (write_out) ++ { ++ *write_out = output; ++ } ++ return output; ++} ++ + #ifdef MACOS_DYLD_INTERPOSE + int macos_timespec_get(struct timespec *ts, int base) + #else +-- +2.51.0 + +From dfc04d2e0b11903a9db1e0b9d435b4c58c4b27ef Mon Sep 17 00:00:00 2001 +From: Ian Jackson +Date: Fri, 17 Jan 2025 12:08:23 +0000 +Subject: [PATCH 4/4] Interpose gettimeofday64 + +--- + src/libfaketime.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/src/libfaketime.c b/src/libfaketime.c +index f3706a3..0270f93 100644 +--- a/src/libfaketime.c ++++ b/src/libfaketime.c +@@ -166,6 +166,13 @@ struct __timespec64 + uint32_t tv_nsec; /* this is 32-bit, apparently! */ + }; + ++/* __timespec64 is needed for clock_gettime64 on 32-bit architectures */ ++struct __timeval64 ++{ ++ uint64_t tv_sec; /* Seconds */ ++ uint64_t tv_usec; /* this is 64-bit, apparently! */ ++}; ++ + /* + * Per thread variable, which we turn on inside real_* calls to avoid modifying + * time multiple times of for the whole process to prevent faking time +@@ -2339,6 +2346,18 @@ int __clock_gettime64(clockid_t clk_id, struct __timespec64 *tp64) + return result; + } + ++/* this is used by 32-bit architectures only */ ++int __gettimeofday64(struct __timeval64 *tv64, void *tz) ++{ ++ struct timeval tv; ++ int result; ++ ++ result = gettimeofday(&tv, tz); ++ tv64->tv_sec = tv.tv_sec; ++ tv64->tv_usec = tv.tv_usec; ++ return result; ++} ++ + /* this is used by 32-bit architectures only */ + uint64_t __time64(uint64_t *write_out) + { +-- +2.51.0 + diff --git a/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch b/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch deleted file mode 100644 index faa8252c432..00000000000 --- a/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch +++ /dev/null @@ -1,35 +0,0 @@ -This patch was downloaded from https://sft.its.cern.ch/jira/browse/ROOT-7047. -It fixes the build of clang 3.5 with GCC 5. File paths have been adjusted. - -From 00f3ed6eee41da871799ad0fd19153c7682d61fe Mon Sep 17 00:00:00 2001 -From: Alexander Klimov -Date: Mon, 26 Jan 2015 18:45:23 +0200 -Subject: [PATCH] [ADT/IntrusiveRefCntPtr] Give friend access to - IntrusiveRefCntPtr so the relevant move constructor can - access 'Obj'. - -From LLVM upstream: -Author: Argyrios Kyrtzidis -Date: Tue Sep 23 06:06:43 2014 +0000 -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218295 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - interpreter/llvm/src/include/llvm/ADT/IntrusiveRefCntPtr.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h -index f9df378..c859c98 100644 ---- a/include/llvm/ADT/IntrusiveRefCntPtr.h -+++ b/include/llvm/ADT/IntrusiveRefCntPtr.h -@@ -197,6 +197,9 @@ public: - private: - void retain() { if (Obj) IntrusiveRefCntPtrInfo::retain(Obj); } - void release() { if (Obj) IntrusiveRefCntPtrInfo::release(Obj); } -+ -+ template -+ friend class IntrusiveRefCntPtr; - }; - - template --- -1.7.10.4 - diff --git a/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch b/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch deleted file mode 100644 index 75236c4069d..00000000000 --- a/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch +++ /dev/null @@ -1,15 +0,0 @@ -Patch from https://github.com/digego/extempore/issues/318 - -diff --git a/include/llvm/IR/ValueMap.h.orig b/include/llvm/IR/ValueMap.h -index ad518ac..d928f6a 100644 ---- a/include/llvm/IR/ValueMap.h -+++ b/include/llvm/IR/ValueMap.h -@@ -99,7 +99,7 @@ - explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64) - : Map(NumInitBuckets), Data(Data) {} - -- bool hasMD() const { return MDMap; } -+ bool hasMD() const { return static_cast(MDMap); } - MDMapT &MD() { - if (!MDMap) - MDMap.reset(new MDMapT); diff --git a/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch b/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch new file mode 100644 index 00000000000..71de88f9a43 --- /dev/null +++ b/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch @@ -0,0 +1,14 @@ +This patch fixes the unknown version comparison operator + +diff --git a/librtosc-cpp.pc.cmake b/librtosc-cpp.pc.cmake +index 0d8fda2..edbcb3a 100644 +--- a/librtosc-cpp.pc.cmake ++++ b/librtosc-cpp.pc.cmake +@@ -9,6 +9,6 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ + Name: rtosc_cpp + Description: rtosc_cpp - a realtime safe open sound control serialization and dispatch system for C++ + Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +-Requires: librtosc == @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ ++Requires: librtosc = @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ + Libs: -L${libdir} -lrtosc -lrtosc-cpp + Cflags: -I${includedir} \ No newline at end of file diff --git a/gnu/packages/patches/stk-5.0.1-fix-typo.patch b/gnu/packages/patches/stk-5.0.1-fix-typo.patch new file mode 100644 index 00000000000..b4160dcdc6e --- /dev/null +++ b/gnu/packages/patches/stk-5.0.1-fix-typo.patch @@ -0,0 +1,8 @@ +This patch fixes typo. + +diff -ruN stk-5.0.1-a/projects/eguitar/ElectricGuitar stk-5.0.1-b/projects/eguitar/ElectricGuitar +--- stk-5.0.1-a/projects/eguitar/ElectricGuitar 2024-11-30 15:07:14.267988301 +0530 ++++ stk-5.0.1-b/projects/eguitar/ElectricGuitar 2024-11-30 15:05:40.951986213 +0530 +@@ -1 +1 @@ +-wish < tcl/Eguitar.tcl | ./eguitar -or -ip ++wish < tcl/EGuitar.tcl | ./eguitar -or -ip diff --git a/gnu/packages/patches/tensorflow-lite-unbundle.patch b/gnu/packages/patches/tensorflow-lite-unbundle.patch deleted file mode 100644 index efd7d5bbc6b..00000000000 --- a/gnu/packages/patches/tensorflow-lite-unbundle.patch +++ /dev/null @@ -1,27 +0,0 @@ -Disable local CMake build code for bundled 3rdparty components. - -diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt -index 0476170e075..90abea00e8c 100644 ---- a/tensorflow/lite/CMakeLists.txt -+++ b/tensorflow/lite/CMakeLists.txt -@@ -564,7 +564,7 @@ set(_ALL_TFLITE_HDRS ${_ALL_TFLITE_SRCS}) - list(FILTER _ALL_TFLITE_HDRS INCLUDE REGEX ".*\\.h$") - target_include_directories(tensorflow-lite - PUBLIC $ $ -- ${CMAKE_BINARY_DIR}/gemmlowp -+ ${gemmlowp_ROOT}/include/gemmlowp - ) - target_link_libraries(tensorflow-lite - PUBLIC -diff --git a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake -index 70331ad0a69..a9bd8a0f3bd 100644 ---- a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake -+++ b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake -@@ -18,7 +18,6 @@ - include(gemmlowp) - if(gemmlowp_POPULATED) - set(GEMMLOWP_FOUND TRUE) -- get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES) - set(GEMMLOWP_LIBRARIES - gemmlowp - gemmlowp_fixedpoint diff --git a/gnu/packages/patches/torbrowser-use-system-wide-dir.patch b/gnu/packages/patches/torbrowser-use-system-wide-dir.patch new file mode 100644 index 00000000000..223467a9c10 --- /dev/null +++ b/gnu/packages/patches/torbrowser-use-system-wide-dir.patch @@ -0,0 +1,36 @@ +Replace "/usr/lib/mozilla" (the system-wide directory for extensions and +native manifests) with "$ICECAT_SYSTEM_DIR". + +--- a/toolkit/xre/nsXREDirProvider.cpp ++++ b/toolkit/xre/nsXREDirProvider.cpp +@@ -296,24 +296,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir( + static nsresult GetSystemParentDirectory(nsIFile** aFile) { + nsresult rv; + nsCOMPtr localDir; +-# if defined(XP_MACOSX) +- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType, +- getter_AddRefs(localDir)); +- if (NS_SUCCEEDED(rv)) { +- rv = localDir->AppendNative("Mozilla"_ns); +- } +-# else +- constexpr auto dirname = +-# ifdef HAVE_USR_LIB64_DIR +- "/usr/lib64/mozilla"_ns +-# elif defined(__OpenBSD__) || defined(__FreeBSD__) +- "/usr/local/lib/mozilla"_ns +-# else +- "/usr/lib/mozilla"_ns +-# endif +- ; +- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir)); +-# endif ++ ++ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR"); ++ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE; ++ ++ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false, ++ getter_AddRefs(localDir)); + + if (NS_SUCCEEDED(rv)) { + localDir.forget(aFile); diff --git a/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch b/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch new file mode 100644 index 00000000000..3ed8a7c4957 --- /dev/null +++ b/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch @@ -0,0 +1,106 @@ +Adding the option ZYN_SYSTEM_RTOSC to let the use of the system provided RtOSC +instead of using the bundled one. + +--- a/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/CMakeLists.txt 2023-05-03 23:17:58.411667901 +0200 +@@ -10,24 +10,34 @@ + add_definitions(-DZYN_DATADIR="${ZYN_DATADIR}") + endif() + ++option(ZYN_SYSTEM_RTOSC "Use system provided librtosc and librtosc-cpp" OFF) ++ + #Include RTOSC +-if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") +- message(STATUS "RTOSC NOT FOUND") +- message(STATUS "Attempting to checkout submodule") +- find_package(Git REQUIRED) +- execute_process(COMMAND git submodule update --init --recursive) ++if(ZYN_SYSTEM_RTOSC) ++ include(FindPkgConfig) ++ pkg_check_modules(RTOSC REQUIRED librtosc) ++ pkg_check_modules(RTOSC_CPP REQUIRED librtosc-cpp) ++ include_directories(${RTOSC_INCLUDE_DIR}) ++ message(STATUS "Found system provided librtosc and librtosc-cpp...") ++else() + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") +- message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" +- "please check file permissions and your network") ++ message(STATUS "RTOSC NOT FOUND") ++ message(STATUS "Attempting to checkout submodule") ++ find_package(Git REQUIRED) ++ execute_process(COMMAND git submodule update --init --recursive) ++ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") ++ message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" ++ "please check file permissions and your network") ++ endif() ++ else() ++ message(STATUS "Found Rtosc Submodule...") + endif() +-else() +- message(STATUS "Found Rtosc Submodule...") +-endif() + +-set(RTOSC_NO_INSTALL TRUE) +-include("rtosc/cmake/ColorMessage.cmake") +-add_subdirectory(rtosc) +-include_directories(rtosc/include) ++ set(RTOSC_NO_INSTALL TRUE) ++ include("rtosc/cmake/ColorMessage.cmake") ++ add_subdirectory(rtosc) ++ include_directories(rtosc/include) ++endif() + + enable_testing() + include(CTestConfig.cmake) +--- a/src/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/src/CMakeLists.txt 2023-05-03 23:17:58.411667901 +0200 +@@ -575,13 +575,27 @@ + set(PTHREAD_LIBRARY pthread) + endif() + +-target_link_libraries(zynaddsubfx_core +- ${ZLIB_LIBRARIES} +- ${FFTW3F_LIBRARIES} +- ${MXML_LIBRARIES} +- ${OS_LIBRARIES} +- ${PTHREAD_LIBRARY} +- rtosc rtosc-cpp) ++if(ZYN_SYSTEM_RTOSC) ++ target_link_libraries(zynaddsubfx_core ++ ${ZLIB_LIBRARIES} ++ ${FFTW3F_LIBRARIES} ++ ${MXML_LIBRARIES} ++ ${OS_LIBRARIES} ++ ${PTHREAD_LIBRARY} ++ ${RTOSC_LIBRARIES} ++ ${RTOSC_CPP_LIBRARIES} ++ ) ++else() ++ target_link_libraries(zynaddsubfx_core ++ ${ZLIB_LIBRARIES} ++ ${FFTW3F_LIBRARIES} ++ ${MXML_LIBRARIES} ++ ${OS_LIBRARIES} ++ ${PTHREAD_LIBRARY} ++ rtosc ++ rtosc-cpp ++ ) ++endif() + + if(IwyuErr) + message (STATUS "Include what you use: ${IwyuErr}") + + +When ZYN_SYSTEM_RTOSC is ON, port-checker file is not available and the test +fails. + +--- a/src/Tests/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/src/Tests/CMakeLists.txt 2023-05-04 00:19:01.635383149 +0200 +@@ -65,7 +65,6 @@ + + if(LIBLO_FOUND) + cp_script(check-ports.rb) +- add_test(PortChecker check-ports.rb) + endif() + add_executable(save-osc SaveOSC.cpp) + target_link_libraries(save-osc diff --git a/gnu/packages/patool.scm b/gnu/packages/patool.scm index 7613575f093..196f5e93ec3 100644 --- a/gnu/packages/patool.scm +++ b/gnu/packages/patool.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2024 Artyom V. Poptsov ;;; diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index cc93c6871a4..81ff1d528b0 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2020-2025 Nicolas Goaziou ;;; Copyright © 2020, 2022 Michael Rohleder ;;; Copyright © 2020, 2024 Timotej Lazar -;;; Copyright © 2020, 2022, 2023, 2024, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2022, 2023, 2024, 2025 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Paul A. Patience ;;; Copyright © 2022 Petr Hodina @@ -245,9 +245,6 @@ Drawing: Adding graphics and text directly onto PDF files. @end itemize") (license license:agpl3+))) -(define-public a4pdf - (deprecated-package "a4pdf" capypdf)) - (define-public diffpdf (let ((commit "ba68231d3d05e0cb3a2d4a4fca8b70d4044f4303") (revision "1")) diff --git a/gnu/packages/perl-compression.scm b/gnu/packages/perl-compression.scm index 8b7eb0aa5ee..c6c8d36d974 100644 --- a/gnu/packages/perl-compression.scm +++ b/gnu/packages/perl-compression.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Petter ;;; Copyright © 2017, 2019, 2021 Efraim Flashner -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/perl-web.scm b/gnu/packages/perl-web.scm index 2b9cc608e09..df8db3a2d56 100644 --- a/gnu/packages/perl-web.scm +++ b/gnu/packages/perl-web.scm @@ -24,13 +24,19 @@ #:use-module (gnu packages) #:use-module (guix packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages dbm) + #:use-module (gnu packages gnupg) #:use-module (gnu packages libidn) #:use-module (gnu packages mail) #:use-module (gnu packages networking) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-compression) + #:use-module (gnu packages re2c) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -493,7 +499,7 @@ associated with individual signatures.") (define-public spamassassin (package (name "spamassassin") - (version "4.0.0") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append @@ -501,18 +507,18 @@ associated with individual signatures.") version ".tar.gz")) (sha256 (base32 - "0djgm04kvgq0iab4hhv66gxhl2bhyhj1lfpjcdsw7qq3s6krv5v5")) + "1rfmsr0vbhh68m5p2r8jbrw91k65zzhh8vc1fsig21c4w4ib4ssw")) (modules '((guix build utils))) (snippet #~(delete-file "spamc/configure")))) (build-system perl-build-system) (arguments - (list #:phases #~(modify-phases %standard-phases + (list + #:phases #~(modify-phases %standard-phases (add-before 'configure 'setup (lambda _ - (delete-file "t/debug.t") ;hangs - (delete-file "t/dnsbl_subtests.t") ;6 failures - (delete-file "t/spamc_x_e.t") ;3 failures (setenv "CONFIG_SHELL" (which "sh")) + (substitute* "t/spamc_x_e.t" (("/bin/echo" all) (which "echo"))) + (substitute* "build/parse-rules-for-masses" (("date" all) (which "date"))) (with-directory-excursion "spamc" (invoke "autoreconf" "-vif")))) (add-after 'install 'fix-lib-path @@ -537,35 +543,53 @@ associated with individual signatures.") "sa-update" "spamassassin"))))))))) (native-inputs (list autoconf automake - perl-devel-cycle - perl-net-dns perl-critic perl-critic-policy-perlsecret - perl-test-most + perl-data-dumper + perl-devel-cycle perl-test-pod perl-text-diff)) - (propagated-inputs (list perl-archive-zip - perl-bsd-resource - perl-dbd-sqlite - perl-dbi - perl-email-address-xs - perl-encode-detect - perl-geo-ip - perl-html-parser - perl-io-socket-inet6 - perl-io-socket-ssl - perl-io-string - perl-libwww - perl-mail-dkim - perl-mail-dmarc - perl-mail-spf - perl-net-cidr-lite - perl-net-dns - perl-net-ip - perl-net-libidn - perl-net-patricia - perl-netaddr-ip - perl-razor2-client-agent)) + (inputs + (list + coreutils + curl + gnupg + openssl + re2c + zlib)) + (propagated-inputs + (list perl-archive-zip + perl-bsd-resource + perl-dbd-sqlite + perl-db-file + perl-dbi + perl-email-address-xs + perl-encode-detect + perl-geo-ip + perl-html-parser + perl-io-compress + perl-io-socket-inet6 + perl-io-socket-ip + perl-io-socket-ssl + perl-io-string + perl-io-zlib + perl-libwww + perl-lwp-protocol-https + perl-mail-dkim + perl-mail-dmarc + perl-mail-spf + perl-mime-base64 + perl-net-cidr-lite + perl-net-dns + perl-net-libidn + perl-pathtools + perl-net-patricia + perl-net-smtps + perl-netaddr-ip + perl-razor2-client-agent + perl-sys-hostname-long + perl-time-hires + perl-time-local)) (home-page "https://metacpan.org/release/Mail-SpamAssassin") (synopsis "Extensible email filter used to identify spam") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 02c6834ad06..cda98587772 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2020 Paul Garlick ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Malte Frank Gerdes -;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Maxime Devos diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 688cb830b45..a34e13416ec 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Oleg Pykhalov -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021, 2023 Efraim Flashner ;;; Copyright © 2023 Timo Wilken ;;; diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index f10d1fac63c..17bdb9d51cc 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index be3150b945f..4968cebb50e 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016-2025 Nicolas Goaziou ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 gemmaro ;;; diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index b95f99fa428..bcbc08c707d 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2021 Morgan Smith ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ ;;; Copyright © 2022 Marius Bakke -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2025 Josep Bigorra ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; diff --git a/gnu/packages/presentation.scm b/gnu/packages/presentation.scm deleted file mode 100644 index c5df41cf367..00000000000 --- a/gnu/packages/presentation.scm +++ /dev/null @@ -1,98 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Efraim Flashner -;;; -;;; 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 . - -(define-module (gnu packages presentation) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix download) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix build-system python) - #:use-module (gnu packages bash) - #:use-module (gnu packages figlet) - #:use-module (gnu packages games) - #:use-module (gnu packages image) - #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz)) - -(define-public presentty - (package - (name "presentty") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "presentty" version)) - (sha256 - (base32 - "1qpy992hyg1amjl0acic3agj20spcpv5m0ncg1283mmxs8cs3xy9")) - (patches - (list - (origin - (method url-fetch) - (uri "https://sources.debian.org/data/main/p/presentty/0.2.1-1/debian/patches/presentty-python3.patch") - (sha256 - (base32 - "03d3ylh1z99g4dqj7aka60spagnwss9mbacd7jbpk1gazflnssz1"))))))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; Test suite hasn't withstood the test of time. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-requirements - (lambda _ - ;; Remove version pinning. - (substitute* "requirements.txt" - (("pbr>=.*") "pbr")))) - (replace 'wrap - (lambda* (#:key python inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin/")) - (python (assoc-ref inputs "python"))) - (for-each - (lambda (program) - (wrap-program (string-append bin program) - `("PATH" ":" prefix (,(dirname (which "cowsay")) - ,(dirname (which "figlet")) - ,(dirname (which "jp2a")))) - `("GUIX_PYTHONPATH" prefix - ,(cons (string-append out "/lib/python" - (python-version python) - "/site-packages") - (search-path-as-string->list - (or (getenv "GUIX_PYTHONPATH") "")))))) - '("presentty" "presentty-console"))))) - ;; XXX: console import test fails to find palette.py from the lib? - (delete 'sanity-check)))) - (inputs - (list bash-minimal - cowsay - figlet - jp2a - python-docutils - python-pillow-2.9 - python-six - python-urwid)) - (native-inputs - (list python-pbr python-pygments)) - (home-page "http://git.inaugust.com/cgit/presentty/") - (synopsis "Console-based presentation system") - (description "Presentty is a console-based presentation program where slides -are authored in reStructuredText. Its features include, but are not limited to: -Cross-fade animations, progressive list display, panning transitions, syntax -highlighting, Cowsay and figlet integration, ANSI art, JPEG display.") - (license license:gpl3+))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 0bfc8611d9f..abdc601cf3c 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 Greg Hogan ;;; Copyright © 2022 Zhu Zihao -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023 gemmaro ;;; Copyright © 2024 chris ;;; diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 8a2db9c9172..64bcafb3737 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -212,136 +212,6 @@ and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.") (license license:bsd-3))) -(define-public cube - (package - (name "cube") - (version "4.3.5") - (source - (origin - (method url-fetch) - (uri (string-append - "http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-" - version ".tar.gz")) - (sha256 (base32 "04irflia4rfw02093w9nx7rr98r640y4q8hisjywvd4b7r3nzhhx")) - (patches (search-patches "cube-nocheck.patch")))) - (inputs (list dbus zlib)) - (native-inputs (list perl qtbase-5 ; native because of qmake - which)) - - ;; FIXME: The doc is 14MB, but adding a doc output results in a cycle. - (outputs '("out" ;"doc" - "lib")) - - (build-system gnu-build-system) - (arguments - `(#:configure-flags - `("--enable-shared" "--disable-static" "--disable-silent-rules" - ,(string-append "LDFLAGS=-L" (assoc-ref %outputs "lib") "/lib")) - #:parallel-tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'configure 'rpath - ;; Account for moving GUI stuff - (lambda* (#:key outputs #:allow-other-keys) - (let ((wl (string-append "-Wl,-rpath=" (assoc-ref outputs "out") - "/lib"))) - (substitute* "build-backend/Makefile" - (("^cube_LDFLAGS =") (string-append "cube_LDFLAGS = " wl)) - (("^libheatmap_plugin_la_LDFLAGS =") - (string-append "libheatmap_plugin_la_LDFLAGS = " wl)) - (("^libbarplot_plugin_la_LDFLAGS =") - (string-append "libbarplot_plugin_la_LDFLAGS = " wl))) - #t))) - (add-before 'install 'includes-cube - ;; It tries to install here before include exists. - (lambda* (#:key outputs #:allow-other-keys) - (let ((inc (string-append (assoc-ref outputs "lib") "/include"))) - (mkdir-p (string-append inc "/cube")) - (mkdir-p (string-append inc "/cubew")) - #t))) - (add-after 'install 'licence - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "lib") - "/share/doc/cube"))) - (install-file "COPYING" doc) - #t))) - ;; XXX: Commented due to cycle (see comment above.) - ;; (add-after 'install 'doc - ;; (lambda _ - ;; (let ((share (string-append (assoc-ref %outputs "doc") - ;; "/share"))) - ;; (mkdir-p share) - ;; (rename-file (string-append %output "/share/doc") - ;; (string-append share "/doc"))))) - (add-after 'install 'gui-stuff - ;; Get the Qt horror dependencies out of the lib closure - (lambda _ - (let ((outlib (string-append (assoc-ref %outputs "out") "/lib")) - (lib (string-append (assoc-ref %outputs "lib") "/lib"))) - (mkdir-p outlib) - (rename-file (string-append lib "/cube-plugins") - (string-append outlib "/cube-plugins")) - (for-each (lambda (file) - (rename-file - file (string-append outlib "/" (basename file)))) - (append (find-files lib "libgraphwidgetcommon-plugin\\..*") - (find-files lib "libcube4gui\\.so.*"))) - #t))) - (add-after 'install 'move-include - ;; Most of the headers end up under %output for some reason, - ;; despite --includedir in configure. - (lambda* (#:key outputs #:allow-other-keys) - (let ((outinc (string-append (assoc-ref outputs "out") - "/include")) - (libinc (string-append (assoc-ref outputs "lib") - "/include"))) - (for-each (lambda (file) - (let ((from (string-append outinc "/" file))) - (copy-recursively from libinc) - (delete-file-recursively from))) - '("cube" "cubew")) - #t))) - - ;; XXX: This doesn't work because cube-config, which is needed for - ;; building stuff, sources cube-config-frontend. We don't want that - ;; in the lib output because it pulls in >1GB via QT. - ;; - ;; (add-after 'install 'cube-config - ;; (lambda _ - ;; (let* ((lib (assoc-ref %outputs "lib")) - ;; (libbin (string-append lib "/bin"))) - ;; (mkdir-p libbin) - ;; (system (string-append "mv " (assoc-ref %outputs "out") - ;; "/bin/cube-config* " libbin)) - ;; (substitute* (list (string-append libbin "/cube-config")) - ;; (("^prefix=.*") (string-append "prefix=" lib)) - ;; (("^exec_prefix=\"\\$\\{prefix\\}\"") - ;; (string-append "exec_prefix=" lib)))))) - (add-after 'install 'cube-config - (lambda* (#:key outputs #:allow-other-keys) - (let* ((lib (assoc-ref outputs "lib")) - (libbin (string-append lib "/bin"))) - (mkdir-p libbin) - (install-file (string-append %output "/bin/cube-config") libbin) - (install-file (string-append %output "/bin/cube-config-backend") - libbin) - (substitute* (list (string-append libbin "/cube-config")) - (("^source .*frontend.*$") "") - (((assoc-ref outputs "out")) lib)) - #t)))))) - (home-page "https://www.scalasca.org/software/cube-4.x/download.html") - (synopsis "Performance report explorer for parallel programs") - (description - "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety -of performance metrics for parallel programs including MPI and OpenMP -applications. CUBE allows interactive exploration of a multidimensional -performance space in a scalable fashion. Scalability is achieved in two ways: -hierarchical decomposition of individual dimensions and aggregation across -different dimensions. All performance metrics are uniformly accommodated in -the same display and thus provide the ability to easily compare the effects of -different kinds of performance behavior.") - (license license:bsd-3))) - ;; Since version 4.4, CUBE has been split in three different packages: CubeW, ;; CubeLib, CubeGUI. They are still released together, so we conventionally ;; define cubew as the parent package for cubelib and cubegui to factorize @@ -438,6 +308,10 @@ project."))) of performance metrics for parallel programs including MPI and OpenMP applications. CubeGUI is the graphical explorer of the CUBE project."))) +;; deprecated on 2025-09-22 +(define-public cube + (deprecated-package "cube" cubegui)) + (define-public tracy-wayland (package (name "tracy-wayland") diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 8b8c74c3176..01de0c511f2 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -185,7 +185,7 @@ it.") (define-public trealla (package (name "trealla") - (version "2.82.35") + (version "2.82.40") (source (origin (method git-fetch) @@ -194,7 +194,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "11p9wbv83xhlipzsjpfkqbz0ym8hgfj0azzfkc018by6f2vkqjsy")) + (base32 "1n8yi49nlqqjwzrnriz1j6kajlxs17qakjgijw6qq1cxvq5c1iw4")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 793eccd6ceb..0afdb20df69 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017-2019, 2022-2025 Ricardo Wurmus ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2021 Felix Gruber diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 374b84e1992..6e373ea1849 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2021, 2025 Brice Waegeneire -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/pure.scm b/gnu/packages/pure.scm deleted file mode 100644 index b23a70bcf40..00000000000 --- a/gnu/packages/pure.scm +++ /dev/null @@ -1,67 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Danny Milosavljevic -;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; -;;; 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 . - -(define-module (gnu packages pure) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system gnu) - #:use-module (guix gexp) - #:use-module (gnu packages) - #:use-module (gnu packages llvm) - #:use-module (gnu packages multiprecision)) - -(define-public pure - (package - (name "pure") - (version "0.68") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/agraef/pure-lang/releases/" - "download/pure-" version "/" - "pure-" version ".tar.gz")) - (sha256 - (base32 - "0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-llvm-lookup - (lambda _ - (substitute* "configure" - (("-lLLVM-[$][{]llvm_version[}]") - "`$LLVMCONF --libs`")) - #t))))) - (inputs - (list gmp llvm-3.5 mpfr)) - (home-page "https://agraef.github.io/pure-lang/") - (synopsis "Programming Language") - (description "@code{pure} is a programming language based on term -rewriting. It offers equational definitions with pattern matching, -full symbolic rewriting capabilities, dynamic typing, eager and lazy -evaluation, lexical closures, built-in list and matrix support and -a C interface.") - (license license:gpl3+))) diff --git a/gnu/packages/pypy.scm b/gnu/packages/pypy.scm index 38fe44f78ab..e7662a05bbb 100644 --- a/gnu/packages/pypy.scm +++ b/gnu/packages/pypy.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2021 Ludovic Courtès -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Leo Famulari ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 03542a5f8dc..8c5036a576d 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Muriithi Frederick Muriuki ;;; Copyright © 2018-2020 Tobias Geerinckx-Rice ;;; Copyright © 2019-2025 Ricardo Wurmus -;;; Copyright © 2019-2024 Maxim Cournoyer +;;; Copyright © 2019-2024 Maxim Cournoyer ;;; Copyright © 2019, 2021 Hartmut Goebel ;;; Copyright © 2020, 2022 Julien Lepiller ;;; Copyright © 2020 Matthew James Kraai diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 77ed0d3ba2e..55d72ebd59f 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2023, 2024 Troy Figiel ;;; Copyright © 2024 TakeV ;;; Copyright © 2023 Ivan Vilata i Balaguer -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; Copyright © 2025 Nicolas Graves ;;; Copyright © 2025 Vinicius Monego ;;; diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index a19c3844e98..8eece3b2d06 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2020 Alexandros Theodotou ;;; Copyright © 2020 Justus Winter ;;; Copyright © 2020, 2021 Vinicius Monego -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 Juliana Sims diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 4f05adde741..cd93e45c693 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018 Tomáš Čech ;;; Copyright © 2018, 2019, 2021, 2024 Nicolas Goaziou ;;; Copyright © 2018 Mathieu Othacehe -;;; Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Vagrant Cascadian ;;; Copyright © 2019 Brendan Tildesley ;;; Copyright © 2019 Pierre Langlois @@ -77,6 +77,7 @@ ;;; Copyright © 2025 Sergio Pastor Pérez ;;; Copyright © 2025 Jake Forster ;;; Copyright © 2025 Janneke Nieuwenhuizen +;;; Copyright © 2025 Hugo Buddelmeijer ;;; ;;; This file is part of GNU Guix. ;;; @@ -2579,38 +2580,57 @@ other HTTP libraries.") (define-public httpie (package (name "httpie") - (version "3.2.2") + (version "3.2.4") (source (origin - (method url-fetch) - (uri (pypi-uri "httpie" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/httpie/cli") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "140w4mr0w7scpf4j5qm4h475vbwrgxzkdwyygwcmql1r1cgngywb")))) + (base32 "0ii11xfqkbawg1v8dlli4fqq5k3yc2v65z3j7k3p4gng998s94mr")))) (build-system pyproject-build-system) (arguments - ;; The tests attempt to access external web servers, so we cannot run them. - '(#:tests? #f)) - (native-inputs (list python-setuptools python-wheel)) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'remove-unnecessary-dependencies + ;; Remove pip and setuptools dependencies so sanity-check.py passes. + (lambda _ + (substitute* "setup.cfg" + (("(pip|setuptools)") ""))))) + #:test-flags + ;; test_plugins_cli.py communicates through subprocesses + ;; mocking stdin, which does not work in the build container. + ;; test_ssl.py cannot find the SSL certificates. + ;; test_binary.py fails for an unknown reason. + #~(list "--ignore=tests/test_plugins_cli.py" + "--ignore=tests/test_ssl.py" + "--ignore=tests/test_binary.py"))) + (native-inputs (list python-pytest + python-pytest-httpbin + python-pytest-mock + python-responses + python-setuptools + python-werkzeug + python-wheel)) (propagated-inputs (list python-charset-normalizer - python-colorama python-defusedxml - python-importlib-metadata python-multidict - python-pip python-pygments python-requests python-requests-toolbelt - python-rich - python-setuptools)) + python-rich)) (home-page "https://httpie.io") - (synopsis "cURL-like tool for humans") + (synopsis "Modern, user-friendly command-line HTTP client for the API era") (description "A command line HTTP client with an intuitive UI, JSON support, syntax highlighting, wget-like downloads, plugins, and more. It consists of a single http command designed for painless debugging and interaction with HTTP servers, RESTful APIs, and web services.") - ;; This was fixed in 1.0.3. + ;; CVE-2019-10751 was fixed in 1.0.3. (properties `((lint-hidden-cve "CVE-2019-10751"))) (license license:bsd-3))) @@ -8285,19 +8305,18 @@ for HTTP/2 is planned.") (sha256 (base32 "1pcy9z8gmb8x41gjhw9x0lkr0d2mv5mdxcs2hwg6q8mxs857j589")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'remove-failing-test - (lambda _ - (delete-file "translation_finder/test_api.py") - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'remove-failing-test + (lambda _ + (delete-file "translation_finder/test_api.py")))))) (propagated-inputs - (list python-chardet python-pathlib2 python-ruamel.yaml python-six)) + (list python-chardet python-ruamel.yaml)) (native-inputs - (list python-codecov python-codacy-coverage python-pytest-cov - python-pytest-runner python-twine)) + (list python-pytest python-setuptools python-wheel)) (home-page "https://weblate.org/") (synopsis "Translation file finder for Weblate") (description "This package provides a function to find translation file in diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5ab5806faeb..6d7ae28e96c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5103,8 +5103,7 @@ sending and receiving messages on a CAN bus.") (base32 "05l0hi279y1dc8ifm2223lpn7z9dx2h7kk599bkymvasb2qa1xrx")))) (build-system pyproject-build-system) (native-inputs - (list python-pathlib2 - python-pytest + (list python-pytest python-pytest-cov python-pytest-timeout python-setuptools @@ -6757,30 +6756,6 @@ and informative visualizations, including scales, transformations and color palettes.") (license license:bsd-3))) -(define-public python-pafy - (package - (name "python-pafy") - (version "0.5.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pafy" version)) - (sha256 - (base32 - "1a7dxi95m1043rxx1r5x3ngb66nwlq6aqcasyqqjzmmmjps4zrim")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; Currently pafy can not find itself in the tests - (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 yt-dlp)) - (home-page "https://np1.github.io/pafy/") - (synopsis "Retrieve YouTube content and metadata") - (description - "@code{pafy} is a python library to retrieve YouTube content and metadata.") - (license license:lgpl3+))) - (define-public python-miniupnpc (package (name "python-miniupnpc") @@ -12332,22 +12307,6 @@ a general image processing tool.") and a plugin for Pillow.") (license license:bsd-3))) -(define-public python-pillow-2.9 - (package - (inherit python-pillow) - (version "2.9.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Pillow" version)) - (sha256 - (base32 - "0ada7lf3lmbdsqm3b7ja920p1pllyfhmqndr85ikpj77fmz9s5qg")))) - (arguments - (substitute-keyword-arguments (package-arguments python-pillow) - ((#:tests? _ #f) #f))) - (properties '((hidden? #t))))) - (define-public python-pillow-simd (package (inherit python-pillow) @@ -39781,7 +39740,7 @@ platform using the ActivityPub protocol.") (define-public python-lief (package (name "python-lief") - (version "0.16.6") + (version "0.17.0") (source (origin (method git-fetch) (uri (git-reference @@ -39790,7 +39749,7 @@ platform using the ActivityPub protocol.") (file-name (git-file-name name version)) (sha256 (base32 - "1pq9nagrnkl1x943bqnpiyxmkd9vk99znfxiwqp6vf012b50bz2a")))) + "037ffw62yygkn74p51dnia9rhk81byj1xm8xzy3ciz4qv1di3k49")))) (build-system pyproject-build-system) (native-inputs (list cmake-minimal ninja diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c0b6691ebea..5fbf498ac2f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -52,7 +52,7 @@ ;;; Copyright © 2018 Nicolas Goaziou ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018 Clément Lassieur -;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer +;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer ;;; Copyright © 2018 Luther Thompson ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2019, 2024 Tanguy Le Carrour @@ -61,6 +61,7 @@ ;;; Copyright © 2022 Philip McGrath ;;; Copyright © 2022 jgart ;;; Copyright © 2021 Lars-Dominik Braun +;;; Copyright © 2025 Hugo Buddelmeijer ;;; ;;; This file is part of GNU Guix. ;;; @@ -1465,7 +1466,8 @@ introspection capabilities; intuitive object orientation; natural expression of procedural code; full modularity, supporting hierarchical packages; exception-based error handling; and very high level dynamic data types.") - (properties '((cpe-name . "python"))) + (properties '((cpe-name . "python") + (cpe-vendor . "python"))) (license license:psfl))) ;; Next 3.x version. @@ -1597,7 +1599,7 @@ the interpreter.")))) (define-public micropython (package (name "micropython") - (version "1.19") + (version "1.26.1") (source (origin (method url-fetch) @@ -1605,7 +1607,7 @@ the interpreter.")))) "releases/download/v" version "/micropython-" version ".tar.xz")) (sha256 - (base32 "090bbls5vnicynjyjqqd5zqwx8d6zxp7wlnrxgh0b4s8cyf5i8zj")) + (base32 "165c8g60f5zf82gw2d94snyjmcgn999jn4i8ngyc0wk2vwa6bghj")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 7dc4f65db79..0f78f2e26b0 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1271,7 +1271,6 @@ to the fix block above. @end itemize") (home-page "https://git.osmocom.org/gr-iqbal/") (license license:gpl3+)))) -(deprecated-package "gnuradio-iqbalance" gr-iqbal) (define-public gr-satellites (package diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index d021dc50d3e..ad8e727e864 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021, 2022 Efraim Flashner ;;; Copyright © 2019 Christopher Baines -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm index 8580628f20d..faaf568d821 100644 --- a/gnu/packages/raspberry-pi.scm +++ b/gnu/packages/raspberry-pi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2021 Stefan -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm index 6c8915f06e1..a837fe77ba6 100644 --- a/gnu/packages/ratpoison.scm +++ b/gnu/packages/ratpoison.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2019 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 88c5387d4fc..d341c59e629 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018, 2024 Efraim Flashner ;;; Copyright © 2019 Leo Famulari ;;; Copyright © 2019 Eric Bavier -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index a9f74490430..ad6ec7921e5 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2020, 2024 Efraim Flashner ;;; Copyright © 2020 pukkamustard ;;; Copyright © 2022 Marius Bakke -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Brendan Tildesley ;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen ;;; diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm index 36c937dcef8..0bb28b16702 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2021 Greg Hogan ;;; Copyright © 2021 Tobias Geerinckx-Rice -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,42 +141,6 @@ mile of distributed computing to connect devices, mobile applications and browsers to backend services.") (license license:asl2.0))) -;; Some packages require this older version. -(define-public grpc-1.16.1 - (package - (inherit grpc) - (version "1.16.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grpc/grpc") - (commit (string-append "v" version)))) - (file-name (git-file-name "grpc" version)) - (sha256 - (base32 - "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))) - (arguments - (substitute-keyword-arguments (package-arguments grpc) - ((#:phases phases) - #~(modify-phases #$phases - ;; Note: This would be nicer as a snippet, but that creates a tarball - ;; instead of a checkout and breaks assumptions made by the builder. - (add-after 'unpack 'rename-gettid - (lambda _ - ;; Rename custom gettid() syscall wrapper to avoid conflict - ;; with gettid() from glibc 2.30. - (substitute* '("src/core/lib/gpr/log_linux.cc" - "src/core/lib/gpr/log_posix.cc" - "src/core/lib/iomgr/ev_epollex_linux.cc") - (("gettid\\(") - "sys_gettid(")))))))) - (inputs - (modify-inputs (package-inputs grpc) - (replace "abseil-cpp" abseil-cpp-20200923.3))) - (native-inputs - (modify-inputs (package-native-inputs grpc) - (replace "protobuf" protobuf-3.6))))) - (define-public python-grpc-stubs (package (name "python-grpc-stubs") diff --git a/gnu/packages/rpm.scm b/gnu/packages/rpm.scm index 21568f40df1..3a22bef4893 100644 --- a/gnu/packages/rpm.scm +++ b/gnu/packages/rpm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,15 +75,16 @@ applying deltarpms, compatible with the original deltarpm packages.") (define-public libmodulemd (package (name "libmodulemd") - (version "2.13.0") + (version "2.15.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/fedora-modularity/" - "libmodulemd/releases/download/" version - "/modulemd-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fedora-modularity/libmodulemd") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1g4wizr2wwl5x77ni5j46nfcax8fbb7nqq5nr7va9sccyigwwwnc")))) + "0vvy4ljlcy3mvgv6ybayb7lcmc1561k3pjmfk3m9x22if6z9ap0y")))) (build-system meson-build-system) (outputs '("out" "doc")) ;2.6 MiB of HTML documentation (arguments @@ -103,8 +104,9 @@ applying deltarpms, compatible with the original deltarpm packages.") (substitute* "meson.build" (("glib_docpath = .*") (format #f "glib_docpath = '~a'~%" - (search-input-directory (or native-inputs inputs) - "share/gtk-doc/html")))))) + (dirname + (search-input-directory (or native-inputs inputs) + "share/doc/glib-2.0"))))))) (add-after 'install 'move-documentation (lambda* (#:key outputs #:allow-other-keys) (let ((dst (string-append #$output:doc "/share/gtk-doc"))) @@ -138,7 +140,7 @@ information on multiple streams, default data and translations).") (define-public createrepo-c (package (name "createrepo-c") - (version "0.20.1") + (version "1.2.1") (source (origin (method git-fetch) (uri (git-reference @@ -147,7 +149,7 @@ information on multiple streams, default data and translations).") (file-name (git-file-name name version)) (sha256 (base32 - "07d89s6kknf79phzan3d2vy1rq64ih49qk2w51hsmfn73qins9wy")))) + "03crsny8z17n1jnzynrcw1rkws2xap7zhaiqnh2nxg3bbzcd8sys")))) (build-system cmake-build-system) (arguments (list diff --git a/gnu/packages/ruby-check.scm b/gnu/packages/ruby-check.scm index 5ff48039bdb..c5f7809a564 100644 --- a/gnu/packages/ruby-check.scm +++ b/gnu/packages/ruby-check.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2019 Mikhail Kirillov ;;; Copyright © 2020 Holger Peters ;;; Copyright © 2020, 2021, 2022 Marius Bakke -;;; Copyright © 2020, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2023 Maxim Cournoyer ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2021 EuAndreh ;;; Copyright © 2021 Giacomo Leidi diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index de52d9a82dc..791c96baf83 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8,9 +8,9 @@ ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2019, 2020 Christopher Baines ;;; Copyright © 2019 Jelle Licht -;;; Copyright © 2020, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2023 Maxim Cournoyer ;;; Copyright © 2020 Ryan Prior -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021 Marius Bakke ;;; Copyright © 2023 Christopher Baines ;;; Copyright © 2023 Janneke Nieuwenhuizen @@ -89,7 +89,7 @@ (define-public ruby-3.4 (package (name "ruby") - (version "3.4.4") + (version "3.4.6") (source (origin (method url-fetch) @@ -98,7 +98,67 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "1x18dr3qhr1mypbvxc7yr46z06l11if3cx3babcfv7a9x7pn6vgp")))) + "1f2r91mfcas1wz0dyplmsfd40cxi7h8d603h29ss92lk4ay9ajc0")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:configure-flags + ,(if (%current-target-system) + '(list (string-append + "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + "--enable-shared") + ''("--enable-shared")) ; dynamic linking + #:phases + (modify-phases %standard-phases + (add-before 'configure 'replace-bin-sh-and-remove-libffi + (lambda _ + (substitute* '("configure.ac" + "template/Makefile.in" + "lib/rubygems/installer.rb" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c" + "test/rubygems/test_gem_ext_configure_builder.rb" + "test/rdoc/rdoc_parser_test.rb" + "test/ruby/test_rubyoptions.rb" + "test/ruby/test_process.rb" + "test/ruby/test_system.rb" + "tool/rbinstall.rb") + (("/bin/sh") (which "sh")))))))) + (native-inputs + (append (if (%current-target-system) + (list this-package) + '()) + (list autoconf libyaml))) + (inputs + (list readline openssl-1.1 libffi gdbm)) + (propagated-inputs + (list zlib)) + (native-search-paths + (list (search-path-specification + (variable "GEM_PATH") + (files (list (string-append "lib/ruby/vendor_ruby")))))) + (synopsis "Programming language interpreter") + (description "Ruby is a dynamic object-oriented programming language with +a focus on simplicity and productivity.") + (home-page "https://www.ruby-lang.org") + (license license:ruby))) + +(define-public ruby-3.3 + (package + (name "ruby") + (version "3.3.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" + (version-major+minor version) + "/ruby-" version ".tar.xz")) + (sha256 + (base32 + "1fvng8x44x90pn8nl4sxa5nzb34jwq0is6l5k7066zrg18ca491b")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -146,20 +206,6 @@ a focus on simplicity and productivity.") (home-page "https://www.ruby-lang.org") (license license:ruby))) -(define-public ruby-3.3 - (package - (inherit ruby-3.4) - (version "3.3.9") - (source - (origin - (method url-fetch) - (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" - (version-major+minor version) - "/ruby-" version ".tar.xz")) - (sha256 - (base32 - "1fvng8x44x90pn8nl4sxa5nzb34jwq0is6l5k7066zrg18ca491b")))))) - (define-public ruby-2.7 (package (name "ruby") diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index e96e322e01c..3e0ce0fcb88 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2021 Sharlatan Hellseher ;;; Copyright © 2021, 2022, 2025 Zheng Junjie ;;; Copyright © 2021 Alexandru-Sergiu Marton -;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2021, 2022 Petr Hodina ;;; Copyright © 2021 jgart ;;; Copyright © 2021 Nicolas Graves @@ -2507,32 +2507,6 @@ support, watch support (like @command{top}) and a tree view.") (base32 "0jdbxmn5h5nlr4bifx85gny309djv5djs9q78fa1d7sj0wdw2sys")))) (inputs (cargo-inputs 'rust-cbindgen-0.26)))) -(define-public rust-cbindgen-0.24 - (package - (inherit rust-cbindgen-0.26) - (name "rust-cbindgen") - (version "0.24.5") - (source (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "13g1k2zljdp326b0cv1nhyh7jsacd364fh0cr2g828hiyfm2z4jb")))))) - -(define-public rust-cbindgen-0.23 - (package - (inherit rust-cbindgen-0.24) - (name "rust-cbindgen") - (version "0.23.0") - (source (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav")))))) - (define-public rust-cbindgen rust-cbindgen-0.27) (define-public rust-bindgen-cli diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 2d9c93a08e6..b7b7c79032f 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020, 2021 Jakub Kądziołka ;;; Copyright © 2020 Pierre Langlois ;;; Copyright © 2020 Matthew James Kraai -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 (unmatched parenthesis ;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Jim Newsome diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 765a72af92d..bdc8f066ee8 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2020 Pierre Langlois -;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Maxime Devos diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index ae7cf5fb277..4ce52d0bda2 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2022 Robby Zambito ;;; Copyright © 2023, 2024 Andrew Whatson ;;; Copyright © 2023, 2024 Juliana Sims -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Skylar Hill ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index dd24b38c9ee..66cb9e9b931 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Timotej Lazar ;;; Copyright © 2020 Oleg Pykhalov -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Evgeny Pisemsky ;;; Copyright © 2023, 2024 dan ;;; Copyright © 2025 Zheng Junjie <873216071@qq.com> @@ -851,87 +851,6 @@ font files with Simple Directmedia Layer.") (home-page "https://wiki.libsdl.org/SDL3/FrontPage") (license license:zlib))) -(define-public guile-sdl - (package - (name "guile-sdl") - (version "0.6.1") - (source (origin - (method url-fetch) - (uri - (string-append "mirror://gnu/guile-sdl/guile-sdl-" - version ".tar.lz")) - (sha256 - (base32 - "1q985nd3birr5pny74915x098fisa6llas3ijgf1b4gdz5717nzz")))) - (build-system gnu-build-system) - (native-inputs - `(("lzip" ,lzip) - ("pkg-config" ,pkg-config) - ;; Required by test suite. - ("libjpeg" ,libjpeg-turbo) - ("xorg-server" ,xorg-server))) - (inputs - (list guile-2.2 - (sdl-union))) - (arguments - '(#:configure-flags - (list (string-append "--with-sdl-prefix=" - (assoc-ref %build-inputs "sdl-union"))) - #:modules ((ice-9 popen) - (guix build utils) - (guix build gnu-build-system)) - - #:parallel-build? #f ; parallel build fails - - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-env-and-patch - (lambda* (#:key inputs #:allow-other-keys) - (setenv "GUILE_AUTO_COMPILE" "0") - ;; SDL_image needs to dlopen libjpeg in the test suite. - (setenv "LD_LIBRARY_PATH" - (string-append (assoc-ref inputs "libjpeg") "/lib")) - - ;; Change the site directory /site/X.Y like Guile expects. - (substitute* "build-aux/guile-baux/re-prefixed-site-dirs" - (("\"/site\"") - (let ((effective - (read - (open-pipe* OPEN_READ - "guile" "-c" - "(write (effective-version))")))) - (string-append "\"/site/" effective "\"")))) - - ;; Skip tests that rely on sound support, which is unavailable in - ;; the build environment. - (substitute* "test/Makefile.in" - (("HAVE_MIXER = .*$") - "HAVE_MIXER = 0\n")) - #t)) - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (format #f "~a/bin/Xvfb :1 &" - (assoc-ref inputs "xorg-server"))) - (setenv "DISPLAY" ":1") - #t)) - (add-before 'check 'skip-cursor-test - (lambda _ - ;; XXX: This test sometimes enters an endless loop, and sometimes - ;; crashes with: - ;; guile: xcb_io.c:147: append_pending_request: Assertion `!xcb_xlib_unknown_seq_number' failed. - ;; Skip it. - (substitute* "test/cursor.scm" - (("\\(SDL:init .*" all) - (string-append "(exit 77) ;" all "\n"))) - #t))))) - (synopsis "Guile interface for SDL (Simple DirectMedia Layer)") - (description "Guile-SDL is a set of bindings to the Simple DirectMedia -Layer (SDL). With them, Guile programmers can have easy access to graphics, -sound and device input (keyboards, joysticks, mice, etc.).") - (home-page "https://www.gnu.org/software/guile-sdl/") - (license license:gpl3+))) - (define-public guile-sdl2 (package (name "guile-sdl2") @@ -964,6 +883,3 @@ interface.") (native-inputs `(("guile" ,guile-2.2) ("pkg-config" ,pkg-config))))) - -(define-public guile3.0-sdl2 - (deprecated-package "guile3.0-sdl2" guile-sdl2)) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 391d299c5dd..d3949e513cd 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2023 Pierre Langlois ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; Copyright © 2025 Robin Templeton +;;; Copyright © 2025 Laura Kirsch ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,7 +45,6 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix utils) @@ -1048,14 +1048,14 @@ devices.") (define-public ausweisapp (package (name "ausweisapp") - (version "2.2.2") + (version "2.3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/Governikus/AusweisApp/releases" "/download/" version "/AusweisApp-" version ".tar.gz")) (sha256 (base32 - "1rbbgr90ivay1sh8sarp0nd1p8zdyfscjjwg8jdi2ig61jr795zf")))) + "0d6zc9vz6g37a6vkb4jzwcrh77q217nbr5mvj9vqkvqhkzwwfkgb")))) (build-system qt-build-system) (native-inputs @@ -1069,7 +1069,8 @@ devices.") qtwebsockets qtgraphicaleffects pcsc-lite - openssl)) + openssl + eudev)) (arguments `(#:qtbase ,qtbase #:phases @@ -1090,9 +1091,6 @@ titles. To use this app, a supported RFID card reader or NFC-enabled smart phone and a running pcscd service are required.") (license license:eupl1.2))) -(define-deprecated/public ausweisapp2 ausweisapp - (deprecated-package "ausweisapp2" ausweisapp)) - (define-public libfido2 (package (name "libfido2") diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 258f5f0224e..88b08d17a1e 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2023 Alexey Abramov ;;; Copyright © 2023 Sharlatan Hellseher ;;; Copyright © 2023 Vinicius Monego -;;; Copyright © 2023, 2024 Maxim Cournoyer +;;; Copyright © 2023, 2024 Maxim Cournoyer ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Paul A. Patience ;;; Copyright © 2024 Arun Isaac @@ -909,30 +909,11 @@ C#, C, Go, Java, JavaScript, PHP, and Python. It was originally created for game development and other performance-critical applications.") (license license:asl2.0))) -(define-public flatbuffers-23.1 - ;; needed explicitly by tensorflow-lite 2.13.1 - (package - (inherit flatbuffers) - (version "23.1.21") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/google/flatbuffers") - (commit (string-append "v" version)))) - (file-name (git-file-name "flatbuffers" version)) - (sha256 - (base32 - "1z3a6l8g2y53i5xzraswfs2i0i3kk52zv7nzc2q3fgisbyiri3pz")))) - (arguments - (substitute-keyword-arguments (package-arguments flatbuffers) - ((#:configure-flags flags #~'()) - #~(append #$flags '("-DCMAKE_POSITION_INDEPENDENT_CODE=ON"))))))) - (define-public flatbuffers-23.5 (hidden-package (package (inherit flatbuffers) - ;; needed explicitly by onnxruntime + ;; needed explicitly by onnxruntime and tensorflow-lite@2.14.0 (version "23.5.26") (source (origin diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 73ce62b6ccf..82512f80e69 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Paul Garlick -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2022 Eric Bavier ;;; Copyright © 2022 Liliana Marie Prikler ;;; Copyright © 2023 Reza Housseini diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index cb0827bf29b..f349b01bc6b 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2019, 2020, 2022 Marius Bakke -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index f513ce68d80..a90eabeb752 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2020 Oleg Pykhalov -;;; Copyright © 2020, 2021, 2022, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2025 Maxim Cournoyer ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2023 Simon Streit ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 20107aef8a1..e05262fde8b 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021, 2024 Timotej Lazar ;;; Copyright © 2021, 2022 Remco van 't Veer -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9770e73f52e..28a619e6641 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017 Alex Kost ;;; Copyright © 2018 Alex Branham ;;; Copyright © 2020 Tim Howes -;;; Copyright © 2021, 2022, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2024 Maxim Cournoyer ;;; Copyright © 2021 Bonface Munyoki Kilyungi ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2021 Frank Pursel diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 66bc4617e1d..a841bcd6704 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020-2022 Efraim Flashner ;;; Copyright © 2020 Giacomo Leidi -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Arun Isaac ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2023 Benjamin Slade diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 56c92f67321..ee7da12b1cc 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2021 Felix Gruber ;;; Copyright © 2022 Luis Felipe López Acevedo ;;; Copyright © 2022 Liliana Marie Prikler -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Luis Guilherme Coelho ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2025 Ashish SHUKLA diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index be5823af200..e96041e4242 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2020, 2022 Michael Rohleder ;;; Copyright © 2020 Raghav Gururajan -;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 LibreMiami ;;; Copyright © 2021 Sarah Morgensen diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 47b96545018..5a0534f1b16 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018, 2020 Arun Isaac ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021 Paul Garlick -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021-2025 Nicolas Goaziou ;;; Copyright © 2021 Leo Le Bouter ;;; Copyright © 2021 Xinglu Chen diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 8ba3e1bb4fb..45ab5e9c14e 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018, 2020 Arun Isaac ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021 Paul Garlick -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Leo Le Bouter ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Ivan Gankevich diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 7221a3bcff6..8115727266c 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2022, 2024 Andy Tai ;;; Copyright © 2022 ( ;;; Copyright © 2023 Eidvilas Markevičius -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2023 Jaeme Sifat ;;; Copyright © 2023 David Pflug ;;; Copyright © 2024 Herman Rimm diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 6f3aa7ce129..f2b63c19c61 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2019 Mădălin Ionel Patrașcu ;;; Copyright © 2019 Wiktor Żelazny ;;; Copyright © 2020 Joseph LaFreniere -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021 Jean-Baptiste Volatier ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Felix Gruber diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ed26e63315e..3eeda094bd9 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020, 2023, 2025 Janneke Nieuwenhuizen -;;; Copyright © 2020, 2021, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2021 Solene Rapenne ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021 Maxime Devos diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index 7089a860719..d68603f0cb2 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2022, 2023 John Kehayias ;;; Copyright © 2023 Simon South diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index 12763a99cab..ddd34a9f3e1 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020, 2022 Marius Bakke ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Baptiste Strazzul ;;; Copyright © 2022 SeerLite ;;; Copyright © 2024 Aleksandr Vityazev @@ -115,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 "20250818110000") +(define %torbrowser-build-date "20250915185538") ;; To find the last version, look at https://www.torproject.org/download/. -(define %torbrowser-version "14.5.6") +(define %torbrowser-version "14.5.7") ;; 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.14.0esr-14.5-1-build2") +(define %torbrowser-firefox-version "128.14.0esr-14.5-1-build5") ;; See tor-browser-build/rbm.conf for the list. (define %torbrowser-locales (list "ar" "be" "bg" "ca" "cs" "da" "de" "el" "es-ES" "fa" @@ -139,11 +139,11 @@ Firefox locales.") (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "9896e5765c90c763b97135fdda00a08cf08dbddd"))) + (commit "0605fd89b582f841ff494213ace40558043593d7"))) (file-name "translation-base-browser") (sha256 (base32 - "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4")))) + "1dv1qam0nwxi8by134d744qaq2nipbmb1sg4wjqdmlpnkl1vxhpv")))) ;; See tor-browser-build/projects/translation/config. (define torbrowser-translation-specific @@ -151,11 +151,11 @@ Firefox locales.") (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "a58fb6a60d4d1328b7cffcc1e6ded5673f5e4360"))) + (commit "0513af059216580b1e8159af3a808ab4a1b32f84"))) (file-name "translation-tor-browser") (sha256 (base32 - "0qb0fjxinsd34pfgjzgpf6ry2wssc191yzxncvwrhi1bjlgjw73r")))) + "0xdcdb905bwgqd086a421g52xqpafyccr5qgqfd7za0bbn37wmlq")))) (define torbrowser-assets ;; This is a prebuilt Torbrowser from which we take the assets we need. @@ -171,7 +171,7 @@ Firefox locales.") version "/tor-browser-linux-x86_64-" version ".tar.xz")) (sha256 (base32 - "1hk4hbs7hc5j6f6fiqgik0087b0yvwl54f6rm4jig2wg41cc44hr")))) + "0g1zf6k3iw4xasjy7qp46qjc9l58m9yamf3wbpbs20b7h2dzh2b5")))) (arguments (list #:install-plan @@ -212,7 +212,7 @@ Browser.") ".tar.xz")) (sha256 (base32 - "16hkibrlzgp430m045w13yl5ixxccyxlqk9qmzsgg0c5wkys6si4")))) + "1l6nfawz3dcp5lmrzz7pbn3rvx8r15xi4nzsi572yj809ymvj9ix")))) (build-system mozilla-build-system) (inputs (list lyrebird @@ -376,7 +376,7 @@ Browser.") (search-patch "torbrowsers-add-store-to-rdd-allowlist.patch")) #$(local-file - (search-patch "icecat-use-system-wide-dir.patch")))))) + (search-patch "torbrowser-use-system-wide-dir.patch")))))) (add-after 'apply-guix-specific-patches 'remove-bundled-libraries (lambda _ ;; Remove bundled libraries that we don't use, since they may @@ -790,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 "20250818110000") +(define %mullvadbrowser-build-date "20250915185538") ;; To find the last version, look at ;; https://mullvad.net/en/download/browser/linux. -(define %mullvadbrowser-version "14.5.6") +(define %mullvadbrowser-version "14.5.7") ;; 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.14.0esr-14.5-1-build2") +(define %mullvadbrowser-firefox-version "128.14.0esr-14.5-1-build5") ;; See tor-browser-build/projects/translation/config. (define mullvadbrowser-translation-base @@ -808,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 "9896e5765c90c763b97135fdda00a08cf08dbddd"))) + (commit "0605fd89b582f841ff494213ace40558043593d7"))) (file-name "translation-base-browser") (sha256 (base32 - "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4")))) + "1dv1qam0nwxi8by134d744qaq2nipbmb1sg4wjqdmlpnkl1vxhpv")))) ;; See tor-browser-build/projects/translation/config. (define mullvadbrowser-translation-specific @@ -840,7 +840,7 @@ attacks on the privacy of Tor users.") version "/mullvad-browser-linux-x86_64-" version ".tar.xz")) (sha256 (base32 - "08wkx9f5l03la6ny1f0igxcmffrw80pl7i7c8lrh5095wnsxwim1")))) + "0j64p6vhkzdrclmkq6cpd18i1ci74p23yrafjlb2bjh16h479x7w")))) (arguments (list #:install-plan @@ -883,7 +883,7 @@ Mullvad Browser.") %mullvadbrowser-firefox-version ".tar.xz")) (sha256 (base32 - "0djqmq1hw6mf8ww2yb3yga7hyqz9ims083sh5m0xi0yc9l4clmfg")))) + "1jvg9ik6nas9zdifv6phh4my3bqhij6g5fqcbgzkq3gi1p0g2mg9")))) (arguments (substitute-keyword-arguments (package-arguments mullvadbrowser-base) ((#:phases phases) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 2c4ca1b814c..ab72e3c09ab 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2021 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2016-2018, 2020-2023 Efraim Flashner +;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019, 2021, 2023 Eric Bavier @@ -11,7 +11,7 @@ ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 André Batista ;;; Copyright © 2021-2023 Danial Behzadi -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Jim Newsome ;;; Copyright © 2025 Danial Behzadi ;;; Copyright © 2025 Sharlatan Hellseher @@ -69,14 +69,14 @@ (define-public tor (package (name "tor") - (version "0.4.8.17") + (version "0.4.8.18") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0mnvijfnzkrvb0wfawfl7k7daxrp4k9b02gxd2g7p22b3mg75d3r")))) + "1y1sv6s4d46d5yq18ql5zqa5v5haddz5m47vpai4xzsfkl86rsja")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 37c09c83d8c..ee6cc9b6bfc 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Hartmut Goebel -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2025 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 4817ed8f270..dad26eb7129 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -33,7 +33,7 @@ ;;; Copyright © 2020 Tanguy Le Carrour ;;; Copyright © 2020, 2021, 2022 Michael Rohleder ;;; Copyright © 2021 Greg Hogan -;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Léo Le Bouter ;;; Copyright © 2021 LibreMiami diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5a607016152..bd3d1aeb0f4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2773,7 +2773,7 @@ projects while introducing many more.") (define-public smplayer (package (name "smplayer") - (version "23.12.0") + (version "25.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -2781,7 +2781,7 @@ projects while introducing many more.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0yrm57rib910h9m4avhg6mkmkzy9xjb3f185c5zr6jls100az8h1")))) + (base32 "0jwib6pqmsqzbgj2a8xmq8r8fn99a0ri3djif5w4n2mf7523b15a")))) (build-system qt-build-system) (native-inputs (list qttools-5)) diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index 7c88282276f..f87f0c1430c 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021, 2022, 2024 Tobias Geerinckx-Rice -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; Copyright © 2022 Mehmet Tekman ;;; Copyright @ 2022, Kitzman ;;; @@ -405,7 +405,7 @@ mouse) with any VNC viewer.") (define-public libvnc (package (name "libvnc") - (version "0.9.13") + (version "0.9.15") (source (origin (method git-fetch) @@ -414,7 +414,7 @@ mouse) with any VNC viewer.") (commit (string-append "LibVNCServer-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0zz0hslw8b1p3crnfy3xnmrljik359h83dpk64s697dqdcrzy141")))) + (base32 "0b3ik1dbd9lyiiavv3zpyb3iycnfvjgsjym0ilyr1yac6899qxkb")))) (build-system cmake-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 43fafd06f4c..f961feab3de 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2021 jgart ;;; Copyright © 2022 Josselin Poiret ;;; Copyright © 2022 Lu hui -;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ ;;; Copyright © 2022, 2025 Arun Isaac ;;; Copyright © 2024 Allan Adair diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index 4bbe854794c..ec347b3b513 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2020 Tobias Geerinckx-Rice -;;; Copyright © 2021 Maxim Cournoyer > +;;; Copyright © 2021 Maxim Cournoyer > ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3705f08cfb6..5cad89fe188 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -46,7 +46,7 @@ ;;; Copyright © 2020, 2022 Michael Rohleder ;;; Copyright © 2020, 2021 Ryan Prior ;;; Copyright © 2020 Alexandru-Sergiu Marton -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2021 Stefan Reichör ;;; Copyright © 2021 la snesne ;;; Copyright © 2021 Matthew James Kraai @@ -1114,7 +1114,7 @@ similar to live activity monitoring provided with NGINX plus.") (define-public lighttpd (package (name "lighttpd") - (version "1.4.81") + (version "1.4.82") (source (origin (method url-fetch) (uri (string-append "https://download.lighttpd.net/lighttpd/" @@ -1122,7 +1122,7 @@ similar to live activity monitoring provided with NGINX plus.") "lighttpd-" version ".tar.xz")) (sha256 (base32 - "0h2q5a251kw1ky83x8yvgn9wbjm39n7x39ssj4ybd57xs8zjrm6p")))) + "0qn98rib9wxhndzd8kpg0vlygnwly5j7x82f2nmndgcw3wwp9zmb")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -4183,14 +4183,15 @@ and multipart/form-data.") (define-public perl-http-cookiejar (package (name "perl-http-cookiejar") - (version "0.012") + (version "0.014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "HTTP-CookieJar-" version ".tar.gz")) (sha256 - (base32 "0jk0ps4i67dhhhwaxwwa9nkv3n6n5w44xlnwyzvk59735pwvyjh0")))) + (base32 + "0wvyqh69ryjkwp58xq4c83212glnk97ap0syp1ix4dpmj5ffm53h")))) (build-system perl-build-system) (native-inputs (list perl-test-deep perl-test-requires perl-time-mock perl-uri)) @@ -4198,8 +4199,9 @@ and multipart/form-data.") (list perl-time-local perl-http-date)) (home-page "https://metacpan.org/release/HTTP-CookieJar") (synopsis "Minimalist HTTP user agent cookie jar") - (description "This module implements a minimalist HTTP user agent cookie -jar in conformance with RFC 6265 .") + (description "This module (@code{HTTP::CookieJar::LWP}) implements a minimalist +HTTP user agent cookie jar in conformance with +@uref{http://tools.ietf.org/html/rfc6265, RFC 6265}.") (license license:asl2.0))) (define-public perl-http-cookies @@ -4567,7 +4569,7 @@ select or poll.") (define-public perl-libwww (package (name "perl-libwww") - (version "6.67") + (version "6.78") (source (origin (method url-fetch) (uri (string-append @@ -4575,10 +4577,14 @@ select or poll.") version ".tar.gz")) (sha256 (base32 - "08xp4q90nkvpwnks2qfqjhqgff6447myayqi6kc1panh7w5c9vln")))) + "0i4sga0hydhhvkq81skinfbpyd43pi3yr0rbzn0vpip2ak7vsf5p")))) (build-system perl-build-system) (native-inputs - (list perl-test-fatal perl-test-needs perl-test-requiresinternet)) + (list perl-http-cookiejar + perl-test-fatal + perl-test-leaktrace + perl-test-needs + perl-test-requiresinternet)) (propagated-inputs (list perl-encode-locale perl-file-listing diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index a395b4ad64b..b61c0f6f269 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Marius Bakke -;;; Copyright © 2021, 2022, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2022, 2023 Efraim Flashner ;;; Copyright © 2024 Abhishek Cherath ;;; Copyright © 2025 Juliana Sims diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index bc5d7a4fe74..89e4a068b44 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -54,7 +54,7 @@ ;;; Copyright © 2022 Jai Vetrivelan ;;; Copyright © 2022 Daniel Meißner ;;; Copyright © 2022 Pier-Hugues Pellerin -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 muradm ;;; Copyright © 2022 Elais Player ;;; Copyright © 2022, 2023 Trevor Richards @@ -415,8 +415,8 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.") (list gcc-15 hyprwayland-scanner (module-ref (resolve-interface - '(gnu packages commencement)) - 'ld-wrapper) + '(gnu packages commencement)) + 'ld-wrapper) pkg-config)) (inputs (list aquamarine @@ -428,7 +428,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.") hyprland-qtutils hyprlang hyprutils - libinput-minimal-next + libinput-minimal libxcursor libxkbcommon mesa @@ -890,7 +890,7 @@ your own layouts, widgets, and built-in commands.") (define-public quickshell (package (name "quickshell") - (version "0.1.0") + (version "0.2.0") (source (origin (method git-fetch) @@ -899,7 +899,7 @@ your own layouts, widgets, and built-in commands.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0s3d2mw133d11x1kwjf1krw0xfiidgc77vsz92n65zjdjb8kkl8d")))) + (base32 "12ggnrvnbxqyms05vjm3zl5d59p0sm08rk6qpi7ni1bvz0715ady")))) (build-system cmake-build-system) (arguments (list diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index c961c29536b..3f5fcbb07c9 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2023, 2025 Andreas Enge ;;; Copyright © 2023 Malte Frank Gerdes -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2025 Ekaitz Zarraga ;;; Copyright © 2025 Nicolas Graves ;;; diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7f9d66ef541..79610831ccc 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -42,7 +42,7 @@ ;;; Copyright © 2020 James Smith ;;; Copyright © 2020 B. Wilson ;;; Copyright © 2020-2021, 2023-2025 Zheng Junjie -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021, 2022, 2024 Nicolas Goaziou ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Renzo Poddighe @@ -1145,7 +1145,7 @@ move windows, switch between desktops, etc.).") (define-public scrot (package (name "scrot") - (version "1.11.1") + (version "1.12.1") (source (origin (method git-fetch) @@ -1155,7 +1155,7 @@ move windows, switch between desktops, etc.).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0pvp44lb2lrvm11x92vzxwl21hmcbld55kk8wjqa5k1kjg6syj9i")))) + (base32 "080wh1rb11xzzmwpmb0qxn7zhabkgqaklg4395dzf4p9p3wlf5hk")))) (build-system gnu-build-system) (native-inputs (list autoconf autoconf-archive automake pkg-config)) diff --git a/gnu/services.scm b/gnu/services.scm index ce15a39d063..b13633fcaf5 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2022 Tobias Geerinckx-Rice ;;; Copyright © 2023 Brian Cully ;;; Copyright © 2024 Nicolas Graves -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 628141e7ed0..f64f85224bd 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020, 2021 Brice Waegeneire ;;; Copyright © 2021 qblade ;;; Copyright © 2021 Hui Lu -;;; Copyright © 2021-2023, 2025 Maxim Cournoyer +;;; Copyright © 2021-2023, 2025 Maxim Cournoyer ;;; Copyright © 2021, 2025 muradm ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Justin Veilleux diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 6d9fd1feaec..0f803e2776f 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2023 Bruno Victal diff --git a/gnu/services/containers.scm b/gnu/services/containers.scm index c9eadea9b47..0c3d6463e45 100644 --- a/gnu/services/containers.scm +++ b/gnu/services/containers.scm @@ -1277,7 +1277,12 @@ by CONFIG through RUNTIME-CLI." (define environment-variables #~(append (list #$@host-environment) - (list #$@(oci-runtime-state-runtime-environment runtime-state)))) + ;; In case this specific container is not run through the user + ;; provisioned by the oci-service-type, its environment is different + ;; from the globally provisioned one and must be recomputed. + (list #$@(if (maybe-value-set? user) + (oci-runtime-system-environment runtime user) + (oci-runtime-state-runtime-environment runtime-state))))) (define invocation (oci-container-run-invocation (oci-container-configuration->oci-container-invocation diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 12d3c3175c2..76533b1a762 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Sou Bunnbu -;;; Copyright © 2017, 2020, 2022, 2023, 2025 Maxim Cournoyer +;;; Copyright © 2017, 2020, 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2017 Nikita ;;; Copyright © 2017, 2019 Hartmut Goebel ;;; Copyright © 2018, 2020, 2022, 2025 Efraim Flashner @@ -2229,7 +2229,8 @@ rules." (let ((plasma-plasma (plasma-package config))) (map (lambda (name) ((package-direct-input-selector name) plasma-plasma)) - '("plasma-desktop" + '("packagekit" ;for discover + "plasma-desktop" "plasma-workspace" "plasma-disks" "kdeplasma-addons" @@ -2246,7 +2247,8 @@ rules." (let ((plasma-plasma (plasma-package config))) (map (lambda (name) ((package-direct-input-selector name) plasma-plasma)) - '("plasma-desktop" + '("packagekit" ;for discover + "plasma-desktop" "plasma-workspace" "kactivitymanagerd" "plasma-disks" diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index 6abfbc49a0b..b758a7f1ecc 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2020 Jakub Kądziołka -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Jesse Dowell ;;; Copyright © 2021 Brice Waegeneire diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index 92b2463b337..06361ba49ef 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2019, 2022-2023 Ludovic Courtès ;;; Copyright © 2017, 2020 Mathieu Othacehe -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/lightdm.scm b/gnu/services/lightdm.scm index b69cc21322a..799ddecfe2f 100644 --- a/gnu/services/lightdm.scm +++ b/gnu/services/lightdm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 L p R n d n ;;; Copyright © 2020 Ricardo Wurmus -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index a0720f7073d..90693b77eb3 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020, 2023 Efraim Flashner ;;; Copyright © 2021 raid5atemyhomework @@ -651,10 +651,9 @@ placed in a udev rules file." (group vfs-mapping-group (default "users")) (name vfs-mapping-name - (default (string-append - (vfs-mapping-source this-record) "-[" - (vfs-mapping-policy this-record) "]->" - (vfs-mapping-destination this-record))) + (default (format #f "~a-on-~a" + (vfs-mapping-policy this-record) + (vfs-mapping-destination this-record))) (thunked)) (requirement vfs-mapping-requirement (default '(file-systems user-homes)))) diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 0e0d07d2523..68d02ef4d7c 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2020, 2023 Ludovic Courtès -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Bruno Victal ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 4cfac3bc3a7..59a79e73076 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2015, 2017-2020, 2022-2024 Ludovic Courtès ;;; Copyright © 2018 Pierre-Antoine Rouby -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2024 Evgeny Pisemsky ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index ccd67b93c85..b0d1c74490b 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2018 Chris Marusich ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2019 Florian Pelz -;;; Copyright © 2019, 2021, 2024, 2025 Maxim Cournoyer +;;; Copyright © 2019, 2021, 2024, 2025 Maxim Cournoyer ;;; Copyright © 2019 Sou Bunnbu ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2020 Brice Waegeneire diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm index f5a1c6a44e8..a5e35db6a3d 100644 --- a/gnu/services/nfs.scm +++ b/gnu/services/nfs.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm index 9749fc9e0f5..83ba78ce7e6 100644 --- a/gnu/services/nix.scm +++ b/gnu/services/nix.scm @@ -127,7 +127,7 @@ GID." (format #t "sandbox = ~a~%" (if #$sandbox "true" "false")) ;; config.nix captures store file names. (format #t "build-sandbox-paths = ~{~a ~}~%" - (append (list (string-append "/bin/sh=" #$bash-minimal "/bin/sh")) + (append (list (string-append "/bin/sh=" #$bash-minimal "/bin/bash")) internal-sandbox-paths '#$build-sandbox-items)) (for-each (cut display <>) '#$extra-config))))))))))) diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index 6f658a4b65d..96adf94dacd 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Oleg Pykhalov ;;; Copyright © 2021, 2023, 2025 Ludovic Courtès -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index 92d64cc5993..d8d14b5af32 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -235,6 +235,9 @@ Relogin=" (if (sddm-configuration-relogin? config) (arguments (list "sha512" "shadow" "try_first_pass"))))) (session (list + (pam-entry + (control "required") + (module "pam_env.so")) ;load /etc/environment in new sessions ;; lfs has a required pam_limits.so ;; should be factored out into system-session (pam-entry diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index 23f92f6bee5..97520815de3 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2018, 2020 Oleg Pykhalov ;;; Copyright © 2020 Liliana Marie Prikler ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2025 Roman Scherer ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 423e0078711..4b288817182 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 nee -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 3f7218f421a..122e2715dcb 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2022 Leo Nikkilä ;;; Copyright © 2023 Efraim Flashner ;;; Copyright © 2024 Raven Hallsby -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2025 Nigko Yerden ;;; ;;; This file is part of GNU Guix. @@ -1137,7 +1137,8 @@ over TCP. Reboot upon failure." (provision '(secret-service-client)) (requirement '(loopback networking)) (modules '((gnu build secret-service) - (guix build utils))) + (guix build utils) + ((shepherd system) #:select (reboot)))) (start (with-imported-modules '((gnu build secret-service) (guix build utils)) #~(lambda () diff --git a/gnu/services/vnc.scm b/gnu/services/vnc.scm index 2cfa4d90e57..58e1a0ed437 100644 --- a/gnu/services/vnc.scm +++ b/gnu/services/vnc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index 56022ac27ac..1acd7dd588e 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2021 Nathan Dehnel ;;; Copyright © 2022 Cameron V Chaparro ;;; Copyright © 2022 Timo Wilken -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2024 Richard Sent ;;; Copyright © 2025 Carlo Zancanaro ;;; diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index d5d7ffbc4c3..b32a960bcf6 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2021 Oleg Pykhalov ;;; Copyright © 2021 Josselin Poiret ;;; Copyright © 2022 Chris Marusich -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 muradm ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> diff --git a/gnu/system.scm b/gnu/system.scm index 78a30646e1b..ff00e318cc5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2020, 2021 Brice Waegeneire ;;; Copyright © 2020 Florian Pelz -;;; Copyright © 2020, 2022, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2022, 2025 Maxim Cournoyer ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2022, 2025 Efraim Flashner ;;; Copyright © 2021 Maxime Devos diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl index 16ba12604d2..ea8d7964c81 100644 --- a/gnu/system/examples/bare-bones.tmpl +++ b/gnu/system/examples/bare-bones.tmpl @@ -3,8 +3,8 @@ ;; for a "bare bones" setup, with no X11 display server. (use-modules (gnu)) -(use-service-modules cuirass networking ssh databases) -(use-package-modules databases screen ssh) +(use-service-modules networking ssh) +(use-package-modules screen ssh) (operating-system (host-name "komputilo") @@ -48,12 +48,6 @@ ;; Add services to the baseline: a DHCP client and an SSH ;; server. You may wish to add an NTP service here. (services (append (list (service dhcpcd-service-type) - (service cuirass-service-type - (cuirass-configuration - (specifications #~(list)))) - (service postgresql-service-type - (postgresql-configuration - (postgresql postgresql-14))) (service openssh-service-type (openssh-configuration (openssh openssh-sans-x) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 4ea8237c70d..f4086dd62b7 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2022 Ludovic Courtès +;;; Copyright © 2013-2022, 2025 Ludovic Courtès ;;; Copyright © 2020 Google LLC ;;; Copyright © 2020 Jakub Kądziołka -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; Copyright © 2022 Oleg Pykhalov ;;; @@ -517,6 +517,7 @@ TARGET in the other system." (mount-point "/tmp") (device "none") (type "tmpfs") + (flags '(no-suid no-dev)) (check? #f)))) ;; File systems for Linux containers differ from %base-file-systems in that diff --git a/gnu/system/images/rock-4c-plus.scm b/gnu/system/images/rock-4c-plus.scm new file mode 100644 index 00000000000..d669e3a163b --- /dev/null +++ b/gnu/system/images/rock-4c-plus.scm @@ -0,0 +1,81 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Marius Bakke +;;; Copyright © 2025 Denis 'GNUtoo' Carikli +;;; +;;; 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 . + +(define-module (gnu system images rock-4c-plus) + #:use-module (gnu bootloader) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu image) + #:use-module (gnu packages linux) + #:use-module (guix platforms arm) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services networking) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system image) + #:use-module (srfi srfi-26) + #:export (rock-4c-plus-barebones-os + rock-4c-plus-image-type + rock-4c-plus-barebones-raw-image)) + +(define rock-4c-plus-barebones-os + (operating-system + (host-name "huesca") + (timezone "Europe/Madrid") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-rock-4c-plus-rk3399-bootloader) + (targets '("/dev/sda")))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (services (append (list + (service + agetty-service-type + (agetty-configuration + (extra-options '("-L")) ;no carrier detect + ;; Upstream u-boot uses 1500000 as well, so the + ;; u-boot-rock-4c-plus-rk3399 inherit it too. + (baud-rate "1500000") + (term "vt100") + (tty "ttyS2"))) + (service dhcpcd-service-type)) + %base-services)))) + +(define rock-4c-plus-image-type + (image-type + (name 'rock-4c-plus-raw) + (constructor (lambda (os) + (image + (inherit (raw-with-offset-disk-image (expt 2 24))) + (operating-system os) + (platform aarch64-linux)))))) + +(define rock-4c-plus-barebones-raw-image + (image + (inherit + (os+platform->image rock-4c-plus-barebones-os aarch64-linux + #:type rock-4c-plus-image-type)) + (name 'rock-4c-plus-barebones-raw-image))) + +rock-4c-plus-barebones-raw-image diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c71a533c8e2..ea2e624b1a1 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -683,6 +683,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage "ttyS2")) ; UART2 connected on the Pi2 bus +(define rock-4c-plus-installation-os + (embedded-installation-os u-boot-rock-4c-plus-rk3399-bootloader + "/dev/mmcblk0" ; SD card storage + "ttyS2")) ;; Default UART as per the Linux DTS. + (define rockpro64-installation-os (embedded-installation-os u-boot-rockpro64-rk3399-bootloader "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index c257cb329ba..240facc3bdf 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020, 2023 Efraim Flashner -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2024 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index fd758f65865..f96d781b523 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2020, 2022, 2024-2025 Ludovic Courtès ;;; Copyright © 2018 Clément Lassieur -;;; Copyright © 2022, 2025 Maxim Cournoyer +;;; Copyright © 2022, 2025 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2024 Dariqq ;;; diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index ec31cf2bdf5..be3de699a40 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/tests/lightdm.scm b/gnu/tests/lightdm.scm index fd5c77677e1..353954c509d 100644 --- a/gnu/tests/lightdm.scm +++ b/gnu/tests/lightdm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022, 2023 Maxim Cournoyer . +;;; Copyright © 2022, 2023 Maxim Cournoyer . ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm index 0601ff6f693..83ccca88918 100644 --- a/gnu/tests/messaging.scm +++ b/gnu/tests/messaging.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017-2018, 2021-2022 Ludovic Courtès ;;; Copyright © 2018 Efraim Flashner -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; Copyright © 2025 Evgeny Pisemsky ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index b640d8c67a2..a8e752ad417 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021, 2023-2024 Ludovic Courtès -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/tests/telephony.scm b/gnu/tests/telephony.scm index ef5474bef0b..f921835c9a2 100644 --- a/gnu/tests/telephony.scm +++ b/gnu/tests/telephony.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer . +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer . ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm index a882d70e140..070ceecc2c6 100644 --- a/gnu/tests/virtualization.scm +++ b/gnu/tests/virtualization.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Pierre Langlois ;;; Copyright © 2022 Marius Bakke -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/tests/vnc.scm b/gnu/tests/vnc.scm index ab1c2749f3f..335ef9bdc75 100644 --- a/gnu/tests/vnc.scm +++ b/gnu/tests/vnc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 Maxim Cournoyer . +;;; Copyright © 2022 Maxim Cournoyer . ;;; Copyright © 2023 Bruno Victal ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 4d7a8c59d66..431996ede48 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Marius Bakke -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index eefda79ec7c..e37da8d8730 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2021, 2024 Efraim Flashner ;;; Copyright © 2024 Herman Rimm -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index b0587fddf02..faf441b3a7d 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2020 Efraim Flashner -;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm index 11447e252ff..d144be43712 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/bzr-download.scm b/guix/bzr-download.scm index a22c9bee998..382476b22ea 100644 --- a/guix/bzr-download.scm +++ b/guix/bzr-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2022 Maxim Cournoyer +;;; Copyright © 2017, 2022 Maxim Cournoyer ;;; Copyright © 2024 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. diff --git a/guix/docker.scm b/guix/docker.scm index bb6d896a635..db4856d6a16 100644 --- a/guix/docker.scm +++ b/guix/docker.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017-2019, 2021, 2025 Ludovic Courtès ;;; Copyright © 2018 Chris Marusich -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2023 Oleg Pykhalov ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; diff --git a/guix/gexp.scm b/guix/gexp.scm index 933d1969ca9..030092843a3 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Jan Nieuwenhuizen ;;; Copyright © 2019, 2020 Mathieu Othacehe -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021, 2022 Maxime Devos ;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz> ;;; diff --git a/guix/git-download.scm b/guix/git-download.scm index ae2073ea06c..6d96e63f009 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2023 Simon Tournier -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index aa9037d7254..08332425083 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2022 Maxime Devos -;;; Copyright © 2023, 2025 Maxim Cournoyer +;;; Copyright © 2023, 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/gnupg.scm b/guix/gnupg.scm index ef9b71a2cb4..042c43be710 100644 --- a/guix/gnupg.scm +++ b/guix/gnupg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2020 Tobias Geerinckx-Rice -;;; Copyright © 2021, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/composer.scm b/guix/import/composer.scm index ba70e89c4fd..5c8570bbf26 100644 --- a/guix/import/composer.scm +++ b/guix/import/composer.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Julien Lepiller -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 3973be1e13f..c25a66c644f 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2023 Simon Tournier ;;; Copyright © 2023, 2024 Efraim Flashner ;;; Copyright © 2023, 2024 David Elsing -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; Copyright © 2025 Herman Rimm ;;; Copyright © 2024 Murilo ;;; Copyright © 2024-2025 Luis Guilherme Coelho diff --git a/guix/import/egg.scm b/guix/import/egg.scm index 849e559ad6d..c9606ff8391 100644 --- a/guix/import/egg.scm +++ b/guix/import/egg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Hartmut Goebel ;;; Copyright © 2024 Ekaitz Zarraga -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/gem.scm b/guix/import/gem.scm index 46024b9d6a9..ad75bf519b5 100644 --- a/guix/import/gem.scm +++ b/guix/import/gem.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Taiju HIGASHI ;;; Copyright © 2022 Hartmut Goebel -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/github.scm b/guix/import/github.scm index 00d362822ff..e098cb93edd 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 Hartmut Goebel ;;; Copyright © 2023 Giacomo Leidi -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm index 5df4a84295b..211352ac3aa 100644 --- a/guix/import/gnome.scm +++ b/guix/import/gnome.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019, 2021, 2024 Ludovic Courtès -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; Copyright © 2022 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm index e68dc06824a..0416a80fe65 100644 --- a/guix/import/gnu.scm +++ b/guix/import/gnu.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2021 Simon Tournier -;;; Copyright © 2021, 2025 Maxim Cournoyer +;;; Copyright © 2021, 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/go.scm b/guix/import/go.scm index 456abdbcc50..46600c21164 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2020 Katherine Cox-Buday ;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com> ;;; Copyright © 2021 François Joulaud -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021-2022 Ludovic Courtès ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Sarah Morgensen diff --git a/guix/import/hexpm.scm b/guix/import/hexpm.scm index 96f67fe2ea7..885e416fea6 100644 --- a/guix/import/hexpm.scm +++ b/guix/import/hexpm.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017, 2019-2021, 2024 Ludovic Courtès ;;; Copyright © 2019 Martin Becze -;;; Copyright © 2019, 2024 Maxim Cournoyer +;;; Copyright © 2019, 2024 Maxim Cournoyer ;;; Copyright © 2020-2022 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. diff --git a/guix/import/kde.scm b/guix/import/kde.scm index 046bfc5a8e7..64e2182e879 100644 --- a/guix/import/kde.scm +++ b/guix/import/kde.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2019 Hartmut Goebel -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/launchpad.scm b/guix/import/launchpad.scm index 75b474ead7d..6774212ae75 100644 --- a/guix/import/launchpad.scm +++ b/guix/import/launchpad.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2021 Matthew James Kraai ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2022 Hartmut Goebel -;;; Copyright © 2024 Maxim Cournoyer +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 9e81c0d88f9..6b342ca99a4 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015-2017, 2019-2024 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018, 2023 Ricardo Wurmus -;;; Copyright © 2019, 2024 Maxim Cournoyer +;;; Copyright © 2019, 2024 Maxim Cournoyer ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Lars-Dominik Braun ;;; Copyright © 2020 Arun Isaac diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 4f7bc55ffd7..2776fb31204 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2021, 2022, 2023 Ricardo Wurmus -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2024 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 24cb5ef7473..303d29bf8a8 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Robert Vollmert ;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com> ;;; Copyright © 2020 Martin Becze -;;; Copyright © 2021, 2024 Maxim Cournoyer +;;; Copyright © 2021, 2024 Maxim Cournoyer ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2022 Alice Brenon diff --git a/guix/man-db.scm b/guix/man-db.scm index 59723fb336f..d6241480f7e 100644 --- a/guix/man-db.scm +++ b/guix/man-db.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Ludovic Courtès -;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022, 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/packages.scm b/guix/packages.scm index bba281b3743..0e1ef541d94 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2017, 2019, 2020, 2022 Efraim Flashner ;;; Copyright © 2019 Marius Bakke -;;; Copyright © 2020, 2021, 2024 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2024 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 jgart diff --git a/guix/profiles.scm b/guix/profiles.scm index a0489ab6f3a..a1df7eb683c 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2021, 2022 Ricardo Wurmus ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Huang Ying -;;; Copyright © 2017, 2021, 2024 Maxim Cournoyer +;;; Copyright © 2017, 2021, 2024 Maxim Cournoyer ;;; Copyright © 2019 Kyle Meyer ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic diff --git a/guix/rpm.scm b/guix/rpm.scm index 734aef29c11..34ecab89566 100644 --- a/guix/rpm.scm +++ b/guix/rpm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 429a5a296f7..41353e33053 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -40,6 +40,7 @@ #:autoload (ice-9 ftw) (scandir) #:autoload (gnu build install) (evaluate-populate-directive) #:autoload (gnu build linux-container) (call-with-container %namespaces + %writable-/tmp user-namespace-supported? unprivileged-user-namespace-supported? setgroups-supported?) @@ -771,13 +772,6 @@ added to the container. Preserve environment variables whose name matches the one of the regexps in WHILE-LIST." - (define tmpfs - (file-system - (device "none") - (mount-point "/tmp") - (type "tmpfs") - (check? #f))) - (define (optional-mapping->fs mapping) (and (file-exists? (file-system-mapping-source mapping)) (file-system-mapping->bind-mount mapping))) @@ -875,9 +869,12 @@ WHILE-LIST." (writable? #f))) reqs))) (file-systems (append %container-file-systems - (list tmpfs ; RW /tmp + (list %writable-/tmp (file-system ; RW /run - (inherit tmpfs) + (device "none") + (type "tmpfs") + (options "size=10%,mode=700") + (check? #f) (mount-point (string-append "/run/user/" (number->string uid)))) diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 7663efe7f82..c5017a6e52c 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2013, 2015-2020, 2022 Ludovic Courtès +;;; Copyright © 2012-2013, 2015-2020, 2022, 2025 Ludovic Courtès ;;; Copyright © 2022 Efraim Flashner ;;; Copyright © 2022 Remco van 't Veer ;;; @@ -297,7 +297,6 @@ is deprecated; use '-D'~%")) (with-error-handling (let* ((opts (parse-options)) - (store (open-connection)) (paths (filter-map (match-lambda (('argument . arg) arg) (_ #f)) @@ -307,39 +306,44 @@ is deprecated; use '-D'~%")) (leave (G_ "extraneous arguments: ~{~a ~}~%") paths))) (define (list-relatives relatives) - (for-each (compose (lambda (path) - (for-each (cut simple-format #t "~a~%" <>) - (relatives store path))) - store-directory - symlink-target) - paths)) + (with-store store + (for-each (compose (lambda (path) + (for-each (cut simple-format #t "~a~%" <>) + (relatives store path))) + store-directory + symlink-target) + paths))) (case (assoc-ref opts 'action) ((collect-garbage) (assert-no-extra-arguments) (let ((min-freed (assoc-ref opts 'min-freed)) (free-space (assoc-ref opts 'free-space))) - (match (assq 'delete-generations opts) - (#f #t) - ((_ . pattern) - (delete-generations store pattern))) - (cond - (free-space - (ensure-free-space store free-space)) - (min-freed - (let-values (((paths freed) (collect-garbage store min-freed))) - (info (G_ "freed ~a~%") (number->size freed)))) - (else - (let-values (((paths freed) (collect-garbage store))) - (info (G_ "freed ~a~%") (number->size freed))))))) + (with-store store + (match (assq 'delete-generations opts) + (#f #t) + ((_ . pattern) + (delete-generations store pattern))) + (cond + (free-space + (ensure-free-space store free-space)) + (min-freed + (let-values (((paths freed) (collect-garbage store min-freed))) + (info (G_ "freed ~a~%") (number->size freed)))) + (else + (let-values (((paths freed) (collect-garbage store))) + (info (G_ "freed ~a~%") (number->size freed)))))))) ((list-roots) (assert-no-extra-arguments) (list-roots)) ((list-busy) + ;; Note: This is invoked by 'guix-daemon' so it must not open a + ;; connection to the daemon. (assert-no-extra-arguments) (list-busy)) ((delete) - (delete-paths store (map direct-store-path paths))) + (with-store store + (delete-paths store (map direct-store-path paths)))) ((list-references) (list-relatives references)) ((list-requisites) @@ -351,22 +355,28 @@ is deprecated; use '-D'~%")) (list-relatives valid-derivers)) ((optimize) (assert-no-extra-arguments) - (optimize-store store)) + (with-store store + (optimize-store store))) ((verify) (assert-no-extra-arguments) (let ((options (assoc-ref opts 'verify-options))) (exit - (verify-store store - #:check-contents? (memq 'contents options) - #:repair? (memq 'repair options))))) + (with-store store + (verify-store store + #:check-contents? (memq 'contents options) + #:repair? (memq 'repair options)))))) ((list-failures) - (for-each (cut simple-format #t "~a~%" <>) - (query-failed-paths store))) + (with-store store + (for-each (cut simple-format #t "~a~%" <>) + (query-failed-paths store)))) ((clear-failures) - (clear-failed-paths store (map direct-store-path paths))) + (with-store store + (clear-failed-paths store (map direct-store-path paths)))) ((list-dead) (for-each (cut simple-format #t "~a~%" <>) - (dead-paths store))) + (with-store store + (dead-paths store)))) ((list-live) (for-each (cut simple-format #t "~a~%" <>) - (live-paths store))))))) + (with-store store + (live-paths store)))))))) diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index a4b8cc01e70..e040800cf32 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -38,7 +38,9 @@ group-entry write-passwd write-group) - #:autoload (gnu build linux-container) (call-with-container %namespaces) + #:autoload (gnu build linux-container) (call-with-container + %namespaces + %writable-/tmp) #:use-module ((gnu system) #:select (operating-system? operating-system-user-services)) #:autoload (gnu system linux-container) (eval/container) @@ -353,22 +355,20 @@ immediately. Return the exit status of the process in the container." #:namespaces (if network? (delq 'net %namespaces) ; share host network %namespaces) - #:mounts (list (file-system ;writable /tmp - (device "none") - (mount-point "/tmp") - (type "tmpfs") - (check? #f)) + #:mounts (list %writable-/tmp (file-system (device "none") (mount-point (in-vicinity "/run/user" ;for shepherd & co. (number->string uid))) (type "tmpfs") + (options "size=10%,mode=700") (check? #f)) (file-system ;writable home (device "none") (mount-point home-directory) (type "tmpfs") + (options "mode=700") (check? #f))) #:mappings (append network-mappings mappings) #:guest-uid uid diff --git a/guix/scripts/import/go.scm b/guix/scripts/import/go.scm index b90c6ac72f3..078b1aa8de1 100644 --- a/guix/scripts/import/go.scm +++ b/guix/scripts/import/go.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Katherine Cox-Buday -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Sarah Morgensen ;;; diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 069bf33c7f0..56e1ab61aaa 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014-2022 Ludovic Courtès ;;; Copyright © 2017 Ricardo Wurmus -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Julien Lepiller ;;; ;;; This file is part of GNU Guix. diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 257c24e9d3c..a6a7babf595 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018 Chris Marusich ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2020 Tobias Geerinckx-Rice -;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020 Eric Bavier ;;; Copyright © 2022 Alex Griffin ;;; Copyright © 2023 Graham James Addis diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index e9c69336392..7638bcbd0e9 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2020 by Amar M. Singh ;;; Copyright © 2015-2022, 2024 Ludovic Courtès -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021, 2022 Mathieu Othacehe ;;; @@ -61,7 +61,6 @@ #:use-module (guix cache) #:use-module (guix ui) #:use-module (guix scripts) - #:use-module (guix derivations) #:use-module ((guix utils) #:select (with-atomic-file-output compressed-file?)) #:use-module ((guix build utils) @@ -694,14 +693,11 @@ requested using POOL." (define* (render-nar store request store-item #:key (compression %no-compression)) "Render archive of the store path corresponding to STORE-ITEM." - (let* ((store-path (string-append %store-directory "/" store-item)) - (derivations (map read-derivation-from-file - (valid-derivers store store-path))) - (substitutable? (every substitutable-derivation? derivations))) + (let ((store-path (string-append %store-directory "/" store-item))) ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will ;; interpret the byte stream as UTF-8 and arbitrarily change invalid byte ;; sequences. - (if (and substitutable? (valid-path? store store-path)) + (if (valid-path? store store-path) (values `((content-type . (application/x-nix-archive (charset . "ISO-8859-1"))) (x-nar-compression . ,compression)) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 4a94ec637bb..a302960da3c 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Simon Tournier ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Hartmut Goebel -;;; Copyright © 2023-2025 Maxim Cournoyer maxim.cournoyer@gmail.com> +;;; Copyright © 2023-2025 Maxim Cournoyer maxim@guixotic.coop> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index 2ec827c0791..9c894f964a6 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Konrad Hinsen ;;; Copyright © 2019-2021, 2023-2024 Ludovic Courtès ;;; Copyright © 2021 Simon Tournier -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/search-paths.scm b/guix/search-paths.scm index cacff8c69df..4cc6880732d 100644 --- a/guix/search-paths.scm +++ b/guix/search-paths.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2022 Maxime Devos -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/status.scm b/guix/status.scm index 9b3bcb89fb1..d3e926912c5 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017-2023 Ludovic Courtès ;;; Copyright © 2018, 2019 Ricardo Wurmus -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2025 Esther Flashner ;;; ;;; This file is part of GNU Guix. diff --git a/guix/ui.scm b/guix/ui.scm index d6d5eb9dcd5..1673285e715 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021 Simon Tournier ;;; Copyright © 2020 Arun Isaac -;;; Copyright © 2020, 2025 Maxim Cournoyer +;;; Copyright © 2020, 2025 Maxim Cournoyer ;;; Copyright © 2018 Steve Sprang ;;; Copyright © 2022 Taiju HIGASHI ;;; Copyright © 2022 Liliana Marie Prikler diff --git a/guix/utils.scm b/guix/utils.scm index 7f555e57f99..470fb30e2aa 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2020, 2021, 2024 Efraim Flashner -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Maxime Devos diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index 77a2a7027db..610270f907e 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -318,7 +318,8 @@ static void findRoots(StoreAPI & store, const Path & path, unsigned char type, R catch (SysError & e) { /* We only ignore permanent failures. */ if (e.errNo == EACCES || e.errNo == ENOENT || e.errNo == ENOTDIR) - printMsg(lvlInfo, format("cannot read potential root `%1%'") % path); + printMsg(lvlInfo, format("cannot read potential root '%1%': %2%") + % path % strerror(e.errNo)); else throw; } diff --git a/po/doc/local.mk b/po/doc/local.mk index ea7b4c2769a..1ebba116114 100644 --- a/po/doc/local.mk +++ b/po/doc/local.mk @@ -1,6 +1,6 @@ # GNU Guix --- Functional package management for GNU # Copyright © 2018 Julien Lepiller -# Copyright © 2021 Maxim Cournoyer +# Copyright © 2021 Maxim Cournoyer # Copyright © 2024 Janneke Nieuwenhuizen # Copyright © 2024 gemmaro # diff --git a/po/packages/POTFILES.in b/po/packages/POTFILES.in index 0269722f2e8..709b271ef56 100644 --- a/po/packages/POTFILES.in +++ b/po/packages/POTFILES.in @@ -163,7 +163,6 @@ gnu/packages/fontutils.scm gnu/packages/forth.scm gnu/packages/fortran-check.scm gnu/packages/fortran-xyz.scm -gnu/packages/fpga.scm gnu/packages/freedesktop.scm gnu/packages/freeipmi.scm gnu/packages/fribidi.scm @@ -310,7 +309,6 @@ gnu/packages/printers.scm gnu/packages/profiling.scm gnu/packages/prometheus.scm gnu/packages/pth.scm -gnu/packages/pure.scm gnu/packages/pv.scm gnu/packages/pypy.scm gnu/packages/python-build.scm @@ -485,7 +483,6 @@ gnu/packages/plotutils.scm gnu/packages/postmarketos.scm gnu/packages/potassco.scm gnu/packages/power.scm -gnu/packages/presentation.scm gnu/packages/prolog.scm gnu/packages/protobuf.scm gnu/packages/pulseaudio.scm diff --git a/tests/build-utils.scm b/tests/build-utils.scm index 3babf5d5445..56fc5cbe774 100644 --- a/tests/build-utils.scm +++ b/tests/build-utils.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2015, 2016, 2019, 2020 Ludovic Courtès ;;; Copyright © 2019 Ricardo Wurmus -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Brendan Tildesley ;;; diff --git a/tests/file-systems.scm b/tests/file-systems.scm index 7f7c373884f..1c58454fa23 100644 --- a/tests/file-systems.scm +++ b/tests/file-systems.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2017 Ludovic Courtès -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm index 82a02bec6f9..644cd1f2a90 100644 --- a/tests/gnu-maintenance.scm +++ b/tests/gnu-maintenance.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2021 Ludovic Courtès ;;; Copyright © 2022 Maxime Devos -;;; Copyright © 2023-2024 Maxim Cournoyer +;;; Copyright © 2023-2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 40844c142bd..094be7769d1 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -2,7 +2,7 @@ # Copyright © 2012-2014, 2016-2025 Ludovic Courtès # Copyright © 2020 Marius Bakke # Copyright © 2021 Chris Marusich -# Copyright © 2025 Maxim Cournoyer +# Copyright © 2025 Maxim Cournoyer # # This file is part of GNU Guix. # diff --git a/tests/guix-time-machine.sh b/tests/guix-time-machine.sh index df75c681dab..608d4d560bf 100644 --- a/tests/guix-time-machine.sh +++ b/tests/guix-time-machine.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2023 Maxim Cournoyer +# Copyright © 2023 Maxim Cournoyer # Copyright © 2023-2024 Ludovic Courtès # # This file is part of GNU Guix. diff --git a/tests/networking.scm b/tests/networking.scm index fbf8db7a026..903594c6800 100644 --- a/tests/networking.scm +++ b/tests/networking.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/offload.scm b/tests/offload.scm index 5a5de4e8b92..4a733c6f1b8 100644 --- a/tests/offload.scm +++ b/tests/offload.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/pack.scm b/tests/pack.scm index 9c7e0a50baa..ce94d9bc581 100644 --- a/tests/pack.scm +++ b/tests/pack.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017-2021, 2023, 2024 Ludovic Courtès ;;; Copyright © 2018 Ricardo Wurmus -;;; Copyright © 2021, 2023 Maxim Cournoyer +;;; Copyright © 2021, 2023 Maxim Cournoyer ;;; Copyright © 2023 Oleg Pykhalov ;;; Copyright © 2024 Noé Lopez ;;; diff --git a/tests/packages.scm b/tests/packages.scm index 78cb6708155..6ff7b265844 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2025 Ludovic Courtès ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2023 Simon Tournier ;;; Copyright © 2025 David Elsing diff --git a/tests/publish.scm b/tests/publish.scm index c8f66b69cd1..3c80c50d515 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -425,23 +425,6 @@ FileSize: ~a~%" (display "This file is not a valid store item." port))) (response-code (http-get (publish-uri (string-append "/nar/invalid")))))) -(test-equal "non-substitutable derivation" - 404 - (let* ((non-substitutable - (run-with-store %store - (gexp->derivation "non-substitutable" - #~(begin - (mkdir #$output) - (chdir #$output) - (call-with-output-file "foo.txt" - (lambda (port) - (display "bar" port)))) - #:substitutable? #f))) - (item (derivation->output-path non-substitutable))) - (build-derivations %store (list non-substitutable)) - (response-code (http-get (publish-uri - (string-append "/nar/" (basename item))))))) - (test-equal "/file/NAME/sha256/HASH" "Hello, Guix world!" (let* ((data "Hello, Guix world!") diff --git a/tests/pypi.scm b/tests/pypi.scm index 3fbce1786f4..2f6ec650a2d 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2022 Vivien Kraus ;;; diff --git a/tests/rpm.scm b/tests/rpm.scm index f40b36fe603..4a177a2f9c2 100644 --- a/tests/rpm.scm +++ b/tests/rpm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm index 40a4e74b4db..f9012b159d5 100644 --- a/tests/services/configuration.scm +++ b/tests/services/configuration.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Bruno Victal diff --git a/tests/services/lightdm.scm b/tests/services/lightdm.scm index 283df2befc4..1c9ab94fde9 100644 --- a/tests/services/lightdm.scm +++ b/tests/services/lightdm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/services/linux.scm b/tests/services/linux.scm index e2cd191e48d..33ae275ac61 100644 --- a/tests/services/linux.scm +++ b/tests/services/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. diff --git a/tests/services/telephony.scm b/tests/services/telephony.scm index 52c2a63cd6d..97ddf51888f 100644 --- a/tests/services/telephony.scm +++ b/tests/services/telephony.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/services/vpn.scm b/tests/services/vpn.scm index 1607d1bbfce..484eefec80d 100644 --- a/tests/services/vpn.scm +++ b/tests/services/vpn.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Maxim Cournoyer +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;;