From 92ee0fd5eb7b1572cd4f90a7c12c1137ce74004b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Jun 2023 10:14:17 +0200 Subject: [PATCH 001/310] import: Gracefully handle EPIPE. Previously, "guix import pypi f3 | head -3" would print a backtrace. * guix/scripts/import.scm (guix-import): Wrap 'pretty-print-with-comments' call in 'leave-on-EPIPE'. --- guix/scripts/import.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index f84a964a53..4ddd8d46a1 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -85,7 +85,8 @@ Run IMPORTER with ARGS.\n")) ((importer args ...) (if (member importer importers) (let ((print (lambda (expr) - (pretty-print-with-comments (current-output-port) expr)))) + (leave-on-EPIPE + (pretty-print-with-comments (current-output-port) expr))))) (match (apply (resolve-importer importer) args) ((and expr (or ('package _ ...) ('let _ ...) From 3f5e14182931f123c10513a3e1e2abaebfb52279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 31 May 2023 23:02:16 +0200 Subject: [PATCH 002/310] substitute: Delete cached narinfos more than two-month old. This allows 'guix substitute' to shrink the cache a bit more, which saves space and improves performance of cache-cleanup phases since fewer entries need to be traversed. * guix/scripts/substitute.scm (cached-narinfo-expiration-time): Define 'max-ttl' and use it as an upper bound. --- guix/scripts/substitute.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 3626832dda..de7b77b0bf 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -167,6 +167,11 @@ was found." (define (cached-narinfo-expiration-time file) "Return the expiration time for FILE, which is a cached narinfo." + (define max-ttl + ;; Upper bound on the TTL used to avoid keeping around cached narinfos for + ;; too long, which makes the cache bigger and more expensive to traverse. + (* 2 30 24 60 60)) ;2 months + (catch 'system-error (lambda () (call-with-input-file file @@ -174,10 +179,10 @@ was found." (match (read port) (('narinfo ('version 2) ('cache-uri uri) ('date date) ('ttl ttl) ('value #f)) - (+ date ttl)) + (+ date (min ttl max-ttl))) (('narinfo ('version 2) ('cache-uri uri) ('date date) ('ttl ttl) ('value value)) - (+ date ttl)) + (+ date (min ttl max-ttl))) (x 0))))) (lambda args From 885d524f79aa4bbfac5dfebf285e1e248184ee70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 8 Jun 2023 22:43:05 +0200 Subject: [PATCH 003/310] substitute: Gracefully retry after failed partial downloads. Fixes . Reported by Attila Lendvai . * guix/scripts/substitute.scm (catch-system-error): New macro. (download-nar): Add call to 'delete-file-recursively'. * tests/substitute.scm ("substitute, previous partial download around"): New test. --- guix/scripts/substitute.scm | 11 ++++++++++- tests/substitute.scm | 25 ++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index de7b77b0bf..8b1f7d6fda 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -38,7 +38,7 @@ #:use-module (guix cache) #:use-module (gcrypt pk-crypto) #:use-module (guix pki) - #:use-module ((guix build utils) #:select (mkdir-p)) + #:autoload (guix build utils) (mkdir-p delete-file-recursively) #:use-module ((guix build download) #:select (uri-abbreviation nar-uri-abbreviation (open-connection-for-uri @@ -445,6 +445,11 @@ server certificates." "Bind PORT with EXP... to a socket connected to URI." (call-with-cached-connection uri (lambda (port) exp ...))) +(define-syntax-rule (catch-system-error exp) + (catch 'system-error + (lambda () exp) + (const #f))) + (define* (download-nar narinfo destination #:key status-port deduplicate? print-build-trace?) @@ -503,6 +508,10 @@ STATUS-PORT." (narinfo-path narinfo) (narinfo-uri-base narinfo))))) + ;; Delete DESTINATION first--necessary when starting over after a failed + ;; download. + (catch-system-error (delete-file-recursively destination)) + (let ((choices (narinfo-preferred-uris narinfo #:fast-decompression? %prefer-fast-decompression?))) diff --git a/tests/substitute.scm b/tests/substitute.scm index 8df3938b59..7246ed82d5 100644 --- a/tests/substitute.scm +++ b/tests/substitute.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Nikita Karetnikov -;;; Copyright © 2014-2015, 2017-2019, 2021-2022 Ludovic Courtès +;;; Copyright © 2014-2015, 2017-2019, 2021-2023 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -639,6 +639,29 @@ System: mips64el-linux\n"))) (lambda () (false-if-exception (delete-file "substitute-retrieved"))))))) +(test-equal "substitute, previous partial download around" + "Substitutable data." + (with-narinfo* (string-append %narinfo "Signature: " (signature-field %narinfo)) + %main-substitute-directory + + (with-http-server `((200 ,(string-append %narinfo "Signature: " + (signature-field %narinfo))) + (200 ,(call-with-input-file + (string-append %main-substitute-directory + "/example.nar") + get-bytevector-all))) + (dynamic-wind + (const #t) + (lambda () + (parameterize ((substitute-urls (list (%local-url)))) + (mkdir-p "substitute-retrieved/a/b/c/d") ;add stale data + (request-substitution (string-append (%store-prefix) + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") + "substitute-retrieved")) + (call-with-input-file "substitute-retrieved" get-string-all)) + (lambda () + (false-if-exception (delete-file "substitute-retrieved"))))))) + (test-quit "substitute, narinfo is available but nar is missing" "failed to find alternative substitute" (with-narinfo* From 44e4dc7c729d9277d023c928963c7eac0df7d6b9 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Mon, 29 May 2023 09:24:20 -0700 Subject: [PATCH 004/310] doc: Replace reference to non-existing (gnu home services ssh-agent). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks to Alexandros Prekates and Markku Korkeala for pointing out the bug in the documentation. [1] [1] https://lists.gnu.org/archive/html/help-guix/2023-05/msg00220.html * doc/gnu.texi (Secure Shell): Replace reference to non-existing (gnu home services ssh-agent) Signed-off-by: Ludovic Courtès --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 01f4e0105f..46930cd8c9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43168,7 +43168,7 @@ Extra content appended as-is to this @code{Host} block in The @uref{https://www.openssh.com, OpenSSH package} includes a daemon, the @command{ssh-agent} command, that manages keys to connect to remote machines using the @acronym{SSH, secure shell} protocol. With the -@code{(gnu home services ssh-agent)} service, you can configure the +@code{(gnu home services ssh)} service, you can configure the OpenSSH ssh-agent to run upon login. @xref{GNU Privacy Guard, @code{home-gpg-agent-service-type}}, for an alternative to OpenSSH's @command{ssh-agent}. From 8f855dd187b6a38a88d12f7af5d55ccfa8ee37b0 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Mon, 29 May 2023 16:52:55 -0700 Subject: [PATCH 005/310] doc: Update outdated URL for Eudev wiki. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change was coordinated with upstream maintainer Boian Bonev. * doc/guix.texi: Update outdated URL for Eudev wiki. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 46930cd8c9..0a7333c479 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -41147,7 +41147,7 @@ The service type for an @emph{extensible} service looks like this: @end lisp This is the service type for the -@uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device +@uref{https://github.com/eudev-project/eudev, eudev device management daemon}. Compared to the previous example, in addition to an extension of @code{shepherd-root-service-type}, we see two new fields: From 42ea60b7dddf67bb1c3792cbe943b5c4d318733d Mon Sep 17 00:00:00 2001 From: Jakob Kirsch Date: Wed, 17 May 2023 20:52:00 +0200 Subject: [PATCH 006/310] gnu: Add rogue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (rogue): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 862aa26805..8c00c2e66e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -877,6 +877,31 @@ Quizzes: arithmetic and quiz.") ;; phantasia (all but phantasia/pathnames.h.in, which is bsd-3) (license:fsf-free "file:///phantasia/COPYRIGHT"))))) +(define-public rogue + (package + (name "rogue") + (version "5.4.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Davidslv/rogue") + (commit "cf9bd26d564a72fac4cf56b55c96c2435270d29a"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mk03l120scas4dcn6xccnhslnwmcx2blshbf925z06yk7rkzias")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags (list "CFLAGS=-DNCURSES_INTERNALS"))) + (inputs (list ncurses)) + (synopsis "Original rogue game") + (description + "This package provides ``Rogue: Exploring the Dungeons of Doom'', the +original rogue game found on 4.2BSD.") + (home-page "https://github.com/Davidslv/rogue") + (license license:bsd-3))) + (define-public bzflag (package From d33275a3a1fb4ca6409b74e280cb683708e58abd Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Fri, 6 Jan 2023 19:43:20 +0300 Subject: [PATCH 007/310] gnu: Add rust-uom. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/crates-io.scm (rust-uom-0.34): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index af77a40257..3877f6c977 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -14304,6 +14304,40 @@ to the @code{is_x86_feature_detected!} macro.") (description "This package provides bindings to Google's cpu profiler.") (license license:bsd-2))) +(define-public rust-uom-0.34 + (package + (name "rust-uom") + (version "0.34.0") + (source (origin + (method url-fetch) + (uri (crate-uri "uom" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "190n79b5ywa9w0j13ld0q6dphz7vzsjkwrpp8pjnwrczsvfhxxg8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4) + ("rust-num-rational" ,rust-num-rational-0.4) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-typenum" ,rust-typenum-1) + ("rust-serde" ,rust-serde-1) + ("rust-num-bigint" ,rust-num-bigint-0.4)) + #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5) + ("rust-quickcheck" ,rust-quickcheck-0.8) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-static-assertions" ,rust-static-assertions-1)))) + (home-page "https://github.com/iliekturtles/uom") + (synopsis "Units of measurement") + (description + "@code{uom} (Units of measurement) is a crate that does automatic type-safe +zero-cost dimensional analysis. You can create your own systems or use the pre-built +International System of Units (SI) which is based on the International System of +Quantities (ISQ) and includes numerous quantities (length, mass, time, ...) with +conversion factors for even more numerous measurement units (meter, kilometer, foot, +mile, ...).") + (license (list license:expat license:asl2.0)))) + (define-public rust-crates-index-0.18 (package (name "rust-crates-index") From e6ce706604b168a704477ffa71425d78d4960193 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 29 May 2023 00:53:57 +0800 Subject: [PATCH 008/310] gnu: flashrom: Update to 1.3.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/flashrom-fix-building-on-aarch64.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/flashing-tools.scm (flashrom): Update to 1.3.0. [build-system]: Switch to meson-build-system. [inputs]: Add libjaylink. [native-inputs]: Add cmocka. Actually, at least from 1.2, the exact \"dmidecode\" is not present in dmi.c. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 - gnu/packages/flashing-tools.scm | 40 +++------ .../flashrom-fix-building-on-aarch64.patch | 89 ------------------- 3 files changed, 11 insertions(+), 119 deletions(-) delete mode 100644 gnu/packages/patches/flashrom-fix-building-on-aarch64.patch diff --git a/gnu/local.mk b/gnu/local.mk index 254037a3af..2ebc4ce925 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1137,7 +1137,6 @@ dist_patch_DATA = \ %D%/packages/patches/firebird-riscv64-support-pt1.patch \ %D%/packages/patches/firebird-riscv64-support-pt2.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ - %D%/packages/patches/flashrom-fix-building-on-aarch64.patch \ %D%/packages/patches/flatpak-fix-path.patch \ %D%/packages/patches/flatpak-unset-gdk-pixbuf-for-sandbox.patch \ %D%/packages/patches/fluxbox-1.3.7-no-dynamic-cursor.patch \ diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 028631cbd2..a1631b2940 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -29,20 +29,24 @@ (define-module (gnu packages flashing-tools) #:use-module ((guix licenses) #:prefix license:) #: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 (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages autotools) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages elf) + #:use-module (gnu packages embedded) #:use-module (gnu packages flex) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gnupg) @@ -58,7 +62,7 @@ (define-public flashrom (package (name "flashrom") - (version "1.2") + (version "1.3.0") (source (origin (method url-fetch) (uri (string-append @@ -66,35 +70,13 @@ version ".tar.bz2")) (sha256 (base32 - "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71")) - (patches - (search-patches "flashrom-fix-building-on-aarch64.patch")))) - (build-system gnu-build-system) - (inputs (list dmidecode pciutils libusb libftdi)) - (native-inputs (list pkg-config)) + "08wn2j5vxzzvigflrjypgxxzjp32c76bshrlkzki5l6cad226lx0")))) + (build-system meson-build-system) + (inputs (list dmidecode pciutils libusb libftdi libjaylink)) + (native-inputs (list cmocka pkg-config)) (arguments - '(#:make-flags - (list "CC=gcc" - (string-append "PREFIX=" %output) - "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") - #:tests? #f ; no 'check' target - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-before 'build 'patch-exec-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "dmi.c" - (("\"dmidecode\"") - (format #f "~S" - (search-input-file inputs "/sbin/dmidecode")))))) - (add-before 'build 'patch-type-error - (lambda _ - ;; See https://github.com/flashrom/flashrom/pull/133 - (substitute* "libflashrom.c" - (("supported_boards\\[i\\].working = binfo\\[i\\].working") - "supported_boards[i].working = (enum flashrom_test_state)binfo[i].working") - (("supported_chipsets\\[i\\].status = chipset\\[i\\].status") - "supported_chipsets[i].status = (enum flashrom_test_state)chipset[i].status"))))))) + (list #:configure-flags + #~'("-Dprogrammer=all"))) (home-page "https://flashrom.org/") (synopsis "Identify, read, write, erase, and verify ROM/flash chips") (description diff --git a/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch b/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch deleted file mode 100644 index 9f54305b47..0000000000 --- a/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch +++ /dev/null @@ -1,89 +0,0 @@ -commit da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d -Author: Pyry Kontio -Date: Mon Jul 6 12:57:35 2020 +0900 - - Makefile: Fix building on AArch64 NixOS - - The parsing of the output of archtest.c produced an unexpected - value on AArch64 NixOS. For example, the make variable ARCH was set to: - - ``` - bit outside of fd_set selected - arm - ``` - - This made the arch and OS checks fail. - - This commit simplifies the parsing, making it more robust. - - The C files archtest.c, endiantest.c and os.h used to set the - TARGET_OS, ARCH and ENDIAN variables, respectively, output - the result of the test as the final line, so just extracting - the final line and removing double quoting is enough. - - This commit also fixes a bug with debug_shell lacking escaping - single quotes, which prevented using the single quote in the - debug_shell calls. It used to work by accident before this fix; - the line in the call happened to contain a balanced pair of double - quotes and lacked other characters that needed escaping, which - didn't break the debug_shell, but this was accidental and very - brittle. - - Signed-off-by: Pyry Kontio - Change-Id: Iaa4477a71e758cf9ecad2c22f3b77bc6508a3510 - Reviewed-on: https://review.coreboot.org/c/flashrom/+/43140 - Tested-by: build bot (Jenkins) - Reviewed-by: Angel Pons - -diff --git a/Makefile b/Makefile -index f3f7717e..e475cbdb 100644 ---- a/Makefile -+++ b/Makefile -@@ -83,7 +83,8 @@ dummy_for_make_3_80:=$(shell printf "Build started on %s\n\n" "$$(date)" >$(BUIL - - # Provide an easy way to execute a command, print its output to stdout and capture any error message on stderr - # in the build details file together with the original stdout output. --debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(1) ; }' >&2; { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) -+debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(subst ','\'',$(1)) ; }' >&2; \ -+ { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) - - ############################################################################### - # General OS-specific settings. -@@ -106,7 +107,8 @@ endif - # IMPORTANT: The following line must be placed before TARGET_OS is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) -+override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null \ -+ | tail -1 | cut -f 2 -d'"')) - - ifeq ($(TARGET_OS), Darwin) - override CPPFLAGS += -I/opt/local/include -I/usr/local/include -@@ -490,8 +492,10 @@ endif - # IMPORTANT: The following line must be placed before ARCH is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) --override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#')) -+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \ -+ | tail -1 | cut -f 2 -d'"')) -+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \ -+ | tail -1)) - - # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel) - ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN)) -@@ -1299,12 +1303,12 @@ compiler: featuresavailable - @printf "Target arch is " - @# FreeBSD wc will output extraneous whitespace. - @echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ -- ( echo "unknown. Aborting."; exit 1) -+ ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1) - @printf "%s\n" '$(ARCH)' - @printf "Target OS is " - @# FreeBSD wc will output extraneous whitespace. - @echo $(TARGET_OS)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ -- ( echo "unknown. Aborting."; exit 1) -+ ( echo "unknown (\"$(TARGET_OS)\"). Aborting."; exit 1) - @printf "%s\n" '$(TARGET_OS)' - ifeq ($(TARGET_OS), libpayload) - @$(CC) --version 2>&1 | grep -q coreboot || \ From 8716f33d98d1c5fc967550cb35c459b4fb215518 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 29 May 2023 00:53:58 +0800 Subject: [PATCH 009/310] gnu: flashrom: Wrap PATH to find dmidecode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/flashing-tools.scm (flashrom)[inputs]: Add bash-minimal. [arguments]<#:phases>: Add phase 'wrap-program. Signed-off-by: Ludovic Courtès --- gnu/packages/flashing-tools.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index a1631b2940..19219a6d7e 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages admin) #: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) @@ -72,11 +73,20 @@ (base32 "08wn2j5vxzzvigflrjypgxxzjp32c76bshrlkzki5l6cad226lx0")))) (build-system meson-build-system) - (inputs (list dmidecode pciutils libusb libftdi libjaylink)) + (inputs (list bash-minimal dmidecode pciutils libusb libftdi libjaylink)) (native-inputs (list cmocka pkg-config)) (arguments (list #:configure-flags - #~'("-Dprogrammer=all"))) + #~'("-Dprogrammer=all") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs #:allow-other-keys) + (let ((flashrom (string-append #$output "/sbin/flashrom"))) + (wrap-program flashrom + `("PATH" ":" prefix + (,(dirname (search-input-file + inputs "/sbin/dmidecode"))))))))))) (home-page "https://flashrom.org/") (synopsis "Identify, read, write, erase, and verify ROM/flash chips") (description From 27fcbf3c818a610af5357367912971c1aee9cb82 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Wed, 22 Mar 2023 22:34:37 -0700 Subject: [PATCH 010/310] gnu: Add swig@4.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/swig.scm (swig-next): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/swig.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index 51024ef487..6e2fb8b4e9 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -67,3 +67,21 @@ you tailor the wrapping process to suit your application.") ;; See http://www.swig.org/Release/LICENSE for details. (license gpl3+))) + +(define-public swig-next + ;; a number of packages using swig do not build with this version + ;; so we need to keep swig 4.0.2 above and place the current release + ;; as swig-next + (package + (inherit swig) + (name "swig") + (version "4.1.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + name "-" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "16xc767gf5ip40jh698wbdrxrghli5v2c966bkdmrmpwv378mw1a")))) + (inputs (list pcre2)))) From 0c76e5f71a1ec4f5ac3f9b821568c1f64e6f2f24 Mon Sep 17 00:00:00 2001 From: Zongyuan Li Date: Sat, 25 Mar 2023 10:25:05 +0000 Subject: [PATCH 011/310] gnu: Add Buildah. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/containers.scm (buildah): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/containers.scm | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index b402bbde6a..463a834108 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2022 Tobias Geerinckx-Rice ;;; Copyright © 2022 Zhu Zihao ;;; Copyright © 2022 Michael Rohleder +;;; Copyright © 2023 Zongyuan Li ;;; ;;; This file is part of GNU Guix. ;;; @@ -396,3 +397,82 @@ configure network interfaces in Linux containers.") volumes mounted into those containers, and pods made from groups of containers.") (license license:asl2.0))) + +(define-public buildah + (package + (name "buildah") + (version "1.29.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/containers/buildah") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/containers/buildah/cmd/buildah" + #:unpack-path "github.com/containers/buildah" + + ;; Some dependencies require go-1.18 to build. + #:go go-1.18 + + #:tests? #f + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-install-docs + (lambda* (#:key unpack-path #:allow-other-keys) + (substitute* (string-append "src/" + unpack-path + "/docs/Makefile") + (("../tests/tools/build/go-md2man") + (which "go-md2man"))) + (substitute* (string-append "src/" + unpack-path + "/docs/Makefile") + (("/usr/local") (string-append #$output))))) + (add-after 'build 'build-docs + (lambda* (#:key unpack-path #:allow-other-keys) + (let ((doc (string-append "src/" unpack-path "/docs"))) + (invoke "make" "-C" doc)))) + (add-after 'install 'install-docs + (lambda* (#:key unpack-path #:allow-other-keys) + (let ((doc (string-append "src/" unpack-path "/docs"))) + (invoke "make" "-C" doc "install"))))))) + (inputs (list btrfs-progs + cni-plugins + conmon + eudev + glib + gpgme + libassuan + libseccomp + lvm2 + runc)) + (native-inputs + (list go-github-com-go-md2man + gnu-make + pkg-config)) + (synopsis "Build @acronym{OCI, Open Container Initiative} images") + (description + "Buildah is a command-line tool to build @acronym{OCI, Open Container +Initiative} container images. More generally, it can be used to: + +@itemize +@item +create a working container, either from scratch or using an image as a +starting point; +@item +create an image, either from a working container or via the instructions +in a @file{Dockerfile}; +@item +mount a working container's root filesystem for manipulation; +@item +use the updated contents of a container's root filesystem as a filesystem +layer to create a new image. +@end itemize") + (home-page "https://buildah.io") + (license license:asl2.0))) From aceb150d29832e824446b29fab821acda50531ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 2 Jun 2023 17:50:36 +0200 Subject: [PATCH 012/310] doc: Use the term "Procedure" for definitions. In an effort to homogenize things, commit 3c40dfe2851dd4ef48d2711f9f3531c06afbe1f2 replaced: @deffn {Scheme Procedure} with: @defun However, the latter prints "Function" when all existing material about Scheme uses the term "procedure". Thus, for consistency, this commit switches to: @deffn {Procedure} * doc/guix.texi, doc/contributing.texi: Use "@deffn {Procedure}" consistently rather than "@defun" or similar. --- doc/contributing.texi | 12 +- doc/guix.texi | 492 +++++++++++++++++++++--------------------- 2 files changed, 252 insertions(+), 252 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index f692872c04..958fc44cbd 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -617,7 +617,7 @@ A typical package definition may look like this: ))) @end lisp -@deffn {Scheme Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT} +@deffn {Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT} Return the version string for packages using @code{git-fetch}. @lisp @@ -626,7 +626,7 @@ Return the version string for packages using @code{git-fetch}. @end lisp @end deffn -@deffn {Scheme Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET} +@deffn {Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET} Return the version string for packages using @code{hg-fetch}. It works in the same way as @code{git-version}. @end deffn @@ -970,7 +970,7 @@ When the @var{author} contains hyphens or uppercase letters, as with The module @code{(guix build-system elm)} provides the following utilities for working with names and related conventions: -@deffn {Scheme procedure} elm-package-origin @var{elm-name} @var{version} @ +@deffn {Procedure} elm-package-origin @var{elm-name} @var{version} @ @var{hash} Returns a Git origin using the repository naming and tagging regime required for a published Elm package with the upstream name @var{elm-name} at version @@ -990,7 +990,7 @@ For example: @end lisp @end deffn -@deffn {Scheme procedure} elm->package-name @var{elm-name} +@deffn {Procedure} elm->package-name @var{elm-name} Returns the Guix-style package name for an Elm package with upstream name @var{elm-name}. @@ -998,13 +998,13 @@ Note that there is more than one possible @var{elm-name} for which @code{elm->package-name} will produce a given result. @end deffn -@deffn {Scheme procedure} guix-package->elm-name @var{package} +@deffn {Procedure} guix-package->elm-name @var{package} Given an Elm @var{package}, returns the possibly-inferred upstream name, or @code{#f} the upstream name is not specified via the @code{'upstream-name} property and can not be inferred by @code{infer-elm-package-name}. @end deffn -@deffn {Scheme procedure} infer-elm-package-name @var{guix-name} +@deffn {Procedure} infer-elm-package-name @var{guix-name} Given the @var{guix-name} of an Elm package, returns the inferred upstream name, or @code{#f} if the upstream name can't be inferred. If the result is not @code{#f}, supplying it to @code{elm->package-name} would produce diff --git a/doc/guix.texi b/doc/guix.texi index 0a7333c479..e6bff33a37 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5039,57 +5039,57 @@ be much faster because the Guix revision will be cached. The @code{(guix inferior)} module provides the following procedures to open an inferior: -@defun inferior-for-channels channels [#:cache-directory] [#:ttl] +@deffn {Procedure} inferior-for-channels channels [#:cache-directory] [#:ttl] Return an inferior for @var{channels}, a list of channels. Use the cache at @var{cache-directory}, where entries can be reclaimed after @var{ttl} seconds. This procedure opens a new connection to the build daemon. As a side effect, this procedure may build or substitute binaries for @var{channels}, which can take time. -@end defun +@end deffn -@defun open-inferior directory [#:command "bin/guix"] +@deffn {Procedure} open-inferior directory [#:command "bin/guix"] Open the inferior Guix in @var{directory}, running @code{@var{directory}/@var{command} repl} or equivalent. Return @code{#f} if the inferior could not be launched. -@end defun +@end deffn @cindex inferior packages The procedures listed below allow you to obtain and manipulate inferior packages. -@defun inferior-packages inferior +@deffn {Procedure} inferior-packages inferior Return the list of packages known to @var{inferior}. -@end defun +@end deffn -@defun lookup-inferior-packages inferior name [version] +@deffn {Procedure} lookup-inferior-packages inferior name [version] Return the sorted list of inferior packages matching @var{name} in @var{inferior}, with highest version numbers first. If @var{version} is true, return only packages with a version number prefixed by @var{version}. -@end defun +@end deffn -@defun inferior-package? obj +@deffn {Procedure} inferior-package? obj Return true if @var{obj} is an inferior package. -@end defun +@end deffn -@defun inferior-package-name package -@defunx inferior-package-version package -@defunx inferior-package-synopsis package -@defunx inferior-package-description package -@defunx inferior-package-home-page package -@defunx inferior-package-location package -@defunx inferior-package-inputs package -@defunx inferior-package-native-inputs package -@defunx inferior-package-propagated-inputs package -@defunx inferior-package-transitive-propagated-inputs package -@defunx inferior-package-native-search-paths package -@defunx inferior-package-transitive-native-search-paths package -@defunx inferior-package-search-paths package +@deffn {Procedure} inferior-package-name package +@deffnx {Procedure} inferior-package-version package +@deffnx {Procedure} inferior-package-synopsis package +@deffnx {Procedure} inferior-package-description package +@deffnx {Procedure} inferior-package-home-page package +@deffnx {Procedure} inferior-package-location package +@deffnx {Procedure} inferior-package-inputs package +@deffnx {Procedure} inferior-package-native-inputs package +@deffnx {Procedure} inferior-package-propagated-inputs package +@deffnx {Procedure} inferior-package-transitive-propagated-inputs package +@deffnx {Procedure} inferior-package-native-search-paths package +@deffnx {Procedure} inferior-package-transitive-native-search-paths package +@deffnx {Procedure} inferior-package-search-paths package These procedures are the counterpart of package record accessors (@pxref{package Reference}). Most of them work by querying the inferior @var{package} comes from, so the inferior must still be live when you call these procedures. -@end defun +@end deffn Inferior packages can be used transparently like any other package or file-like object in G-expressions (@pxref{G-Expressions}). They are also @@ -7720,7 +7720,7 @@ That derivation is stored in a @file{.drv} file under @file{/gnu/store}. The build actions it prescribes may then be realized by using the @code{build-derivations} procedure (@pxref{The Store}). -@defun package-derivation store package [system] +@deffn {Procedure} package-derivation store package [system] Return the @code{} object of @var{package} for @var{system} (@pxref{Derivations}). @@ -7729,21 +7729,21 @@ must be a string denoting the target system type---e.g., @code{"x86_64-linux"} for an x86_64 Linux-based GNU system. @var{store} must be a connection to the daemon, which operates on the store (@pxref{The Store}). -@end defun +@end deffn @noindent @cindex cross-compilation Similarly, it is possible to compute a derivation that cross-builds a package for some other system: -@defun package-cross-derivation store package target [system] +@deffn {Procedure} package-cross-derivation store package target [system] Return the @code{} object of @var{package} cross-built from @var{system} to @var{target}. @var{target} must be a valid GNU triplet denoting the target hardware and operating system, such as @code{"aarch64-linux-gnu"} (@pxref{Specifying Target Triplets,,, autoconf, Autoconf}). -@end defun +@end deffn Once you have package definitions, you can easily define @emph{variants} of those packages. @xref{Defining Package Variants}, for more on that. @@ -7972,10 +7972,10 @@ It is an error to refer to @code{this-package} outside a package definition. The following helper procedures are provided to help deal with package inputs. -@defun lookup-package-input package name -@defunx lookup-package-native-input package name -@defunx lookup-package-propagated-input package name -@defunx lookup-package-direct-input package name +@deffn {Procedure} lookup-package-input package name +@deffnx {Procedure} lookup-package-native-input package name +@deffnx {Procedure} lookup-package-propagated-input package name +@deffnx {Procedure} lookup-package-direct-input package name Look up @var{name} among @var{package}'s inputs (or native, propagated, or direct inputs). Return it if found, @code{#f} otherwise. @@ -7991,7 +7991,7 @@ use it: In this example we obtain the @code{gmp} package that is among the direct inputs of @code{coreutils}. -@end defun +@end deffn @cindex development inputs, of a package @cindex implicit inputs, of a package @@ -8000,7 +8000,7 @@ Sometimes you will want to obtain the list of inputs needed to package is compiled. This is what the @code{package-development-inputs} procedure returns. -@defun package-development-inputs package [system] [#:target #f] +@deffn {Procedure} package-development-inputs package [system] [#:target #f] Return the list of inputs required by @var{package} for development purposes on @var{system}. When @var{target} is true, return the inputs needed to cross-compile @var{package} from @var{system} to @@ -8031,7 +8031,7 @@ because @code{hello} has zero explicit dependencies. Conversely, gzip, GCC, libc, Bash, and more. To visualize it, @command{guix graph hello} would show you explicit inputs, whereas @command{guix graph -t bag hello} would include implicit inputs (@pxref{Invoking guix graph}). -@end defun +@end deffn Because packages are regular Scheme objects that capture a complete dependency graph and associated build procedures, it is often useful to @@ -8039,7 +8039,7 @@ write procedures that take a package and return a modified version thereof according to some parameters. Below are a few examples. @cindex tool chain, choosing a package's tool chain -@defun package-with-c-toolchain package toolchain +@deffn {Procedure} package-with-c-toolchain package toolchain Return a variant of @var{package} that uses @var{toolchain} instead of the default GNU C/C++ toolchain. @var{toolchain} must be a list of inputs (label/package tuples) providing equivalent functionality, such @@ -8060,7 +8060,7 @@ fields and is instead pulled in by the build system. Consequently, this procedure works by changing the build system of @var{package} so that it pulls in @var{toolchain} instead of the defaults. @ref{Build Systems}, for more on build systems. -@end defun +@end deffn @node origin Reference @subsection @code{origin} Reference @@ -8177,7 +8177,7 @@ retrieved is determined by its @code{method} field. The @code{(guix download)} module provides the most common method, @code{url-fetch}, described below. -@defun url-fetch url hash-algo hash [name] [#:executable? #f] +@deffn {Procedure} url-fetch url hash-algo hash [name] [#:executable? #f] Return a fixed-output derivation that fetches data from @var{url} (a string, or a list of strings denoting alternate URLs), which is expected to have hash @var{hash} of type @var{hash-algo} (a symbol). By default, @@ -8190,19 +8190,19 @@ interpreted as the name of a mirror scheme, taken from @file{%mirror-file}. Alternatively, when URL starts with @code{file://}, return the corresponding file name in the store. -@end defun +@end deffn Likewise, the @code{(guix git-download)} module defines the @code{git-fetch} origin method, which fetches data from a Git version control repository, and the @code{git-reference} data type to describe the repository and revision to fetch. -@defun git-fetch ref hash-algo hash +@deffn {Procedure} git-fetch ref hash-algo hash Return a fixed-output derivation that fetches @var{ref}, a @code{} object. The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as the file name, or a generic name if @code{#f}. -@end defun +@end deffn @deftp {Data Type} git-reference This data type represents a Git reference for @code{git-fetch} to @@ -8245,12 +8245,12 @@ For Mercurial repositories, the module @code{(guix hg-download)} defines the @code{hg-fetch} origin method and @code{hg-reference} data type for support of the Mercurial version control system. -@defun hg-fetch ref hash-algo hash [name] +@deffn {Procedure} hg-fetch ref hash-algo hash [name] Return a fixed-output derivation that fetches @var{ref}, a @code{} object. The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as the file name, or a generic name if @code{#false}. -@end defun +@end deffn @node Defining Package Variants @section Defining Package Variants @@ -8404,7 +8404,7 @@ These are pretty simple package variants. As a convenience, the that directly maps to the more sophisticated package transformation options (@pxref{Package Transformation Options}): -@defun options->transformation opts +@deffn {Procedure} options->transformation opts Return a procedure that, when passed an object to build (package, derivation, etc.), applies the transformations specified by @var{opts} and returns the resulting objects. @var{opts} must be a list of symbol/string pairs such as: @@ -8416,7 +8416,7 @@ the resulting objects. @var{opts} must be a list of symbol/string pairs such as Each symbol names a transformation and the corresponding string is an argument to that transformation. -@end defun +@end deffn For instance, a manifest equivalent to this command: @@ -8455,7 +8455,7 @@ Dependency graph rewriting, for the purposes of swapping packages in the graph, is what the @code{package-input-rewriting} procedure in @code{(guix packages)} implements. -@defun package-input-rewriting replacements [rewrite-name] [#:deep? #t] +@deffn {Procedure} package-input-rewriting replacements [rewrite-name] [#:deep? #t] Return a procedure that, when passed a package, replaces its direct and indirect dependencies, including implicit inputs when @var{deep?} is true, according to @var{replacements}. @var{replacements} is a list of @@ -8464,7 +8464,7 @@ and the second one is the replacement. Optionally, @var{rewrite-name} is a one-argument procedure that takes the name of a package and returns its new name after rewrite. -@end defun +@end deffn @noindent Consider this example: @@ -8489,7 +8489,7 @@ This is exactly what the @option{--with-input} command-line option does The following variant of @code{package-input-rewriting} can match packages to be replaced by name rather than by identity. -@deffn {Scheme Procedure} package-input-rewriting/spec @var{replacements} [#:deep? #t] +@deffn {Procedure} package-input-rewriting/spec @var{replacements} [#:deep? #t] Return a procedure that, given a package, applies the given @var{replacements} to all the package graph, including implicit inputs unless @var{deep?} is false. @@ -8517,12 +8517,12 @@ A more generic procedure to rewrite a package dependency graph is @code{package-mapping}: it supports arbitrary changes to nodes in the graph. -@defun package-mapping proc [cut?] [#:deep? #f] +@deffn {Procedure} package-mapping proc [cut?] [#:deep? #f] Return a procedure that, given a package, applies @var{proc} to all the packages depended on and returns the resulting package. The procedure stops recursion when @var{cut?} returns true for a given package. When @var{deep?} is true, @var{proc} is applied to implicit inputs as well. -@end defun +@end deffn @node Writing Manifests @section Writing Manifests @@ -8727,14 +8727,14 @@ related to a manifest entry coming from a @code{dependencies} field. @end table @end deftp -@defun concatenate-manifests lst +@deffn {Procedure} concatenate-manifests lst Concatenate the manifests listed in @var{lst} and return the resulting manifest. -@end defun +@end deffn @c TODO: , manifest-lookup, manifest-remove, etc. -@defun package->manifest-entry package [output] [#:properties] +@deffn {Procedure} package->manifest-entry package [output] [#:properties] Return a manifest entry for the @var{output} of package @var{package}, where @var{output} defaults to @code{"out"}, and with the given @var{properties}. By default @var{properties} is the empty list or, if @@ -8752,9 +8752,9 @@ output and the @code{send-email} output of the @code{git} package: (manifest (list (package->manifest-entry git) (package->manifest-entry git "send-email"))) @end lisp -@end defun +@end deffn -@defun packages->manifest packages +@deffn {Procedure} packages->manifest packages Return a list of manifest entries, one for each item listed in @var{packages}. Elements of @var{packages} can be either package objects or package/string tuples denoting a specific output of a @@ -8768,10 +8768,10 @@ concisely: (packages->manifest (list git `(,git "send-email"))) @end lisp -@end defun +@end deffn @anchor{package-development-manifest} -@defun package->development-manifest package [system] [#:target] +@deffn {Procedure} package->development-manifest package [system] [#:target] Return a manifest for the @dfn{development inputs} of @var{package} for @var{system}, optionally when cross-compiling to @var{target}. Development inputs include both explicit and implicit inputs of @@ -8799,7 +8799,7 @@ In this example, the development manifest that (GCC), the many supporting libraries (Boost, GLib, GTK, etc.), and a couple of additional development tools---these are the dependencies @command{guix show inkscape} lists. -@end defun +@end deffn @c TODO: Move (gnu packages) interface to a section of its own. @@ -8807,7 +8807,7 @@ Last, the @code{(gnu packages)} module provides higher-level facilities to build manifests. In particular, it lets you look up packages by name---see below. -@defun specifications->manifest specs +@deffn {Procedure} specifications->manifest specs Given @var{specs}, a list of specifications such as @code{"emacs@@25.2"} or @code{"guile:debug"}, return a manifest. Specs have the format that command-line tools such as @command{guix install} and @command{guix @@ -8824,7 +8824,7 @@ Notice that we do not need to worry about @code{use-modules}, importing the right set of modules, and referring to the right variables. Instead, we directly refer to packages in the same way as on the command line, which can often be more convenient. -@end defun +@end deffn @c TODO: specifications->package, etc. @@ -10314,54 +10314,54 @@ procedures provided by @code{(guix build utils)}. This section documents procedures that deal with store file names. -@defun %store-directory +@deffn {Procedure} %store-directory Return the directory name of the store. -@end defun +@end deffn -@defun store-file-name? file +@deffn {Procedure} store-file-name? file Return true if @var{file} is in the store. -@end defun +@end deffn -@defun strip-store-file-name file +@deffn {Procedure} strip-store-file-name file Strip the @file{/gnu/store} and hash from @var{file}, a store file name. The result is typically a @code{"@var{package}-@var{version}"} string. -@end defun +@end deffn -@defun package-name->name+version name +@deffn {Procedure} package-name->name+version name Given @var{name}, a package name like @code{"foo-0.9.1b"}, return two values: @code{"foo"} and @code{"0.9.1b"}. When the version part is unavailable, @var{name} and @code{#f} are returned. The first hyphen followed by a digit is considered to introduce the version part. -@end defun +@end deffn @subsection File Types The procedures below deal with files and file types. -@defun directory-exists? dir +@deffn {Procedure} directory-exists? dir Return @code{#t} if @var{dir} exists and is a directory. -@end defun +@end deffn -@defun executable-file? file +@deffn {Procedure} executable-file? file Return @code{#t} if @var{file} exists and is executable. -@end defun +@end deffn -@defun symbolic-link? file +@deffn {Procedure} symbolic-link? file Return @code{#t} if @var{file} is a symbolic link (aka. a ``symlink''). -@end defun +@end deffn -@defun elf-file? file -@defunx ar-file? file -@defunx gzip-file? file +@deffn {Procedure} elf-file? file +@deffnx {Procedure} ar-file? file +@deffnx {Procedure} gzip-file? file Return @code{#t} if @var{file} is, respectively, an ELF file, an @code{ar} archive (such as a @file{.a} static library), or a gzip file. -@end defun +@end deffn -@defun reset-gzip-timestamp file [#:keep-mtime? #t] +@deffn {Procedure} reset-gzip-timestamp file [#:keep-mtime? #t] If @var{file} is a gzip file, reset its embedded timestamp (as with @command{gzip --no-name}) and return true. Otherwise return @code{#f}. When @var{keep-mtime?} is true, preserve @var{file}'s modification time. -@end defun +@end deffn @subsection File Manipulation @@ -10382,20 +10382,20 @@ normal procedure return or @i{via} a non-local exit such as an exception. @end defmac -@defun mkdir-p dir +@deffn {Procedure} mkdir-p dir Create directory @var{dir} and all its ancestors. -@end defun +@end deffn -@defun install-file file directory +@deffn {Procedure} install-file file directory Create @var{directory} if it does not exist and copy @var{file} in there under the same name. -@end defun +@end deffn -@defun make-file-writable file +@deffn {Procedure} make-file-writable file Make @var{file} writable for its owner. -@end defun +@end deffn -@defun copy-recursively source destination @ +@deffn {Procedure} copy-recursively source destination @ [#:log (current-output-port)] [#:follow-symlinks? #f] @ [#:copy-file copy-file] [#:keep-mtime? #f] [#:keep-permissions? #t] Copy @var{source} directory to @var{destination}. Follow symlinks if @@ -10404,13 +10404,13 @@ Copy @var{source} directory to @var{destination}. Follow symlinks if keep the modification time of the files in @var{source} on those of @var{destination}. When @var{keep-permissions?} is true, preserve file permissions. Write verbose output to the @var{log} port. -@end defun +@end deffn -@defun delete-file-recursively dir [#:follow-mounts? #f] +@deffn {Procedure} delete-file-recursively dir [#:follow-mounts? #f] Delete @var{dir} recursively, like @command{rm -rf}, without following symlinks. Don't follow mount points either, unless @var{follow-mounts?} is true. Report but ignore errors. -@end defun +@end deffn @defmac substitute* file @ ((regexp match-var@dots{}) body@dots{}) @dots{} @@ -10448,12 +10448,12 @@ whole line ending with a backslash, one needs a regex like @cindex file, searching This section documents procedures to search and filter files. -@defun file-name-predicate regexp +@deffn {Procedure} file-name-predicate regexp Return a predicate that returns true when passed a file name whose base name matches @var{regexp}. -@end defun +@end deffn -@defun find-files dir [pred] @ +@deffn {Procedure} find-files dir [pred] @ [#:stat lstat] [#:directories? #f] [#:fail-on-error? #f] Return the lexicographically sorted list of files under @var{dir} for which @var{pred} returns true. @var{pred} is passed two arguments: the @@ -10464,7 +10464,7 @@ case it is equivalent to @code{(file-name-predicate @var{pred})}. that symlinks are not followed. If @var{directories?} is true, then directories will also be included. If @var{fail-on-error?} is true, raise an exception upon error. -@end defun +@end deffn Here are a few examples where we assume that the current directory is the root of the Guix source tree: @@ -10483,13 +10483,13 @@ the root of the Guix source tree: @result{} ("./libformat.a" "./libstore.a" @dots{}) @end lisp -@defun which program +@deffn {Procedure} which program Return the complete file name for @var{program} as found in @code{$PATH}, or @code{#f} if @var{program} could not be found. -@end defun +@end deffn -@defun search-input-file inputs name -@defunx search-input-directory inputs name +@deffn {Procedure} search-input-file inputs name +@deffnx {Procedure} search-input-directory inputs name Return the complete file name for @var{name} as found in @var{inputs}; @code{search-input-file} searches for a regular file and @code{search-input-directory} searches for a directory. If @var{name} @@ -10498,7 +10498,7 @@ could not be found, an exception is raised. Here, @var{inputs} must be an association list like @code{inputs} and @code{native-inputs} as available to build phases (@pxref{Build Phases}). -@end defun +@end deffn Here is a (simplified) example of how @code{search-input-file} is used in a build phase of the @code{wireguard-tools} package: @@ -10521,7 +10521,7 @@ You'll find handy procedures to spawn processes in this module, essentially convenient wrappers around Guile's @code{system*} (@pxref{Processes, @code{system*},, guile, GNU Guile Reference Manual}). -@defun invoke program args@dots{} +@deffn {Procedure} invoke program args@dots{} Invoke @var{program} with the given @var{args}. Raise an @code{&invoke-error} exception if the exit code is non-zero; otherwise return @code{#t}. @@ -10529,21 +10529,21 @@ return @code{#t}. The advantage compared to @code{system*} is that you do not need to check the return value. This reduces boilerplate in shell-script-like snippets for instance in package build phases. -@end defun +@end deffn -@defun invoke-error? c +@deffn {Procedure} invoke-error? c Return true if @var{c} is an @code{&invoke-error} condition. -@end defun +@end deffn -@defun invoke-error-program c -@defunx invoke-error-arguments c -@defunx invoke-error-exit-status c -@defunx invoke-error-term-signal c -@defunx invoke-error-stop-signal c +@deffn {Procedure} invoke-error-program c +@deffnx {Procedure} invoke-error-arguments c +@deffnx {Procedure} invoke-error-exit-status c +@deffnx {Procedure} invoke-error-term-signal c +@deffnx {Procedure} invoke-error-stop-signal c Access specific fields of @var{c}, an @code{&invoke-error} condition. -@end defun +@end deffn -@defun report-invoke-error c [port] +@deffn {Procedure} report-invoke-error c [port] Report to @var{port} (by default the current error port) about @var{c}, an @code{&invoke-error} condition, in a human-friendly way. @@ -10559,9 +10559,9 @@ Typical usage would look like this: @print{} command "date" "--imaginary-option" failed with status 1 @end lisp -@end defun +@end deffn -@defun invoke/quiet program args@dots{} +@deffn {Procedure} invoke/quiet program args@dots{} Invoke @var{program} with @var{args} and capture @var{program}'s standard output and standard error. If @var{program} succeeds, print nothing and return the unspecified value; otherwise, raise a @@ -10585,7 +10585,7 @@ Here's an example: date: unrecognized option '--imaginary-option' Try 'date --help' for more information. @end lisp -@end defun +@end deffn @subsection Build Phases @@ -10695,7 +10695,7 @@ are always found. The wrapper would be used to set @env{PATH}, To ease that task, the @code{(guix build utils)} module provides a couple of helpers to wrap commands. -@defun wrap-program program [#:sh sh] [#:rest variables] +@deffn {Procedure} wrap-program program [#:sh sh] [#:rest variables] Make a wrapper for @var{program}. @var{variables} should look like this: @lisp @@ -10727,9 +10727,9 @@ exec -a $0 location/of/.foo-real "$@@" If @var{program} has previously been wrapped by @code{wrap-program}, the wrapper is extended with definitions for @var{variables}. If it is not, @var{sh} will be used as the interpreter. -@end defun +@end deffn -@defun wrap-script program [#:guile guile] [#:rest variables] +@deffn {Procedure} wrap-script program [#:guile guile] [#:rest variables] Wrap the script @var{program} such that @var{variables} are set first. The format of @var{variables} is the same as in the @code{wrap-program} procedure. This procedure differs from @code{wrap-program} in that it @@ -10742,7 +10742,7 @@ second line. Note that this procedure can only be used once per file as Guile scripts are not supported. -@end defun +@end deffn @node Search Paths @section Search Paths @@ -10931,12 +10931,12 @@ How do you turn search path specifications on one hand and a bunch of directories on the other hand in a set of environment variable definitions? That's the job of @code{evaluate-search-paths}. -@defun evaluate-search-paths search-paths directories [getenv] +@deffn {Procedure} evaluate-search-paths search-paths directories [getenv] Evaluate @var{search-paths}, a list of search-path specifications, for @var{directories}, a list of directory names, and return a list of specification/value pairs. Use @var{getenv} to determine the current settings and report only settings not already effective. -@end defun +@end deffn The @code{(guix profiles)} provides a higher-level helper procedure, @code{load-profile}, that sets the environment variables of a profile. @@ -11040,7 +11040,7 @@ share any problems or suggestions you may have (@pxref{Contributing}). @end quotation @end defvr -@defun open-connection [uri] [#:reserve-space? #t] +@deffn {Procedure} open-connection [uri] [#:reserve-space? #t] Connect to the daemon over the Unix-domain socket at @var{uri} (a string). When @var{reserve-space?} is true, instruct it to reserve a little bit of extra space on the file system so that the garbage collector can still @@ -11048,11 +11048,11 @@ operate should the disk become full. Return a server object. @var{file} defaults to @code{%default-socket-path}, which is the normal location given the options that were passed to @command{configure}. -@end defun +@end deffn -@defun close-connection server +@deffn {Procedure} close-connection server Close the connection to @var{server}. -@end defun +@end deffn @defvar current-build-output-port This variable is bound to a SRFI-39 parameter, which refers to the port @@ -11063,7 +11063,7 @@ Procedures that make RPCs all take a server object as their first argument. @cindex invalid store items -@defun valid-path? server path +@deffn {Procedure} valid-path? server path Return @code{#t} when @var{path} designates a valid store item and @code{#f} otherwise (an invalid item may exist on disk but still be invalid, for instance because it is the result of an aborted or failed @@ -11071,19 +11071,19 @@ build). A @code{&store-protocol-error} condition is raised if @var{path} is not prefixed by the store directory (@file{/gnu/store}). -@end defun +@end deffn -@defun add-text-to-store server name text [references] +@deffn {Procedure} add-text-to-store server name text [references] Add @var{text} under file @var{name} in the store, and return its store path. @var{references} is the list of store paths referred to by the resulting store path. -@end defun +@end deffn -@defun build-derivations store derivations [mode] +@deffn {Procedure} build-derivations store derivations [mode] Build @var{derivations}, a list of @code{} objects, @file{.drv} file names, or derivation/output pairs, using the specified @var{mode}---@code{(build-mode normal)} by default. -@end defun +@end deffn Note that the @code{(guix monads)} module provides a monad as well as monadic versions of the above procedures, with the goal of making it @@ -11157,7 +11157,7 @@ derivations as Scheme objects, along with procedures to create and otherwise manipulate derivations. The lowest-level primitive to create a derivation is the @code{derivation} procedure: -@defun derivation store name builder args @ +@deffn {Procedure} derivation store name builder args @ [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-system)] [#:references-graphs #f] @ @@ -11203,7 +11203,7 @@ host CPU instruction set. @var{properties} must be an association list describing ``properties'' of the derivation. It is kept as-is, uninterpreted, in the derivation. -@end defun +@end deffn @noindent Here's an example with a shell script as its builder, assuming @@ -11236,7 +11236,7 @@ derivations with build code written in Scheme was achieved with @code{build-expression->derivation}, documented below. This procedure is now deprecated in favor of the much nicer @code{gexp->derivation}. -@defun build-expression->derivation store name exp @ +@deffn {Procedure} build-expression->derivation store name exp @ [#:system (%current-system)] [#:inputs '()] @ [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ @@ -11268,7 +11268,7 @@ See the @code{derivation} procedure for the meaning of @var{references-graphs}, @var{allowed-references}, @var{disallowed-references}, @var{local-build?}, and @var{substitutable?}. -@end defun +@end deffn @noindent Here's an example of a single-output derivation that creates a directory @@ -11521,10 +11521,10 @@ Pop a value from the current state and return it as a monadic value. The state is assumed to be a list. @end deffn -@defun run-with-state mval [state] +@deffn {Procedure} run-with-state mval [state] Run monadic value @var{mval} starting with @var{state} as the initial state. Return two values: the resulting value, and the resulting state. -@end defun +@end deffn The main interface to the store monad, provided by the @code{(guix store)} module, is as follows. @@ -11537,11 +11537,11 @@ effect is needed, a value of the store monad must be ``evaluated'' by passing it to the @code{run-with-store} procedure (see below). @end defvar -@defun run-with-store store mval @ +@deffn {Procedure} run-with-store store mval @ [#:guile-for-build] [#:system (%current-system)] Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection. -@end defun +@end deffn @deffn {Monadic Procedure} text-file @var{name} @var{text} [@var{references}] Return as a monadic value the absolute file name in the store of the file @@ -11885,9 +11885,9 @@ are also added to the load path of the gexp returned by @var{body}@dots{}. @end defmac -@defun gexp? obj +@deffn {Procedure} gexp? obj Return @code{#t} if @var{obj} is a G-expression. -@end defun +@end deffn G-expressions are meant to be written to disk, either as code building some derivation, or as plain files in the store. The monadic procedures @@ -11974,7 +11974,7 @@ does not have any effect on what the G-expression does. @code{plain-file} can be used similarly; it differs in that the file content is directly passed as a string. -@defun local-file file [name] [#:recursive? #f] [#:select? (const #t)] +@deffn {Procedure} local-file file [name] [#:recursive? #f] [#:select? (const #t)] Return an object representing local file @var{file} to add to the store; this object can be used in a gexp. If @var{file} is a literal string denoting a relative file name, it is looked up relative to the source @@ -11994,23 +11994,23 @@ entries for which @var{select?} does not return true. This is the declarative counterpart of the @code{interned-file} monadic procedure (@pxref{The Store Monad, @code{interned-file}}). -@end defun +@end deffn -@defun plain-file name content +@deffn {Procedure} plain-file name content Return an object representing a text file called @var{name} with the given @var{content} (a string or a bytevector) to be added to the store. This is the declarative counterpart of @code{text-file}. -@end defun +@end deffn -@defun computed-file name gexp [#:local-build? #t] [#:options '()] +@deffn {Procedure} computed-file name gexp [#:local-build? #t] [#:options '()] Return an object representing the store item @var{name}, a file or directory computed by @var{gexp}. When @var{local-build?} is true (the default), the derivation is built locally. @var{options} is a list of additional arguments to pass to @code{gexp->derivation}. This is the declarative counterpart of @code{gexp->derivation}. -@end defun +@end deffn @deffn {Monadic Procedure} gexp->script @var{name} @var{exp} @ [#:guile (default-guile)] [#:module-path %load-path] @ @@ -12041,13 +12041,13 @@ executable file @file{/gnu/store/@dots{}-list-files} along these lines: @end example @end deffn -@defun program-file name exp [#:guile #f] [#:module-path %load-path] +@deffn {Procedure} program-file name exp [#:guile #f] [#:module-path %load-path] Return an object representing the executable store item @var{name} that runs @var{gexp}. @var{guile} is the Guile package used to execute that script. Imported modules of @var{gexp} are looked up in @var{module-path}. This is the declarative counterpart of @code{gexp->script}. -@end defun +@end deffn @deffn {Monadic Procedure} gexp->file @var{name} @var{exp} @ [#:set-load-path? #t] [#:module-path %load-path] @ @@ -12066,12 +12066,12 @@ The resulting file holds references to all the dependencies of @var{exp} or a subset thereof. @end deffn -@defun scheme-file name exp [#:splice? #f] [#:set-load-path? #t] +@deffn {Procedure} scheme-file name exp [#:splice? #f] [#:set-load-path? #t] Return an object representing the Scheme file @var{name} that contains @var{exp}. This is the declarative counterpart of @code{gexp->file}. -@end defun +@end deffn @deffn {Monadic Procedure} text-file* @var{name} @var{text} @dots{} Return as a monadic value a derivation that builds a text file @@ -12099,7 +12099,7 @@ will reference @var{coreutils}, @var{grep}, and @var{sed}, thereby preventing them from being garbage-collected during its lifetime. @end deffn -@defun mixed-text-file name text @dots{} +@deffn {Procedure} mixed-text-file name text @dots{} Return an object representing store file @var{name} containing @var{text}. @var{text} is a sequence of strings and file-like objects, as in: @@ -12110,9 +12110,9 @@ as in: @end lisp This is the declarative counterpart of @code{text-file*}. -@end defun +@end deffn -@defun file-union name files +@deffn {Procedure} file-union name files Return a @code{} that builds a directory containing all of @var{files}. Each item in @var{files} must be a two-element list where the first element is the file name to use in the new directory, and the second element is a gexp @@ -12127,9 +12127,9 @@ denoting the target file. Here's an example: @end lisp This yields an @code{etc} directory containing these two files. -@end defun +@end deffn -@defun directory-union name things +@deffn {Procedure} directory-union name things Return a directory that is the union of @var{things}, where @var{things} is a list of file-like objects denoting directories. For example: @@ -12138,9 +12138,9 @@ file-like objects denoting directories. For example: @end lisp yields a directory that is the union of the @code{guile} and @code{emacs} packages. -@end defun +@end deffn -@defun file-append obj suffix @dots{} +@deffn {Procedure} file-append obj suffix @dots{} Return a file-like object that expands to the concatenation of @var{obj} and @var{suffix}, where @var{obj} is a lowerable object and each @var{suffix} is a string. @@ -12165,7 +12165,7 @@ There is one difference though: in the @code{file-append} case, the resulting script contains the absolute file name as a string, whereas in the second case, the resulting script contains a @code{(string-append @dots{})} expression to construct the file name @emph{at run time}. -@end defun +@end deffn @defmac let-system system body@dots{} @defmacx let-system (system target) body@dots{} @@ -12232,7 +12232,7 @@ corresponding to @var{obj} for @var{system}, cross-compiling for has an associated gexp compiler, such as a @code{}. @end deffn -@defun gexp->approximate-sexp gexp +@deffn {Procedure} gexp->approximate-sexp gexp Sometimes, it may be useful to convert a G-exp into a S-exp. For example, some linters (@pxref{Invoking guix lint}) peek into the build phases of a package to detect potential problems. This conversion can @@ -12240,7 +12240,7 @@ be achieved with this procedure. However, some information can be lost in the process. More specifically, lowerable objects will be silently replaced with some arbitrary object -- currently the list @code{(*approximate*)}, but this may change. -@end defun +@end deffn @node Invoking guix repl @section Invoking @command{guix repl} @@ -17162,7 +17162,7 @@ example for an encrypted partition (@pxref{Mapped Devices}). @end table @end deftp -@defun file-system-label str +@deffn {Procedure} file-system-label str This procedure returns an opaque file system label from @var{str}, a string: @@ -17173,7 +17173,7 @@ string: File system labels are used to refer to file systems by label rather than by device name. See above for examples. -@end defun +@end deffn The @code{(gnu system file-systems)} exports the following useful variables. @@ -17224,7 +17224,7 @@ and unmount user-space FUSE file systems. This requires the The @code{(gnu system uuid)} module provides tools to deal with file system ``unique identifiers'' (UUIDs). -@defun uuid str [type] +@deffn {Procedure} uuid str [type] Return an opaque UUID (unique identifier) object of the given @var{type} (a symbol) by parsing @var{str} (a string): @@ -17241,7 +17241,7 @@ Return an opaque UUID (unique identifier) object of the given @var{type} UUIDs are another way to unambiguously refer to file systems in operating system configuration. See the examples above. -@end defun +@end deffn @menu @@ -17909,13 +17909,13 @@ optional variant name, an optional keyboard model name, and a possibly empty list of additional options. In most cases the layout name is all you care about. -@defun keyboard-layout name [variant] [#:model] [#:options '()] +@deffn {Procedure} keyboard-layout name [variant] [#:model] [#:options '()] Return a new keyboard layout with the given @var{name} and @var{variant}. @var{name} must be a string such as @code{"fr"}; @var{variant} must be a string such as @code{"bepo"} or @code{"nodeadkeys"}. See the @code{xkeyboard-config} package for valid options. -@end defun +@end deffn Here are a few examples: @@ -18307,7 +18307,7 @@ to add a special file is @i{via} the @code{extra-special-file} procedure (see below). @end defvar -@defun extra-special-file file target +@deffn {Procedure} extra-special-file file target Use @var{target} as the ``special file'' @var{file}. For example, adding the following lines to the @code{services} field of @@ -18318,7 +18318,7 @@ symlink: (extra-special-file "/usr/bin/env" (file-append coreutils "/bin/env")) @end lisp -@end defun +@end deffn @defvar host-name-service-type Type of the service that sets the system host name, whose value @@ -18392,14 +18392,14 @@ alias of @code{localhost}. @end defvar -@defun host @var{address} @var{canonical-name} [@var{aliases}] +@deffn {Procedure} host @var{address} @var{canonical-name} [@var{aliases}] Return a new record for the host at @var{address} with the given @var{canonical-name} and possibly @var{aliases}. @var{address} must be a string denoting a valid IPv4 or IPv6 address, and @var{canonical-name} and the strings listed in @var{aliases} must be valid host names. -@end defun +@end deffn @defvar login-service-type Type of the service that provides a console login service, whose value @@ -19011,7 +19011,7 @@ List of file-like objects denoting udev-rule files. @end table @end deftp -@defun udev-rule @var{file-name} @var{contents} +@deffn {Procedure} udev-rule @var{file-name} @var{contents} Return a udev-rule file named @var{file-name} containing the rules defined by the @var{contents} literal. @@ -19027,9 +19027,9 @@ upon detecting a USB device with a given product identifier. "ATTR@{product@}==\"Example\", " "RUN+=\"/path/to/script\""))) @end lisp -@end defun +@end deffn -@defun udev-rules-service @var{name} @var{rules} [#:groups '()] +@deffn {Procedure} udev-rules-service @var{name} @var{rules} [#:groups '()] Return a service that extends @code{udev-service-type} with @var{rules} and @code{account-service-type} with @var{groups} as system groups. This works by creating a singleton service type @@ -19046,9 +19046,9 @@ with the previously defined rule @code{%example-udev-rule}. (cons (udev-rules-service 'usb-thing %example-udev-rule) %desktop-services))) @end lisp -@end defun +@end deffn -@defun file->udev-rule @var{file-name} @var{file} +@deffn {Procedure} file->udev-rule @var{file-name} @var{file} Return a udev-rule file named @var{file-name} containing the rules defined within @var{file}, a file-like object. @@ -19070,7 +19070,7 @@ The following example showcases how we can use an existing rule file. (sha256 (base32 "0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003")))))) @end lisp -@end defun +@end deffn Additionally, Guix package definitions can be included in @var{rules} in order to extend the udev rules with the definitions found under their @@ -22532,22 +22532,22 @@ default is @code{-nolisten tcp}. @end table @end deftp -@defun set-xorg-configuration config [login-manager-service-type] +@deffn {Procedure} set-xorg-configuration config [login-manager-service-type] Tell the log-in manager (of type @var{login-manager-service-type}) to use @var{config}, an @code{} record. Since the Xorg configuration is embedded in the log-in manager's configuration---e.g., @code{gdm-configuration}---this procedure provides a shorthand to set the Xorg configuration. -@end defun +@end deffn -@defun xorg-start-command [config] +@deffn {Procedure} xorg-start-command [config] Return a @code{startx} script in which the modules, fonts, etc. specified in @var{config}, are available. The result should be used in place of @code{startx}. Usually the X server is started by a login manager. -@end defun +@end deffn @defvar screen-locker-service-type @@ -23981,7 +23981,7 @@ a system which relies on @code{%desktop-services}, you may use @end lisp @end defvar -@defun geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] +@deffn {Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] Return a configuration allowing an application to access GeoClue location data. @var{name} is the Desktop ID of the application, without the @code{.desktop} part. If @var{allowed?} is true, the application @@ -23990,7 +23990,7 @@ will have access to location information by default. The boolean or not. Finally @var{users} is a list of UIDs of all users for which this application is allowed location info access. An empty users list means that all users are allowed. -@end defun +@end deffn @defvar %standard-geoclue-applications The standard list of well-known GeoClue application configurations, @@ -27952,7 +27952,7 @@ client is already being used. Otherwise, the procedures provided by this module can be used to obtain a suitable hash value. -@defun transmission-password-hash password salt +@deffn {Procedure} transmission-password-hash password salt Returns a string containing the result of hashing @var{password} together with @var{salt}, in the format recognized by Transmission clients for their @code{rpc-password} configuration setting. @@ -27960,13 +27960,13 @@ clients for their @code{rpc-password} configuration setting. @var{salt} must be an eight-character string. The @code{transmission-random-salt} procedure can be used to generate a suitable salt value at random. -@end defun +@end deffn -@defun transmission-random-salt +@deffn {Procedure} transmission-random-salt Returns a string containing a random, eight-character salt value of the type generated and used by Transmission clients, suitable for passing to the @code{transmission-password-hash} procedure. -@end defun +@end deffn These procedures are accessible from within a Guile REPL started with the @command{guix repl} command (@pxref{Invoking guix repl}). This is @@ -31105,11 +31105,11 @@ The time in seconds after which a process with no requests is killed. @end deftp -@defun nginx-php-location [#:nginx-package nginx] @ +@deffn {Procedure} nginx-php-location [#:nginx-package nginx] @ [socket (string-append "/var/run/php" @ (version-major (package-version php)) "-fpm.sock")] A helper function to quickly add php to an @code{nginx-server-configuration}. -@end defun +@end deffn A simple services setup for nginx with php can look like this: @lisp @@ -31132,7 +31132,7 @@ The cat avatar generator is a simple service to demonstrate the use of php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for instance the hash of a user's email address. -@defun cat-avatar-generator-service @ +@deffn {Procedure} cat-avatar-generator-service @ [#:cache-dir "/var/cache/cat-avatar-generator"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] @@ -31140,7 +31140,7 @@ Returns an nginx-server-configuration that inherits @code{configuration}. It extends the nginx configuration to add a server block that serves @code{package}, a version of cat-avatar-generator. During execution, cat-avatar-generator will be able to use @code{cache-dir} as its cache directory. -@end defun +@end deffn A simple setup for cat-avatar-generator can look like this: @lisp @@ -33165,7 +33165,7 @@ providing substitutes to others (@pxref{Substitutes}). The @code{(gnu services cuirass)} module provides the following service. -@defvr {Scheme Procedure} cuirass-service-type +@defvr {Procedure} cuirass-service-type The type of the Cuirass service. Its value must be a @code{cuirass-configuration} object, as described below. @end defvr @@ -33392,7 +33392,7 @@ instead uses version-controllable configuration files and scripts. Laminar encourages the use of existing tools such as bash and cron instead of reinventing them. -@defvr {Scheme Procedure} laminar-service-type +@defvar laminar-service-type The type of the Laminar service. Its value must be a @code{laminar-configuration} object, as described below. @@ -33403,7 +33403,7 @@ available on port 8080. @lisp (service laminar-service-type) @end lisp -@end defvr +@end defvar @deftp {Data Type} laminar-configuration Data type representing the configuration of Laminar. @@ -35153,20 +35153,20 @@ The QEMU package to use. @end table @end deftp -@defun lookup-qemu-platforms platforms@dots{} +@deffn {Procedure} lookup-qemu-platforms platforms@dots{} Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}. @var{platforms} must be a list of strings corresponding to platform names, such as @code{"arm"}, @code{"sparc"}, @code{"mips64el"}, and so on. -@end defun +@end deffn -@defun qemu-platform? obj +@deffn {Procedure} qemu-platform? obj Return true if @var{obj} is a platform object. -@end defun +@end deffn -@defun qemu-platform-name platform +@deffn {Procedure} qemu-platform-name platform Return the name of @var{platform}---a string such as @code{"arm"}. -@end defun +@end deffn @subsubheading QEMU Guest Agent @@ -35662,27 +35662,27 @@ Alignment of the partition in sectors. @end table @end deftp -@defun debootstrap-variant name configuration +@deffn {Procedure} debootstrap-variant name configuration This is a helper procedure that creates a @code{ganeti-os-variant} record. It takes two parameters: a name and a @code{debootstrap-configuration} object. -@end defun +@end deffn -@defun debootstrap-os variants@dots{} +@deffn {Procedure} debootstrap-os variants@dots{} This is a helper procedure that creates a @code{ganeti-os} record. It takes a list of variants created with @code{debootstrap-variant}. -@end defun +@end deffn -@defun guix-variant name configuration +@deffn {Procedure} guix-variant name configuration This is a helper procedure that creates a @code{ganeti-os-variant} record for use with the Guix OS provider. It takes a name and a G-expression that returns a ``file-like'' (@pxref{G-Expressions, file-like objects}) object containing a Guix System configuration. -@end defun +@end deffn -@defun guix-os variants@dots{} +@deffn {Procedure} guix-os variants@dots{} This is a helper procedure that creates a @code{ganeti-os} record. It takes a list of variants produced by @code{guix-variant}. -@end defun +@end deffn @defvar %default-debootstrap-variants This is a convenience variable to make the debootstrap provider work @@ -36180,7 +36180,7 @@ create an @code{nginx-location-configuration} from a @code{git-http-configuration} and then add that location to a web server. -@defun git-http-nginx-location-configuration @ +@deffn {Procedure} git-http-nginx-location-configuration @ [config=(git-http-configuration)] Compute an @code{nginx-location-configuration} that corresponds to the given Git http configuration. An example nginx service definition to @@ -36209,7 +36209,7 @@ certificate. @xref{Certificate Services}. The default @code{certbot} service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS@. You will also need to add an @code{fcgiwrap} proxy to your system services. @xref{Web Services}. -@end defun +@end deffn @subsubheading Cgit Service @@ -38890,7 +38890,7 @@ is an example of a basic, explicit configuration: @end lisp @end defvar -@defun fail2ban-jail-service svc-type jail +@deffn {Procedure} fail2ban-jail-service svc-type jail Extend @var{svc-type}, a @code{} object with @var{jail}, a @code{fail2ban-jail-configuration} object. @@ -38910,7 +38910,7 @@ For example: (enabled? #t))) (openssh-configuration ...)))) @end lisp -@end defun +@end deffn Below is the reference for the different @code{jail-service-type} configuration records. @@ -39518,7 +39518,7 @@ here is how to use it and customize it further. @cindex initrd @cindex initial RAM disk -@defun raw-initrd file-systems @ +@deffn {Procedure} raw-initrd file-systems @ [#:linux-modules '()] [#:pre-mount #t] [#:mapped-devices '()] @ [#:keyboard-layout #f] [#:helper-packages '()] @ [#:qemu-networking? #f] [#:volatile-root? #f] @@ -39547,9 +39547,9 @@ initrd can be used as a QEMU guest with para-virtualized I/O drivers. When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost. -@end defun +@end deffn -@defun base-initrd file-systems @ +@deffn {Procedure} base-initrd file-systems @ [#:mapped-devices '()] [#:keyboard-layout #f] @ [#:qemu-networking? #f] [#:volatile-root? #f] @ [#:linux-modules '()] @@ -39571,7 +39571,7 @@ The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options. Additional kernel modules can be listed in @var{linux-modules}. They will be added to the initrd, and loaded at boot time in the order in which they appear. -@end defun +@end deffn Needless to say, the initrds we produce and use embed a statically-linked Guile, and the initialization program is a Guile @@ -39579,13 +39579,13 @@ program. That gives a lot of flexibility. The @code{expression->initrd} procedure builds such an initrd, given the program to run in that initrd. -@defun expression->initrd exp @ +@deffn {Procedure} expression->initrd exp @ [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return as a file-like object a Linux initrd (a gzipped cpio archive) containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All the derivations referenced by @var{exp} are automatically copied to the initrd. -@end defun +@end deffn @node Bootloader Configuration @section Bootloader Configuration @@ -39931,14 +39931,14 @@ The GRUB @code{gfxmode} to set (a list of screen resolution strings, @end table @end deftp -@defun grub-theme +@deffn {Procedure} grub-theme Return the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} record. It comes with a fancy background image displaying the GNU and Guix logos. -@end defun +@end deffn For example, to override the default resolution, you may use something like @@ -41190,7 +41190,7 @@ Services}). This section provides a reference on how to manipulate services and service types. This interface is provided by the @code{(gnu services)} module. -@defun service type [value] +@deffn {Procedure} service type [value] Return a new service of @var{type}, a @code{} object (see below). @var{value} can be any object; it represents the parameters of this particular service instance. @@ -41215,20 +41215,20 @@ is equivalent to this: In both cases the result is an instance of @code{openssh-service-type} with the default configuration. -@end defun +@end deffn -@defun service? obj +@deffn {Procedure} service? obj Return true if @var{obj} is a service. -@end defun +@end deffn -@defun service-kind service +@deffn {Procedure} service-kind service Return the type of @var{service}---i.e., a @code{} object. -@end defun +@end deffn -@defun service-value service +@deffn {Procedure} service-value service Return the value associated with @var{service}. It represents its parameters. -@end defun +@end deffn Here is an example of how a service is created and manipulated: @@ -41349,23 +41349,23 @@ The returned service in this case has the default value specified by @xref{Service Types and Services}, for examples. @end deftp -@defun service-extension target-type compute +@deffn {Procedure} service-extension target-type compute Return a new extension for services of type @var{target-type}. @var{compute} must be a one-argument procedure: @code{fold-services} calls it, passing it the value associated with the service that provides the extension; it must return a valid value for the target service. -@end defun +@end deffn -@defun service-extension? obj +@deffn {Procedure} service-extension? obj Return true if @var{obj} is a service extension. -@end defun +@end deffn Occasionally, you might want to simply extend an existing service. This involves creating a new service type and specifying the extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this. -@defun simple-service name target value +@deffn {Procedure} simple-service name target value Return a service that extends @var{target} with @var{value}. This works by creating a singleton service type @var{name}, of which the returned service is an instance. @@ -41377,7 +41377,7 @@ an additional job: (simple-service 'my-mcron-job mcron-service-type #~(job '(next-hour (3)) "guix gc -F 2G")) @end lisp -@end defun +@end deffn At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of services @@ -41387,10 +41387,10 @@ command (@pxref{Invoking guix system}). In essence, it propagates service extensions down the service graph, updating each node parameters on the way, until it reaches the root node. -@defun fold-services services [#:target-type system-service-type] +@deffn {Procedure} fold-services services [#:target-type system-service-type] Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly. -@end defun +@end deffn Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below. @@ -41673,7 +41673,7 @@ info on actions. @end deftp @cindex configuration file, of Shepherd services -@defun shepherd-configuration-action +@deffn {Procedure} shepherd-configuration-action Return a @code{configuration} action to display @var{file}, which should be the name of the service's configuration file. @@ -41703,7 +41703,7 @@ cat $(herd configuration tor) @end example This can come in as a handy debugging tool! -@end defun +@end deffn @defvar shepherd-root-service-type The service type for the Shepherd ``root service''---i.e., PID@tie{}1. @@ -41958,28 +41958,28 @@ whether its value is set or not. @end lisp @end defmac -@defun maybe-value-set? value +@deffn {Procedure} maybe-value-set? value Predicate to check whether a user explicitly specified the value of a maybe field. -@end defun +@end deffn -@defun serialize-configuration configuration fields +@deffn {Procedure} serialize-configuration configuration fields Return a G-expression that contains the values corresponding to the @var{fields} of @var{configuration}, a record that has been generated by @code{define-configuration}. The G-expression can then be serialized to disk by using something like @code{mixed-text-file}. -@end defun +@end deffn -@defun empty-serializer field-name value +@deffn {Procedure} empty-serializer field-name value A serializer that just returns an empty string. The @code{serialize-package} procedure is an alias for this. -@end defun +@end deffn Once you have defined a configuration record, you will most likely also want to document it so that other people know to use it. To help with that, there are two procedures, both of which are documented below. -@defun generate-documentation documentation documentation-name +@deffn {Procedure} generate-documentation documentation documentation-name Generate a Texinfo fragment from the docstrings in @var{documentation}, a list of @code{(@var{label} @var{fields} @var{sub-documentation} ...)}. @var{label} should be a symbol and should be the name of the @@ -42009,15 +42009,15 @@ record in one of its @code{rcfile} field, therefore documentation for @var{documentation-name} should be a symbol and should be the name of the configuration record. -@end defun +@end deffn -@defun configuration->documentation configuration-symbol +@deffn {Procedure} configuration->documentation configuration-symbol Take @var{configuration-symbol}, the symbol corresponding to the name used when defining a configuration record with @code{define-configuration}, and print the Texinfo documentation of its fields. This is useful if there aren’t any nested configuration records since it only prints the documentation for the top-level fields. -@end defun +@end deffn As of right now, there is no automated way to generate documentation for configuration records and put them in the manual. Instead, every From 5e0b8d51b87bed97a07f3a7c70cf41c92473fd71 Mon Sep 17 00:00:00 2001 From: gemmaro Date: Mon, 17 Apr 2023 21:44:10 +0900 Subject: [PATCH 013/310] gnu: Add ruby-minima. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I added a test by `jekyll build`. * gnu/packages/ruby.scm (ruby-minima): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index eb84367d15..f28ad97e11 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2022, 2023 Remco van 't Veer ;;; Copyright © 2022 Taiju HIGASHI ;;; Copyright © 2023 Yovan Naumovski +;;; Copyright © 2023 gemmaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -5258,6 +5259,36 @@ client protocol.") (home-page "https://github.com/net-ssh/net-scp") (license license:expat))) +(define-public ruby-minima + (package + (name "ruby-minima") + (version "2.5.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "minima" version)) + (sha256 + (base32 + "1gk7jmriiswda1ykjzpsw9cpiya4m9n0yrh0h6xnrc8zcfy543jj")))) + (arguments + (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "jekyll" "build")) + ;; Without the following, an attempt to remove + ;; minima-.gem is made during installation, + ;; which will fail. + (delete-file #$(string-append "_site/minima-" + version ".gem"))))))) + (build-system ruby-build-system) + (propagated-inputs (list jekyll ruby-jekyll-feed ruby-jekyll-seo-tag)) + (synopsis "Beautiful, minimal theme for Jekyll") + (description + "Minima is a one-size-fits-all Jekyll theme for writers. It's Jekyll's +default (and first) theme. It's what you get when you run @code{jekyll new}.") + (home-page "https://github.com/jekyll/minima") + (license license:expat))) + (define-public ruby-minitest (package (name "ruby-minitest") From 2fd76ec1a3681dc7ba4b0fb78b18646d1fbf6aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wiktor=20=C5=BBelazny?= Date: Sun, 26 Feb 2023 16:23:51 +0100 Subject: [PATCH 014/310] gnu: Add python-panflute. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/textutils.scm (python-panflute): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/textutils.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 24fc689a0a..47f6de3078 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages golang) @@ -69,6 +70,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) @@ -1536,3 +1538,30 @@ hackers and programmers by being fast, ignoring VCS directories, letting a user easily specify file types, match highlighting, Perl-Compatible Regular Expressions, and being faster to type than grep.") (license license:artistic2.0))) + +(define-public python-panflute + (package + (name "python-panflute") + (version "2.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "panflute" version)) + (sha256 + (base32 + "1jk5b2sp1h4drkjrg2ks77d0ca6j043n2myvacm77nfc93y9vzff")))) + (build-system python-build-system) + (propagated-inputs (list python-click python-pyyaml)) + (native-inputs (list python-configparser + python-coverage + python-flake8 + python-pandocfilters + python-pytest + python-pytest-cov + python-requests)) + (home-page "http://scorreia.com/software/panflute/") + (synopsis "Pythonic Pandoc filters") + (description + "Panflute is a Python package that makes Pandoc filters fun to +write. It is a pythonic alternative to John MacFarlane's pandocfilters, from +which it is heavily inspired.") + (license license:bsd-3))) From 1cb9c2206c13e33a23a0cfce2e53e19d4398a2d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wiktor=20=C5=BBelazny?= Date: Sun, 26 Feb 2023 16:31:38 +0100 Subject: [PATCH 015/310] gnu: Add pandoc-include. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/textutils.scm (pandoc-include): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/textutils.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 47f6de3078..026264dc27 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1565,3 +1565,31 @@ Expressions, and being faster to type than grep.") write. It is a pythonic alternative to John MacFarlane's pandocfilters, from which it is heavily inspired.") (license license:bsd-3))) + +(define-public pandoc-include + (package + (name "pandoc-include") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pandoc-include" version)) + (sha256 + (base32 + "01nrbzs85mrd7jcflicsz0bmfnzi6wsy0ii262xl01zsabqd7n91")))) + (build-system python-build-system) + (propagated-inputs (list python-natsort python-panflute)) + (home-page "https://github.com/DCsunset/pandoc-include") + (synopsis "Pandoc filter to allow file and header includes") + (description "@code{pandoc-include} extends Pandoc to support: + +@enumerate +@item include as raw blocks +@item indent and dedent included contents +@item partial include +@item code include +@item Unix style pathname +@item recursive include +@item Yaml header merging +@item header include +@end enumerate") + (license license:expat))) From 5a761ff6ae0af5884dc242c01c046b5594a82922 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Tue, 2 May 2023 23:21:55 -0700 Subject: [PATCH 016/310] gnu: octave-cli: Update to 8.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (octave-cli): Update to 8.2.0 Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f89e70c0bb..13fb4e0d34 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2785,7 +2785,7 @@ can solve two kinds of problems: (define-public octave-cli (package (name "octave-cli") - (version "8.1.0") + (version "8.2.0") (source (origin (method url-fetch) @@ -2793,7 +2793,7 @@ can solve two kinds of problems: version ".tar.xz")) (sha256 (base32 - "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) + "1pkh4vmq4hcrmyl2gybd54i3qamyvmcjmpgy1i2kkw2g03jxdfdp")))) (build-system gnu-build-system) (inputs (list alsa-lib From 22e7ba67ddcc9ebceafbfb0b95dd38313a854c93 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Wed, 17 May 2023 09:24:05 -0300 Subject: [PATCH 017/310] gnu: Add tmux-plugin-continuum. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/tmux.scm (tmux-plugin-continuum): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/tmux.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index 55b7c7a498..4d9dea2396 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -319,6 +319,47 @@ Optional: (home-page "https://github.com/tmux-plugins/tmux-resurrect/") (license license:expat)))) +(define-public tmux-plugin-continuum + (let ((commit "3e4bc35da41f956c873aea716c97555bf1afce5d") + (revision "0")) + (package + (name "tmux-plugin-continuum") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tmux-plugins/tmux-continuum/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1py8qfs2f93hkxhk039m813bjgcs5k54si662gx05g3czqy06pb7")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((out (string-append %output + "/share/tmux-plugins/continuum/"))) + (mkdir-p out) + (copy-recursively (assoc-ref %build-inputs "source") + out))))) + (synopsis "Continuous saving of tmux environment") + (description + "Features: + +@itemize +@item continuous saving of tmux environment +@item automatic tmux start when computer/server is turned on +@item automatic restore when tmux is started +@end itemize + +Together, these features enable uninterrupted tmux usage. No matter the +computer or server restarts, if the machine is on, tmux will be there how you +left it off the last time it was used.") + (home-page "https://github.com/tmux-plugins/tmux-continuum/") + (license license:expat)))) + (define-public tmux-plugin-mem-cpu-load (package (name "tmux-plugin-mem-cpu-load") From aaf8891ed4f4e0cc792a711919bf63e996c5a4d4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Jun 2023 18:39:34 +0300 Subject: [PATCH 018/310] gnu: tbb: Fix building on riscv64-linux. * gnu/packages/tbb.scm (tbb)[arguments]: When building for riscv64-linux always link the test suite with -latomic. --- gnu/packages/tbb.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index f22282264c..b2d276ac8b 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Nikita ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2021 Guillaume Le Vaillant -;;; Copyright © 2022 Efraim Flashner +;;; Copyright © 2022, 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,7 +48,11 @@ (patches (search-patches "tbb-other-arches.patch")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DTBB_STRICT=OFF"))) ;; Don't fail on warnings + `(#:configure-flags + '(,@(if (target-riscv64?) + '("-DTBB_TEST_LINK_FLAGS=-latomic") + `()) + "-DTBB_STRICT=OFF"))) ;; Don't fail on warnings (home-page "https://www.threadingbuildingblocks.org") (synopsis "C++ library for parallel programming") (description From 3c390111146a41c8b35a5384a0262987b34e0ef2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 9 Jun 2023 08:27:05 +0300 Subject: [PATCH 019/310] gnu: opencv: Fix building on aarch64. * gnu/packages/image-processing.scm (opencv)[arguments]: When building for aarch64 adjust the 'disable-broken-tests phase to make the test suite pass. --- gnu/packages/image-processing.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 9a2eae8214..6ecb9dd0a8 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2018 Lprndn -;;; Copyright © 2019, 2021 Efraim Flashner +;;; Copyright © 2019, 2021, 2023 Efraim Flashner ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020, 2021 Vinicius Monego ;;; Copyright © 2020 Pierre Neidhardt @@ -604,7 +604,16 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") ;; opencv-extra/alldata. (substitute* "modules/dnn/test/test_layers.cpp" (("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all) - (string-append "DISABLED_" all))))) + (string-append "DISABLED_" all))) + + ,@(if (target-aarch64?) + `(;; This test fails on aarch64, loosen the bounds. + ;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131 + (substitute* "modules/photo/test/test_hdr.cpp" + (("0\\.131") "0.222")) + ;; These tests hang forever on aarch64. + (delete-file-recursively "modules/videoio/test/")) + '()))) (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) (mkdir "../opencv-extra") From 12fd3a97558eeb0cc3a15498a5b6db1d2c7e6942 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Wed, 7 Jun 2023 19:22:20 -0700 Subject: [PATCH 020/310] gnu: hubbub: Fix build. * gnu/packages/web.scm (hubbub)[source]: Add patch. * gnu/packages/patches/hubbub-maybe-uninitialized.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Andreas Enge --- gnu/local.mk | 2 + .../patches/hubbub-maybe-uninitialized.patch | 40 +++++++++++++++++++ gnu/packages/web.scm | 4 +- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/hubbub-maybe-uninitialized.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2ebc4ce925..ce16d37e2b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -58,6 +58,7 @@ # Copyright © 2022 jgart # Copyright © 2023 Zheng Junjie <873216071@qq.com> # Copyright © 2023 Ivana Drazovic +# Copyright © 2023 Andy Tai # # This file is part of GNU Guix. # @@ -1352,6 +1353,7 @@ dist_patch_DATA = \ %D%/packages/patches/http-parser-CVE-2020-8287.patch \ %D%/packages/patches/htslib-for-stringtie.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ + %D%/packages/patches/hubbub-maybe-uninitialized.patch \ %D%/packages/patches/hueplusplus-mbedtls.patch \ %D%/packages/patches/hurd-add-without-rump-configure-option.patch \ %D%/packages/patches/hurd-fix-types-of-read-write-and-readables-methods-2.patch \ diff --git a/gnu/packages/patches/hubbub-maybe-uninitialized.patch b/gnu/packages/patches/hubbub-maybe-uninitialized.patch new file mode 100644 index 0000000000..6f289a770e --- /dev/null +++ b/gnu/packages/patches/hubbub-maybe-uninitialized.patch @@ -0,0 +1,40 @@ +From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001 +From: Andy Tai +Date: Sat, 27 May 2023 00:01:34 -0700 +Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11 + when building tests tokeniser2 and tokeniser3 + +--- + test/tokeniser2.c | 2 +- + test/tokeniser3.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/tokeniser2.c b/test/tokeniser2.c +index c8ab9c0..4caae38 100644 +--- a/test/tokeniser2.c ++++ b/test/tokeniser2.c +@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) + /* Expected token only contained part of the data + * Calculate how much is left, then try again with + * the next expected token */ +- hubbub_token t; ++ hubbub_token t = { 0 }; + + t.type = HUBBUB_TOKEN_CHARACTER; + t.data.character.ptr += len; +diff --git a/test/tokeniser3.c b/test/tokeniser3.c +index e33d018..b3be901 100644 +--- a/test/tokeniser3.c ++++ b/test/tokeniser3.c +@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) + /* Expected token only contained part of the data + * Calculate how much is left, then try again with + * the next expected token */ +- hubbub_token t; ++ hubbub_token t = { 0 }; + + t.type = HUBBUB_TOKEN_CHARACTER; + t.data.character.ptr += len; +-- +2.40.1 + diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3af4aa0b8d..7df1cea36c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5242,7 +5242,9 @@ C. It is developed as part of the NetSurf project.") (sha256 (base32 "1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly")) - (patches (search-patches "hubbub-sort-entities.patch")))) + (patches (search-patches + "hubbub-sort-entities.patch" + "hubbub-maybe-uninitialized.patch")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem From 213d3cad6aa9207a86d22cdd31d2e1a978e5f017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 11:21:00 +0200 Subject: [PATCH 021/310] tests: Adjust minetest tests. Fixes a regression introduced in e7910f4882d520fcf8920df9ff4ddb00eb9ee41d. * tests/minetest.scm (call-with-packages): Add #:timeout parameter to 'http-fetch' mock. --- tests/minetest.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/minetest.scm b/tests/minetest.scm index cbb9e83889..78469bf95b 100644 --- a/tests/minetest.scm +++ b/tests/minetest.scm @@ -194,7 +194,7 @@ (scm->json-port (list->vector (filter-map argument-list->json sorted-argument-lists)))) (mock ((guix http-client) http-fetch - (lambda* (url #:key headers) + (lambda* (url #:key headers timeout) (unless (string-prefix? "mock://api/packages/" url) (error "the URL ~a should not be used" url)) (define resource From df8b3821a80d3cdf9b2244bad743b4cfba765bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 11:46:05 +0200 Subject: [PATCH 022/310] import: stackage: Updater resolves inputs lazily. Fixes the "haskell-stackage" test in 'tests/lint.scm', which started failing with e6223017d95bc615b2648f0798d9a3904d5b5f57 because the extra HTTP GETs induced by the 'haskell-fetch' calls would fail. * guix/import/stackage.scm (latest-lts-release): Call 'hackage-fetch' and its continuation from within 'inputs', which is delayed. Pass it NAME-VERSION instead of HACKAGE-NAME-VERSION. --- guix/import/stackage.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index f8b2726591..00814c7d46 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -158,13 +158,14 @@ PACKAGE or #f if the package is not included in the Stackage LTS release." (warning (G_ "failed to parse ~a~%") (hackage-cabal-url hackage-name)) #f) - (_ (let ((url (hackage-source-url hackage-name version)) - (cabal (eval-cabal (hackage-fetch hackage-name) '()))) + (_ (let ((url (hackage-source-url hackage-name version))) (upstream-source (package (package-name pkg)) (version version) (urls (list url)) - (inputs (cabal-package-inputs cabal)))))))))) + (inputs + (let ((cabal (eval-cabal (hackage-fetch name-version) '()))) + (cabal-package-inputs cabal))))))))))) (define (stackage-lts-package? package) "Return whether PACKAGE is available on the default Stackage LTS release." From f69d14d31af8325807d8529fccd3f0b6fd86e342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 12:09:12 +0200 Subject: [PATCH 023/310] tests: Ensure 'cpan' updater test does not access the network. Previously it would try to access the real metacpan.org. This would succeed when network is available because "Test-Script" is an existing package. * tests/cpan.scm ("package-latest-release"): Wrap 'upstream-source-inputs' call in 'parameterize'. Set 'current-http-proxy'. Change the order of responses in 'with-http-server'. --- tests/cpan.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/tests/cpan.scm b/tests/cpan.scm index e4ee788e9d..42e8c4e42c 100644 --- a/tests/cpan.scm +++ b/tests/cpan.scm @@ -102,21 +102,22 @@ (downstream-name "perl-test-script") (type 'propagated)))) (with-http-server `((200 ,test-json) - (200 ,test-source) - (200 "{ \"distribution\" : \"Test-Script\" }")) - (define source - (parameterize ((%metacpan-base-url (%local-url))) + (200 "{ \"distribution\" : \"Test-Script\" }") + (200 ,test-source)) + (parameterize ((%metacpan-base-url (%local-url)) + (current-http-proxy (%local-url))) + (define source (package-latest-release (dummy-package "perl-test-script" - (version "0.0.0") - (source (dummy-origin - (method url-fetch) - (uri "mirror://cpan/Foo-Bar-0.0.0.tgz")))) - (list %cpan-updater)))) + (version "0.0.0") + (source (dummy-origin + (method url-fetch) + (uri "mirror://cpan/Foo-Bar-0.0.0.tgz")))) + (list %cpan-updater))) - (list (upstream-source-urls source) - (upstream-source-signature-urls source) - (upstream-source-inputs source)))) + (list (upstream-source-urls source) + (upstream-source-signature-urls source) + (upstream-source-inputs source))))) (test-equal "metacpan-url->mirror-url, http" "mirror://cpan/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz" From 53bf9fba0c9542a46702bb30251f5796da371e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 12:30:45 +0200 Subject: [PATCH 024/310] tests: Ensure 'elpa' test does not access the network. Previously it would try to access the real elpa.gnu.org. This would succeed when network is available because "taxy-magit-section" is an existing package. * guix/import/elpa.scm (elpa-repository) (package-from-elpa-repository?): Recognize 'gnu/http. * tests/elpa.scm ("package-latest-release"): Use 'http' instead of 'https'. Change "taxy-magit-section" to "fake-taxy-magit-section". --- guix/import/elpa.scm | 6 ++++-- tests/elpa.scm | 31 ++++++++++++++++--------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index e65cf6683b..d1855b3698 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -461,13 +461,15 @@ type ''." (and uri (cond ((string=? (uri-host uri) "elpa.gnu.org") - 'gnu) + (if (eq? (uri-scheme uri) 'http) + 'gnu/http ;for testing + 'gnu)) ((string=? (uri-host uri) "elpa.nongnu.org") 'nongnu) (else #f)))))))) (define (package-from-elpa-repository? package) - (member (elpa-repository package) '(gnu nongnu))) + (member (elpa-repository package) '(gnu gnu/http nongnu))) (define %elpa-updater ;; The ELPA updater. We restrict it to packages hosted on elpa.gnu.org diff --git a/tests/elpa.scm b/tests/elpa.scm index f6d008cd09..f563b99df1 100644 --- a/tests/elpa.scm +++ b/tests/elpa.scm @@ -43,17 +43,17 @@ [(11 88 6) nil "Integrated environment for *TeX*" tar ((:url . "http://www.gnu.org/software/auctex/"))]) - (taxy-magit-section . - [(0 12 2) - ((emacs - (26 3)) - (magit-section - (3 2 1)) - (taxy - (0 10))) - "View Taxy structs in a Magit Section buffer" tar - ((:url . "https://github.com/alphapapa/taxy.el") - (:keywords "lisp"))]))) + (fake-taxy-magit-section . + [(0 12 2) + ((emacs + (26 3)) + (magit-section + (3 2 1)) + (taxy + (0 10))) + "View Taxy structs in a Magit Section buffer" tar + ((:url . "https://github.com/alphapapa/taxy.el") + (:keywords "lisp"))]))) (test-begin "elpa") @@ -88,8 +88,8 @@ (eval-test-with-elpa "auctex")) (test-equal "package-latest-release" - (list '("https://elpa.gnu.org/packages/taxy-magit-section-0.12.2.tar") - '("https://elpa.gnu.org/packages/taxy-magit-section-0.12.2.tar.sig") + (list '("http://elpa.gnu.org/packages/fake-taxy-magit-section-0.12.2.tar") + '("http://elpa.gnu.org/packages/fake-taxy-magit-section-0.12.2.tar.sig") (list (upstream-input (name "magit-section") (downstream-name "emacs-magit-section") @@ -105,12 +105,13 @@ (with-http-server `((200 ,(object->string elpa-mock-archive))) (parameterize ((current-http-proxy (%local-url))) (define source + ;; Note: Use 'http' URLs to the proxy is used. (package-latest-release - (dummy-package "emacs-taxy-magit-section" + (dummy-package "emacs-fake-taxy-magit-section" (version "0.0.0") (source (dummy-origin (method url-fetch) - (uri "https://elpa.gnu.org/xyz")))) + (uri "http://elpa.gnu.org/xyz")))) (list %elpa-updater))) (list (upstream-source-urls source) From 56ad923f47d352e1bee1a94da1a246ae21c03569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 13:59:13 +0200 Subject: [PATCH 025/310] system: account: Fix default value. Fixes a regression introduced in 66ecffbeba0685ff2f1071db8aeb2393986afb97. * gnu/system/shadow.scm (account-service-type)[default-value]: Change to the empty list. --- gnu/system/shadow.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4a8cc87f0f..9ca1895ded 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2020, 2022 Ludovic Courtès +;;; Copyright © 2013-2020, 2022, 2023 Ludovic Courtès ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020, 2023 Efraim Flashner @@ -458,7 +458,7 @@ the /etc/skel directory for those." (const '(user-homes))) (service-extension etc-service-type etc-files))) - (default-value #f) + (default-value '()) (description "Ensure the specified user accounts and groups exist, as well as each account home directory."))) From 1c9e992e8c636ce8798c26fa1c8f744fbe17255e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 14:00:51 +0200 Subject: [PATCH 026/310] records: Remove "guix" from error message. * guix/records.scm (map-fields): Tweak error message. --- guix/records.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/records.scm b/guix/records.scm index 5af3e780a0..f4d12a861d 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -110,7 +110,7 @@ error-reporting purposes." (syntax-case x () ((_ type within) (syntax-violation (syntax->datum #'within) - "undefined guix record-type" + "undefined record type" #'type)) (_ (syntax-violation 'map-fields "bad use of syntactic keyword" x x))))) From dd587a4fefbd8841f609910af36e13aa890781b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 22 May 2023 14:08:44 +0200 Subject: [PATCH 027/310] gnu: lapack: Build CBLAS. This adds libcblas.so, which users typically expect to have. * gnu/packages/maths.scm (lapack)[arguments]: Pass "-DCBLAS=ON". --- gnu/packages/maths.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 13fb4e0d34..f5a2181905 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1029,6 +1029,7 @@ large scale eigenvalue problems.") (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS:BOOL=YES" + "-DCBLAS=ON" "-DLAPACKE=ON" ;; Build the 'LAPACKE_clatms' functions. "-DLAPACKE_WITH_TMG=ON" From c0e510dfa30fd0ba7d5b0d7c1d096afa6cf37cc6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 8 Jun 2023 10:42:05 +0200 Subject: [PATCH 028/310] gnu: Add python-portalocker. * gnu/packages/python-xyz.scm (python-portalocker): New variable. --- gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 98abf038a5..dd35f94214 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3906,6 +3906,28 @@ a certain expected condition.") Cython for speed.") (license license:expat))) +(define-public python-portalocker + (package + (name "python-portalocker") + (version "2.7.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "portalocker" version)) + (sha256 + (base32 + "0lawjm736vs86wlnxc3qqh37l11z0yx81xq3dmrw33m86kaq2bh3")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest + python-pytest-cov + python-pytest-mypy + python-pytest-timeout + python-redis)) + (home-page "https://github.com/WoLpH/portalocker") + (synopsis "Python library for file locking") + (description "Portalocker is a library to provide an easy API to file +locking..") + (license license:bsd-3))) + (define-public python-poyo (package (name "python-poyo") From 6dc44cc963b88cb13f012deea17fdb7021a3119b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 8 Jun 2023 11:49:10 +0200 Subject: [PATCH 029/310] gnu: Add python-sacrebleu. * gnu/packages/machine-learning.scm (python-sacrebleu): New variable. --- gnu/packages/machine-learning.scm | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 827bcd597b..cc20ef68dd 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -708,6 +708,51 @@ SentencePiece allows us to make a purely end-to-end system that does not depend on language-specific pre- or post-processing.") (license license:asl2.0))) +(define-public python-sacrebleu + (package + (name "python-sacrebleu") + (version "2.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mjpost/sacrebleu") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1al4qf9wsq5l453qqb6clims62ns0s07wb9rfbf4hbpr1f2iv7zv")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; These all need internet access. + '(list "-k" "not test_api_get_source \ +and not test_api_get_reference \ +and not test_maybe_download \ +and not test_process_to_text \ +and not test_get_files_and_fieldnames \ +and not test_source_and_references \ +and not test_wmt22_references") + #:phases + '(modify-phases %standard-phases + ;; Needed for tests. + (add-before 'check 'set-HOME + (lambda _ (setenv "HOME" "/tmp")))))) + (propagated-inputs (list python-colorama + python-lxml + python-numpy + python-portalocker + python-regex + python-tabulate)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/mjpost/sacrebleu") + (synopsis + "Compute shareable, comparable, and reproducible BLEU, chrF, and TER scores") + (description + "This is a package for hassle-free computation of shareable, comparable, +and reproducible BLEU, chrF, and TER scores for natural language processing.") + (license license:asl2.0))) + (define-public python-sentencepiece (package (name "python-sentencepiece") From c348b1be3891e6eb47bbdd9fc1587aba2b6ab0b7 Mon Sep 17 00:00:00 2001 From: Navid Afkhami Date: Fri, 9 Jun 2023 16:05:57 +0200 Subject: [PATCH 030/310] gnu: Add python-mofax. * gnu/packages/bioinformatics.scm (python-mofax): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9ce28596c2..38c5195146 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3312,6 +3312,51 @@ off-target reads for a capture method that targets CpG-rich region.") multiple sequence alignments.") (license license:expat))) +(define-public python-mofax + ;; This is a recent commit from the "dev" branch, which is much more recent + ;; than the latest commit from the "master" branch. + (let ((commit "4d96f8f0a5d5251847353656f523684d66c3c47a") + (revision "0")) + (package + (name "python-mofax") + (version (git-version "0.4.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bioFAM/mofax") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lwrw0qyvvnyiqz1l20dhcf7dxidb80cqgvk78czvdgba87yxzqx")) + (modules '((guix build utils))) + ;; Prevent the pyproject-build-system from guessing that flit + ;; should be used as a builder. + (snippet '(substitute* "pyproject.toml" + (("^#.*") ""))))) + (build-system pyproject-build-system) + (arguments + (list + ;; This test is failing due to a bug. The bug has been reported to the + ;; developers. See https://github.com/bioFAM/mofax/issues/12 for more + ;; info. + #:test-flags '(list "-k" "not test_get_methods"))) + (propagated-inputs (list python-h5py + python-matplotlib + python-pandas + python-poetry-core + python-scipy + python-seaborn)) + (native-inputs (list python-numpy python-pytest)) + (home-page "https://github.com/bioFAM/mofax") + (synopsis + "Motif activity finder for transcription factor motif analysis") + (description + "MoFax is a Python package for transcription factor motif analysis. +It provides convenience functions to load and visualize factor models trained +with MOFA+ in Python.") + (license license:expat)))) + (define-public python-pyega3 (package (name "python-pyega3") From 74443c30f3e20655a046c0d3ea236822ef130968 Mon Sep 17 00:00:00 2001 From: Navid Afkhami Date: Fri, 9 Jun 2023 16:56:34 +0200 Subject: [PATCH 031/310] gnu: Add python-mudata. * gnu/packages/bioinformatics.scm (python-mudata): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioinformatics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 38c5195146..9e356cba5d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3357,6 +3357,32 @@ It provides convenience functions to load and visualize factor models trained with MOFA+ in Python.") (license license:expat)))) +(define-public python-mudata + (package + (name "python-mudata") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/scverse/mudata") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02h0k1q57589r0hdv8nwg1vk7g2ljvn5g66c47fy5gdilbm3gjws")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-anndata python-h5py python-pandas)) + (native-inputs + (list python-flit-core python-numpy python-pytest python-zarr)) + (home-page "https://github.com/scverse/mudata") + (synopsis "Python package for multi-omics data analysis") + (description + "Mudata is a Python package for multi-omics data analysis. +It is designed to provide functionality to load, process, and store multimodal +omics data.") + (license license:bsd-3))) + (define-public python-pyega3 (package (name "python-pyega3") From 44bbfc24e4bcc48d0e3343cd3d83452721af8c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 18:12:42 +0200 Subject: [PATCH 032/310] linux-container: Adjust to 'modify-services' semantic change. This is a followup to dbbc7e946131ba257728f1d05b96c4339b7ee88b: 'nscd-service-type' isn't necessarily present in OS, so we cannot use the 'modify-services' as it would now error out. This was happening with the "guix system docker-image" test in 'tests/guix-system.sh'. * gnu/system/linux-container.scm (containerized-operating-system): Use 'filter-map' instead of 'remove' + 'modify-services'. --- gnu/system/linux-container.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 409386a84f..7c45dbccaf 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -150,15 +150,18 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS." (essential-services (container-essential-services this-operating-system #:shared-network? shared-network?)) - (services (append (remove (lambda (service) - (memq (service-kind service) - services-to-drop)) - (modify-services (operating-system-user-services os) - (nscd-service-type - config => (nscd-configuration - (inherit config) - (caches %nscd-container-caches))))) - services-to-add)) + (services + (append services-to-add + (filter-map (lambda (s) + (cond ((memq (service-kind s) services-to-drop) + #f) + ((eq? nscd-service-type (service-kind s)) + (service nscd-service-type + (nscd-configuration + (inherit (service-value s)) + (caches %nscd-container-caches)))) + (else s))) + (operating-system-user-services os)))) (file-systems (append (map mapping->fs (if shared-network? (append %network-file-mappings mappings) From 125978619469a941272ba2f49251a415f86c2b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 Jun 2023 22:11:14 +0200 Subject: [PATCH 033/310] gnu: guix: Update to 44bbfc2. * gnu/packages/package-management.scm (guix): Update to 44bbfc2. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9532fd7187..4791880375 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -171,8 +171,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.4.0") - (commit "dc5430c9dc20ee53441995d9a89a90b0a86aeed3") - (revision 6)) + (commit "44bbfc24e4bcc48d0e3343cd3d83452721af8c36") + (revision 7)) (package (name "guix") @@ -188,7 +188,7 @@ (commit commit))) (sha256 (base32 - "192jxca7gdf8451kac58fq1f2rxn3624krmhz04bh7ln2sp5q0yd")) + "08gq04pphapr3i0gzdilp8l87rpxlh2p768qrn1fw92fmw727xf7")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From a863b5de8db16e99c73a84ed150c98b1df5ae5dd Mon Sep 17 00:00:00 2001 From: SeerLite Date: Tue, 7 Mar 2023 00:44:57 -0300 Subject: [PATCH 034/310] gnu: i3-wm: Use new package style. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (i3-wm)[arguments]: Use gexps. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7f5e10b60d..729fc7a34a 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -331,20 +331,19 @@ commands would.") "0jrya4rhh46sivlmqaqc4n9abpp1yn1ajhi616gn75cxwl8rjqr8")))) (build-system meson-build-system) (arguments - `(;; The test suite requires the unpackaged Xephyr X server. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'patch-session-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (i3 (string-append out "/bin/i3")) - (i3-with-shmlog (string-append out "/bin/i3-with-shmlog"))) - (substitute* (string-append out "/share/xsessions/i3.desktop") - (("Exec=i3") (string-append "Exec=" i3))) - (substitute* (string-append out "/share/xsessions/i3-with-shmlog.desktop") - (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog))) - #t)))))) + (list + ;; The test suite requires the unpackaged Xephyr X server. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'patch-session-file + (lambda _ + (let* ((i3 (string-append #$output "/bin/i3")) + (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog"))) + (substitute* (string-append #$output "/share/xsessions/i3.desktop") + (("Exec=i3") (string-append "Exec=" i3))) + (substitute* (string-append #$output "/share/xsessions/i3-with-shmlog.desktop") + (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog))))))))) (inputs (list libxcb xcb-util From 71c2f02ba057ce4a14cfdb8b665fa17c70eaa664 Mon Sep 17 00:00:00 2001 From: SeerLite Date: Tue, 7 Mar 2023 00:44:58 -0300 Subject: [PATCH 035/310] gnu: i3-wm: Add missing inputs for i3-save-tree. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (i3-wm)[inputs]: Add perl, perl-anyevent-i3, perl-json-xs, perl-common-sense, and perl-types-serialiser. [arguments]: Add phase to wrap i3-save-tree to use perl inputs listed above. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 729fc7a34a..e707a15785 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -338,12 +338,26 @@ commands would.") #~(modify-phases %standard-phases (add-after 'install 'patch-session-file (lambda _ - (let* ((i3 (string-append #$output "/bin/i3")) - (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog"))) + (let ((i3 (string-append #$output "/bin/i3")) + (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog"))) (substitute* (string-append #$output "/share/xsessions/i3.desktop") (("Exec=i3") (string-append "Exec=" i3))) (substitute* (string-append #$output "/share/xsessions/i3-with-shmlog.desktop") - (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog))))))))) + (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog)))))) + (add-after 'patch-session-file 'wrap-perl-bin + (lambda* (#:key inputs #:allow-other-keys) + (let* ((i3-save-tree (string-append #$output "/bin/i3-save-tree")) + (perl-lib-names '("perl-anyevent" + "perl-anyevent-i3" + "perl-json-xs" + "perl-common-sense" + "perl-types-serialiser")) + (perl-lib-paths + (map (lambda (name) + (string-append (assoc-ref inputs name) "/lib/perl5/site_perl")) + perl-lib-names))) + (wrap-program i3-save-tree + `("PERL5LIB" ":" prefix ,perl-lib-paths)))))))) (inputs (list libxcb xcb-util @@ -355,6 +369,11 @@ commands would.") libev yajl xmlto + perl + perl-anyevent-i3 + perl-json-xs + perl-common-sense + perl-types-serialiser perl-pod-simple libx11 pcre2 From 48812c85dd62ea8c075a606913bd7ae77c50c047 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sat, 25 Mar 2023 03:22:13 -0700 Subject: [PATCH 036/310] gnu: obs-websocket: Deprecate in favor of "obs". MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (obs-websocket): Rewrite as a deprecated alias for "obs". Co-authored-by: Ludovic Courtès --- gnu/packages/video.scm | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3b6af31b76..6f0a6e6ad9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3476,40 +3476,8 @@ and JACK.") (license license:gpl2+))) (define-public obs-websocket - (package - (name "obs-websocket") - (version "4.9.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Palakis/obs-websocket") - (commit version) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0giwhm0rbc578qng4invqqma935zzjlf05msz1gx986aqk654s7k")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ;no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-permission-change - (lambda* _ - (substitute* "CMakeLists.txt" - ;; Remove lines that set writeable permissions on outputs. - (("PERMISSIONS [^)]*") "") - (("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "") - ;; Ug^WClever hack to comment out the next line, which is ‘)’. - (("(OWNER|GROUP|WORLD)_READ .*") "#"))))))) - (inputs - (list obs qtbase-5)) - (home-page "https://github.com/Palakis/obs-websocket") - (synopsis "OBS plugin for remote control via WebSockets") - (description "This OBS plugin allows you to establish a WebSocket channel -from within your running OBS instance so that you can control it remotely from -programs on your current machine or on other machines.") - (license license:gpl2+))) + ;; Functionality was merged into OBS. + (deprecated-package "obs-websocket" obs)) (define-public obs-wlrobs (package From f19e1b4f963564393bc6ccdb01e682d9cc889981 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:45 +0200 Subject: [PATCH 037/310] home: services: ssh: Add 'add-keys-to-agent' field. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/home/services/ssh.scm ()[add-keys-to-agent]: New field. (serialize-add-keys-to-agent): New procedure. (openssh-configuration->string): Use it. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 14 +++++++++++ gnu/home/services/ssh.scm | 49 ++++++++++++++++++++++++++++++++------- 2 files changed, 54 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e6bff33a37..a71751142b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43076,6 +43076,20 @@ Concretely, these files are concatenated and made available as running on this machine, then it @emph{may} take this file into account: this is what @command{sshd} does by default, but be aware that it can also be configured to ignore it. + +@item @code{add-keys-to-agent} (default: @code{``no''}) +This string specifies whether keys should be automatically added to a +running ssh-agent. If this option is set to @code{``yes''} and a key is +loaded from a file, the key and its passphrase are added to the agent +with the default lifetime, as if by @code{ssh-add}. If this option is +set to @code{``ask''}, @code{ssh} will require confirmation. If this +option is set to @code{``confirm''}, each use of the key must be +confirmed. If this option is set to @code{``no''}, no keys are added to +the agent. Alternately, this option may be specified as a time interval +to specify the key's lifetime in @code{ssh-agent}, after which it will +automatically be removed. The argument must be @code{``no''}, +@code{``yes''}, @code{``confirm''} (optionally followed by a time +interval), @code{``ask''} or a time interval. @end table @end deftp diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 628dc743ae..c2c008f01c 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,10 +39,12 @@ #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (ice-9 match) + #:autoload (ice-9 regex) (string-match match:substring) #:export (home-openssh-configuration home-openssh-configuration-authorized-keys home-openssh-configuration-known-hosts home-openssh-configuration-hosts + home-openssh-configuration-add-keys-to-agent home-ssh-agent-configuration openssh-host @@ -248,17 +251,45 @@ through before connecting to the server.") (define-record-type* home-openssh-configuration make-home-openssh-configuration home-openssh-configuration? - (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like - (default #f)) - (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like - (default *unspecified*)) - (hosts home-openssh-configuration-hosts ;list of - (default '()))) + (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like + (default #f)) + (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like + (default *unspecified*)) + (hosts home-openssh-configuration-hosts ;list of + (default '())) + (add-keys-to-agent home-openssh-configuration-add-keys-to-agent ;string with limited values + (default "no"))) + +(define (serialize-add-keys-to-agent value) + (define (valid-time-string? str) + (and (> (string-length str) 0) + (equal? + str + (match:substring + (string-match "\ +[0-9]+|([0-9]+[Ww])?([0-9]+[Dd])?([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?" + str))))) + + (string-append "AddKeysToAgent " + (cond ((member value '("yes" "no" "confirm" "ask")) value) + ((valid-time-string? value) value) + ((and (string-prefix? "confirm" value) + (valid-time-string? + (cdr (string-split value #\ )))) value) + ;; The 'else' branch is unreachable. + (else + (raise + (formatted-message + (G_ "~s: invalid 'add-keys-to-agent' value") + value)))))) (define (openssh-configuration->string config) - (string-join (map serialize-openssh-host - (home-openssh-configuration-hosts config)) - "\n")) + (string-join + (cons* (serialize-add-keys-to-agent + (home-openssh-configuration-add-keys-to-agent config)) + (map serialize-openssh-host + (home-openssh-configuration-hosts config))) + "\n")) (define* (file-join name files #:optional (delimiter " ")) "Return a file in the store called @var{name} that is the concatenation From 95853e61a74a285c3045cc3763dfafaa42af329d Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:46 +0200 Subject: [PATCH 038/310] home: services: ssh: Add 'match-criteria' option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/home/services/ssh.scm (serialize-address-family): Raise '&formatted-message' instead of '&error'. (ssh-match-keywords): New variable. (match-criteria?): New procedure. (match-criteria): New maybe type. (openssh-host)[name]: Turn into 'maybe-string'. [match-criteria]: New field. (serialize-openssh-host): Adjust accordingly. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 12 +++++++- gnu/home/services/ssh.scm | 58 ++++++++++++++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a71751142b..395fc25818 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43100,11 +43100,21 @@ Available @code{openssh-host} fields are: @table @asis @item @code{name} (type: string) -Name of this host declaration. +Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options. @item @code{host-name} (type: maybe-string) Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}. +@item @code{match-criteria} (type: maybe-match-criteria) +When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}. + @item @code{address-family} (type: maybe-address-family) Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only). diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index c2c008f01c..a384373b81 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -49,6 +49,7 @@ openssh-host openssh-host-host-name + openssh-host-match-criteria openssh-host-identity-file openssh-host-name openssh-host-port @@ -96,7 +97,11 @@ (cond ((= family AF_INET) "inet") ((= family AF_INET6) "inet6") ;; The 'else' branch is unreachable. - (else (raise (condition (&error))))) + (else + (raise + (formatted-message + (G_ "~s: invalid address family value") + family)))) "\n") "")) @@ -174,13 +179,40 @@ (configuration-field-error (source-properties->location properties) 'proxy-command value)) value)) +(define ssh-match-keywords + '(canonical final exec host originalhost user localuser)) + +(define (match-criteria? str) + ;; Rule out the case of "all" keyword. + (if (member str '("all" + "canonical all" + "final all")) + #t + (let* ((first (string-take str (string-index str #\ ))) + (keyword (string->symbol (if (string-prefix? "!" first) + (string-drop first 1) + first)))) + (memq keyword ssh-match-keywords)))) + +(define-maybe match-criteria) + (define-configuration openssh-host (name - (string) - "Name of this host declaration.") + maybe-string + "Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options.") (host-name maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") + (match-criteria ;TODO implement stricter match-criteria rules + maybe-match-criteria + "When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}.") (address-family maybe-address-family "Address family to use when connecting to this host: one of @@ -235,17 +267,29 @@ through before connecting to the server.") @file{~/.ssh/config}.")) (define (serialize-openssh-host config) - (define (openssh-host-name-field? field) - (eq? (configuration-field-name field) 'name)) + (define (openssh-host-name-or-match-field? field) + (or (eq? (configuration-field-name field) 'name) + (eq? (configuration-field-name field) 'match-criteria))) (string-append - "Host " (openssh-host-name config) "\n" + (if (maybe-value-set? (openssh-host-name config)) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (raise + (formatted-message + (G_ "define either 'name' or 'match-criteria', not both"))) + (string-append "Host " (openssh-host-name config) "\n")) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (string-append + "Match " (string-join (openssh-host-match-criteria config) " ") "\n") + (raise + (formatted-message + (G_ "define either 'name' or 'match-criteria' once"))))) (string-concatenate (map (lambda (field) ((configuration-field-serializer field) (configuration-field-name field) ((configuration-field-getter field) config))) - (remove openssh-host-name-field? + (remove openssh-host-name-or-match-field? openssh-host-fields))))) (define-record-type* From b97f158456fd1856cebea6ef74484b489bdcf350 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:47 +0200 Subject: [PATCH 039/310] home: services: ssh: Export configuration predicates. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ludovic Courtès --- gnu/home/services/ssh.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index a384373b81..2802bdaeeb 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -45,7 +45,9 @@ home-openssh-configuration-known-hosts home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent + home-openssh-configuration? home-ssh-agent-configuration + home-ssh-agent-configuration? openssh-host openssh-host-host-name From 9504dd2c3eef0277369acc0944f87fb4546251b1 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:48 +0200 Subject: [PATCH 040/310] home: services: ssh: Export home-ssh-agent variables. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ludovic Courtès --- gnu/home/services/ssh.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 2802bdaeeb..2e841596e4 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -46,7 +46,11 @@ home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent home-openssh-configuration? + home-ssh-agent-configuration + home-ssh-agent-openssh + home-ssh-agent-socket-directory + home-ssh-agent-extra-options home-ssh-agent-configuration? openssh-host From 3fcc451e435abea763539027d9ebb28f8ef8affe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Moreno?= Date: Tue, 6 Jun 2023 11:20:21 +0200 Subject: [PATCH 041/310] gnu: Add emacs-pug-mode. gnu/packages/emacs-xyz.scm (emacs-pug-mode): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b77bd0aa83..1d58b2bd91 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1118,6 +1118,31 @@ expression navigating and manipulating. It supports many major modes out of the box.") (license license:gpl3+)))) +(define-public emacs-pug-mode + (package + (name "emacs-pug-mode") + (version "1.0.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hlissner/emacs-pug-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f6bhdr1a72x94dlz2i1fwwln8crc2mbpc2iq23hvsbsfmj7xfzp")))) + (native-inputs (list emacs-ert-runner)) + (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command #~(list "ert-runner"))) + (home-page "https://github.com/hlissner/emacs-pug-mode") + (synopsis "Pug support for Emacs") + (description "Pug mode offers Emacs support for Pug. Unlike Jade mode, it +is based off of Slim mode.") + (license license:gpl3+))) + (define-public emacs-spaceline-all-the-icons (package (name "emacs-spaceline-all-the-icons") From c6d494e49fa5aa87d376a7e58c0d73067f6fad11 Mon Sep 17 00:00:00 2001 From: Mekeor Melire Date: Sat, 3 Jun 2023 20:57:49 +0000 Subject: [PATCH 042/310] gnu: emacs-ox-pandoc: Update to 2.0. * gnu/packages/emacs-xyz.scm (emacs-ox-pandoc): Update to 2.0. [source]: Download from new upstream URL. [home-page]: Use new home-page. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1d58b2bd91..950dd44b7d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31783,22 +31783,22 @@ format.") (define-public emacs-ox-pandoc (package (name "emacs-ox-pandoc") - (version "20180510") + (version "2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/kawabata/ox-pandoc") - (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e"))) + (url "https://github.com/emacsorphanage/ox-pandoc") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz")))) + "0sh8l18lc2hngbmb1vv99xb8cp4sfy90j9cbf7b09l82jmnlqmk1")))) (build-system emacs-build-system) (inputs (list pandoc)) (propagated-inputs (list emacs-dash emacs-ht)) - (home-page "https://github.com/kawabata/ox-pandoc") + (home-page "https://github.com/emacsorphanage/ox-pandoc") (synopsis "Org exporter for Pandoc") (description "@code{ox-pandoc} is an exporter for converting Org-mode files to numerous other formats via Pandoc.") From ec66bd267fb750bd81d11601db37394fe62228b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Moreno?= Date: Tue, 6 Jun 2023 11:26:41 +0200 Subject: [PATCH 043/310] gnu: emacs-ytdl: Update to 1.3.6-0.2ea3daf2. * gnu/packages/emacs-xyz.scm (emacs-ytdl): Update to 1.3.6-0.2ea3daf2. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 70 ++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 950dd44b7d..86026c115a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -26988,43 +26988,45 @@ can be queued at any time.") (license license:unlicense)))) (define-public emacs-ytdl - (package - (name "emacs-ytdl") - (version "1.3.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/tuedachu/ytdl") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "010arhvibyw50lqhsr8bm0vj3pzry1h1vgcvxnmyryirk3dv40jl")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs #:allow-other-keys) - ;; .el is read-only in git. - (make-file-writable "ytdl.el") - ;; Specify the absolute file names of the various programs so - ;; that everything works out-of-the-box. - (emacs-substitute-variables "ytdl.el" - ("ytdl-command" - (search-input-file inputs "/bin/youtube-dl")))))))) - (inputs - (list youtube-dl)) - (propagated-inputs - (list emacs-async emacs-dash)) - (home-page "https://gitlab.com/tuedachu/ytdl") - (synopsis "Emacs interface for youtube-dl") - (description - "This package manages a video download queue for @command{youtube-dl}, + (let ((commit "2ea3daf2f6aa9d18b71fe3e15f05c30a56fca228") + (revision "0")) + (package + (name "emacs-ytdl") + (version (git-version "1.3.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/tuedachu/ytdl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y62lkgsg19j05dpd6sp6zify8vq8xvpc8caqiy4rwi7p4ahacsf")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + ;; .el is read-only in git. + (make-file-writable "ytdl.el") + ;; Specify the absolute file names of the various programs so + ;; that everything works out-of-the-box. + (emacs-substitute-variables "ytdl.el" + ("ytdl-command" + (search-input-file inputs "/bin/youtube-dl")))))))) + (inputs + (list youtube-dl)) + (propagated-inputs + (list emacs-async emacs-dash)) + (home-page "https://gitlab.com/tuedachu/ytdl") + (synopsis "Emacs interface for youtube-dl") + (description + "This package manages a video download queue for @command{youtube-dl}, which serves as the back end. New videos can be queued at any time. All youtube-dl backends are supported. It is possible to create download profiles depending on the downloaded URL.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-ytel ;; No tagged releases. Using version from main file. From ee02b4348878e66b4dbade614b18b4cd9ed05368 Mon Sep 17 00:00:00 2001 From: Adam Kandur <4164616d.4b616e647572@gmail.com> Date: Sat, 10 Jun 2023 13:38:34 +0300 Subject: [PATCH 044/310] gnu: Add emacs-fb2-reader. * gnu/packages/emacs-xyz.scm (emacs-fb2-reader): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 86026c115a..31b418080a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2390,6 +2390,45 @@ different tools. It highlights errors and warnings inline in the buffer, and provides an optional IDE-like error list.") (license license:gpl3+))) ;+GFDLv1.3+ for the manual +(define-public emacs-fb2-reader + (let ((commit "9836db284749e0cef4c43c2cb5358c82ae9b8589")) ; version bump + (package + (name "emacs-fb2-reader") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jumper047/fb2-reader") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vx4b9wnmx1bng8wak5r7yryyvgib4m46l6b877xzkdhsjr3rbsi")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command + #~(list "emacs" "-Q" "--batch" "-L" "." + "--eval" "(load-file \"tests/test-fb2-reader.el\")") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'qualify-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((unzip (search-input-file inputs "/bin/unzip"))) + (substitute* "fb2-reader.el" + (("unzip") unzip)))))))) + (inputs (list unzip)) + (native-inputs + (list emacs-async emacs-buttercup emacs-dash emacs-s)) + (propagated-inputs + (list emacs-f emacs-visual-fill-column)) + (home-page "https://github.com/jumper047/fb2-reader") + (synopsis "Emacs plugin to read FictionBook2 ebooks") + (description "FB2 Reader provides a major mode for reading +FictionBook2 (@file{.fb2} and @file{.fb2.zip} files) ebooks.") + (license license:gpl3+)))) + (define-public emacs-flymake-collection (package (name "emacs-flymake-collection") From 721716e74d5ffe8d90b16ac4b70d2875671b728b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:47:41 +0200 Subject: [PATCH 045/310] gnu: emacs-tramp: Update to 2.6.0.5. * gnu/packages/emacs-xyz.scm (emacs-tramp): Update to 2.6.0.5. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 31b418080a..d9dff96ecf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -30936,14 +30936,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.6.0.4") + (version "2.6.0.5") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "0s50zgxxhlc2k80mnxyyqcfd1iij9dz95fryb2a65chy1ccibd0m")))) + (base32 "0hbrrlcyhxkmjym4wnwipi47lzqpnlxc833p0hmghc6n0s8sx7hf")))) (build-system emacs-build-system) (arguments (list From 093eda46fb210bfe548755c6b19aa55b7ddf9578 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:48:47 +0200 Subject: [PATCH 046/310] gnu: emacs-excorporate: Update to 1.1.1. * gnu/packages/emacs-xyz.scm (emacs-excorporate): Update to 1.1.1. --- gnu/packages/emacs-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d9dff96ecf..1a7edc11d0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31361,20 +31361,18 @@ programming in Emacs Lisp easy and fun.") (define-public emacs-excorporate (package (name "emacs-excorporate") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "excorporate-" version ".tar")) (sha256 - (base32 "1il51gfgvkxjj7vdi5kdmzi87hl9853ck8s45p0cxrddlaiqbmwy")))) + (base32 "06ilfkrlx6ca0qfqq3w1w07kdwak556i1wgf1875py2d5xkg4r90")))) (build-system emacs-build-system) (propagated-inputs - (list emacs-fsm - emacs-soap-client - emacs-url-http-oauth - emacs-url-http-ntlm)) + (list emacs-fsm emacs-soap-client emacs-url-http-ntlm + emacs-url-http-oauth)) (home-page "https://elpa.gnu.org/packages/excorporate.html") (synopsis "Exchange integration") (description "This package provides Exchange integration for Emacs.") From 43a2240276fd3d818e7681cd7d0c6aa6dd867581 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:49:45 +0200 Subject: [PATCH 047/310] gnu: emacs-modus-themes: Update to 4.2.0. * gnu/packages/emacs-xyz.scm (emacs-modus-themes): Update to 4.2.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1a7edc11d0..2c53758395 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -32395,7 +32395,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "4.1.0") + (version "4.2.0") (source (origin (method git-fetch) @@ -32404,7 +32404,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1rfnn7c6qv3qmzpksdzy7623qijbldnmr7hl9ka2kwnhdarsigkk")))) + (base32 "1r6m2jsfn6066155pnlkdgs6dz2fdsampdhdz796z2jy53k7srsg")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments From 7f0a98a8f1bddef0ae6f7b2e428bc2e1f654bb7b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:51:10 +0200 Subject: [PATCH 048/310] gnu: emacs-ednc: Update to 0.2. * gnu/packages/emacs-xyz.scm (emacs-ednc): Update to 0.2. --- gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2c53758395..c16e8e1f3b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -33668,29 +33668,27 @@ data format @code{edn}. See @url{https://github.com/edn-format/edn}.") (license license:gpl3+)))) (define-public emacs-ednc - (let ((commit "940a4adbbeb3b6b1a72270a814d52770dd89a997") - (revision "1")) - (package - (name "emacs-ednc") - (version (git-version "0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sinic/ednc") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1gsx2qgv5xm9r0i0axd4hf31g2rq2m4a1hvnif48g4xb0llss73c")))) - (build-system emacs-build-system) - (home-page "https://github.com/sinic/ednc") - (synopsis "Emacs Desktop Notification Center") - (description - "The Emacs Desktop Notification Center (EDNC) is an Emacs package written + (package + (name "emacs-ednc") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sinic/ednc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jdlwngxipq5pzs3kgmzwc99aqk6mi3cf1wv228hhmb8nsm1dqgd")))) + (build-system emacs-build-system) + (home-page "https://github.com/sinic/ednc") + (synopsis "Emacs Desktop Notification Center") + (description + "The Emacs Desktop Notification Center (EDNC) is an Emacs package written in pure Lisp that implements a Desktop Notifications service according to the freedesktop.org specification. EDNC aspires to be a small, but flexible drop-in replacement of standalone daemons like Dunst.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-helm-clojuredocs (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea")) From a3abca191d5684a47baea150443340f21cdb6bdb Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:52:13 +0200 Subject: [PATCH 049/310] gnu: emacs-eldev: Update to 1.4.1. * gnu/packages/emacs-xyz.scm (emacs-eldev): Update to 1.4.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c16e8e1f3b..e0e62e2df3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -22034,7 +22034,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.4") + (version "1.4.1") (source (origin (method git-fetch) @@ -22043,7 +22043,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1cziz1a8mh24aj79jfnkjb0llh6a2raqnlcfyaswha80bwzwp4ph")))) + (base32 "1vvqs8x2chm2bgwnlsrq7llgql5m9hjbxi1x3xbnzbx5l1yvldbp")))) (build-system emacs-build-system) (arguments (list From f2c6479b3f1c3ac8143870dfe173245cd5c88fe9 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:53:37 +0200 Subject: [PATCH 050/310] gnu: emacs-jupyter: Update to 0.8.3. * gnu/packages/emacs-xyz.scm (emacs-jupyter): Update to 0.8.3. [description]: Tiny fix to description. --- gnu/packages/emacs-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e0e62e2df3..e58bee2499 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -20929,7 +20929,7 @@ the pipeline, featuring the support for running @code{emacsclient}.") (define-public emacs-jupyter (package (name "emacs-jupyter") - (version "0.8.2") + (version "0.8.3") (source (origin (method git-fetch) @@ -20938,7 +20938,7 @@ the pipeline, featuring the support for running @code{emacsclient}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1sr007wsl2y6wqpzkmv3inbpwhvgdcb2nmqzgfg7w1awapi2r13p")))) + (base32 "0acn964xlpn265vry35lrkkpf9z5y4ml96xg8ifadkxwxymm1sh2")))) (build-system emacs-build-system) (propagated-inputs (list emacs-company ;optional @@ -20949,9 +20949,9 @@ the pipeline, featuring the support for running @code{emacsclient}.") (home-page "https://github.com/nnicandro/emacs-jupyter") (synopsis "Emacs interface to communicate with Jupyter kernels") (description "This package provides an Emacs interface to communicate with -Jupyter kernels. It provides REPL and @code{org-mode} source code block -frontends to Jupyter kernels and kernel interactions integrated with Emacs' -built-in features.") +Jupyter kernels. It provides REPL and Org mode source code block frontends to +Jupyter kernels and kernel interactions integrated with Emacs' built-in +features.") (license license:gpl3+))) (define-public emacs-hcl-mode From 1b9739482c414c8de2b6ffe464793dd6f30fa451 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:55:23 +0200 Subject: [PATCH 051/310] gnu: emacs-nano-modeline: Update to 1.0.0. * gnu/packages/emacs-xyz.scm (emacs-nano-modeline): Update to 1.0.0. --- gnu/packages/emacs-xyz.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e58bee2499..884cddae97 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1690,12 +1690,10 @@ Alternatively the menu can be bound globally, for example: (license license:gpl3+))) (define-public emacs-nano-modeline - ;; No tagged release upstream. The commit below matches latest version - ;; bump. - (let ((commit "61f62aa4716eae4fa89961955323d146e9791fca")) + (let ((commit "cba074e55c847f289085ec35c21fb2ad8df1b483")) ;version bump (package (name "emacs-nano-modeline") - (version "0.7.2") + (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -1704,7 +1702,7 @@ Alternatively the menu can be bound globally, for example: (file-name (git-file-name name version)) (sha256 (base32 - "1zwf3mp0z4vc36lg057vspk7dr8chcvhivm1l8q7p3m9b6xw8ask")))) + "0fccasr5ydyfwpqj3kmsgxiazifkckybg2rnwm6sg034phavcyln")))) (build-system emacs-build-system) (home-page "https://github.com/rougier/nano-modeline") (synopsis "Emacs minor mode controlling mode line") From ba09b3739c8818a0299e56efc07a27bfb2ccc594 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:56:10 +0200 Subject: [PATCH 052/310] gnu: emacs-org-re-reveal: Update to 3.18.3. * gnu/packages/emacs-xyz.scm (emacs-org-re-reveal): Update to 3.18.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 884cddae97..0903bd912a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -23734,7 +23734,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.18.2") + (version "3.18.3") (source (origin (method git-fetch) @@ -23743,7 +23743,7 @@ powerful Org contents.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v9403zjxays4c66xq3zq2285h77pn2ha7afx70xffjyynmvnz6i")))) + (base32 "124f59yj0w5linph4k38fil42jc6nvkzhx73312farkmn4p9r9zk")))) (build-system emacs-build-system) (propagated-inputs (list emacs-htmlize emacs-org)) From 90368a1c64cae5b012f3daedecb976818376b175 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:57:09 +0200 Subject: [PATCH 053/310] gnu: emacs-orglink: Update to 1.2.2. * gnu/packages/emacs-xyz.scm (emacs-orglink): Update to 1.2.2. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0903bd912a..ed4bce1383 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -35151,7 +35151,7 @@ displayed for sharing.") (define-public emacs-orglink (package (name "emacs-orglink") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -35160,7 +35160,7 @@ displayed for sharing.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05x8alv4a8c1g9l8v8p319vcr0y7w1i2r6ipj0v3dy4n2gh7v822")))) + (base32 "0jkk6jiqmsns1pb0almaihyz6c3lim0r6l4x75qp7448p46q2him")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) From 6eb3f30feb7bea74f8a8795458c41a66e2e131a0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 20:58:07 +0200 Subject: [PATCH 054/310] gnu: emacs-tide: Update to 5.1.3. * gnu/packages/emacs-xyz.scm (emacs-tide): Update to 5.1.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ed4bce1383..15a7b33444 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13132,7 +13132,7 @@ indentation and filling of comments and C preprocessor fontification.") (define-public emacs-tide (package (name "emacs-tide") - (version "4.5.4") + (version "5.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -13141,7 +13141,7 @@ indentation and filling of comments and C preprocessor fontification.") (file-name (git-file-name name version)) (sha256 (base32 - "0zrapfxdarakp3kwp73c2ymjx51fsnfk6azi2y1wb2kgsdxl2yim")))) + "01chyr71b8893jxgf4wncpskfmg9iwfpcaxq0vfc6yaij46yfhky")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash emacs-flycheck emacs-s emacs-typescript-mode)) From d8df65338faf3fcf47fb2ed79bcec5f24e0fb4ef Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 21:00:25 +0200 Subject: [PATCH 055/310] gnu: emacs-wucuo: Update to 0.3.0. * gnu/packages/emacs-xyz.scm (emacs-wucuo): Update to 0.3.0. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 15a7b33444..0505903380 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13967,16 +13967,16 @@ restrict the text width to 80 characters.") (define-public emacs-wucuo (package (name "emacs-wucuo") - (version "0.2.9") + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/redguardtoo/wucuo") - (commit "89b99166768afb811c48a7db7c93c02d51a32b09"))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "03a6jlbv9axrd9yr0xscq3ni7fipm20ppc51kxy0sn241rplv0pg")))) + (base32 "0za3mxssx48shdaqwn8akxrshkqn92dd0s06h6abqk9mfzdd67ng")))) (build-system emacs-build-system) (arguments `(#:tests? #t From 1be41fbe4e0edf551a3cb5702b2ae30c4c7cf001 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 21:01:11 +0200 Subject: [PATCH 056/310] gnu: emacs-transient: Update to 0.4.1. * gnu/packages/emacs-xyz.scm (emacs-transient): Update to 0.4.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0505903380..cf42f99ce7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -29557,7 +29557,7 @@ as Emacs Lisp.") (define-public emacs-transient (package (name "emacs-transient") - (version "0.4.0") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -29566,7 +29566,7 @@ as Emacs Lisp.") (file-name (git-file-name name version)) (sha256 (base32 - "0c9bfn5jwwng98h7i9lx0q3vg00wd8w25cg8d3vyy2vqfbg80qhy")))) + "1aq4bb83pdkbkbqh6ba0r7sadaq45qqg2q5jlqyvsn8akcsq65iq")))) (build-system emacs-build-system) (arguments `(#:tests? #f ;no test suite From c5ca5a7a60564b4b22861496e34d1c9bac4f0b81 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 21:01:56 +0200 Subject: [PATCH 057/310] gnu: emacs-ef-themes: Update to 1.1.0. * gnu/packages/emacs-xyz.scm (emacs-ef-themes): Update to 1.1.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cf42f99ce7..ad5b65aef1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6142,7 +6142,7 @@ intended to be.") (define-public emacs-ef-themes (package (name "emacs-ef-themes") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -6152,7 +6152,7 @@ intended to be.") (file-name (git-file-name name version)) (sha256 (base32 - "0rq1cy9hg603wk7pnfj0zfc84h1l87rg8blk4x4b61x7bkc3dd7q")))) + "03xmc4657q9p4b5zbssjjpq125bb1vd4fbhmy1f6rk25vxx3pxg7")))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~protesilaos/ef-themes") (synopsis "Colorful and legible themes") From 7f3b9bc429e800927c436fc3a432f3641e96992e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 10 Jun 2023 21:03:01 +0200 Subject: [PATCH 058/310] gnu: emacs-julia-snail: Update to 1.2.3. * gnu/packages/emacs-xyz.scm (emacs-julia-snail): Update to 1.2.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ad5b65aef1..13cabd7e46 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12946,7 +12946,7 @@ mode with the package emacs-julia-mode.") (define-public emacs-julia-snail (package (name "emacs-julia-snail") - (version "1.2.2") + (version "1.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -12955,7 +12955,7 @@ mode with the package emacs-julia-mode.") (file-name (git-file-name name version)) (sha256 (base32 - "1vbg97h2jvmkpyhdsra51ilimzvrqnpy8rf1bhxnnb54p2cgkpsr")))) + "07dj788hdfskn2k400q2fcfh18w7gflfrc5zqg8bqflhv755m30k")))) (build-system emacs-build-system) (arguments (list From de4bf11c6e577d94fd32799d3c537a90843b15e9 Mon Sep 17 00:00:00 2001 From: altadil Date: Fri, 26 May 2023 17:17:01 +0000 Subject: [PATCH 059/310] gnu: mgba: Update to 0.10.2. * gnu/packages/emulators.scm (mgba): Update to 0.10.2. Signed-off-by: Nicolas Goaziou --- gnu/packages/emulators.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 13b6022308..be76f81ff4 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -725,7 +725,7 @@ The following systems are supported: (define-public mgba (package (name "mgba") - (version "0.10.1") + (version "0.10.2") (source (origin (method git-fetch) @@ -734,7 +734,8 @@ The following systems are supported: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0pqfjsr9q61a3mgmvqxxkalxb838k46q9ilz31frpcvvndif0sm1")) + (base32 + "1wwpjcblp2c1svab4z1if5xb7707wsy6zw590lwdz9za35i0h37q")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -750,8 +751,7 @@ The following systems are supported: #:configure-flags (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead - (native-inputs - (list pkg-config qttools-5)) + (native-inputs (list pkg-config qttools-5)) (inputs (list ffmpeg libedit From 767edbb6fe781d19c19971f2ccd3b0da8fd053fc Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Fri, 26 May 2023 23:53:00 -0400 Subject: [PATCH 060/310] gnu: fzf: Update to 0.41.0. * gnu/packages/terminals.scm (go-github-com-junegunn-fzf): Update to 0.41.0. Signed-off-by: Nicolas Goaziou --- gnu/packages/terminals.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index e3d0937ecc..7579d2e7bf 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -969,7 +969,7 @@ programmer to write text-based user interfaces.") (define-public go-github-com-junegunn-fzf (package (name "go-github-com-junegunn-fzf") - (version "0.34.0") + (version "0.41.0") (source (origin (method git-fetch) @@ -979,7 +979,7 @@ programmer to write text-based user interfaces.") (file-name (git-file-name name version)) (sha256 (base32 - "023ksrmjg99svmkpnlh4k7gssv1sz2nl0v5b6bsr2iragvwrgkf4")))) + "1l9nsvziip3azyvg8wi4g3x606fh6w9vpfcbcgjdzdnp2ywqciim")))) (build-system go-build-system) (arguments `(#:import-path "github.com/junegunn/fzf")) From 6fe9a004dba2d4ddf69ff6f1714af15ffaa7e62a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 10 Jun 2023 16:53:48 -0400 Subject: [PATCH 061/310] gnu: cqfd: Update to 5.4.0. * gnu/packages/docker.scm (cqfd): Update to 5.4.0. [arguments]: Use gexps. Add #:make-flags. Remove install phase override. --- gnu/packages/docker.scm | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 3445453093..0b2a18d661 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Thompson ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer +;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Katherine Cox-Buday ;;; Copyright © 2020 Jesse Dowell @@ -664,7 +664,7 @@ provisioning etc.") (define-public cqfd (package (name "cqfd") - (version "5.3.0") + (version "5.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -673,25 +673,18 @@ provisioning etc.") (file-name (git-file-name name version)) (sha256 (base32 - "0gy4kjy6v52acfk6ffbg5sp02k6176khhkms7zlwmywq8591bpww")))) + "1kilrh4ahza19lka9218s2wkfcbk5r2cq9adczhlnlfggdrqnglg")))) (build-system gnu-build-system) (arguments ;; The test suite requires a docker daemon and connectivity. - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Fix the directory of the bash completion. - (substitute* "Makefile" - (("completionsdir=.*$") - (string-append "completionsdir=" out - "/etc/bash_completion.d; \\\n"))) - (invoke "make" "install" - (string-append "PREFIX=" out)))))))) + (list + #:tests? #f + #:make-flags #~(list (string-append "COMPLETIONSDIR=" + #$output "/etc/bash_completion.d") + (string-append "PREFIX=" #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build)))) (home-page "https://github.com/savoirfairelinux/cqfd") (synopsis "Convenience wrapper for Docker") (description "cqfd is a Bash script that provides a quick and convenient From 33064a27179f2a368cee84df9f5d0ef2273d89aa Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 2 Jun 2023 23:39:07 +0200 Subject: [PATCH 062/310] gnu: Add libcotp. * gnu/packages/authentication.scm (libcotp): New variable. --- gnu/packages/authentication.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index a73f2cbc14..de1769d65f 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -22,11 +22,13 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages documentation) + #:use-module (gnu packages gnupg) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages security-token) #:use-module (gnu packages tls) #:use-module (gnu packages xml) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix download) @@ -34,6 +36,29 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) +(define-public libcotp + (package + (name "libcotp") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paolostivanin/libcotp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12ps2msclcbv53gjf936cny10an8sc70b9frp6xxjirfn5jg2h63")))) + (build-system cmake-build-system) + (inputs (list libgcrypt)) + (native-inputs (list pkg-config)) + (home-page "https://github.com/paolostivanin/libcotp") + (synopsis "One-Time Passwords") + (description "This package provides a library to generate +@acronym{HOTP, HMAC-base One-Time Password}s as specified in RFC 4226 and +@acronym{TOTP, Time-based One-Time Password}s as specified in RFC 6238.") + (license license:asl2.0))) + (define-public oath-toolkit (package (name "oath-toolkit") From e8c207589d431c00b5f1a8175f391020323a3d27 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 2 Jun 2023 23:39:25 +0200 Subject: [PATCH 063/310] gnu: Add otpclient. * gnu/packages/password-utils.scm (otpclient): New variable. --- gnu/packages/password-utils.scm | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 74e465d21e..a593269053 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -102,6 +102,7 @@ #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -114,6 +115,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages qt) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -304,6 +306,58 @@ platforms.") Counterpane's Passwordsafe.") (license license:gpl2+)))) +(define-public otpclient + (package + (name "otpclient") + (version "3.1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paolostivanin/OTPClient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cwn4spddhg099hcqcvzgbws3xpmnd29g1vayk36118x94wmajaf")))) + (build-system cmake-build-system) + (arguments + (list + #:modules `(((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build cmake-build-system) + (guix build utils)) + #:imported-modules `((guix build glib-or-gtk-build-system) + ,@%cmake-build-system-modules) + #:tests? #f ; No tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file + (assoc-ref glib-or-gtk:%standard-phases + 'generate-gdk-pixbuf-loaders-cache-file)) + (add-after 'wrap 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-compile-schemas)) + (add-after 'wrap 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (inputs (list adwaita-icon-theme + libcotp + libgcrypt + libsecret + libzip + hicolor-icon-theme + gtk+ + jansson + protobuf + protobuf-c + qrencode + zbar)) + (native-inputs (list pkg-config protobuf)) + (home-page "https://github.com/paolostivanin/OTPClient") + (synopsis "Two-factor authentication client") + (description "OTPClient is a GTK+-based @acronym{OTP, One Time Password} +client, supporting @acronym{TOTP, Time-based one time passwords} and +@acronym{HOTP,HMAC-based one time passwords}.") + (license license:gpl3))) + (define-public shroud (package (name "shroud") From 73fa2889895f35bcf0c41f1174413381fdd7ec2c Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 6 Jun 2023 11:26:41 +0200 Subject: [PATCH 064/310] gnu: p2pool: Update to 3.4. * gnu/packages/finance.scm (p2pool): Update to 3.4. [arguments]: Update 'check' phase. --- gnu/packages/finance.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 357b5a3e71..2a4929ccd0 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -2256,7 +2256,7 @@ mining.") (define-public p2pool (package (name "p2pool") - (version "3.2") + (version "3.4") (source (origin (method git-fetch) @@ -2265,7 +2265,7 @@ mining.") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) - (sha256 (base32 "0jwddazvp9rv88dd2b67rn2y23grycnl539abl5ax6b8a89wm7i8")) + (sha256 (base32 "190dyyscmb71jnz0yb4l2ahsmz9wp7mcnn81yajv01bajgwnbl16")) (modules '((guix build utils))) (snippet #~(for-each delete-file-recursively @@ -2290,6 +2290,8 @@ mining.") (chdir "tests") (invoke "cmake" "../../source/tests") (invoke "make" "-j" (number->string (parallel-job-count))) + (invoke "gzip" "-d" "sidechain_dump.dat.gz") + (invoke "gzip" "-d" "sidechain_dump_mini.dat.gz") (invoke "./p2pool_tests") (chdir "..")))) (replace 'install From a181022a51b5b7f7cdcbf465c5e2aa2713f70290 Mon Sep 17 00:00:00 2001 From: Dominik Delgado Steuter via Guix-patches via Date: Thu, 27 Apr 2023 18:32:51 +0200 Subject: [PATCH 065/310] gnu: texlive-amsmath: Add missing input. * gnu/packages/tex.scm (texlive-amsmath)[propagated-inputs]: Add TEXLIVE-AMSFONTS. Signed-off-by: Nicolas Goaziou --- gnu/packages/tex.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 3ec2b7bbf7..4c681f4f77 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4386,6 +4386,8 @@ loading fonts by their proper names instead of file names.") (delete-file-recursively (string-append (assoc-ref outputs "out") "/share/texmf-dist/source/latex/amsmath/build")))))))) + (propagated-inputs + (list texlive-amsfonts)) (home-page "https://www.ctan.org/pkg/amsmath") (synopsis "AMS mathematical facilities for LaTeX") (description From 7a48471d78ba9686a4ac2fcdda127c4607df5314 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 3 May 2023 17:55:46 +0200 Subject: [PATCH 066/310] gnu: texlive-latex-epstopdf-pkg: Fix package definition. * gnu/packages/tex.scm (texlive-latex-epstopdf-pkg)[arguments]: Generate from source. [propagated-inputs]: Add TEXLIVE-GRFEXT, TEXLIVE-INFWARERR, TEXLIVE-KVOPTIONS and TEXLIVE-PDFTEXCMDS. --- gnu/packages/tex.scm | 57 +++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4c681f4f77..a8fc98e7f7 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3295,22 +3295,47 @@ the @file{.aux} file.") (define-deprecated-package texlive-latex-auxhook texlive-auxhook) (define-public texlive-latex-epstopdf-pkg - (package - (inherit (simple-texlive-package - "texlive-latex-epstopdf-pkg" - '("/doc/latex/epstopdf-pkg/" - "/tex/latex/epstopdf-pkg/") - (base32 - "0zl6jiyp2cvvyqx3lwxdkcvvnkqgbwj4issq07cagf61gljq6fns") - #:trivial? #t)) - (home-page "https://www.ctan.org/pkg/epstopdf-pkg") - (synopsis "Call @command{epstopdf} \"on the fly\"") - (description - "The package adds support for EPS files in the @code{graphicx} package -when running under pdfTeX. If an EPS graphic is detected, the package -spawns a process to convert the EPS to PDF, using the script -@command{epstopdf}.") - (license license:lppl1.3c+))) + (let ((template (simple-texlive-package + "texlive-latex-epstopdf-pkg" + (list "doc/latex/epstopdf-pkg/" + "source/latex/epstopdf-pkg/" + "tex/latex/epstopdf-pkg/") + (base32 + "1ajyc5pkn1niifz5asyf09vbdqvmy05xwl0vxcdl7ik0ll0jcaxp")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) + "latex/epstopdf-pkg") + ((#:build-targets _ '()) + #~(list "epstopdf.ins")) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "source/latex/epstopdf-pkg"))) + (replace 'copy-files + (lambda* (#:key inputs #:allow-other-keys) + (let ((origin (assoc-ref inputs "source")) + (source (string-append #$output + "/share/texmf-dist/source")) + (doc (string-append #$output:doc + "/share/texmf-dist/doc"))) + (copy-recursively (string-append origin "/source") source) + (copy-recursively (string-append origin "/doc") doc)))))))) + (propagated-inputs + (list texlive-grfext + texlive-infwarerr + texlive-kvoptions + texlive-pdftexcmds)) + (home-page "https://www.ctan.org/pkg/epstopdf-pkg") + (synopsis "Call @command{epstopdf} on the fly") + (description + "The package adds support for EPS files in the @code{graphicx} package +when running under pdfTeX. If an EPS graphic is detected, the package spawns +a process to convert the EPS to PDF, using the script @command{epstopdf}.") + (license license:lppl1.3c+)))) (define-public texlive-latex-filecontents (package From adf9537b328dba8b7362002a7a0509e0c37d108a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 3 May 2023 17:57:55 +0200 Subject: [PATCH 067/310] gnu: texlive-latex-epstopdf-pkg: Rename to texlive-epstopdf-pkg. * gnu/packages/tex.scm (texlive-epstopdf-pkg): New variable. (texlive-latex-epstopdf-pkg): Deprecate variable. (texlive-graphics-def): Apply renaming. --- gnu/packages/tex.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a8fc98e7f7..5b03ae2380 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3294,9 +3294,9 @@ the @file{.aux} file.") (define-deprecated-package texlive-latex-auxhook texlive-auxhook) -(define-public texlive-latex-epstopdf-pkg +(define-public texlive-epstopdf-pkg (let ((template (simple-texlive-package - "texlive-latex-epstopdf-pkg" + "texlive-epstopdf-pkg" (list "doc/latex/epstopdf-pkg/" "source/latex/epstopdf-pkg/" "tex/latex/epstopdf-pkg/") @@ -3337,6 +3337,8 @@ when running under pdfTeX. If an EPS graphic is detected, the package spawns a process to convert the EPS to PDF, using the script @command{epstopdf}.") (license license:lppl1.3c+)))) +(define-deprecated-package texlive-latex-epstopdf-pkg texlive-epstopdf-pkg) + (define-public texlive-latex-filecontents (package (name "texlive-latex-filecontents") @@ -3432,7 +3434,7 @@ Unicode points; it is maintained by Adobe. The additional "0b66fy06safyrd717rfr476g1gz6nqfv1vqvam7ac2yy0g0djb17") #:trivial? #t)) (propagated-inputs - (list texlive-latex-epstopdf-pkg)) + (list texlive-epstopdf-pkg)) (home-page "https://www.ctan.org/pkg/latex-graphics") (synopsis "Color and graphics option files") (description From 64d97f28b19b7958ceafb1410ce3b53a20c60429 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 3 May 2023 19:25:21 +0200 Subject: [PATCH 068/310] gnu: texlive-latex-filecontents: Fix package definition. * gnu/packages/tex.scm (texlive-latex-filecontents)[arguments]: Generate from source. --- gnu/packages/tex.scm | 45 ++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 5b03ae2380..8a44b09797 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3340,29 +3340,34 @@ a process to convert the EPS to PDF, using the script @command{epstopdf}.") (define-deprecated-package texlive-latex-epstopdf-pkg texlive-epstopdf-pkg) (define-public texlive-latex-filecontents - (package - (name "texlive-latex-filecontents") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "filecontents")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1cmfigg5jx3hmdyh4gv8kwxi7dg076ldkxmr46s05xvhzjig1z9x")))) - (build-system texlive-build-system) - (arguments '(#:tex-directory "latex/filecontents")) - (home-page "https://www.ctan.org/pkg/filecontents") - (synopsis "Extended filecontents and filecontents* environments") - (description - "LaTeX2e's @code{filecontents} and @code{filecontents*} environments + (let ((template (simple-texlive-package + "texlive-latex-filecontents" + (list "doc/latex/filecontents/" + "source/latex/filecontents/" + "tex/latex/filecontents/") + (base32 + "0ifhqfdzx91hrmndhg5441rpmv9k4lxrql02kd5yx75xpplxryzw")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) "latex/filecontents") + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "source/latex/filecontents"))))))) + (home-page "https://ctan.org/pkg/filecontents") + (synopsis "Create an external file from within a LaTeX document") + (description + "LaTeX2e's @code{filecontents} and @code{filecontents*} environments enable a LaTeX source file to generate external files as it runs through LaTeX. However, there are two limitations of these environments: they refuse -to overwrite existing files, and they can only be used in the preamble of a -document. The filecontents package removes these limitations, letting you -overwrite existing files and letting you use @code{filecontents} / +to overwrite existing files, and they can only be used in the preamble of +a document. The filecontents package removes these limitations, letting you +overwrite existing files and letting you use @code{filecontents} @code{filecontents*} anywhere.") - (license license:lppl1.3c+))) + (license license:lppl1.3c+)))) (define-public texlive-epsf (package From 2ffa3a400b6493330007928fc25af637488aa3bc Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 3 May 2023 19:27:41 +0200 Subject: [PATCH 069/310] gnu: texlive-latex-filecontents: Rename to texlive-filecontents. * gnu/packages/tex.scm (texlive-filecontents): New variable. (texlive-latex-filecontents): Deprecate package. (texlive-latex-trimspaces): (texlive-latex-needspace): (texlive-latex-changepage): (texlive-ifmtarg): Apply renaming. --- gnu/packages/tex.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 8a44b09797..c81f9b1917 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3339,9 +3339,9 @@ a process to convert the EPS to PDF, using the script @command{epstopdf}.") (define-deprecated-package texlive-latex-epstopdf-pkg texlive-epstopdf-pkg) -(define-public texlive-latex-filecontents +(define-public texlive-filecontents (let ((template (simple-texlive-package - "texlive-latex-filecontents" + "texlive-filecontents" (list "doc/latex/filecontents/" "source/latex/filecontents/" "tex/latex/filecontents/") @@ -3369,6 +3369,8 @@ overwrite existing files and letting you use @code{filecontents} @code{filecontents*} anywhere.") (license license:lppl1.3c+)))) +(define-deprecated-package texlive-latex-filecontents texlive-filecontents) + (define-public texlive-epsf (package (inherit (simple-texlive-package @@ -5836,7 +5838,7 @@ be changed.") (("pstool.tex") "trimspaces.tex")) #t))))) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/trimspaces") (synopsis "Trim spaces around an argument or within a macro") (description @@ -9512,7 +9514,7 @@ and after the formatted number.") '(#:tex-directory "latex/needspace" #:tex-format "latex")) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/needspace") (synopsis "Insert pagebreak if not enough space") (description @@ -9538,7 +9540,7 @@ page, a new page will be started.") '(#:tex-directory "latex/changepage" #:tex-format "latex")) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/changepage") (synopsis "Margin adjustment and detection of odd/even pages") (description @@ -11718,7 +11720,7 @@ floats merely delays the arrival of the inevitable error message.") (add-after 'unpack 'chdir (lambda _ (chdir "source/latex/ifmtarg"))))))) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/ifmtarg") (synopsis "If-then-else command for processing potentially empty arguments") (description "This package provides a command for the LaTeX programmer for From e6da6e3152b01b36d925d8670f1b8c3e1a39ef4b Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Wed, 5 Apr 2023 13:46:28 -0600 Subject: [PATCH 070/310] svn-download: Do not expand keywords. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subversion keyword expansion is potentially non-reproducible as some of them expand time strings relative to the local time zone: https://issues.guix.gnu.org/43442#18 In practice this is not a problem in Guix since Subversion checkouts happen in an isolated environment using the "default timezone" (UTC). However, Software Heritage disables keyword expansion for this very reason. By following suit, we make sure content can be retrieved from there. * guix/build/svn.scm (svn-fecth): Pass "--ignore-keywords" to Subversion. * guix/build-system/texlive.scm (%texlive-date): New variable. * gnu/packages/java.scm (java-geronimo-xbean-reflect) (java-geronimo-genesis-2.1): Update the source hash. * gnu/packages/machine-learning.scm (ghmm): Likewise. * gnu/packages/video.scm (libsmpeg, libsmpeg-with-sdl1): Likewise. * gnu/packages/tex.scm (texlive-bin): Update the hash of the "texlive-scripts" input, and a add a new phase that imitates Subversion keyword expansion for scripts that need it. (texlive-latex-base): Update the hash of the "texlive-luatexconfig" native input. (texlive-hyphen-base, texlive-dvipdfmx, texlive-dvips, texlive-cm) (texlive-tex-plain, texlive-kpathsea, texlive-latexconfig) (texlive-tetex, texlive-pdftex, texlive-xetex): Update the source hash. Co-authored-by: Ludovic Courtès --- gnu/packages/java.scm | 4 +-- gnu/packages/machine-learning.scm | 2 +- gnu/packages/tex.scm | 52 +++++++++++++++++++++++-------- gnu/packages/video.scm | 4 +-- guix/build-system/texlive.scm | 4 ++- guix/build/svn.scm | 9 +++++- 6 files changed, 55 insertions(+), 20 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 067284017c..49f027b226 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -11240,7 +11240,7 @@ outputting XML data from Java code.") (file-name (string-append name "-" version)) (sha256 (base32 - "18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja")))) + "0zjqmsad4xk0iar23hdyvx19nxczybd2bh0i35xrafli5cmh720k")))) (build-system ant-build-system) (arguments `(#:jar-name "geronimo-xbean-reflect.jar" @@ -11291,7 +11291,7 @@ and graphs of objects for dependency injection frameworks") (file-name (string-append name "-" version "-source")) (sha256 (base32 - "119yn795jvnjf52si84q192s8wag1k013iabg78b7wnadssnnh31")))) + "1mky4zyl2xsqlgrkairaj5971byvhwk2z9bq8snsgvlr11ydc0zf")))) (build-system ant-build-system) (arguments `(#:tests? #f diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index cc20ef68dd..49284407d7 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -239,7 +239,7 @@ classification.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qbq1rqp94l530f043qzp8aw5lj7dng9wq0miffd7spd1ff638wq")))) + "07kdsngvr4n1qxpqzv1nlay7g41d6jzjppa8vzmrg220s8ing87z")))) (build-system gnu-build-system) (arguments `(#:imported-modules (,@%gnu-build-system-modules diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index c81f9b1917..b55dd2a5fd 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2023 Thomas Albers Raviola ;;; Copyright © 2023 John Kehayias ;;; Copyright © 2023 Dominik Delgado Steuter +;;; Copyright © 2023 Timothy Sample ;;; ;;; This file is part of GNU Guix. ;;; @@ -295,7 +296,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. "-checkout")) (sha256 (base32 - "10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d")))) + "1jrphfjhmw17rp1yqsl70shmvka3vg0g8841q6zx2lfn48p7vqf3")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -423,7 +424,32 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (mkdir "texlive-scripts") (with-directory-excursion "texlive-scripts" (apply (assoc-ref %standard-phases 'unpack) - (list #:source (assoc-ref inputs "texlive-scripts")))))) + (list #:source (assoc-ref inputs "texlive-scripts"))) + ;; Configure the version string for some scripts. + ;; Normally this would be done by Subversion. + ;; See . + (for-each (lambda (file) + (substitute* file + (("\\$Id\\$") + (format #f "$Id: ~a ~a ~a nobody $" + file + ,%texlive-revision + ,%texlive-date)) + (("\\$Revision\\$") + (format #f "$Revision: ~a $" + ,%texlive-revision)) + (("\\$Date\\$") + (format #f "$Date: ~a $" + ,%texlive-date)))) + '("fmtutil.pl" + "mktexlsr" + "mktexlsr.pl" + "mktexmf" + "mktexpk" + "mktextfm" + "tlmgr.pl" + "tlmgrgui.pl" + "updmap.pl"))))) (add-after 'unpack-texlive-scripts 'patch-scripts (lambda _ (let* ((scripts (append (find-files "texk/kpathsea" "^mktex") @@ -784,7 +810,7 @@ out to date by @code{unicode-letters.tex}.") "/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/zerohyph.tex") (base32 - "1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp") + "1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84") #:trivial? #t)) (home-page "https://tug.org/texlive/") (synopsis "Core hyphenation support files") @@ -804,7 +830,7 @@ default versions of those), etc.") "fonts/cmap/dvipdfmx/" "fonts/map/dvipdfmx/") (base32 - "04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz") + "08i81hciksh0sm9pw6lw8v8s2rj92p58wd5j2mq1mzqbp171wjmr") #:trivial? #t))) (package (inherit template) @@ -836,7 +862,7 @@ features as does pdfTeX.") "/fonts/enc/dvips/base/" "/tex/generic/dvips/") (base32 - "0rns1hpjy4fmsskmkwx197j8qbgdmyj0j9214sq9vhpa6nv7czm3") + "1fb73mfw9mp4ylp6sfc0465rbdb7k830aq0qf3c085c3n0zyrin8") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/dvips") (synopsis "DVI to PostScript drivers") @@ -1094,7 +1120,7 @@ cite bundle of the author's citation-related packages.") "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i") + "0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d") #:trivial? #t))) (package (inherit template) @@ -1698,7 +1724,7 @@ incorporates the e-TeX extensions.") "texlive-tex-plain" (list "/tex/plain/") (base32 - "0gwygkm8i2jmpf7bfg6fb6824rl7fq4a2s0wni73v0fz6s4chr1n") + "1hafbphx1486069cky87hyksx6ia5gd83m4wp2xmgc09z87faf0h") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/plain") (synopsis "Plain TeX format and supporting files") @@ -2904,7 +2930,7 @@ package.") "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr") + "08nfk5hicqbvnz73rjbxi97lcakd9i1k2cy4qi2cwghan92650jq") #:trivial? #t))) (package (inherit template) @@ -2967,7 +2993,7 @@ default and narrow versions of multiple integrals.") "texlive-latexconfig" (list "/tex/latex/latexconfig/") (base32 - "10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx") + "1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd") #:trivial? #t)) (home-page "https://www.tug.org/") (synopsis "Configuration files for LaTeX-related formats") @@ -3121,7 +3147,7 @@ formats.") "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg"))))) + "065j47i2785nbj2507pzxlscyrwr4ghv6nksc3a01rp62bq8kkjp"))))) (propagated-inputs (list texlive-dehyph-exptl texlive-etex @@ -4019,7 +4045,7 @@ of file names.") "/fonts/enc/dvips/tetex/" "/fonts/map/dvips/tetex/") (base32 - "1si3as8mwi8837965djlw6jhwwzsp3r1hkflvdxv2avx9vb45hjb") + "05mf8yqdj2wrc1zm3al2j4aam2wx0ky6a7slxw17pkd1c7rmvjrq") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/tetex") (synopsis "Font maps originally from teTeX") @@ -8689,7 +8715,7 @@ e-TeX.") "/tex/generic/pdftex/glyphtounicode.tex" "/tex/generic/pdftex/pdfcolor.tex") (base32 - "1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b") + "0w4ar5g7x4w8zw8z6hdwqxwcbglfzzq7pcznz8rawllwy6dssr8g") #:trivial? #t)) ;; TODO: add this missing package: ;; dehyph @@ -13548,7 +13574,7 @@ itself may be shipped out to the DVI file.") "/fonts/misc/xetex/fontmapping/base/" "/tex/xelatex/xetexconfig/") (base32 - "1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q") + "0j396anlhk5pqrnwxr8bpq55sp3qfyb6n9g08x4nmaa6p9b9y8ab") #:trivial? #t)) (propagated-inputs (list texlive-atbegshi diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6f0a6e6ad9..66e6cb5408 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3718,7 +3718,7 @@ Other features include a live preview and live streaming.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn")))) + "1srzyjks9s0g4k7ms8vc0hjby2g6shndnr552hl63pn90sgmwxs9")))) (build-system gnu-build-system) (arguments ;; libsmpeg fails to build with -std=c++11, which is the default with @@ -3754,7 +3754,7 @@ and MPEG system streams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64")))) + "1jy9xqykhwfg8in0fxjcqcvwazii1ckzs39wp749b926q7ny5bwy")))) (inputs (list sdl)))) diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index d970c1beb9..aefd573d11 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -34,7 +34,8 @@ texlive-ref texlive-origin %texlive-tag - %texlive-revision)) + %texlive-revision + %texlive-date)) ;; Commentary: ;; @@ -46,6 +47,7 @@ ;; are taken from https://www.tug.org/svn/texlive/tags/ (define %texlive-tag "texlive-2021.3") (define %texlive-revision 59745) +(define %texlive-date "2021-06-28 21:59:21Z") (define (texlive-origin name version locations hash) "Return an object for a TeX Live package consisting of multiple diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 2d960cb364..875d3c50ca 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2020 Ludovic Courtès +;;; Copyright © 2014, 2020, 2023 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2018 Mark H Weaver ;;; Copyright © 2020 Simon Tournier @@ -47,6 +47,13 @@ valid Subversion revision. Return #t on success, #f otherwise." ;; verify the checksum later. This can be removed when ;; ca-certificates package is added. "--trust-server-cert" "-r" (number->string revision) + + ;; Disable keyword substitutions (keywords are CVS-like strings + ;; like "$Date$", "$Id$", and so on) for two reasons: (1) some + ;; expansions depend on the local time zone, and (2) SWH disables + ;; it in its archive for this very reason. + "--ignore-keywords" + `(,@(if (and user-name password) (list (string-append "--username=" user-name) (string-append "--password=" password)) From 12178fb7aa3c4a50da5ac54f2b70a258052899c4 Mon Sep 17 00:00:00 2001 From: Evgeny Pisemsky Date: Sun, 11 Jun 2023 15:10:00 +0300 Subject: [PATCH 071/310] gnu: Add emacs-qrencode. * gnu/packages/emacs-xyz.scm (emacs-qrencode): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 13cabd7e46..24a4ae169e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -34328,6 +34328,33 @@ generate random passwords and insert them into the current buffer. It also supports generation of phonetic and numeric passwords.") (license license:artistic2.0))) +(define-public emacs-qrencode + (package + (name "emacs-qrencode") + (version "1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruediger/qrencode-el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yrshahci319lnjdpsksdy11a69k1n91qk9r2zfyhqmng09s6i0y")))) + (build-system emacs-build-system) + (arguments + (list #:tests? #t + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "qrencode.el" + "-l" "qrencode-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/ruediger/qrencode-el") + (synopsis "QRCode encoder for Emacs in pure elisp") + (description + "This package provides two user facing interactive functions, that will encode +text into a QR Code and show it in a separate buffer.") + (license license:gpl3+))) + (define-public emacs-csv (package (name "emacs-csv") From 299f64adea72a4b360da54b0bffd06ee57a5517b Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Sun, 11 Jun 2023 21:50:42 +0200 Subject: [PATCH 072/310] gnu: icedove: Update to 102.12.0. * gnu/packages/gnuzilla.scm (%icedove-version, thunderbird-comm-source): Update to 102.12.0. --- gnu/packages/gnuzilla.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e40d2b8922..0ce5917d5d 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1138,8 +1138,8 @@ standards of the IceCat project.") "ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl" "tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW")) -(define %icedove-build-id "20230527000000") ;must be of the form YYYYMMDDhhmmss -(define %icedove-version "102.11.2") +(define %icedove-build-id "20230607000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-version "102.12.0") ;; Provides the "comm" folder which is inserted into the icecat source. ;; Avoids the duplication of Icecat's source tarball. @@ -1148,11 +1148,11 @@ standards of the IceCat project.") (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/releases/comm-esr102") - (changeset "c406f857789ca8a8943b895f4cadfc61921860ab"))) + (changeset "9d42734e12597ccdb59fee178bf369d8c328dcad"))) (file-name (string-append "thunderbird-" %icedove-version "-checkout")) (sha256 (base32 - "1id7wlj16zbgxyxx672vls7h3sq1153grrfqgw71y2ps6zwzxg67")))) + "159jdxcg62fq24hgpp5pd8yb0xmqzjhcmd706yzs8lnydm9kjpcg")))) (define (comm-source->locales+changeset source) "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the From 259b2e99e7121f05011742955636ff2dd96bf0e8 Mon Sep 17 00:00:00 2001 From: jgart Date: Sun, 11 Jun 2023 19:01:44 -0500 Subject: [PATCH 073/310] gnu: python-titlecase: Update to 2.4. * gnu/packages/python-xyz.scm (python-titlecase): Update to 2.4. [native-inputs]: Remove python-nose. --- gnu/packages/python-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dd35f94214..d736e94a6b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -27307,17 +27307,15 @@ an upload option to send your work back to the platform.") (define-public python-titlecase (package (name "python-titlecase") - (version "0.12.0") + (version "2.4") (source (origin (method url-fetch) (uri (pypi-uri "titlecase" version)) (sha256 (base32 - "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4")))) + "00h92jdpj108z4sb6dpayfblpax20698290jnbyi5z5iwk5974i6")))) (build-system python-build-system) - (native-inputs - (list python-nose)) (home-page "https://github.com/ppannuto/python-titlecase") (synopsis "Capitalize strings similar to book titles") (description From dffaf42e5eac3822bd6b44e9749fc8e5f48fb99c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 12 Jun 2023 08:52:33 +0300 Subject: [PATCH 074/310] gnu: vtk: Fix building on riscv64-linux. * gnu/packages/image-processing.scm (vtk)[arguments]: Adjust configure-flags when building for riscv64-linux to link with '-latomic'. --- gnu/packages/image-processing.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 6ecb9dd0a8..12d18a555a 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -385,7 +385,10 @@ many popular formats.") "-DVTK_SMP_ENABLE_OPENNMP=ON" "-DVTK_SMP_ENABLE_TBB=ON" "-DVTK_USE_MPI=ON" - ) + #$@(if (target-riscv64?) + '("-DCMAKE_SHARED_LINKER_FLAGS=-latomic" + "-DCMAKE_EXE_LINKER_FLAGS=-latomic") + '())) #:phases #~(modify-phases %standard-phases From efe85c761a613fd31dd81bd575262191bd98a962 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:04:28 -0400 Subject: [PATCH 075/310] gnu: linux-libre: Update to 6.3.7. * gnu/packages/linux.scm (linux-libre-6.3-version): Update to 6.3.7. (linux-libre-6.3-pristine-source, deblob-scripts-6.3): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3bcc34374c..c3ef0e8d18 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -485,17 +485,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.3-version "6.3.6") +(define-public linux-libre-6.3-version "6.3.7") (define-public linux-libre-6.3-gnu-revision "gnu") (define deblob-scripts-6.3 (linux-libre-deblob-scripts linux-libre-6.3-version linux-libre-6.3-gnu-revision (base32 "01ivgzq18fwas87q84jx9jipcw58kwdnch7ylwg06d98ncga27px") - (base32 "0la20slh52jm4cg4v2liphhqqx4808gm6pfqcxiawj13a4ps9ygk"))) + (base32 "0829793c0wc27p910q9qp4ixdp11m44l1rvl8403yhscnc3hagga"))) (define-public linux-libre-6.3-pristine-source (let ((version linux-libre-6.3-version) - (hash (base32 "1vr418rf0zd16fq4vaxda1w2ccng2n9l0ysakmgz9xqbz86iysks"))) + (hash (base32 "1acpbddgxna1g8xzsil5r1fbsiw8z3wdr69y8xxjllkck51rfdpy"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.3))) From 5e384f947f2a7e808106d79ef53c65a6d51113c3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:05:03 -0400 Subject: [PATCH 076/310] gnu: linux-libre 6.1: Update to 6.1.33. * gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.33. (linux-libre-6.1-pristine-source, deblob-scripts-6.1): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c3ef0e8d18..22573c2d0b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -503,17 +503,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-6.1-version "6.1.32") +(define-public linux-libre-6.1-version "6.1.33") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts linux-libre-6.1-version linux-libre-6.1-gnu-revision (base32 "1b96867b46m36l88qnq2d4i9y43ghw97z9jajrh11cvb6kq4xi67") - (base32 "1yv15mb278wlrn8gb2yjm0mczirzixy668h221vcpbz416ibxx1m"))) + (base32 "1qq3nsznblz5fkwahxwq26csmrmjbxh8xknm2z4zw6b6k9svzb1b"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0v0saai735jzaj3dbpgp6sbdi95n3lmv78pbg1xy9fd2kfhbg23w"))) + (hash (base32 "1kfj7mi3n2lfaw4spz5cbvcl1md038figabyg80fha3kxal6nzdq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) From 37ceb6dc7a594beac660826264d70bf53da26dc1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:05:36 -0400 Subject: [PATCH 077/310] gnu: linux-libre 5.15: Update to 5.15.116. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.116. (linux-libre-5.15-pristine-source, deblob-scripts-5.15): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 22573c2d0b..d2d7124292 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -518,17 +518,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.115") +(define-public linux-libre-5.15-version "5.15.116") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts linux-libre-5.15-version linux-libre-5.15-gnu-revision (base32 "0w5wyw8zp124nwydjvpnih7q3lp7gadlgsw60syw45nqq0afvlz3") - (base32 "00n8c7ghfs36bvz0yjw6w9daf5zcgj94kxxn27bfyfm274rkddmz"))) + (base32 "1zljgvzr8irs3acq436i2iyana9vgx4k1pm3id4rz0fbaqfma602"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "050j9z0wg5glgxwbmzfq4l8lv8y7g3nc2rz8342yjdcjfxh6h1qv"))) + (hash (base32 "16hpdqlkz2g2pjcml7j55yfym6nbp0zg8f2r969wq9jkpg8wj5zn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) From fc540bb66fe0abf3d2f7454b6c05fca19014008e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:06:08 -0400 Subject: [PATCH 078/310] gnu: linux-libre 5.10: Update to 5.10.183. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.183. (linux-libre-5.10-pristine-source, deblob-scripts-5.10): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d2d7124292..a951ebbf76 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -533,17 +533,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.182") +(define-public linux-libre-5.10-version "5.10.183") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version linux-libre-5.10-gnu-revision (base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf") - (base32 "12jhak2bw1jy2jk70vrm66kjvh0cd6c8f2qiy2bk40rq7bf62mr6"))) + (base32 "1739xvyzi3i7d12mvsvnqa7208pvwfss43kzin71l9svw0405vp5"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1xp9bxk2vyw29bq3z854ly4cj94z8i52yl5hq4a3l3j6564wb3ny"))) + (hash (base32 "06b1nlwaqs7g3323zxp1bxfilqpbj700x591vqa9dx6a6p39g520"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From 2cd7c0616a0bb0d670b1226eebc2d761e2769e03 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:06:33 -0400 Subject: [PATCH 079/310] gnu: linux-libre 5.4: Update to 5.4.246. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.246. (linux-libre-5.4-pristine-source, deblob-scripts-5.4): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a951ebbf76..7c36dcef12 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -548,17 +548,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.245") +(define-public linux-libre-5.4-version "5.4.246") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version linux-libre-5.4-gnu-revision (base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj") - (base32 "070j069sj6spy2wkzfzm1d5jd7pffm0s1m917wblc8d3x8pbgvf8"))) + (base32 "0ll19zlgx5sbr7gvi93lgavrnzlgv6dpj2yp2x63fj6vdba5iwgc"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "195ixy9l18mhwvzj7v63fkyifb9mysq950afxh6ixlpvg0c8h1wn"))) + (hash (base32 "1snrgvpqpmc0d4aphq8flsmlcjjx9kgknymjlrmazl4ghl57jf09"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From a8cd4e4775275195402a3d6dd286a688b4b973f4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:07:30 -0400 Subject: [PATCH 080/310] gnu: linux-libre 4.19: Update to 4.19.285. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.285. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7c36dcef12..3b3bccf722 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -563,7 +563,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.284") +(define-public linux-libre-4.19-version "4.19.285") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -573,7 +573,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0gnhgxcpx9s96wa3dqgxmdjb7x12i94yh0gmv7k9nbz5qwhfxfbz"))) + (hash (base32 "05nwivdk4w939vrrbn5p2yai1rz7kxqa4bl5f3n6d867b59pg8da"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From 0e21b01a9a982b77428c25b96661bb5108017e0d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Jun 2023 21:08:01 -0400 Subject: [PATCH 081/310] gnu: linux-libre 4.14: Update to 4.14.317. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.317. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3b3bccf722..304085960d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -578,7 +578,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.316") +(define-public linux-libre-4.14-version "4.14.317") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -588,7 +588,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0xlg93va7dbz2w428kiw7vr2sds3542fqq57rwyf51ykq7qii0xc"))) + (hash (base32 "0c1wy0m0jnjpc6scrw1y97wsg2d18vb1bi31i1qzlxvgmrd8zwlc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From 3fc26c6dc4b6bbf558a17b5e3ef8092ea0eeeacd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 12 Jun 2023 18:07:07 +0300 Subject: [PATCH 082/310] gnu: directfb: Fix building on armhf-linux. * gnu/packages/graphics.scm (directfb)[arguments]: Add a phase when building for armhf-linux to apply a patch. [native-inputs]: Add patch, patch file. * gnu/packages/patches/directfb-davinci-glibc-228-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/graphics.scm | 18 +++++++- .../directfb-davinci-glibc-228-compat.patch | 41 +++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/directfb-davinci-glibc-228-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index ce16d37e2b..6aabe2ba73 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1056,6 +1056,7 @@ dist_patch_DATA = \ %D%/packages/patches/dezyne-add-missing-shebangs.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-fix-signal-processing.patch \ + %D%/packages/patches/directfb-davinci-glibc-228-compat.patch \ %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ %D%/packages/patches/docbook-xsl-support-old-url.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 60db7543a6..bccfe89d55 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -189,13 +189,29 @@ framebuffer graphics, audio output and input event.") (lambda _ (substitute* "src/core/core.c" (("..BUILDTIME..") "")))) + ;; TODO: Move patch to source. + ,@(if (target-arm32?) + `((add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (invoke "patch" "--force" "-p1" "-i" + (assoc-ref inputs "patch-file"))))) + '()) (add-after 'unpack 'disable-configure-during-bootstrap (lambda _ (substitute* "autogen.sh" (("^.*\\$srcdir/configure.*") "")) #t))))) (native-inputs - (list autoconf automake libtool perl pkg-config)) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ,@(if (target-arm32?) + `(("patch" ,patch) + ("patch-file" + ,(search-patch "directfb-davinci-glibc-228-compat.patch"))) + '()))) (inputs (list alsa-lib ffmpeg diff --git a/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch new file mode 100644 index 0000000000..eeee337f57 --- /dev/null +++ b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch @@ -0,0 +1,41 @@ +This patch is from upstream + +From 3a236241bbec3f15b012b6f0dbe94353d8094557 Mon Sep 17 00:00:00 2001 +From: Andrew Childs +Date: Sat, 2 May 2020 12:36:46 +0900 +Subject: [PATCH] davinci: fix build with glibc >= 2.28 + +From glibc 2.28 release notes: + +* The macros 'major', 'minor', and 'makedev' are now only available from + the header ; not from or various other + headers that happen to include . These macros are rarely + used, not part of POSIX nor XSI, and their names frequently collide with + user code; see https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for + further explanation. + + is a GNU extension. Portable programs that require + these macros should first include , and then include + if __GNU_LIBRARY__ is defined. + +https://lists.gnu.org/archive/html/info-gnu/2018-08/msg00000.html +--- + gfxdrivers/davinci/davinci_c64x.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gfxdrivers/davinci/davinci_c64x.c b/gfxdrivers/davinci/davinci_c64x.c +index 431ffdd99..351250a03 100644 +--- a/gfxdrivers/davinci/davinci_c64x.c ++++ b/gfxdrivers/davinci/davinci_c64x.c +@@ -39,6 +39,11 @@ + #include + #include + ++// Required for `makedev` in glibc >= 2.28 ++#if defined(__GNU_LIBRARY__) ++#include ++#endif ++ + #include + + #include From 09d41cb60da4734a91704674ecdf4eae45762ddf Mon Sep 17 00:00:00 2001 From: Matthew James Kraai Date: Tue, 16 May 2023 07:13:35 -0700 Subject: [PATCH 083/310] gnu: doctl: Update to 1.94.0. * gnu/packages/admin.scm (doctl): Update to 1.94.0. Signed-off-by: Christopher Baines --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3193aa1456..511033bafb 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -5764,7 +5764,7 @@ file or files to several hosts.") (define-public doctl (package (name "doctl") - (version "1.93.1") + (version "1.94.0") (source (origin (method git-fetch) (uri (git-reference @@ -5773,7 +5773,7 @@ file or files to several hosts.") (file-name (git-file-name name version)) (sha256 (base32 - "18l0avbq1la1wsfwj13kq5prqz6mydhs3ihvf0f3s3vr2y9h71aq")))) + "0a221n0x7qrq0dbhhf1saya2g7jyy1798k3rhy9nzyvqzc4vnd0x")))) (build-system go-build-system) (arguments (list #:import-path "github.com/digitalocean/doctl/cmd/doctl" From dc741120fe53c08eb3509a43dd2486ee3ec3cb28 Mon Sep 17 00:00:00 2001 From: Z572 <873216071@qq.com> Date: Wed, 17 May 2023 01:11:23 +0800 Subject: [PATCH 084/310] gnu: python-m2crypto: Update to 0.38.0. * gnu/packages/python-crypto.scm (python-m2crypto): Update to 0.38.0. [build-system]: switch to PYPROJECT-BUILD-SYSTEM. Signed-off-by: Christopher Baines --- gnu/packages/python-crypto.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 528bfe604a..44babe5c8c 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 Juliana Sims +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1024,14 +1025,14 @@ provides drop-in compatibility with PyCrypto."))) (define-public python-m2crypto (package (name "python-m2crypto") - (version "0.35.2") + (version "0.38.0") (source (origin (method url-fetch) (uri (pypi-uri "M2Crypto" version)) (sha256 - (base32 "09yirf3w77w6f49q6nxhrjm9c3a4y9s30s1k09chqrw8zdgx8sjc")))) - (build-system python-build-system) + (base32 "1jyynaybncgjp8rndrwjpj5gnbrislngimf6ind9874h6052dwlr")))) + (build-system pyproject-build-system) (arguments `(;; FIXME: Tests start failing with time due to date checks in TLS ;; certificates. From 3cc08bbdd960879e97ae5a9683ede3e630caf28e Mon Sep 17 00:00:00 2001 From: Ivan Vilata i Balaguer Date: Tue, 23 May 2023 09:49:29 +0200 Subject: [PATCH 085/310] gnu: python-py3status: Update to 3.50. This avoids "ImportError: cannot import name 'Iterable' from 'collections'" from py3status version < 3.25. * gnu/packages/python-xyz.scm (python-py3status): Update to 3.50. Signed-off-by: Christopher Baines --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d736e94a6b..497b06a1c5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -137,6 +137,7 @@ ;;; Copyright © 2023 Bruno Victal ;;; Copyright © 2023 Kaelyn Takata ;;; Copyright © 2023 Dominik Delgado Steuter +;;; Copyright © 2023 Ivan Vilata-i-Balaguer ;;; ;;; This file is part of GNU Guix. ;;; @@ -17947,13 +17948,13 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.21") + (version "3.50") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 - (base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262")))) + (base32 "0j2dx9lzpic15r8p0r0s3jmcskxpacahxl640b4864ldn5rlnh9d")))) (build-system python-build-system) (inputs (list file)) From 9c1697020912ac24ff6be7eb6591314fdb74fc07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 27 May 2023 16:35:54 +0800 Subject: [PATCH 086/310] gnu: tup: Update to 0.7.11. * gnu/packages/build-tools.scm (tup): Update to 0.7.11. [inputs]: Use fuse-3. Signed-off-by: Christopher Baines --- gnu/packages/build-tools.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index f3bf0857dd..c5c91f5cbf 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -535,14 +535,14 @@ software.") (define-public tup (package (name "tup") - (version "0.7.9") + (version "0.7.11") (source (origin (method url-fetch) (uri (string-append "http://gittup.org/tup/releases/tup-v" version ".tar.gz")) (sha256 (base32 - "0gnd2598xqgwihdkfkx7qn0q6p4n7npam1fy83mp7s04zwj99syc")) + "1157qfnhjakm3h07y7h38lrjw5650gkif34k30bnrsypmwl5xyzb")) (patches (search-patches "tup-unbundle-dependencies.patch")) (modules '((guix build utils))) (snippet @@ -591,7 +591,7 @@ software.") (display "au BufNewFile,BufRead Tupfile,*.tup setf tup"))) #t)))))) (inputs - (list fuse pcre + (list fuse-3 pcre `(,pcre "bin") ; pcre-config sqlite)) (native-inputs From e2f25b79cbcafe0df350caaa5180ca2d542ff72d Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Sat, 27 May 2023 18:21:40 +0000 Subject: [PATCH 087/310] gnu: python-absl-py: Update to 1.4.0. * gnu/packages/python-xyz.scm (python-absl-py): Update to 1.4.0. [arguments]: Remove 'patch-version-check phase. [propagated-inputs]: Remove python-six. Signed-off-by: Christopher Baines --- gnu/packages/python-xyz.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 497b06a1c5..968a8e1be9 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25473,26 +25473,15 @@ RFC 8265 and RFC 8266.") (define-public python-absl-py (package (name "python-absl-py") - (version "0.6.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "absl-py" version)) (sha256 (base32 - "1mp9lk0b2qa37b7y6ak4lvf6ifw2ylyy6bkf9ik77md3j4xrwlc7")))) + "0ga3b0m8lfsv1m3260p83lhis52yvz3d42q8gip4gfj823849hnj")))) (build-system pyproject-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'patch-version-check - (lambda _ - ;; Python 3.10 is indeed more recent than Python 3.4. - (substitute* "setup.py" - ((" or py_version\\[0\\] == '3'.*") ":"))))))) - (propagated-inputs - (list python-six)) (home-page "https://github.com/abseil/abseil-py") (synopsis "Abseil Python common libraries") (description From 96e6cd6ae12ecf8c075a59fb3a68c799fb2647e1 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Thu, 1 Jun 2023 10:10:10 +0800 Subject: [PATCH 088/310] gnu: phantomsocks: Update to 0.0.0-20230405135900-a54ae9f3611e. * gnu/packages/networking.scm (phantomsocks): Update to 0.0.0-20230405135900-a54ae9f3611e. Signed-off-by: Christopher Baines --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 2055ed93c7..b0cdcdf6a3 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4505,7 +4505,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (define-public phantomsocks (package (name "phantomsocks") - (version "0.0.0-20230223180716-34d21f24a9eb") + (version "0.0.0-20230405135900-a54ae9f3611e") (source (origin (method git-fetch) (uri (git-reference @@ -4514,7 +4514,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (file-name (git-file-name name version)) (sha256 (base32 - "0zfkqiimqwg89njqm9qbwki3fgy0rqx8wr95hq813zk0rf3bj1ka")))) + "1qgv8dcrsyzjzppvdk0n5kkyaypcjm1hcn9lb29ahvbhm70cpm6a")))) (build-system go-build-system) (arguments (list #:install-source? #f From 14faba0abba8dd1e17661cc0458ae9db7b9409bd Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:03:26 +0200 Subject: [PATCH 089/310] gnu: lfs-s3: Update to 0.1.2. * gnu/packages/version-control.scm (lfs-s3): Update to 0.1.2. [propagated-inputs] Remove go-github-com-spf13-cobra. Signed-off-by: Christopher Baines --- gnu/packages/version-control.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1db0931ac3..9a27b8f1e9 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -3114,7 +3114,7 @@ file contents on a remote server.") (define-public lfs-s3 (package (name "lfs-s3") - (version "0.1") + (version "0.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -3123,7 +3123,7 @@ file contents on a remote server.") (file-name (git-file-name name version)) (sha256 (base32 - "0nkxivb356f1zjlj34px601zy86w4398db9s2ivd178jp4v69raw")))) + "0ncfy3lgc7dik9k71xk9l5f2llsh2jk33aaqb8dkslschc1mx4g6")))) (build-system go-build-system) (arguments (list @@ -3133,8 +3133,7 @@ file contents on a remote server.") (list go-github-com-aws-aws-sdk-go-v2 go-github-com-aws-aws-sdk-go-v2-config go-github-com-aws-aws-sdk-go-v2-feature-s3-manager - go-github-com-aws-aws-sdk-go-v2-service-s3 - go-github-com-spf13-cobra)) + go-github-com-aws-aws-sdk-go-v2-service-s3)) (home-page "https://git.sr.ht/~ngraves/lfs-s3/") (synopsis "Git extension for versioning large files in S3") (description From 43e06d0203a4ba2e2612cb7313adb3f16f288325 Mon Sep 17 00:00:00 2001 From: wrobell Date: Tue, 6 Jun 2023 23:34:16 +0100 Subject: [PATCH 090/310] gnu: erlang: Update to 25.3.2. * gnu/packages/erlang.scm (erlang): Update to 25.3.2. Signed-off-by: Christopher Baines --- gnu/packages/erlang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 7564c2a560..ccf1caca60 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -45,7 +45,7 @@ (define-public erlang (package (name "erlang") - (version "25.3") + (version "25.3.2") (source (origin (method git-fetch) ;; The tarball from http://erlang.org/download contains many @@ -57,7 +57,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0jw230fy0z358aj1xi80hg14qyqyj5p4wp0pfifkr0n694j3h2d1")) + "092lym5a181gz89nscw7kqhw1wa6qvgcpkj80q4i9p79mxmsr1nj")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs From 51b29ba0077e0d7d18af3d5af5ed6f7b1ed652c7 Mon Sep 17 00:00:00 2001 From: Olivier Dion Date: Wed, 7 Jun 2023 11:04:24 -0400 Subject: [PATCH 091/310] gnu: lttng-modules: Update to 2.13.10. * gnu/packages/instrumentation.scm (lttng-modules): Update to 2.13.10. Signed-off-by: Christopher Baines --- gnu/packages/instrumentation.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index de74e6e03d..9bb633bcce 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -314,14 +314,14 @@ coverage.") (define-public lttng-modules (package (name "lttng-modules") - (version "2.13.5") + (version "2.13.10") (source (origin (method url-fetch) (uri (string-append "https://lttng.org/files/lttng-modules/" "lttng-modules-" version ".tar.bz2")) (sha256 (base32 - "0277yfp57psnvn5g40mk09zryp0r4saynns213qak18fv0l39szc")))) + "19xh8nm19vx6c2i1adqpa8q2xsvxn59qxa6z186iywbhr0dgpaqk")))) (build-system linux-module-build-system) (arguments `(#:tests? #f ; no tests From 1798c026388c7aa3c66979279f6bc8315c8d5eb0 Mon Sep 17 00:00:00 2001 From: Sughosha Date: Thu, 8 Jun 2023 13:48:17 +0000 Subject: [PATCH 092/310] gnu: flat-remix-gnome-theme: Update to 20230508. * gnu/packages/gnome-xyz.scm (flat-remix-gnome-theme): Update to 20230508. Signed-off-by: Christopher Baines --- gnu/packages/gnome-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 4611315e00..4ce102d8ed 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -296,18 +296,17 @@ shadows, highlights, and gradients for some depth.") (define-public flat-remix-gnome-theme (package (name "flat-remix-gnome-theme") - (version "20221107-1") + (version "20230508") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/daniruiz/flat-remix-gnome") - ;; This commit adds GtkSourceView 5 theme, for GNOME Text Editor. - (commit "b5616efc515e9f1417436e67d94718db7529a2ba"))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "10fgdz8hz8rd7aj4vb3bvl8khzb2fvaia7n00gi0x19yvnnh36pr")))) + (base32 "1b31ayb4qvcr5m3dqcidl9ilpp3w4mr56wq6vrp73g4cj558pi9h")))) (build-system copy-build-system) (arguments `(#:install-plan From 94020f90f96c6db6b22f108adb8bd83b61969f69 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sat, 10 Jun 2023 00:53:41 -0700 Subject: [PATCH 093/310] gnu: gnuastro: Update to 0.20 * gnu/packages/astronomy.scm (gnuastro: Update to 0.20 Signed-off-by: Christopher Baines --- gnu/packages/astronomy.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 964e72642c..1371b24667 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -651,7 +651,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") (define-public gnuastro (package (name "gnuastro") - (version "0.19") + (version "0.20") (source (origin (method url-fetch) @@ -659,7 +659,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") version ".tar.lz")) (sha256 (base32 - "192q3i4zlfmwfcchlf9lnpfgys9dssh7npr5qx0gzn3d2fri0xbz")))) + "05bkad0xbax9k0m2g2507mdmjg2109sfg72dsx16f44yj55llh2n")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) From 86d7c5730cd63406690ae71a19930bc8c74db4be Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sat, 10 Jun 2023 01:11:56 -0700 Subject: [PATCH 094/310] gnu: mailutils: Update to 3.16 * gnu/packages/mail.scm (mailutils): Update to 3.16 Signed-off-by: Christopher Baines --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ee6e19fcfe..8408d27e82 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -275,14 +275,14 @@ example, modify the message headers or body, or encrypt or sign the message.") (define-public mailutils (package (name "mailutils") - (version "3.15") + (version "3.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "1nrd9wsidxami3wa86l9z8hnnwv6rhbxdkvqg7dcgz2jqf3c5l5p")) + "1h02l0zilxsak1sxpm15vhfaahd8rwvcksc88cc7c0wc626ia784")) (patches (search-patches "mailutils-variable-lookup.patch")))) (build-system gnu-build-system) From a44cd79545cd520c5bd0bcc0c399bb83709fe891 Mon Sep 17 00:00:00 2001 From: Sughosha Date: Sat, 10 Jun 2023 08:28:15 +0000 Subject: [PATCH 095/310] gnu: musikcube: Update to 3.0.1. * gnu/packages/music.scm (musikcube): Update to 3.0.1. [arguments]<#:configure-flags>: Remove "-DENABLE_BUNDLED_TAGLIB=false". [native-inputs]: Add "asio". [inputs]: Replace "ncurses" with "ncurses/tinfo" and add "libgme", "libogg", "libvorbis" and "pipewire". Signed-off-by: Christopher Baines --- gnu/packages/music.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b7369391db..67d170997d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -159,6 +159,7 @@ #:use-module (gnu packages mpd) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) + #:use-module (gnu packages networking) #:use-module (gnu packages pcre) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -7095,7 +7096,7 @@ choice.") (define-public musikcube (package (name "musikcube") - (version "0.96.10") + (version "3.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -7104,13 +7105,12 @@ choice.") (file-name (git-file-name name version)) (sha256 (base32 - "06myr83x8jvzlzchg3jsw1163n2lcsbmb176zgnx7xxa26jpdbh1")))) + "09q15xlssgg67zg5m0q574k3al2pdjdnm1580mlf0wzr6a021fnd")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; No test suite #:configure-flags '("-DCMAKE_BUILD_TYPE=Release" - "-DENABLE_BUNDLED_TAGLIB=false" ;; Use the "wide" ncurses headers but don't look for them in an ;; ncursesw directory. For more info: ;; https://github.com/clangen/musikcube/wiki/building#compiler-cannot-find-ncurseswcursesh @@ -7118,7 +7118,7 @@ choice.") ;; We will strip the binaries ourselves in the 'strip' phase. "-DDISABLE_STRIP=true"))) (native-inputs - (list pkg-config)) + (list asio pkg-config)) (inputs (list alsa-lib boost @@ -7126,10 +7126,14 @@ choice.") ffmpeg-4 lame libev + libgme libmicrohttpd + libogg libopenmpt - ncurses + libvorbis + ncurses/tinfo openssl + pipewire pulseaudio taglib zlib)) From 23d2693cf98b5f5064eaab7e4bb3e50609105703 Mon Sep 17 00:00:00 2001 From: Evgeny Pisemsky Date: Sat, 10 Jun 2023 14:18:00 +0300 Subject: [PATCH 096/310] gnu: perl-lingua-translit: Update to 0.29. * gnu/packages/perl.scm (perl-lingua-translit): Update to 0.29. Signed-off-by: Christopher Baines --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d7312372de..15d4f3a9bc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Maxime Devos -;;; Copyright © 2022 Evgeny Pisemsky +;;; Copyright © 2022, 2023 Evgeny Pisemsky ;;; Copyright © 2022 gemmaro ;;; Copyright © 2023 Mădălin Ionel Patrașcu ;;; Copyright © 2023 Andreas Enge @@ -6333,7 +6333,7 @@ expression and a list of abbreviations (built in and given).") (define-public perl-lingua-translit (package (name "perl-lingua-translit") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) @@ -6341,7 +6341,7 @@ expression and a list of abbreviations (built in and given).") "Lingua-Translit-" version ".tar.gz")) (sha256 (base32 - "1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi")))) + "0lkpb698p1a5b7r0m5mz23k95cgbr4vm9mfrnw4dgnkr02ygmlhs")))) (build-system perl-build-system) (arguments (list From 561d0e5f2f041e4f7a1e4066b0e5e2676ce63a9a Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sat, 10 Jun 2023 22:50:43 -0700 Subject: [PATCH 097/310] gnu: gocryptfs: Update to 2.4.0. * gnu/packages/file-systems.scm (gocryptfs): Update to 2.4.0. Signed-off-by: Christopher Baines --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 04f8863807..536b01f2f7 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -477,7 +477,7 @@ significantly increases the risk of irreversible data loss!") (define-public gocryptfs (package (name "gocryptfs") - (version "2.3.1") + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -486,7 +486,7 @@ significantly increases the risk of irreversible data loss!") (file-name (git-file-name name version)) (sha256 (base32 - "1m0xk5imkx81i1l4wv1j1xh9ckp0gqssq4v46pkkcq2xlv2dvxlr")))) + "08pdfx6bs1dc2k7xv54x7i1qbych4a7dlf31qwcm9wlz7lr5lawm")))) (build-system go-build-system) (arguments (list From 3bea4c0c191e04a37662d2be0ed47ad867b70345 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 11 Jun 2023 13:40:04 +0300 Subject: [PATCH 098/310] gnu: guile-png: Update to 0.6.0. * gnu/packages/guile-xyz.scm (guile-png): Update to 0.6.0. Signed-off-by: Christopher Baines --- gnu/packages/guile-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d8684bb818..bb02e2652c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3843,7 +3843,7 @@ debugging code.") (define-public guile-png (package (name "guile-png") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -3852,7 +3852,7 @@ debugging code.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0dnahq05mwxzbsqb0qjkyysylc54qr8l5839zyc4sanl2syzhvwk")))) + "0i0q2h4kfp1mj5m3wnz2hk6z895001j38s5vkbhkdxf05cjvwkky")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings From 0ea096ae23fa81f05ce97e5e61c15647c0a475ec Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 31 May 2023 09:25:12 +0100 Subject: [PATCH 099/310] doc: Move and rewrite the branching strategy. Move away from using staging and core-updates, and make the strategy independant of branch names. Keep the 300 dependent threshold for changes to master, as I don't have any specific reason to change this. Most importantly, require using guix-patches issues to coordinate merging of the branches, as I think that'll address the key issues that have shown up recently where it's been unclear which branch should be merged next. * doc/contributing.texi (Submitting Patches): Move the branching strategy to a new Managing Patches and Branches section. (Managing Patches and Branches): New section. (Commit Policy): Simplify through referencing the new Managing Patches and Branches section. Signed-off-by: Christopher Baines --- doc/contributing.texi | 144 +++++++++++++++++++++--------------------- doc/guix.texi | 14 ++-- 2 files changed, 80 insertions(+), 78 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index 958fc44cbd..3a402c13a9 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -26,7 +26,7 @@ choice. * Packaging Guidelines:: Growing the distribution. * Coding Style:: Hygiene of the contributor. * Submitting Patches:: Share your work. -* Tracking Bugs and Patches:: Keeping it all organized. +* Tracking Bugs and Changes:: Keeping it all organized. * Commit Access:: Pushing to the official repository. * Updating the Guix Package:: Updating the Guix package definition. * Writing Documentation:: Improving documentation in GNU Guix. @@ -1161,11 +1161,11 @@ readability of patches. Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access}). This mailing list is backed by a Debbugs instance, which allows us to -keep track of submissions (@pxref{Tracking Bugs and Patches}). Each -message sent to that mailing list gets a new tracking number assigned; -people can then follow up on the submission by sending email to -@code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is -the tracking number (@pxref{Sending a Patch Series}). +keep track of submissions (@pxref{Tracking Bugs and Changes}). +Each message sent to that mailing list gets a new tracking number +assigned; people can then follow up on the submission by sending email +to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} +is the tracking number (@pxref{Sending a Patch Series}). Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for @@ -1257,48 +1257,9 @@ and which optional dependencies should be used. In particular, avoid adding the @code{texlive-tiny} package or @code{texlive-union} procedure instead. @item -For important changes, check that dependent packages (if applicable) are -not affected by the change; @code{guix refresh --list-dependent -@var{package}} will help you do that (@pxref{Invoking guix refresh}). - -@c See . -@cindex branching strategy -@cindex rebuild scheduling strategy -Depending on the number of dependent packages and thus the amount of -rebuilding induced, commits go to different branches, along these lines: - -@table @asis -@item 300 dependent packages or less -@code{master} branch (non-disruptive changes). - -@item between 300 and 1,800 dependent packages -@code{staging} branch (non-disruptive changes). This branch is intended -to be merged in @code{master} every 6 weeks or so. Topical changes -(e.g., an update of the GNOME stack) can instead go to a specific branch -(say, @code{gnome-updates}). This branch is not expected to be -buildable or usable until late in its development process. - -@item more than 1,800 dependent packages -@code{core-updates} branch (may include major and potentially disruptive -changes). This branch is intended to be merged in @code{master} every -6 months or so. This branch is not expected to be buildable or usable -until late in its development process. -@end table - -All these branches are @uref{https://@value{SUBSTITUTE-SERVER-1}, -tracked by our build farm} and merged into @code{master} once -everything has been successfully built. This allows us to fix issues -before they hit users, and to reduce the window during which pre-built -binaries are not available. - -When we decide to start building the @code{staging} or -@code{core-updates} branches, they will be forked and renamed with the -suffix @code{-frozen}, at which time only bug fixes may be pushed to the -frozen branches. The @code{core-updates} and @code{staging} branches -will remain open to accept patches for the next cycle. Please ask on -the mailing list or IRC if unsure where to place a patch. -@c TODO: It would be good with badges on the website that tracks these -@c branches. Or maybe even a status page. +Check that dependent packages (if applicable) are not affected by the +change; @code{guix refresh --list-dependent @var{package}} will help you +do that (@pxref{Invoking guix refresh}). @item @cindex determinism, of build processes @@ -1574,16 +1535,17 @@ $ guix shell -D guix [env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2 @end example -@node Tracking Bugs and Patches -@section Tracking Bugs and Patches +@node Tracking Bugs and Changes +@section Tracking Bugs and Changes -This section describes how the Guix project tracks its bug reports and -patch submissions. +This section describes how the Guix project tracks its bug reports, +patch submissions and topic branches. @menu -* The Issue Tracker:: The official bug and patch tracker. -* Debbugs User Interfaces:: Ways to interact with Debbugs. -* Debbugs Usertags:: Tag reports with custom labels. +* The Issue Tracker:: The official bug and patch tracker. +* Managing Patches and Branches:: How changes to Guix are managed. +* Debbugs User Interfaces:: Ways to interact with Debbugs. +* Debbugs Usertags:: Tag reports with custom labels. @end menu @node The Issue Tracker @@ -1600,6 +1562,55 @@ email to @email{bug-guix@@gnu.org}, while patch submissions are filed against the @code{guix-patches} package by sending email to @email{guix-patches@@gnu.org} (@pxref{Submitting Patches}). +@node Managing Patches and Branches +@subsection Managing Patches and Branches +@cindex branching strategy +@cindex rebuild scheduling strategy + +Changes should be posted to @email{guix-patches@@gnu.org}. This mailing +list fills the patch-tracking database (@pxref{The Issue Tracker}). It +also allows patches to be picked up and tested by the quality assurance +tooling; the result of that testing eventually shows up on the dashboard +at @indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where +@var{ISSUE_NUMBER} is the number assigned by the issue tracker. Leave +time for a review, without committing anything. + +As an exception, some changes considered ``trivial'' or ``obvious'' may +be pushed directly to the @code{master} branch. This includes changes +to fix typos and reverting commits that caused immediate problems. This +is subject to being adjusted, allowing individuals to commit directly on +non-controversial changes on parts they’re familiar with. + +Changes which affect more than 300 dependent packages (@pxref{Invoking +guix refresh}) should first be pushed to a topic branch other than +@code{master}; the set of changes should be consistent---e.g., ``GNOME +update'', ``NumPy update'', etc. This allows for testing: the branch +will automatically show up at +@indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an +indication of its build status on various platforms. + +To help coordinate the merging of branches, you must create a new +guix-patches issue each time you wish to merge a branch (@pxref{The +Issue Tracker}). Normally branches will be merged in a ``first come, +first merged'' manner, tracked through the guix-patches issues. + +If you agree on a different order with those involved, you can track +this by updating which issues block@footnote{You can mark an issue as +blocked by another by emailing @email{control@@debbugs.gnu.org} with the +following line in the body of the email: @code{block XXXXX by YYYYY}. +Where @code{XXXXX} is the number for the blocked issue, and @code{YYYYY} +is the number for the issue blocking it.} which other issues. +Therefore, to know which branch is at the front of the queue, look for +the oldest issue, or the issue that isn't @dfn{blocked} by any other +branch merges. An ordered list of branches with the open issues is +available at @url{https://qa.guix.gnu.org}. + +Once a branch is at the front of the queue, wait until sufficient time +has passed for the build farms to have processed the changes, and for +the necessary testing to have happened. For example, you can check +@indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} to see +information on some builds and substitute availability. + @node Debbugs User Interfaces @subsection Debbugs User Interfaces @@ -1816,23 +1827,14 @@ If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org}). -Changes should be posted to @email{guix-patches@@gnu.org}. This mailing -list fills the patch-tracking database (@pxref{Tracking Bugs and -Patches}). It also allows patches to be picked up and tested by the -quality assurance tooling; the result of that testing eventually shows -up on the dashboard at -@indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where -@var{ISSUE_NUMBER} is the number assigned by the issue tracker. Leave -time for a review, without committing anything (@pxref{Submitting -Patches}). If you didn’t receive any reply after one week (two weeks -for more significant changes), and if you're confident, it's OK to -commit. +Ensure you're aware of how the changes should be handled +(@pxref{Managing Patches and Branches}) prior to being pushed to the +repository, especially for the @code{master} branch. -As an exception, some changes considered ``trivial'' or ``obvious'' may -be pushed directly. This includes changes to fix typos and reverting -commits that caused immediate problems. This is subject to being -adjusted, allowing individuals to commit directly on non-controversial -changes on parts they’re familiar with. +If you're committing and pushing your own changes, try and wait at least +one week (two weeks for more significant changes) after you send them +for review. After this, if no one else is available to review them and +if you're confident about the changes, it's OK to commit. When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., diff --git a/doc/guix.texi b/doc/guix.texi index 395fc25818..43dffe08c1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -637,18 +637,18 @@ includes POWER9 systems such as the RYF Talos II mainboard}. This platform is available as a "technology preview": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to -build (@pxref{Tracking Bugs and Patches}). That said, the Guix +build (@pxref{Tracking Bugs and Changes}). That said, the Guix community is actively working on improving this support, and now is a great time to try it and get involved! @item riscv64-linux little-endian 64-bit RISC-V processors, specifically RV64GC, and -Linux-Libre kernel. This platform is available as a "technology preview": -although it is supported, substitutes are not yet available from the -build farm (@pxref{Substitutes}), and some packages may fail to build -(@pxref{Tracking Bugs and Patches}). That said, the Guix community is -actively working on improving this support, and now is a great time to -try it and get involved! +Linux-Libre kernel. This platform is available as a "technology +preview": although it is supported, substitutes are not yet available +from the build farm (@pxref{Substitutes}), and some packages may fail to +build (@pxref{Tracking Bugs and Changes}). That said, the Guix +community is actively working on improving this support, and now is a +great time to try it and get involved! @end table From 5c66be3c17e279e4589320c69deb5dba0fd034e2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 12 Jun 2023 20:54:57 +0300 Subject: [PATCH 100/310] gnu: python-mf2py: Add missing input. * gnu/packages/python-web.scm (python-mf2py)[native-inputs]: Add python-mock. --- gnu/packages/python-web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 8cf03d3737..6869eb0a8b 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -8101,7 +8101,7 @@ characters in a smarter, more visually pleasing style.") (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "pytest" "-vv" "test"))))))) - (native-inputs (list python-pytest)) + (native-inputs (list python-mock python-pytest)) (propagated-inputs (list python-beautifulsoup4 python-html5lib python-requests)) (home-page "https://github.com/microformats/mf2py") From 0433e7f3c200936fbf77f22aa3b433413d17d0fa Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Tue, 13 Jun 2023 08:22:29 +0400 Subject: [PATCH 101/310] gnu: Add emacs-rail. * gnu/packages/emacs-xyz.scm (emacs-rail): New variable. --- gnu/packages/emacs-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 24a4ae169e..f46af73aec 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15518,6 +15518,27 @@ can selectively commit files, view the diffs, and other things.") distribution, primarily targeting Clojure users") (license license:gpl3+))) +(define-public emacs-rail + (package + (name "emacs-rail") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Sasanidas/Rail") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i07zv0z6r46jpg22x99a1izyfp6536xf951ibyr9kis5bql5jz9")))) + (build-system emacs-build-system) + (home-page "https://github.com/Sasanidas/Rail") + (synopsis "Generic nREPL client for Emacs") + (description + "Rail is a nREPL client based on monroe with similar features, but aims +to be a more complete implementation.") + (license license:gpl3+))) + (define-public emacs-orgalist (package (name "emacs-orgalist") From 0b2d33af03a7bfca0b58dcd5c8d551eb6927cf6b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Jun 2023 09:09:08 +0300 Subject: [PATCH 102/310] gnu: qgis: Allow building on more architectures. * gnu/packages/geo.scm (qgis)[native-inputs]: Only build with shellcheck on supported platforms. --- gnu/packages/geo.scm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 6ad3c87ff1..65344bcac2 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -2786,17 +2786,20 @@ growing set of geoscientific methods.") sqlite (list zstd "lib"))) (native-inputs - (list bison - flex - perl - perl-yaml-tiny - pkg-config - python-mock - python-nose2 - python-pyqt-builder - qttools-5 - shellcheck - xorg-server-for-tests)) + (append + (list bison + flex + perl + perl-yaml-tiny + pkg-config + python-mock + python-nose2 + python-pyqt-builder + qttools-5) + (if (supported-package? shellcheck) + (list shellcheck) + '()) + (list xorg-server-for-tests))) (home-page "https://qgis.org") (synopsis "Geographical information system") (description "QGIS is an easy to use Geographical Information From 63f8af77ec7be5434290f443140e5c00832940e3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Jun 2023 09:16:46 +0300 Subject: [PATCH 103/310] gnu: libgit2: Skip some tests on armhf-linux. * gnu/packages/version-control.scm (libgit2)[arguments]: When building for armhf-linux add a phase to skip some tests. --- gnu/packages/version-control.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 9a27b8f1e9..1dd3eaaa82 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -846,6 +846,12 @@ to GitHub contributions calendar.") '())) #:phases (modify-phases %standard-phases + ,@(if (target-arm32?) + ;; Some tests are flaky on armhf. + '((add-before 'check 'pre-check + (lambda _ + (setenv "GITTEST_FLAKY_STAT" "true")))) + '()) ;; Run checks more verbosely, unless we are cross-compiling. (replace 'check (lambda* (#:key (tests? #t) #:allow-other-keys) From b188c41d930dbe8142c1f377d3c8f2580ff1277c Mon Sep 17 00:00:00 2001 From: Alice BRENON Date: Fri, 5 May 2023 15:26:37 +0200 Subject: [PATCH 104/310] gnu: quodlibet: Fix compatibility with python-3.10. Reported in #63205. * gnu/packages/music.scm (quodlibet)[source]: Add two backported patches. [arguments]: Adjust 'check phase to change skipped tests. * gnu/packages/patches/quodlibet-fix-invalid-glob.patch, gnu/packages/patches/quodlibet-fix-mtime-tests.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. Signed-off-by: Efraim Flashner --- gnu/local.mk | 2 + gnu/packages/music.scm | 6 +- .../patches/quodlibet-fix-invalid-glob.patch | 89 +++++++++++++++++++ .../patches/quodlibet-fix-mtime-tests.patch | 39 ++++++++ 4 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/quodlibet-fix-invalid-glob.patch create mode 100644 gnu/packages/patches/quodlibet-fix-mtime-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6aabe2ba73..03b981c201 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1703,6 +1703,8 @@ dist_patch_DATA = \ %D%/packages/patches/python-typeguard-python3.10.patch \ %D%/packages/patches/python-w3lib-fix-test-failure.patch \ %D%/packages/patches/python-wxwidgets-type-errors.patch \ + %D%/packages/patches/quodlibet-fix-invalid-glob.patch \ + %D%/packages/patches/quodlibet-fix-mtime-tests.patch \ %D%/packages/patches/scribus-1.5.8-poppler-22.03.0.patch \ %D%/packages/patches/scribus-1.5.8-poppler-22.04.0.patch \ %D%/packages/patches/scribus-1.5.8-poppler-22.09.0.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 67d170997d..2e7eddafb0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -7154,6 +7154,8 @@ streaming audio server.") (url "https://github.com/quodlibet/quodlibet") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) + (patches (search-patches "quodlibet-fix-invalid-glob.patch" + "quodlibet-fix-mtime-tests.patch")) (sha256 (base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v")))) (build-system python-build-system) @@ -7177,9 +7179,7 @@ streaming audio server.") "--ignore=tests/test_browsers_iradio.py" ;; broken upstream "--disable-warnings" - "--ignore=tests/quality" - ;; missing legacy icons in adwaita-icon-theme - "--ignore=tests/plugin/test_trayicon.py") + "--ignore=tests/quality/test_flake8.py") (format #t "test suite not run~%")))) (add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) diff --git a/gnu/packages/patches/quodlibet-fix-invalid-glob.patch b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch new file mode 100644 index 0000000000..95f95d8aab --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch @@ -0,0 +1,89 @@ +From 5f55431a28509fd4f4f7b40dc246f3d34fa8549e Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 26 Jun 2022 23:14:28 +0200 +Subject: [PATCH] builtin cover: fix handling of invalid glob ranges with + Python 3.10.5+ (#4027) + +Previously Python would raise if an invalid range was given +to glob, but with 3.10.5 they fixed it to not match anything. +https://github.com/python/cpython/issues/89973 + +Our tests depended on the previous logic and treating the glob pattern +as a literal file name in that case. + +One could argue that this is wrong since a range that doesn't contain anything +should also not match anything, so wrap glob() to make it not match for all +Python versions in that case and adjust the tests accordingly. + +This should fix the Windows CI, which is currently the only job using 3.10.5 +--- + quodlibet/util/cover/built_in.py | 22 +++++++++++----------- + tests/test_util_cover.py | 12 +++--------- + 2 files changed, 14 insertions(+), 20 deletions(-) + +diff --git a/quodlibet/util/cover/built_in.py b/quodlibet/util/cover/built_in.py +index f2a8791a2..01474c9b6 100644 +--- a/quodlibet/util/cover/built_in.py ++++ b/quodlibet/util/cover/built_in.py +@@ -100,6 +100,15 @@ class FilesystemCover(CoverSourcePlugin): + base = self.song('~dirname') + images = [] + ++ def safe_glob(*args, **kwargs): ++ try: ++ return glob.glob(*args, **kwargs) ++ except sre_constants.error: ++ # https://github.com/python/cpython/issues/89973 ++ # old glob would fail with invalid ranges, newer one ++ # handles it correctly. ++ return [] ++ + if config.getboolean("albumart", "force_filename"): + score = 100 + for filename in config.get("albumart", "filename").split(","): +@@ -107,17 +116,8 @@ class FilesystemCover(CoverSourcePlugin): + filename = filename.strip() + + escaped_path = os.path.join(glob.escape(base), filename) +- try: +- for path in glob.glob(escaped_path): +- images.append((score, path)) +- except sre_constants.error: +- # Use literal filename if globbing causes errors +- path = os.path.join(base, filename) +- +- # We check this here, so we can search for alternative +- # files in case no preferred file was found. +- if os.path.isfile(path): +- images.append((score, path)) ++ for path in safe_glob(escaped_path): ++ images.append((score, path)) + + # So names and patterns at the start are preferred + score -= 1 +diff --git a/tests/test_util_cover.py b/tests/test_util_cover.py +index db81e4d1f..71a48ad9a 100644 +--- a/tests/test_util_cover.py ++++ b/tests/test_util_cover.py +@@ -105,15 +105,9 @@ class TCoverManager(TestCase): + config.set("albumart", "force_filename", str(True)) + config.set("albumart", "filename", "[a-2].jpg") + +- # Should match +- f = self.add_file("[a-2].jpg") +- assert path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) +- +- # Should not crash +- f = self.add_file("test.jpg") +- assert not path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) ++ # Invalid glob range, should not match anything ++ self.add_file("a.jpg") ++ assert self._find_cover(self.song) is None + + def test_invalid_glob_path(self): + config.set("albumart", "force_filename", str(True)) +-- +2.39.2 + diff --git a/gnu/packages/patches/quodlibet-fix-mtime-tests.patch b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch new file mode 100644 index 0000000000..037f77d868 --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch @@ -0,0 +1,39 @@ +From 06a32b319f065550efe0d2a9ff10ca6bdc32b893 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sat, 23 Jul 2022 20:15:18 +0200 +Subject: [PATCH] operon: hopefully better fix for flaky mtime tests + +copy the mtime after we write everything, so there is no chance of +it changing before we note the initial value. +--- + quodlibet/operon/commands.py | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/quodlibet/operon/commands.py b/quodlibet/operon/commands.py +index e0a5ef33a..af2dcfa8b 100644 +--- a/quodlibet/operon/commands.py ++++ b/quodlibet/operon/commands.py +@@ -227,16 +227,16 @@ class EditCommand(Command): + # write to tmp file + fd, path = tempfile.mkstemp(suffix=".txt") + +- # XXX: copy mtime here so we can test for changes in tests by +- # setting a out of date mtime on the source song file +- copy_mtime(args[0], path) +- + try: + try: + os.write(fd, dump) + finally: + os.close(fd) + ++ # XXX: copy mtime here so we can test for changes in tests by ++ # setting a out of date mtime on the source song file ++ copy_mtime(args[0], path) ++ + # only parse the result if the editor returns 0 and the mtime has + # changed + old_mtime = mtime(path) +-- +2.39.2 + From 7224a1ca6e181d98243bc77828dea23e582aa57e Mon Sep 17 00:00:00 2001 From: Navid Afkhami Date: Mon, 12 Jun 2023 16:35:35 +0200 Subject: [PATCH 105/310] gnu: Add python-mizani. * gnu/packages/python-xyz.scm (python-mizani): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 968a8e1be9..f2d04a1307 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4109,6 +4109,33 @@ accuracy scores for various music/audio information retrieval/signal processing tasks.") (license license:expat))) +(define-public python-mizani + (package + (name "python-mizani") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/has2k1/mizani") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13aisfc98nvypb4mglpdphp2r627cjzpdriw4dhlx55f3b2m0dza")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-matplotlib python-numpy python-pandas python-scipy)) + (native-inputs + (list python-setuptools python-pytest python-pytest-cov tzdata)) + (home-page "https://github.com/has2k1/mizani") + (synopsis "Create data visualizations in Python") + (description + "Mizani is a Python package for creating data visualizations. It +provides functions and tools to help with the creation of visually appealing +and informative visualizations, including scales, transformations and color +palettes.") + (license license:bsd-3))) + (define-public python-pafy (package (name "python-pafy") From b94cbbbce70f59b795526a0ed305facf041e6faa Mon Sep 17 00:00:00 2001 From: Nicolas Graves via Guix-patches via Date: Mon, 5 Jun 2023 14:03:05 +0200 Subject: [PATCH 106/310] gnu: Add tree-sitter-bibtex. * gnu/packages/tree-sitter.scm (tree-sitter-bibtex): New variable. --- gnu/packages/tree-sitter.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm index 8951c2ff57..3e17d47a7a 100644 --- a/gnu/packages/tree-sitter.scm +++ b/gnu/packages/tree-sitter.scm @@ -266,6 +266,17 @@ will be used in description and synopsis." #:inputs (list tree-sitter-javascript) #:grammar-directories '("typescript" "tsx"))) +(define-public tree-sitter-bibtex + (let ((commit "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34") + (revision "0")) + (tree-sitter-grammar + "bibtex" "Bibtex" + "0m7f3dkqbmy8x1bhl11m8f4p6n76wfvh99rp46zrqv39355nw1y2" + (git-version "0.1.0" revision commit) + #:repository-url "https://github.com/latex-lsp/tree-sitter-bibtex" + #:commit commit + #:license license:expat))) + (define-public tree-sitter-css (tree-sitter-grammar "css" "CSS" From 384381f0f900af17c9ec703ebe35b8b3445750f3 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 14 Jun 2023 07:33:18 +0200 Subject: [PATCH 107/310] =?UTF-8?q?.guix-authorizations:=20Remove=20Lars-D?= =?UTF-8?q?ominik=20Braun=E2=80=99s=20professional=20key.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * .guix-authorizations: Remove from lbraun (professional). --- .guix-authorizations | 2 -- 1 file changed, 2 deletions(-) diff --git a/.guix-authorizations b/.guix-authorizations index 3ed092f948..ce6b79a6fe 100644 --- a/.guix-authorizations +++ b/.guix-authorizations @@ -57,8 +57,6 @@ (name "jpoiret")) ("017D 74E2 7F58 5696 3801 781D F663 943E 08D8 092A" (name "lbraun")) - ("CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446" - (name "lbraun (professional)")) ("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87" (name "lilyp")) (;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0" From 2dd3e35fc97718070e1511ca25d2aa28aeafbbc0 Mon Sep 17 00:00:00 2001 From: "Andre A. Gomes" Date: Tue, 13 Jun 2023 10:54:45 +0300 Subject: [PATCH 108/310] gnu: nyxt: Update to 3.2.0. * gnu/packages/web-browsers.scm (nyxt): Update to 3.2.0. Signed-off-by: Pierre Neidhardt --- gnu/packages/web-browsers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 7d1f61be53..a7031b46b2 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -587,7 +587,7 @@ driven and does not detract you from your daily work.") (define-public nyxt (package (name "nyxt") - (version "3.1.0") + (version "3.2.0") (source (origin (method git-fetch) @@ -596,7 +596,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "01h2430z43bh8mxb5xyvz4kqcdim1dlh1crf41pzavq2a6r2aw0z")) + "0igvj5v2k96kmbybx4lm3v26iylw114lvp0h5wx7kjfq03m50ffp")) (file-name (git-file-name "nyxt" version)) (modules '((guix build utils))) (snippet From 39a02c5c4eefb555257cd2fcda0f89574b857985 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Mon, 8 May 2023 23:55:35 +0200 Subject: [PATCH 109/310] gnu: pipewire: Update to 0.3.70. * gnu/packages/linux.scm (pipewire): Update to 0.3.70. [inputs]: Add glib. [arguments]: Do not install rlimits. Signed-off-by: Andrew Tropin --- gnu/packages/linux.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 304085960d..75252ea278 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -9175,7 +9175,7 @@ types and interfaces and translates so that the X server can use them.") (define-public pipewire (package (name "pipewire") - (version "0.3.63") + (version "0.3.70") (source (origin (method git-fetch) (uri (git-reference @@ -9184,18 +9184,20 @@ types and interfaces and translates so that the X server can use them.") (file-name (git-file-name name version)) (sha256 (base32 - "1pkngynvhxc6iyv75gsyqjy18ky4si9dhvpavb9xwq5xj71nj0hr")))) + "1n74rrbwymm89ri4daa4v092f4b81wrak4vg685xfz2wl89p64n6")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d") - "-Dsystemd=disabled" + "-Dman=enabled" + "-Drlimits-install=false" "-Dsession-managers=[]" "-Dsysconfdir=/etc" - "-Dman=enabled"))) + "-Dsystemd=disabled"))) (native-inputs - (list pkg-config + (list `(,glib "bin") + pkg-config python-docutils)) (inputs (list alsa-lib avahi From e8e2d4ebfffe65ae8aa9cd66905aa3a079e1a2e7 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Mon, 8 May 2023 23:55:36 +0200 Subject: [PATCH 110/310] gnu: wireplumber: Update to 0.4.14. * gnu/packages/linux.scm (wireplumber): Update to 0.4.14. Signed-off-by: Andrew Tropin --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 75252ea278..6a6cbc118d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -9237,7 +9237,7 @@ of Linux application development.") (define-public wireplumber (package (name "wireplumber") - (version "0.4.13") + (version "0.4.14") (source (origin (method git-fetch) @@ -9247,7 +9247,7 @@ of Linux application development.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07psjb7rxsigwnwnzmw2y767vhyyha7cn8i8dgq80rzhwgl0sgv7")))) + (base32 "0jmnd6000j4wx68lxgz5b4g4hxkf243ivi9swaaf8rnx99cbx91w")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dsystemd=disabled" From 59e27b23ed080436faf4b4f0975a601a8d50e83f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 2 Jun 2023 21:46:10 +0800 Subject: [PATCH 111/310] gnu: linenoise: Update to 1.0-2.93b2db9. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/shells.scm (linenoise): Update to 1.0-2.93b2db9. Signed-off-by: 宋文武 --- gnu/packages/shells.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index a3b16aaae8..16a4bba92f 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -644,8 +644,8 @@ operating system.") (license license:bsd-3)))) (define-public linenoise - (let ((commit "2105ce445821381cf1bca87b6d386d4ea88ee20d") - (revision "1")) + (let ((commit "93b2db9bd4968f76148dd62cdadf050ed50b84b3") + (revision "2")) (package (name "linenoise") (version (string-append "1.0-" revision "." (string-take commit 7))) @@ -658,7 +658,7 @@ operating system.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1z16qwix8z6a40fskdgxsibkqgdrp4q6ncp4n6hnv4r9iihy2d8r")))) + "102gwq6bzjq2b1lf55wrpgym58yfhry56hkajbj339m0bs1xijhs")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests are included From 3e5083b1823cb68cc5e51502cc297e0c2f5aab7e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Jun 2023 12:54:27 +0300 Subject: [PATCH 112/310] gnu: opencv: Fix building on riscv64-linux. * gnu/packages/image-processing.scm (opencv)[arguments]: Adjust the custom 'disable-broken-tests phase to adjust or skip some tests when building for riscv64-linux. --- gnu/packages/image-processing.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 12d18a555a..f2ea6534f4 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -616,6 +616,21 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") (("0\\.131") "0.222")) ;; These tests hang forever on aarch64. (delete-file-recursively "modules/videoio/test/")) + '()) + + ,@(if (target-riscv64?) + `(;; This test fails on riscv64, loosen the bounds. + ;; Expected: (max) < (0.1), actual: 0.220829 vs 0.1 + (substitute* "modules/photo/test/test_hdr.cpp" + (("0\\.1") "0.240")) + ;; Expected equality of these values: + ;; ellipses.size() + ;; Which is: 668 + ;; ellipses_size + ;; Which is: 2449 + (substitute* "../opencv-contrib/modules/ximgproc/test/test_fld.cpp" + (("\\bManySmallCircles\\b" all) + (string-append "DISABLED_" all)))) '()))) (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) From 39250fc6229d60b7ae397749caf1e4c99e49b419 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 28 May 2023 10:57:35 +0300 Subject: [PATCH 113/310] gnu: bootloader: Add u-boot-sifive-unmatched-bootloader. * gnu/bootloader/u-boot.scm (install-sifive-unmatched-u-boot, u-boot-sifive-unmatched-bootloader): New variables. --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 65d7923465..712db15b02 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Julien Lepiller ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ u-boot-puma-rk3399-bootloader u-boot-rock64-rk3328-bootloader u-boot-rockpro64-rk3399-bootloader + u-boot-sifive-unmatched-bootloader u-boot-ts7970-q-2g-1000mhz-c-bootloader u-boot-wandboard-bootloader)) @@ -135,6 +137,15 @@ (install-dir (string-append mount-point "/boot"))) (install-file u-boot.imx install-dir)))) +(define install-sifive-unmatched-u-boot + #~(lambda (bootloader root-index image) + (let ((spl (string-append bootloader "/libexec/spl/u-boot-spl.bin")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device spl (stat:size (stat spl)) + image (* 34 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + image (* 2082 512))))) + ;;; @@ -273,3 +284,9 @@ (package u-boot-ts7970-q-2g-1000mhz-c) (installer install-u-boot-ts7970-q-2g-1000mhz-c-u-boot) (disk-image-installer #f))) + +(define u-boot-sifive-unmatched-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-sifive-unmatched) + (disk-image-installer install-sifive-unmatched-u-boot))) From cd55aa98011c42b8e97561f4eea024be751bcceb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 28 May 2023 11:03:17 +0300 Subject: [PATCH 114/310] gnu: image: Add support for unformatted partitions. * gnu/build/image.scm (make-unformatted-image): New procedure. (make-partition-image): Add support for unformatted partition. * gnu/system/image.scm (system-disk-image)[partition->gpt-type]: Add case for using unformatted partition uuid. --- gnu/build/image.scm | 11 +++++++++++ gnu/system/image.scm | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/gnu/build/image.scm b/gnu/build/image.scm index 65a0373980..49dc01c0d1 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2022 Pavel Shlyak ;;; Copyright © 2022 Denis 'GNUtoo' Carikli +;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -122,6 +123,14 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum." (string-append "::" file)))) (scandir root)))) +(define* (make-unformatted-image partition target) + "Make an unformatted partition of a certain size." + (let ((size (partition-size partition))) + ;; Create the file and then truncate it to the desired size. + (with-output-to-file target + (lambda _ (display ""))) + (truncate-file target size))) + (define* (make-partition-image partition-sexp target root) "Create and return the image of PARTITION-SEXP as TARGET. Use the given ROOT directory to populate the image." @@ -134,6 +143,8 @@ ROOT directory to populate the image." (make-vfat-image partition target root 16)) ((string=? type "fat32") (make-vfat-image partition target root 32)) + ((string=? type "unformatted") + (make-unformatted-image partition target)) (else (raise (condition (&message diff --git a/gnu/system/image.scm b/gnu/system/image.scm index afef79185f..958ba5cbb2 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2022 Pavel Shlyak ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2022 Alex Griffin +;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -390,6 +391,9 @@ used in the image." ((or (string=? file-system "vfat") (string=? file-system "fat16") (string=? file-system "fat32")) "F") + ((and (string=? file-system "unformatted") + (partition-uuid partition)) + (uuid->string (partition-uuid partition))) (else (raise (condition (&message From f3114ac4f0f1ac20a85dcb20c44cb32e06c22a14 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 28 May 2023 11:09:19 +0300 Subject: [PATCH 115/310] system: images: Add unmatched module. * gnu/system/images/unmatched.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/system/images/unmatched.scm | 102 ++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 gnu/system/images/unmatched.scm diff --git a/gnu/local.mk b/gnu/local.mk index 03b981c201..30bea95a23 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -743,6 +743,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/images/pine64.scm \ %D%/system/images/pinebook-pro.scm \ %D%/system/images/rock64.scm \ + %D%/system/images/unmatched.scm \ %D%/system/images/wsl2.scm \ \ %D%/machine.scm \ diff --git a/gnu/system/images/unmatched.scm b/gnu/system/images/unmatched.scm new file mode 100644 index 0000000000..d40a32f184 --- /dev/null +++ b/gnu/system/images/unmatched.scm @@ -0,0 +1,102 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 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 system images unmatched) + #:use-module (gnu bootloader) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu image) + #:use-module (gnu packages linux) + #: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 (guix platforms riscv) + #:use-module (srfi srfi-26) + #:export (unmatched-barebones-os + unmatched-image-type + unmatched-barebones-raw-image)) + +(define unmatched-barebones-os + (operating-system + (host-name "unmatched") + (timezone "Asia/Jerusalem") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-sifive-unmatched-bootloader) + (targets '("/dev/vda")))) + (initrd-modules '()) + (kernel linux-libre-riscv64-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 + (baud-rate "115200") + (term "vt100") + (tty "ttySIF0"))) + (service dhcp-client-service-type)) + %base-services)))) + +(define unmatched-disk-image + (image-without-os + (format 'disk-image) + (partition-table-type 'gpt) + ;; https://source.denx.de/u-boot/u-boot/-/blob/master/doc/board/sifive/unmatched.rst + ;; The boot process goes: + ;; * zero-stage bootloader (ZSBL) in ROM and first-stage bootloader (FSBL) + ;; together perform the SoC initialization and hand off to the next stage. + ;; * BBL (Berkeley bootloader) takes the device-tree and brings up the rest + ;; of the board, then boots the desired operating system. + (partitions (list + (partition + ;; Special UUID for HiFive first-stage bootloader (FSBL). + (size (* 1 (expt 2 20))) + (label "spl") + (offset (* 34 512)) + (file-system "unformatted") + (uuid (uuid "5b193300-fc78-40cd-8002-e86c45580b47"))) + (partition + ;; Specific offset for compatibility with the defaults for + ;; u-boot SPL. Special UUID for HiFive BBL (Berkeley bootloader). + (size (* 4 (expt 2 20))) + (label "uboot") + (offset (* 2082 512)) + (file-system "unformatted") + (uuid (uuid "2e54b353-1271-4842-806f-e436d6af6985"))) + root-partition)))) + +(define unmatched-image-type + (image-type + (name 'unmatched-raw) + (constructor (cut image-with-os unmatched-disk-image <>)))) + +(define unmatched-barebones-raw-image + (image + (inherit + (os+platform->image unmatched-barebones-os riscv64-linux + #:type unmatched-image-type)) + (name 'unmatched-barebones-raw-image))) + +;; Return the default image. +unmatched-barebones-raw-image From f9b8f38908da660a2f775de2656e47f3e9ec75bc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 28 May 2023 12:04:53 +0300 Subject: [PATCH 116/310] gnu: glibc-2.33: Fix building for riscv64-linux. * gnu/packages/base.scm (glibc-2.33)[source]: Add patch. * gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 16 ++++-- .../glibc-2.33-riscv64-miscompilation.patch | 57 +++++++++++++++++++ 3 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 30bea95a23..209556b56d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1240,6 +1240,7 @@ dist_patch_DATA = \ %D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-networking-gnutls-binding.patch \ %D%/packages/patches/glib-skip-failing-test.patch \ + %D%/packages/patches/glibc-2.33-riscv64-miscompilation.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ %D%/packages/patches/glibc-CVE-2019-9169.patch \ %D%/packages/patches/glibc-CVE-2019-19126.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d2f276c447..39c7e5ef5f 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1066,12 +1066,13 @@ with the Linux kernel.") (base32 "1zvp0qdfbdyqrzydz18d9zg3n5ygy8ps7cmny1bvsp8h1q05c99f")) (patches - ;; Remove a patch that's become irrelevant and that does not - ;; apply to this version. - (remove (lambda (patch) - (string=? (basename patch) - "glibc-hurd-clock_gettime_monotonic.patch")) - (origin-patches (package-source glibc)))))) + (cons (search-patch "glibc-2.33-riscv64-miscompilation.patch") + ;; Remove a patch that's become irrelevant and that does not + ;; apply to this version. + (remove (lambda (patch) + (string=? (basename patch) + "glibc-hurd-clock_gettime_monotonic.patch")) + (origin-patches (package-source glibc))))))) (arguments (substitute-keyword-arguments (package-arguments glibc) ((#:configure-flags flags ''()) @@ -1379,6 +1380,9 @@ test environments.") (make-glibc-utf8-locales glibc))) ;; Packages provided to ease use of binaries linked against the previous libc. +(define-public glibc-locales-2.33 + (package (inherit (make-glibc-locales glibc-2.33)) + (name "glibc-locales-2.33"))) (define-public glibc-locales-2.32 (package (inherit (make-glibc-locales glibc-2.32)) (name "glibc-locales-2.32"))) diff --git a/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch new file mode 100644 index 0000000000..bcf297be94 --- /dev/null +++ b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch @@ -0,0 +1,57 @@ +This patch is from upstream glibc after 2.33 and is needed in Guix to +fix glibc-2.33 compilation for riscv64-linux. + +From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Feb 2021 13:29:00 +0100 +Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr + +--- + string/rawmemchr.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/string/rawmemchr.c b/string/rawmemchr.c +index 59bbeeaa42..b8523118e5 100644 +--- a/string/rawmemchr.c ++++ b/string/rawmemchr.c +@@ -22,24 +22,28 @@ + # define RAWMEMCHR __rawmemchr + #endif + ++/* The pragmata should be nested inside RAWMEMCHR below, but that ++ triggers GCC PR 98512. */ ++DIAG_PUSH_NEEDS_COMMENT; ++#if __GNUC_PREREQ (7, 0) ++/* GCC 8 warns about the size passed to memchr being larger than ++ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); ++#endif ++#if __GNUC_PREREQ (11, 0) ++/* Likewise GCC 11, with a different warning option. */ ++DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); ++#endif ++ + /* Find the first occurrence of C in S. */ + void * + RAWMEMCHR (const void *s, int c) + { +- DIAG_PUSH_NEEDS_COMMENT; +-#if __GNUC_PREREQ (7, 0) +- /* GCC 8 warns about the size passed to memchr being larger than +- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ +- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); +-#endif +-#if __GNUC_PREREQ (11, 0) +- /* Likewise GCC 11, with a different warning option. */ +- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); +-#endif + if (c != '\0') + return memchr (s, c, (size_t)-1); +- DIAG_POP_NEEDS_COMMENT; + return (char *)s + strlen (s); + } + libc_hidden_def (__rawmemchr) + weak_alias (__rawmemchr, rawmemchr) ++ ++DIAG_POP_NEEDS_COMMENT; +-- From b08be61a026fae900d37c158fd1b251bf21f5450 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:31 +0100 Subject: [PATCH 117/310] gnu: Add python-pysynphot. * gnp/packages/astronomy.scm (python-pysynphot): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 1371b24667..25b6d6a07e 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2687,6 +2687,38 @@ astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo, N-Chilada and RAMSES AMR outputs.") (license license:gpl3+))) +(define-public python-pysynphot + (package + (name "python-pysynphot") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pysynphot" version)) + (sha256 + (base32 + "1rr29m63bnj47f6gvbvg3pm1296x14ad29c6qd0sdj4f4ilrzhj5")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-env-data-path + (lambda _ + (setenv "PYSYN_CDBS" + (string-append #$output "/crds"))))))) + (native-inputs (list python-pytest python-pytest-remotedata + python-setuptools-scm)) + (propagated-inputs (list python-astropy python-beautifulsoup4 python-numpy + python-pytest-astropy-header python-six)) + (home-page "https://github.com/spacetelescope/pysynphot") + (synopsis "Python Synthetic Photometry Utilities") + (description + "Astrolib PySynphot (hereafter referred to only as pysynphot) is an +object-oriented replacement for STSDAS SYNPHOT synthetic photometry package in +IRAF. @code{pysynphot} simulates photometric data and spectra as they are +observed with the Hubble Space Telescope (HST). Passbands for standard +photometric systems are available, and users can incorporate their own filters, +spectra, and data.") + (license license:bsd-3))) + (define-public python-sep (package (inherit libsep) From 2ff90902c07ad377f94d94bd2b047e7170171a41 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:32 +0100 Subject: [PATCH 118/310] gnu: Add python-rad. * gnu/packages/astronomy.scm (python-rad): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 25b6d6a07e..93f19f9195 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -3082,6 +3082,36 @@ the entire transformation pipeline from input coordinates (detector by default) to world coordinates.") (license license:bsd-3))) +(define-public python-rad + (package + (name "python-rad") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "rad" version)) + (sha256 + (base32 + "0j51pkywxdaqrfz162rdsywlvx1mbb2h0gi5framvhf25i1im7mb")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags #~(list "-k" "not remote_data"))) + (native-inputs (list python-astropy + python-pytest + python-pytest-doctestplus + python-pytest-openfiles + python-semantic-version + 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-astroalign (package (name "python-astroalign") From 8c1171da28b7f7bb42cfd11de428249b4e396a8e Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:33 +0100 Subject: [PATCH 119/310] gnu: Add python-roman-datamodels. * gnu/packages/astronomy.scm (python-roman-datamodels): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 93f19f9195..4bca7cf4e0 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -3112,6 +3112,49 @@ 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-roman-datamodels + (package + (name "python-roman-datamodels") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "roman_datamodels" version)) + (sha256 + (base32 + "0frhm1cqqd8934yizhm4fy78y38q2w9ncm4rv1n74hfypkyis4ap")))) + (build-system pyproject-build-system) + (arguments + ;; XXX: Check how to make all tests enabled, probably some more inner + ;; input chain needs to be upgraded, keep them disabled to make the build + ;; green. + (list #:test-flags #~(list "-k" + (string-append "not test_will_validate" + " and not test_will_strict_validate" + " and not test_nuke_validation")))) + (propagated-inputs (list python-asdf + python-asdf-astropy + python-asdf-standard + python-astropy + python-gwcs + python-numpy + python-psutil + python-rad)) + (native-inputs (list python-pytest python-pytest-doctestplus + python-pytest-openfiles python-semantic-version + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/roman_datamodels") + (synopsis "Roman Datamodels Support") + (description + "This package provides a Python package of Roman Datamodels for the +calibration pipelines started with the @acronym{JWST, James Webb Space +Telescope} calibration pipelines. The goal for the JWST pipelines was motivated +primarily by the need to support FITS data files, specifically with isolating +the details of where metadata and data were located in the FITS file from the +representation of the same items within the Python code. That is not a concern +for Roman since FITS format data files will not be used by the Roman calibration +pipelines.") + (license license:bsd-3))) + (define-public python-astroalign (package (name "python-astroalign") From 04cf30e15323fa56c1f0ce7e4e8f3981dab9f99a Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:34 +0100 Subject: [PATCH 120/310] gnu: Add python-stsci-image. * gnu/packages/astronomy.scm (python-stsci-image): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 4bca7cf4e0..80bf8a68f8 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2045,6 +2045,34 @@ spherical polygons that represent arbitrary regions of the sky.") ;; QD_LIBRARY_LICENSE.rst for bandeled QD source (license license:bsd-3))) +(define-public python-stsci-image + (package + (name "python-stsci-image") + (version "2.3.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.image" version)) + (sha256 + (base32 + "1vnp4256nbdvapa69cmm80sjz11ygxa49abr9nbvssj6nyyp5icb")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running + ;; the tests. + (invoke "python" "setup.py" "build_ext" + "--inplace")))))) + (propagated-inputs (list python-numpy python-scipy)) + (native-inputs (list python-pytest python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stsci.image") + (synopsis "Image array manipulation functions") + (description + "This package provides Python modules of @acronym{STScI, Space Telescope +Science Institute} image array manipulation functions.") + (license license:bsd-3))) + (define-public libnova (package (name "libnova") From 995443acacea93b3cec5aca364189c14aa370ea1 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:35 +0100 Subject: [PATCH 121/310] gnu: Add python-stsci-imagestats. * gnu/packages/astronomy.scm (python-stsci-imagestats): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 80bf8a68f8..cba285816e 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2073,6 +2073,31 @@ spherical polygons that represent arbitrary regions of the sky.") Science Institute} image array manipulation functions.") (license license:bsd-3))) +(define-public python-stsci-imagestats + (package + (name "python-stsci-imagestats") + (version "1.6.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.imagestats" version)) + (sha256 + (base32 + "14457izlbnks84dyza75ib3nvx2w8nhlqm9vc1zb7hbhknb5gjvw")))) + (build-system python-build-system) + (arguments + (list #:tests? #f)) ;No tests + (propagated-inputs (list python-numpy)) + (native-inputs (list python-setuptools-scm)) + (home-page "https://stsciimagestats.readthedocs.io/en/latest/") + (synopsis "Compute sigma-clipped statistics on data arrays") + (description + "@code{stsci.imagestats} is a package designed to compute various +statistics on image data using sigma-clipping iterations. It is designed to +replicate core behaviour of the IRAF's +@url{http://stsdas.stsci.edu/cgi-bin/gethelp.cgi?imstatistics, imstatistics +task}.") + (license license:bsd-3))) + (define-public libnova (package (name "libnova") From 95c1e5121a1238c745860d7a7033bdb30c91b7cf Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:36 +0100 Subject: [PATCH 122/310] gnu: Add python-stsci-stimage. * gnu/packages/astronomy.scm (python-stsci-stimage): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index cba285816e..2f708ff652 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2098,6 +2098,30 @@ replicate core behaviour of the IRAF's task}.") (license license:bsd-3))) +(define-public python-stsci-stimage + (package + (name "python-stsci-stimage") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.stimage" version)) + (sha256 + (base32 + "0i7xby1gaiplvbqqv8a4f4cw1is8fwj89mix1z3bqrykqi3n24g0")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Fix failing tests. There are errors to load test files. + #:tests? #f)) + (propagated-inputs (list python-numpy)) + (native-inputs (list python-codecov python-pytest python-pytest-cov + python-setuptools-scm)) + (home-page "https://stscistimage.readthedocs.io/en/latest/") + (synopsis "STScI image processing") + (description "This package provides an astronomical Python package with +image processing functions: @code{xyxymatch}, @code{geomap}.") + (license license:bsd-3))) + (define-public libnova (package (name "libnova") From 308bee5f000703f063f5fbccd1c439e8c905a09c Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:37 +0100 Subject: [PATCH 123/310] gnu: Add python-tweakwcs. * gnu/packages/astronomy.scm (python-tweakwcs): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 2f708ff652..c411af0e54 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2832,6 +2832,40 @@ Takes a WGS84 (GPS) latitude/longitude as input as well as an UTC or local datetime object.") (license license:lgpl3+))) +(define-public python-tweakwcs + (package + (name "python-tweakwcs") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "tweakwcs" version)) + (sha256 + (base32 + "1500w737n9vf5hv16xkybk4shl7g4wfzb2ji9mc4vgzj41gkrwl4")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-astropy + python-gwcs + python-numpy + python-packaging + python-spherical-geometry + python-stsci-imagestats + python-stsci-stimage)) + (native-inputs (list python-codecov + python-pytest + python-pytest-cov + python-scipy + python-semantic-version + python-setuptools-scm)) + (home-page "https://tweakwcs.readthedocs.io/en/latest/") + (synopsis + "Algorithms for matching and aligning catalogs and for tweaking the WCS") + (description + "@code{tweakwcs} is a package that provides core algorithms for computing +and applying corrections to @code{WCS} objects such as to minimize mismatch +between image and reference catalogs. Currently only aligning images with +@code{FITS WCS} and @code{JWST gWCS} are supported.") + (license license:bsd-3))) + (define-public python-asdf (package (name "python-asdf") From c0dfd0470945b1e2d560aa2efc348283b8be0d39 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:38 +0100 Subject: [PATCH 124/310] gnu: Add python-synphot. * gnu/packages/astronomy.scm (python-synphot): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index c411af0e54..d82ff7c91f 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2832,6 +2832,33 @@ Takes a WGS84 (GPS) latitude/longitude as input as well as an UTC or local datetime object.") (license license:lgpl3+))) +(define-public python-synphot + (package + (name "python-synphot") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "synphot" version)) + (sha256 + (base32 + "02pjp1bnbyq7zi1bxqv56nif4ijd8fscmnn9ldrs8yvgsbmgdvlc")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Test needs more love to pass. + ;; ERROR collecting synphot/tests/test_utils.py + #:tests? #f)) + (propagated-inputs (list python-astropy python-numpy python-scipy)) + (native-inputs (list python-pytest python-pytest-astropy + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/synphot_refactor") + (synopsis "Synthetic photometry using Astropy") + (description + "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB +PYSYNPHOT, utilizing Astropy and covering the non-instrument specific portions +of the old packages.") + (license license:bsd-3))) + (define-public python-tweakwcs (package (name "python-tweakwcs") From 3a952dc04c980df43f9cbf1eacb2fb550e506e38 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:39 +0100 Subject: [PATCH 125/310] gnu: Add python-stsynphot. * gnu/packages/astronomy.scm (python-stsynphot): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index d82ff7c91f..af35b75e8f 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2122,6 +2122,40 @@ task}.") image processing functions: @code{xyxymatch}, @code{geomap}.") (license license:bsd-3))) +(define-public python-stsynphot + (package + (name "python-stsynphot") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsynphot" version)) + (sha256 + (base32 + "0qkdh47j84v7fzri7bmi1jcmggdqq0a8byamfm73d8mbz86v8sn4")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests fails on missing file, it might need to be downloaded, + ;; disable them for now. astropy.utils.exceptions.AstropyUserWarning: + ;; Failed to load Vega spectrum from + ;; /grp/redcat/trds/calspec/alpha_lyr_stis_010.fits; + #:tests? #f)) + (propagated-inputs (list python-astropy + python-beautifulsoup4 + python-matplotlib + python-numpy + python-scipy + python-synphot)) + (native-inputs (list python-pytest python-pytest-astropy + python-pytest-astropy-header python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stsynphot_refactor") + (synopsis "Synthetic photometry using Astropy for HST and JWST") + (description + "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB +PYSYNPHOT, utilizing Astropy covering instrument specific portions of the old +packages for HST.") + (license license:bsd-3))) + (define-public libnova (package (name "libnova") From 0ce76141bfe52b7c65d6185d036b4eaad2a0f0a3 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:40 +0100 Subject: [PATCH 126/310] gnu: Add python-parsley. * gnu/packages/python-xyz.scm (python-parsley): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f2d04a1307..8cacdd5796 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3829,6 +3829,39 @@ matplotlib plots or supply colors for a web application.") syntax.") (license license:x11))) +(define-public python-parsley + (package + (name "python-parsley") + (version "1.3") + (source (origin + ;; The source distributed on PyPI is outdated. + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyga/parsley") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0550rw65ygqzbjc8a66hs355pzbx727kbn20dssdb6ls846gw2qs")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Check why these 3 tests fail. + #:test-flags #~(list "-k" + (string-append "not test_sending_empty_netstring" + " and not test_sending_one_netstring" + " and not test_sending_two_netstrings")))) + (native-inputs (list python-pytest python-twisted)) + (home-page "https://launchpad.net/parsley") + (synopsis "Parsing and pattern matching Python library") + (description + "Parsley is a parsing library using PEG algorithm, so each expression in +the grammar rules works like a Python expression. In particular, alternatives +are evaluated in order, unlike table-driven parsers such as yacc, bison or PLY. +Parsley is an implementation of OMeta, an object-oriented pattern-matching +language.") + (license license:expat))) + (define-public python-polib (package (name "python-polib") From 23bc5e12d44122991062ad68a489ab10949142aa Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:41 +0100 Subject: [PATCH 127/310] gnu: Add python-crds. * gnu/packages/astronomy.scm (python-crds): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index af35b75e8f..8f3471daab 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1425,6 +1425,58 @@ attempting to maintain ISTP compliance @end itemize") (license license:expat))) +(define-public python-crds + (package + (name "python-crds") + (version "11.17.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "crds" version)) + (sha256 + (base32 + "0sdz1k4hrgrc2jwihp9ns7lx23kcz7f90c222q7aaqf9g3vvpqlr")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests require Internet access to https://hst-crds.stsci.edu and + ;; additional test data. See: + ;; https://github.com/spacetelescope/crds/blob/master/setup_test_cache + #:tests? #f)) + (propagated-inputs (list python-asdf + python-astropy + python-boto3 + python-filelock + python-lxml + python-numpy + python-parsley + python-pysynphot + python-roman-datamodels + python-stsynphot + python-requests)) + (native-inputs (list python-flake8 + python-ipython + python-lockfile + python-mock + python-nose + python-pylint + python-pytest + python-semantic-version + python-setuptools-scm)) + (home-page "https://hst-crds.stsci.edu") + (synopsis "Calibration Reference Data System for HST and JWST") + (description + "CRDS is a package used for working with astronomical reference files for +the HST and JWST telescopes. CRDS is useful for performing various operations +on reference files or reference file assignment rules. CRDS is used to assign, +check, and compare reference files and rules, and also to predict those datasets +which should potentially be reprocessed due to changes in reference files or +assignment rules. CRDS has versioned rules which define the assignment of +references for each type and instrument configuration. CRDS has web sites +corresponding to each project (http://hst-crds.stsci.edu or +https://jwst-crds.stsci.edu/) which record information about reference files and +provide related services.") + (license license:bsd-3))) + (define-public python-czml3 (package (name "python-czml3") From 2ff1c352d4032a588f4b0d8ebe0eb3e946fbc3e1 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:42 +0100 Subject: [PATCH 128/310] gnu: Add python-stdatamodels. * gnu/packages/astronomy.scm (python-stdatamodels): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 8f3471daab..ac4b6eea96 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2174,6 +2174,48 @@ task}.") image processing functions: @code{xyxymatch}, @code{geomap}.") (license license:bsd-3))) +(define-public python-stdatamodels + (package + (name "python-stdatamodels") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stdatamodels" version)) + (sha256 + (base32 + "1lssz5mnkzgraqa9mdg1w39scsikymcp3zpmsjb146r0pqnwnpzw")))) + (build-system pyproject-build-system) + (arguments + (list + ;; Disable tests requiring access to CRDS servers to download ~500MiB + ;; of data. + #:test-flags #~(list "-k" "not test_crds_selectors_vs_datamodel") + #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) + (propagated-inputs (list python-asdf + python-asdf-astropy + python-astropy + python-jsonschema + python-numpy + python-psutil)) + (native-inputs (list python-crds + python-pytest + python-pytest-doctestplus + python-pytest-openfiles + python-scipy + python-semantic-version + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stdatamodels") + (synopsis + "Core support for DataModel classes used in calibration pipelines") + (description + "Provides DataModel, which is the base class for data models implemented in +the @acronym{JWST, James Webb Space Telescope} and @acronym{Roman, Nancy Grace +Roman Space Telescope} calibration software.") + (license license:bsd-3))) + (define-public python-stsynphot (package (name "python-stsynphot") From e5b8a87b40710590421915bec0d0c161b684b9fc Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:43 +0100 Subject: [PATCH 129/310] gnu: Add python-stpipe. * gnu/packages/astronomy.scm (python-stpipe): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index ac4b6eea96..5c42512a0a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2216,6 +2216,29 @@ the @acronym{JWST, James Webb Space Telescope} and @acronym{Roman, Nancy Grace Roman Space Telescope} calibration software.") (license license:bsd-3))) +(define-public python-stpipe + (package + (name "python-stpipe") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stpipe" version)) + (sha256 + (base32 + "17gnwzhl10vbg059lfprdyci19dlh3whkmb9rl7z25wr593rnvcp")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-asdf python-astropy python-crds + python-semantic-version python-stdatamodels)) + (native-inputs (list python-pytest python-pytest-doctestplus + python-pytest-openfiles python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stpipe") + (synopsis "Framework for calibration pipeline software") + (description + "This package provides base classes and command-line tools for +implementing calibration pipeline software.") + ;; LICENSE Association of Universities for Research in Astronomy (AURA) + (license license:bsd-3))) + (define-public python-stsynphot (package (name "python-stsynphot") From 2095fe7b9671b69b060dff8be2a4eea89cd61923 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:44 +0100 Subject: [PATCH 130/310] gnu: Add python-bayesicfitting. * gnu/packages/astronomy.scm (python-bayesicfitting): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 5c42512a0a..f2ef829ca9 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1355,6 +1355,38 @@ be as fast as possible so some of the readability has been sacrificed, specifically in the C code.") (license license:bsd-3))) +(define-public python-bayesicfitting + (package + (name "python-bayesicfitting") + (version "3.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dokester/BayesicFitting") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07y9dr9wxhxrvhk0jjakhbyrgal60i92m7z7q14fp12k8x0gl69l")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "unittest" "discover" + "test"))))))) + (propagated-inputs (list python-astropy python-future python-matplotlib + python-numpy python-scipy)) + (home-page "https://www.bayesicfitting.nl") + (synopsis "Python Toolbox for Astronimical Bayesian fitting") + (description + "The BayesicFitting package is a python version of the the fitter classes +in @acronym{HCSS, Herschel Common Science System}. HCSS was the all +encompassing software system for the operations and analysis of the ESA satelite +Herschel.") + (license license:gpl3+))) + (define-public python-ccdproc (package (name "python-ccdproc") From 2b085c4b41cd0aa888d9f4c027a23c483a7c73e5 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:45 +0100 Subject: [PATCH 131/310] gnu: Add python-wiimatch. * gnu/packages/astronomy.scm (python-wiimatch): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index f2ef829ca9..1655fd09aa 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -3528,3 +3528,26 @@ astronomical images, especially when there is no WCS information available.") "Skyfield computes positions for the stars, planets, and satellites in orbit around the Earth.") (license license:expat))) + +(define-public python-wiimatch + (package + (name "python-wiimatch") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "wiimatch" version)) + (sha256 + (base32 + "0x6p5z6a2cqinckwlpinjxagvmswl149s1jn6ihmdxk4k0h8rrz0")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-numpy python-scipy)) + (native-inputs (list python-codecov python-pytest python-pytest-cov + python-pytest-doctestplus python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/wiimatch") + (synopsis + "Optimal matching of weighted N-dimensional image intensity data") + (description + "@code{wiimatch} is a package that provides core computational algorithms +for optimal @code{matching} of weighted N-dimensional image intensity data +using (multivariate) polynomials.") + (license license:bsd-3))) From f9616163d0666142d09f2a5b69a58732d18ca62e Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:46 +0100 Subject: [PATCH 132/310] gnu: Add python-drizzle. * gnu/packages/astronomy.scm (python-drizzle): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 1655fd09aa..42ce1c1dc8 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1577,6 +1577,53 @@ JSOC (@url{http://jsoc.stanford.edu/}) DRMS server by default, but can also be used with local NetDRMS sites.") (license license:bsd-2))) +(define-public python-drizzle + (package + (name "python-drizzle") + (version "1.13.7") + (source (origin + (method git-fetch) ;PyPi doesn't have the test data sets + (uri (git-reference + (url "https://github.com/spacetelescope/drizzle") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x591d9gjasds91fvwcf37bhxp5nra28g0vq5zkykczpc70ywiy8")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: 2 of 26 tests failed with AssertionError, disable them for now. + ;; Consider mention it in upstream. + #:test-flags #~(list "-k" + (string-append "not test_square_with_point" + " and not test_square_with_grid")) + #:phases #~(modify-phases %standard-phases + (add-before 'build 'set-env-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" + #$version))) + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running + ;; the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs (list python-astropy python-numpy)) + (native-inputs (list python-coverage python-flake8 python-pytest + python-pytest-cov python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/drizzle") + (synopsis + "Astronomical tool for combining dithered images into a single image") + (description + "The drizzle library is a Python package for combining dithered images into +a single image. This library is derived from code used in DrizzlePac. Like +DrizzlePac, most of the code is implemented in the C language. The biggest +change from DrizzlePac is that this code passes an array that maps the input to +output image into the C code, while the DrizzlePac code computes the mapping by +using a Python callback. Switching to using an array allowed the code to be +greatly simplified.") + (license license:bsd-3))) + (define-public python-ephem (package (name "python-ephem") From 37bfbd4fcffc22d72dbd3aff1dd98866571479fe Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:47 +0100 Subject: [PATCH 133/310] gnu: Add python-stcal. * gnu/packages/astronomy.scm (python-stcal): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 42ce1c1dc8..507bff7835 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2253,6 +2253,35 @@ task}.") image processing functions: @code{xyxymatch}, @code{geomap}.") (license license:bsd-3))) +(define-public python-stcal + (package + (name "python-stcal") + (version "1.3.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "stcal" version)) + (sha256 + (base32 + "0yy0pwi3krvhxfby6nzgpgyz5il3sl1j29ihbk81dh9fdh3ys2n9")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + ;; XXX: Can't detect opencv-python version. The input + ;; opencv might not set the version correctly. + (delete 'sanity-check)))) + (propagated-inputs (list opencv ;Provides OpenCV-Python + python-astropy python-numpy python-scipy)) + (native-inputs (list python-psutil + python-pytest + python-pytest-cov + python-pytest-doctestplus + python-pytest-openfiles + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stcal") + (synopsis "STScI tools and algorithms used in calibration pipelines") + (description "STScI tools and algorithms used in calibration pipelines.") + (license license:bsd-3))) + (define-public python-stdatamodels (package (name "python-stdatamodels") From 339be9dad527bb0805e35dc1816cf373d445ed91 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 30 May 2023 20:58:48 +0100 Subject: [PATCH 134/310] gnu: Add python-jwst. * gnu/packages/astronomy.scm (python-jwst): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/astronomy.scm | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 507bff7835..cdb6750f09 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2926,6 +2926,73 @@ Moon position, etc.") JPL ephemerides use to predict raw (x,y,z) planetary positions.") (license license:expat))) +(define-public python-jwst + (package + (name "python-jwst") + (version "1.10.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "jwst" version)) + (sha256 + (base32 + "1lmfyw2y7c84rs9xqavah9aidj478ijiiijlz6fag11xqn1vs98y")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests require access to https://jwst-crds-pub.stsci.edu server for + ;; getting data sets. + #:tests? #f + #:phases #~(modify-phases %standard-phases + ;; NOTE: (Sharlatan-20230529T113448+0100): opencv-python's + ;; version can't be detected, it could the way it's packed in + ;; Guix. Review failing sanity check with more efforts, + ;; disable for now to make package buildable. + (delete 'sanity-check)))) + ;; opencv provides OpenCV-Python which is Listed as install requirement. + (propagated-inputs (list opencv + python-asdf + python-asdf-astropy + python-astropy + python-bayesicfitting + python-crds + python-drizzle + python-gwcs + python-jsonschema + python-numpy + python-photutils + python-poppy + python-psutil + python-pyparsing + python-requests + python-scikit-image + python-scipy + python-spherical-geometry + python-stcal + python-stdatamodels + python-stpipe + python-stsci-image + python-stsci-imagestats + python-tweakwcs + python-wiimatch)) + (native-inputs (list python-codecov + python-colorama + python-flake8 + python-pytest + python-pytest-cov + python-pytest-doctestplus + python-pytest-openfiles + python-requests-mock + python-setuptools-scm)) + (home-page "https://jwst-pipeline.readthedocs.io/en/latest/") + (synopsis + "Python library for science observations from the James Webb Space Telescope") + (description + "This package provides an access to the JWST Science Calibration Pipeline +processes data from all JWST instruments and observing modes by applying various +science corrections sequentially, producing both fully-calibrated individual +exposures and high-level data products (mosaics, extracted spectra, etc.).") + (license license:bsd-3))) + (define-public python-pyerfa (package (name "python-pyerfa") From 071ee5856d00e22ea9e289e4a7cebe80a7871b06 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 14 Jun 2023 11:59:07 +0300 Subject: [PATCH 135/310] gnu: python-blosc: Build with packaged blosc. * gnu/packages/python-xyz.scm (python-blosc)[source]: Add snippet to remove bundled sources. [arguments]: Add a custom phase to set location of blosc. [inputs]: Add c-blosc. --- gnu/packages/python-xyz.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8cacdd5796..3be2d0dae5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25237,13 +25237,23 @@ they use the same path.") (uri (pypi-uri "blosc" version)) (sha256 (base32 - "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")))) + "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "c-blosc"))))) (build-system python-build-system) ;; FIXME: all tests pass, but then this error is printed: ;; TypeError: calling returned None, not a test - (arguments '(#:tests? #f)) + (arguments + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-blosc + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BLOSC_DIR" #$(this-package-input "c-blosc"))))))) (propagated-inputs (list python-numpy)) + (inputs (list c-blosc)) (home-page "https://github.com/blosc/python-blosc") (synopsis "Python wrapper for the Blosc data compressor library") (description "Blosc is a high performance compressor optimized for binary From 3573c82747b2f3ec85cc8345146fa0d7f92cb76a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 14 Jun 2023 12:08:04 +0300 Subject: [PATCH 136/310] gnu: python-blosc: Update to 1.11.1. * gnu/packages/python-xyz.scm (python-blosc): Update to 1.11.1. [source]: Update snippet. [arguments]: Adjust custom 'find-blosc phase. [propagated-inputs]: Add python-scikit-build. --- gnu/packages/python-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3be2d0dae5..86665b0af4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25230,17 +25230,17 @@ they use the same path.") (define-public python-blosc (package (name "python-blosc") - (version "1.5.1") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "blosc" version)) (sha256 (base32 - "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")) + "0xmjs28sgpnb940zrhw010dq2m9d8a5h4fgnjyk6645fgfr1j8f2")) (snippet #~(begin (use-modules (guix build utils)) - (delete-file-recursively "c-blosc"))))) + (delete-file-recursively "blosc/c-blosc"))))) (build-system python-build-system) ;; FIXME: all tests pass, but then this error is printed: ;; TypeError: calling returned None, not a test @@ -25250,9 +25250,10 @@ they use the same path.") #~(modify-phases %standard-phases (add-after 'unpack 'find-blosc (lambda* (#:key inputs #:allow-other-keys) - (setenv "BLOSC_DIR" #$(this-package-input "c-blosc"))))))) + (setenv "USE_SYSTEM_BLOSC" "1") + (setenv "Blosc_ROOT" #$(this-package-input "c-blosc"))))))) (propagated-inputs - (list python-numpy)) + (list python-scikit-build python-numpy)) (inputs (list c-blosc)) (home-page "https://github.com/blosc/python-blosc") (synopsis "Python wrapper for the Blosc data compressor library") From 9edf093e58a9ebbf5e4c6cdc874fcbcdbdca635d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 14 Jun 2023 12:09:25 +0300 Subject: [PATCH 137/310] gnu: python-blosc: Enable tests. * gnu/packages/python-xyz.scm (python-blosc)[arguments]: Don't disable tests. Add custom 'check phase. [native-inputs]: Add cmake-minimal. --- gnu/packages/python-xyz.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 86665b0af4..65d9742f2d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25242,19 +25242,21 @@ they use the same path.") #~(begin (use-modules (guix build utils)) (delete-file-recursively "blosc/c-blosc"))))) (build-system python-build-system) - ;; FIXME: all tests pass, but then this error is printed: - ;; TypeError: calling returned None, not a test (arguments - (list #:tests? #f - #:phases + (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'find-blosc (lambda* (#:key inputs #:allow-other-keys) (setenv "USE_SYSTEM_BLOSC" "1") - (setenv "Blosc_ROOT" #$(this-package-input "c-blosc"))))))) + (setenv "Blosc_ROOT" #$(this-package-input "c-blosc")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "blosc.test"))))))) (propagated-inputs (list python-scikit-build python-numpy)) (inputs (list c-blosc)) + (native-inputs (list cmake-minimal)) (home-page "https://github.com/blosc/python-blosc") (synopsis "Python wrapper for the Blosc data compressor library") (description "Blosc is a high performance compressor optimized for binary From 6b34433c9054da3686f10360992e0bf85236e048 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Jun 2023 13:48:24 +0200 Subject: [PATCH 138/310] gnu: Add r-openai. * gnu/packages/cran.scm (r-openai): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 53c49e3ac7..33cc882030 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10960,6 +10960,33 @@ It is a replacement for the @code{zip} function, that does not require any additional external tools on any platform.") (license license:cc0))) +(define-public r-openai + (package + (name "r-openai") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (cran-uri "openai" version)) + (sha256 + (base32 + "1fi1nc9c7kfnig6b5ifpb1v9r3gxszk984rwyq7i1lb6s5jv0b9z")))) + (properties `((upstream-name . "openai"))) + (build-system r-build-system) + (propagated-inputs (list r-assertthat + r-glue + r-httr + r-jsonlite + r-lifecycle + r-magrittr)) + (home-page "https://github.com/irudnyts/openai") + (synopsis "R Wrapper for OpenAI API") + (description + "This package provides an R wrapper of OpenAI API endpoints (see +@url{https://platform.openai.com/docs/introduction} for details). This +package covers Models, Completions, Chat, Edits, Images, Embeddings, Audio, +Files, Fine-tunes, Moderations, and legacy Engines endpoints.") + (license license:expat))) + (define-public r-openxlsx (package (name "r-openxlsx") From 49711f621b4e42ffa45aafcd8829eb51cc135cce Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Jun 2023 14:38:00 +0200 Subject: [PATCH 139/310] gnu: Add r-doc2vec. * gnu/packages/cran.scm (r-doc2vec): New variable. --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 33cc882030..89af513c8b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17314,6 +17314,38 @@ manipulate tree data.") R packages (on CRAN, Bioconductor or Github).") (license license:artistic2.0))) +(define-public r-doc2vec + (package + (name "r-doc2vec") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "doc2vec" version)) + (sha256 + (base32 + "0249hm0103kxxsi4gks4h20wf6p00gbrk9jf8c148mbja1l56f6v")))) + (properties `((upstream-name . "doc2vec"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp)) + (home-page "https://github.com/bnosac/doc2vec") + (synopsis "Distributed representations of sentences, documents and topics") + (description + "Learn vector representations of sentences, paragraphs or documents by +using the Paragraph Vector algorithms, namely the distributed bag of +words (PV-DBOW) and the distributed memory (PV-DM) model. Top2vec finds +clusters in text documents by combining techniques to embed documents and +words and density-based clustering. It does this by embedding documents in +the semantic space as defined by the doc2vec algorithm. Next it maps these +document embeddings to a lower-dimensional space using the Uniform Manifold +Approximation and Projection (UMAP) clustering algorithm and finds dense areas +in that space using a Hierarchical Density-Based Clustering +technique (HDBSCAN). These dense areas are the topic clusters which can be +represented by the corresponding topic vector which is an aggregate of the +document embeddings of the documents which are part of that topic cluster. In +the same semantic space similar words can be found which are representative of +the topic.") + (license license:expat))) + (define-public r-docopt (package (name "r-docopt") From 706bf5f0c26c20eda69c9808c7b52c4d8a3e45d4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Jun 2023 14:38:09 +0200 Subject: [PATCH 140/310] gnu: python-shapely: Update to 2.0.1. * gnu/packages/python-xyz.scm (python-shapely): Update to 2.0.1. [arguments]: Remove 'patch-geos-path build phase; add 'build-extensions phase. [build-system]: Use pyproject-build-system. --- gnu/packages/python-xyz.scm | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 65d9742f2d..eab3020323 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1716,14 +1716,22 @@ attacks or network discovery.") (define-public python-shapely (package (name "python-shapely") - (version "1.8.4") + (version "2.0.1") (source (origin (method url-fetch) - (uri (pypi-uri "Shapely" version)) + (uri (pypi-uri "shapely" version)) (sha256 - (base32 "130rqd0czi128wm5pdn47v4m6czxd7pkzanbya8q48gsm8ffb5d1")))) - (build-system python-build-system) + (base32 "14v88k0y7qhp8n5clip6w96pkdzrfqa2hsjkhpy9gkifwyiv39k6")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) (native-inputs (list python-cython python-matplotlib python-pytest python-pytest-cov)) @@ -1731,25 +1739,6 @@ attacks or network discovery.") (list geos)) (propagated-inputs (list python-numpy)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-geos-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((geos (assoc-ref inputs "geos")) - (glibc (assoc-ref inputs ,(if (%current-target-system) - "cross-libc" "libc")))) - (substitute* '("shapely/geos.py" "shapely/_buildcfg.py") - (("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)") - (string-append "_lgeos = load_dll('geos_c', fallbacks=['" - geos "/lib/libgeos_c.so'])")) - (("free = load_dll\\('c'\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")) - (("free = load_dll\\('c', fallbacks=.*\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")))) - #t))))) (home-page "https://github.com/Toblerity/Shapely") (synopsis "Library for the manipulation and analysis of geometric objects") (description "Shapely is a Python package for manipulation and analysis of From 4699de59ff7c2904a8aed4b7d7cbd96178946d68 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Jun 2023 14:45:40 +0200 Subject: [PATCH 141/310] import/cran: Add another clause for ASL 2.0. * guix/import/cran.scm (string->license): Add clause for >= 2.0. --- guix/import/cran.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 59ed65d929..18a1396cf5 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -95,7 +95,8 @@ ("AGPL (>= 3)" (prefix 'agpl3+)) ("Artistic-2.0" (prefix 'artistic2.0)) ((or "Apache License 2.0" - "Apache License (== 2.0)") + "Apache License (== 2.0)" + "Apache License (>= 2.0)") (prefix 'asl2.0)) ("BSD_2_clause" (prefix 'bsd-2)) ("BSD_2_clause + file LICENSE" (prefix 'bsd-2)) From 53c7162174d5fdbe76968809b4ecff20a8327e6b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 13 Jun 2023 14:46:21 +0200 Subject: [PATCH 142/310] gnu: Add r-word2vec. * gnu/packages/cran.scm (r-word2vec): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 89af513c8b..006763ecf7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17215,6 +17215,29 @@ Kingsbury (1999, 2001) as implemented by Selesnick; and Hilbert wavelet pairs (Selesnick 2001, 2002).") (license license:bsd-3))) +(define-public r-word2vec + (package + (name "r-word2vec") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (cran-uri "word2vec" version)) + (sha256 + (base32 + "0qj39vms6zgwb8lpmfkppayizdmhakic3pkacglary3ain61vnsk")))) + (properties `((upstream-name . "word2vec"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp r-rcppprogress)) + (home-page "https://github.com/bnosac/word2vec") + (synopsis "Distributed representations of words") + (description + "Learn vector representations of words by continuous bag of words and +skip-gram implementations of the word2vec algorithm. The techniques are +detailed in the paper \"Distributed Representations of Words and Phrases and +their Compositionality\" by Mikolov et al. (2013), available at +.") + (license license:asl2.0))) + (define-public r-wordcloud (package (name "r-wordcloud") From 7c12255eb9fdd73b481c3c588b02809abd633be8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 14 Jun 2023 14:08:27 +0200 Subject: [PATCH 143/310] gnu: guile-openai: Update to 0.2-1.751cd5d. * gnu/packages/guile-xyz.scm (guile-openai): Update to 0.2-1.751cd5d. [build-system]: Use gnu-build-system. [arguments]: Adjust. [inputs]: Add imagemagick. [native-inputs]: Add autoconf, automake, and pkg-config. --- gnu/packages/guile-xyz.scm | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index bb02e2652c..69e4d02472 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -311,11 +311,11 @@ currently does not do much, but it might in the future.") (license license:gpl3+))) (define-public guile-openai - (let ((commit "9265b641dea0246609b7bd5031f3f6780ef6a167") - (revision "2")) + (let ((commit "751cd5db5f8bb7c00e60042a7ec86100930b0f02") + (revision "1")) (package (name "guile-openai") - (version (git-version "0.1" revision commit)) + (version (git-version "0.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -324,21 +324,16 @@ currently does not do much, but it might in the future.") (file-name (git-file-name name version)) (sha256 (base32 - "0sydjsgdr6xxk1w5f8pf14wgimfy4fb1hpi8yml0nv83p7bfr1w3")))) - (build-system guile-build-system) - (arguments - (list - #:scheme-file-regexp - #~(lambda (file info) - (let ((name (basename file))) - (and (string-suffix? ".scm" name) - (not (string=? (basename file) "guix.scm"))))))) - (inputs (list guile-3.0-latest)) + "1rl15wkm682xwzj2fjn4czp1haxnxlcjsk3g69j2a9qlwc4w0g4a")))) + (build-system gnu-build-system) + (arguments (list #:strip-binaries? #f)) + (inputs (list guile-3.0-latest imagemagick)) (propagated-inputs (list guile-colorized guile-gnutls guile-json-4 guile-picture-language)) + (native-inputs (list autoconf automake pkg-config)) (home-page "https://gitlab.com/flatwhatson/guile-openai") (synopsis "Guile implementation of the OpenAI API") (description From 6bbfcc359a111c257d4a9ea788027baddf4e7d64 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 13 Jun 2023 23:24:51 -0400 Subject: [PATCH 144/310] gnu: python-scikit-build: Update to 0.17.6. * gnu/packages/python-xyz.scm (python-scikit-build): Update to 0.17.6. [arguments]: Re-instate test_cxx_compiler test in check phase. [native-inputs]: Add python-virtualenv. --- gnu/packages/python-xyz.scm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index eab3020323..afd3100a6b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29794,13 +29794,13 @@ and frame grabber interface.") (define-public python-scikit-build (package (name "python-scikit-build") - (version "0.17.1") + (version "0.17.6") (source (origin (method url-fetch) (uri (pypi-uri "scikit_build" version)) (sha256 - (base32 "0v1qcn3nsjxqdl6fa07b7acq6xndqbvvic5dvsgbjgldkjr1drqp")))) + (base32 "17awdvpzj4bn50gk4gmj20r2xcjr5y8lfl2bk582di1pdfim26mm")))) (build-system pyproject-build-system) (arguments (list @@ -29839,11 +29839,7 @@ and frame grabber interface.") ;; nondeterministically (see: ;; https://github.com/scikit-build/scikit-build/issues/711). "and not test_generator_cleanup " - "and not test_generator_selection " - ;; The compiler test fails with a - ;; SKBuildGeneratorNotFoundError error (see: - ;; https://github.com/scikit-build/scikit-build/issues/945). - "and not test_cxx_compiler ")))))))) + "and not test_generator_selection ")))))))) (native-inputs (list cmake-minimal gfortran @@ -29863,7 +29859,8 @@ and frame grabber interface.") python-pytest-virtualenv python-pytest-xdist python-requests - python-setuptools-scm)) + python-setuptools-scm + python-virtualenv)) (propagated-inputs (list python-distro python-packaging python-tomli python-wheel)) (home-page "https://github.com/scikit-build/scikit-build") From 4e60cbe5bbcf425442952de0e8eb6410e9304d1d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 08:06:21 -0400 Subject: [PATCH 145/310] gnu: ibus-anthy: Prepare for tests. * gnu/packages/patches/ibus-anthy-fix-tests.patch: New patch. * gnu/packages/ibus.scm (ibus-anthy): Register it. * gnu/packages/ibus.scm (ibus-anthy) [source]: Apply patch. [arguments]: Clarify #:tests? comment. Add a fix-check, do-not-override-GI_TYPELIB_PATH and prepare-for-tests phases. [native-inputs]: Add procps, python-pycotap, util-linux and xorg-server-for-tests. --- gnu/local.mk | 1 + gnu/packages/ibus.scm | 38 ++++++++++++-- .../patches/ibus-anthy-fix-tests.patch | 49 +++++++++++++++++++ 3 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/ibus-anthy-fix-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 209556b56d..3d3e54406b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -897,6 +897,7 @@ dist_patch_DATA = \ %D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ + %D%/packages/patches/ibus-anthy-fix-tests.patch \ %D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index d880956c56..e9294fab1e 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -59,10 +59,12 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages iso-codes) + #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages serialization) @@ -348,18 +350,44 @@ Chinese pinyin input methods.") version "/ibus-anthy-" version ".tar.gz")) (sha256 (base32 - "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")))) + "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")) + (patches (search-patches "ibus-anthy-fix-tests.patch")))) (build-system gnu-build-system) (arguments (list + ;; The test suite hangs (see: + ;; https://github.com/ibus/ibus-anthy/issues/28). + #:tests? #f #:configure-flags ;; Use absolute exec path in the anthy.xml. #~(list (string-append "--libexecdir=" #$output "/libexec")) ;; The test suite fails (see: ;; https://github.com/ibus/ibus-anthy/issues/28). - #:tests? #f #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-check + (lambda _ + (substitute* "data/Makefile.in" + ;; Use a year current at the time the release was made, to + ;; avoid the "This year 2023 is not included in era.y" + ;; error. + (("`date '\\+%Y'`") + "2021")))) + (add-after 'unpack 'do-not-override-GI_TYPELIB_PATH + ;; Do not override the GI_TYPELIB_PATH to avoid the pygobject + ;; error: "ValueError: Namespace Gdk not available". + (lambda _ + (substitute* "tests/test-build.sh" + (("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all) + (string-append all ":$GI_TYPELIB_PATH"))))) + (add-before 'check 'prepare-for-tests + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; IBus requires write access to the HOME directory. + (setenv "HOME" "/tmp") + ;; The single test is skipped if no actual display is found. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs #:allow-other-keys) (for-each @@ -376,7 +404,11 @@ Chinese pinyin input methods.") `(,glib "bin") intltool pkg-config - python)) + procps ;for ps + python + python-pycotap + util-linux ;for getopt + xorg-server-for-tests)) (inputs (list anthy gtk+ diff --git a/gnu/packages/patches/ibus-anthy-fix-tests.patch b/gnu/packages/patches/ibus-anthy-fix-tests.patch new file mode 100644 index 0000000000..6934358980 --- /dev/null +++ b/gnu/packages/patches/ibus-anthy-fix-tests.patch @@ -0,0 +1,49 @@ +Submitted upstream: https://github.com/ibus/ibus-anthy/pull/35 + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index e83b78f..a0efe32 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -63,26 +63,27 @@ parse_args() + done; + } + ++maybe_install_pycotap() { ++ # Check if pycotap is already available. ++ python3 -m pycotap >/dev/null && return 0 ++ ++ # Red Hat specific hint. ++ if test -f /etc/redhat-release ; then ++ if ! rpm -q --quiet python3-pycotap; then ++ echo "Please install python3-pycotap" ++ exit -1 ++ fi ++ fi; ++} ++ + init_environment() + { + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; +- HAS_TAP=0; +- if test -f /etc/redhat-release ; then +- rpm -q --quiet python3-pycotap +- if test $? -ne 0 ; then +- echo "Not found python3-pycotap"; +- exit -1; +- fi; +- HAS_TAP=1; +- fi; +- TAP_DIR=`python -m site --user-site`/pycotap; +- if test $HAS_TAP -ne 1 && \ +- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then +- echo "pip install pycotap --user"; +- pip install pycotap --user; +- fi; ++ ++ maybe_install_pycotap ++ + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; From cb902d7e1bcddd6f4223d0c90b134e4728ac2295 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 14 Jun 2023 19:06:32 +0300 Subject: [PATCH 146/310] gnu: onedrive: Link to all necessary libraries. Reported by adanska on IRC. * gnu/packages/sync.scm (onedrive)[arguments]: Remove custom 'link-to-external-libraries phase to allow linking to more libraries. --- gnu/packages/sync.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 75cd67fd2d..bd9fbab386 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -392,10 +392,6 @@ silently and reliably flow across to every other.") #~(list (string-append "CC=" #$(cc-for-target))) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'link-to-external-libraries - (lambda _ - ;; Only link necessary libraries. - (setenv "DCFLAGS" "-L--as-needed"))) (add-after 'configure 'adjust-makefile (lambda _ (substitute* "Makefile" From 8f0698dde351790e0bc9e905e4cd71902fd55d5f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 14 Jun 2023 19:11:56 +0300 Subject: [PATCH 147/310] gnu: python-keras: Fix building with newer python. * gnu/packages/machine-learning.scm (python-keras)[source]: Add snippet to adjust for newer versions of python. --- gnu/packages/machine-learning.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 49284407d7..927b531cf2 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015-2023 Ricardo Wurmus -;;; Copyright © 2016, 2020, 2021, 2022 Efraim Flashner +;;; Copyright © 2016, 2020-2023 Efraim Flashner ;;; Copyright © 2016, 2017, 2020 Marius Bakke ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice @@ -3214,7 +3214,12 @@ with image data, text data, and sequence data.") (patches (search-patches "python-keras-integration-test.patch")) (sha256 (base32 - "1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh")))) + "1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh")) + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "keras/callbacks.py" + (("from collections import Iterable") + "from collections.abc import Iterable")))))) (build-system python-build-system) (arguments `(#:phases From ee7b06e2124337e4bfd253f1678615c6790df8bf Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 12:38:01 -0400 Subject: [PATCH 148/310] gnu: python-pyzmq: Use pytest to run the test suite. * gnu/packages/python-xyz.scm (python-pyzmq) [arguments]: Precise comments regarding #:tests?. Override check phase. --- gnu/packages/python-xyz.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index afd3100a6b..2bb0dc5a70 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11847,16 +11847,19 @@ applications.") ;; FIXME: The test_draft.TestDraftSockets test fails with: ;; zmq.error.Again: Resource temporarily unavailable (delete-file "zmq/tests/test_draft.py") - ;; These tests fail for unknown reasons (see: + ;; These tests appear to depend on a working name resolver (see: ;; https://github.com/zeromq/pyzmq/issues/1853). (delete-file "zmq/tests/test_auth.py") (delete-file "zmq/tests/test_zmqstream.py"))) (add-before 'check 'build-extensions (lambda _ ;; Cython extensions have to be built before running the tests. - (invoke "python" "setup.py" "build_ext" "--inplace")))))) - (inputs - (list zeromq)) + (invoke "python" "setup.py" "build_ext" "--inplace"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (inputs (list zeromq)) (native-inputs (list pkg-config python-cython From 786d8fd60d33ec57689038f08092d134dbeb4be7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 12:42:40 -0400 Subject: [PATCH 149/310] gnu: python-pyzmq: Update to 25.1.0. * gnu/packages/python-xyz.scm (python-pyzmq): Update to 25.1.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2bb0dc5a70..141fa1d05b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11812,13 +11812,13 @@ applications.") (define-public python-pyzmq (package (name "python-pyzmq") - (version "25.0.2") + (version "25.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pyzmq" version)) (sha256 - (base32 "0jai5sbd4ypihsvr4ikq6d93nkmxwv53598sh24dqs78f2xip33b")) + (base32 "0mw9zf0h9sgn2cchw24vyxgyi2nfpyfacr0mh072hdjx8qii1i40")) (snippet #~(begin (use-modules (guix build utils)) From f8cf3982ff37ca229c9f7928c778ea1fa115416a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Jun 2023 10:22:30 +0300 Subject: [PATCH 150/310] gnu: Add tuba. * gnu/packages/mastodon.scm (tuba): New variable. --- gnu/packages/mastodon.scm | 50 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 9c1d3cd26f..6510d96e2d 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -32,12 +32,14 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages time)) + #:use-module (gnu packages time) + #:use-module (gnu packages xml)) (define-public toot (package @@ -81,6 +83,52 @@ Features include: @end itemize") (license license:gpl3))) +(define-public tuba + (package + (name "tuba") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/GeopJr/Tuba") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xhyz6wi17g4m76lr6qc75q4xnnw7c3dh3d04dg8m5gzk6j0y89x")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:configure-flags (list "-Ddistro=true") + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'symlink-package + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") "/bin") + (symlink "dev.geopjr.Tuba" "tuba"))))))) + (native-inputs + (list gettext-minimal + `(,glib "bin") ; for glib-compile-resources + pkg-config)) + (inputs + (list gtk + gtksourceview + json-glib + libadwaita + libgee + libsoup-minimal + libsecret + libwebp + libxml2 + vala)) + (home-page "https://tuba.geopjr.dev/") + (synopsis "GTK client for Mastodon") + (description "Tuba is a GTK client for Mastodon. It provides a clean, +native interface that allows you to integrate Mastodon's social experience +seamlessly with your desktop environment.") + (license license:gpl3))) + (define-public tootle (package (name "tootle") From 87cf2a859d62aa24dda8ced7b04f54a3ee9c466c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 May 2023 17:30:58 +0300 Subject: [PATCH 151/310] home: services: ssh: Allow unset boolean options in ssh-config. From man 5 ssh_config: Unless noted otherwise, for each parameter, the first obtained value will be used. We want to allow falling through to the first explicitly chosen user defined value. * gnu/home/services.ssh.scm (define-maybe boolean): New configuration. (openssh-host)[forward-x11?, forward-x11-trusted?, forward-agent?, compression?]: Replace default value with maybe-boolean. * doc/guix.texi (Secure Shell): Update documentation to match the changes in the code. --- doc/guix.texi | 10 +++++----- gnu/home/services/ssh.scm | 11 +++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 43dffe08c1..9232c82b4b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -33,7 +33,7 @@ Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner@* +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* @@ -43129,19 +43129,19 @@ TCP port number to connect to. @item @code{user} (type: maybe-string) User name on the remote host. -@item @code{forward-x11?} (default: @code{#f}) (type: boolean) +@item @code{forward-x11?} (type: maybe-boolean) Whether to forward remote client connections to the local X11 graphical display. -@item @code{forward-x11-trusted?} (default: @code{#f}) (type: boolean) +@item @code{forward-x11-trusted?} (type: maybe-boolean) Whether remote X11 clients have full access to the original X11 graphical display. -@item @code{forward-agent?} (default: @code{#f}) (type: boolean) +@item @code{forward-agent?} (type: maybe-boolean) Whether the authentication agent (if any) is forwarded to the remote machine. -@item @code{compression?} (default: @code{#f}) (type: boolean) +@item @code{compression?} (type: maybe-boolean) Whether to compress data in transit. @item @code{proxy} (type: maybe-proxy-command-or-jump-list) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 2e841596e4..ac72129b6c 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2023 Nicolas Graves +;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,6 +119,8 @@ (string-append " " (serialize-field-name field) " " (number->string value) "\n")) +(define-maybe boolean) + (define (serialize-boolean field value) (string-append " " (serialize-field-name field) " " (if value "yes" "no") "\n")) @@ -235,19 +238,19 @@ Additionally, the field can be left unset to allow any address family.") maybe-string "User name on the remote host.") (forward-x11? - (boolean #f) + maybe-boolean "Whether to forward remote client connections to the local X11 graphical display.") (forward-x11-trusted? - (boolean #f) + maybe-boolean "Whether remote X11 clients have full access to the original X11 graphical display.") (forward-agent? - (boolean #f) + maybe-boolean "Whether the authentication agent (if any) is forwarded to the remote machine.") (compression? - (boolean #f) + maybe-boolean "Whether to compress data in transit.") (proxy-command maybe-string From 0e5539148244077215a984af9347a739c65e7ccb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 13:58:24 -0400 Subject: [PATCH 152/310] gnu: scintilla: Use string-delete to compute source URL. * gnu/packages/text-editors.scm (scintilla) [source]: Use string-delete instead of string-split and string-append. --- gnu/packages/text-editors.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index b23c5ba2be..c4c2893009 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1006,8 +1006,8 @@ The basic features of Text Pieces are: (source (origin (method url-fetch) - (uri (let ((v (apply string-append (string-split version #\.)))) - (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) + (uri (string-append "https://www.scintilla.org/scintilla" + (string-delete #\. version) ".tgz")) (sha256 (base32 "0inbhzqdikisvnbdzn8153p1apbghxjzkkzji9i8zsdpyapb209z")))) (build-system gnu-build-system) @@ -1030,10 +1030,8 @@ The basic features of Text Pieces are: (find-files "bin/" "\\.so$")) (for-each (lambda (f) (install-file f inc)) (find-files "include/" ".")))))))) - (native-inputs - (list pkg-config python-wrapper)) - (inputs - (list gtk+)) + (native-inputs (list pkg-config python-wrapper)) + (inputs (list gtk+)) (home-page "https://www.scintilla.org/") (synopsis "Code editor for GTK+") (description "Scintilla is a source code editing component for From 1eac587fa631424707c3cf2aa31031e7c88c5557 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 15:00:54 -0400 Subject: [PATCH 153/310] gnu: lexilla: Fix find-files regexp in install phase. * gnu/packages/text-editors.scm (scintilla) [arguments]: Fix find-files regexp in install phase. --- gnu/packages/text-editors.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index c4c2893009..606d85584b 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1029,7 +1029,7 @@ The basic features of Text Pieces are: (for-each (lambda (f) (install-file f lib)) (find-files "bin/" "\\.so$")) (for-each (lambda (f) (install-file f inc)) - (find-files "include/" ".")))))))) + (find-files "include/" "\\.h$")))))))) (native-inputs (list pkg-config python-wrapper)) (inputs (list gtk+)) (home-page "https://www.scintilla.org/") From 10186bc291580a5a3403739eb4623c2ba63c0190 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 14 Jun 2023 15:01:58 -0400 Subject: [PATCH 154/310] gnu: Add lexilla. * gnu/packages/text-editors.scm (lexilla): New variable. --- gnu/packages/text-editors.scm | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 606d85584b..1781e75af2 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2022 jgart ;;; Copyright © 2022 Andy Tai ;;; Copyright © 2023 Eidvilas Markevičius +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -1044,6 +1045,66 @@ fonts, bold and italics, multiple foreground and background colours, and multiple fonts.") (license license:hpnd))) +(define-public lexilla + (package + (name "lexilla") + (version "5.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.scintilla.org/lexilla" + (string-delete #\. version) ".tgz")) + (sha256 + (base32 + "0sc3z6y82h1vq8aaydp119kymzvrv0p1xvy56r5j996jl6zxikk4")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "CXX=" #$(cxx-for-target)) + (string-append "SCINTILLA_INCLUDE=" + #$(this-package-input "scintilla") + "/include")) + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda args + (with-directory-excursion "src" + (apply (assoc-ref %standard-phases 'build) args)))) + (add-after 'build 'patch-more-shebangs + (lambda _ + ;; Patch these bash shebangs to avoid them failing the tests. + (substitute* '("test/examples/bash/x.bsh.folded" + "test/examples/bash/x.bsh.styled") + (("/usr/bin/env bash") + (which "bash"))))) + (replace 'check + (lambda args + (with-directory-excursion "test" + (apply (assoc-ref %standard-phases 'check) args)))) + (add-after 'unpack 'fix-deps.mak + (lambda _ + (substitute* "src/deps.mak" + (("../../scintilla") + #$(this-package-input "scintilla"))))) + (delete 'configure) ;no configure script + (replace 'install + ;; Upstream provides no install script. + (lambda _ + (let ((lib (string-append #$output "/lib")) + (inc (string-append #$output "/include"))) + (for-each (lambda (f) (install-file f lib)) + (find-files "bin/" "\\.so$")) + (for-each (lambda (f) (install-file f inc)) + (find-files "include/" "\\.h$")))))))) + (native-inputs (list python)) + (inputs (list scintilla)) + (home-page "https://www.scintilla.org/Lexilla.html") + (synopsis "Language lexers for Scintilla") + (description "Lexilla is a library of language lexers that can be +used with the Scintilla editing component.") + (license license:hpnd))) + (define-public geany (package (name "geany") From 09449ef6f6359c9621e512b323bc37d43a366e24 Mon Sep 17 00:00:00 2001 From: Zheng Junjie <873216071@qq.com> Date: Wed, 14 Jun 2023 22:31:43 +0300 Subject: [PATCH 155/310] gnu: psascan: Do not build with "-march=native". * gnu/packages/cpp.scm (psascan)[origin]: Add 'snippet'. [properties]: New field. Signed-off-by: Efraim Flashner --- gnu/packages/cpp.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 365b15a3b9..39a34c20dd 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2022 Attila Lendvai ;;; Copyright © 2022 Arun Isaac ;;; Copyright © 2022 David Elsing -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Sughosha ;;; Copyright © 2023 Artyom V. Poptsov @@ -1173,7 +1173,11 @@ parsers according to a Parsing Expression Grammar (PEG).") "/pSAscan-" version ".tar.bz2")) (sha256 (base32 - "1cphk4gf202nzkxz6jdjzls4zy27055gwpm0r8cn99gr6c8548cy")))) + "1cphk4gf202nzkxz6jdjzls4zy27055gwpm0r8cn99gr6c8548cy")) + (modules '((guix build utils))) + (snippet '(begin (substitute* '("src/Makefile" + "tools/delete-bytes-255/Makefile") + (("-march=native") "")))))) (build-system gnu-build-system) (arguments (list @@ -1187,6 +1191,7 @@ parsers according to a Parsing Expression Grammar (PEG).") (install-file "psascan" (string-append #$output "/bin"))))))) (inputs (list libdivsufsort)) + (properties '((tunable? . #t))) (home-page "https://www.cs.helsinki.fi/group/pads/pSAscan.html") (synopsis "Parallel external memory suffix array construction") (description "This package contains an implementation of the parallel From 49119eee2b1d46945d6ca9ba12355ffa0f8859b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Jun 2023 23:50:38 +0200 Subject: [PATCH 156/310] gnu: guile-fibers: Add 1.3.1. * gnu/packages/guile-xyz.scm (guile-fibers-1.3): New variable. (guile-fibers-1.1): Inherit from it. * gnu/packages/patches/guile-fibers-libevent-32-bit.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/guile-xyz.scm | 53 ++++++++++++++----- .../guile-fibers-libevent-32-bit.patch | 18 +++++++ 3 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/guile-fibers-libevent-32-bit.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3d3e54406b..bc3cdbbaed 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1321,6 +1321,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ %D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \ %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \ + %D%/packages/patches/guile-fibers-libevent-32-bit.patch \ %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \ diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 69e4d02472..4acd756f9a 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -92,6 +92,7 @@ #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) @@ -783,10 +784,10 @@ Unix-style DSV format and RFC 4180 format.") (inputs (list guile-2.2)) (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) -(define-public guile-fibers-1.1 +(define-public guile-fibers-1.3 (package (name "guile-fibers") - (version "1.1.1") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -795,11 +796,9 @@ Unix-style DSV format and RFC 4180 format.") (file-name (git-file-name name version)) (sha256 (base32 - "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) + "0wvdi4l58f9a5c9wi3cdc9l1bniscsixb6w2zj86mch7j7j814lc")) (patches - (search-patches "guile-fibers-wait-for-io-readiness.patch" - "guile-fibers-epoll-instance-is-dead.patch" - "guile-fibers-fd-finalizer-leak.patch")))) + (search-patches "guile-fibers-libevent-32-bit.patch")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -817,17 +816,15 @@ Unix-style DSV format and RFC 4180 format.") (substitute* "Makefile" (("tests/speedup.scm") "")))))))) (native-inputs - (list texinfo pkg-config autoconf automake libtool + (list texinfo pkg-config autoconf-2.71 automake libtool guile-3.0 ;for 'guild compile ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' gettext-minimal)) (inputs - (list guile-3.0)) ;for libguile-3.0.so - (supported-systems - ;; This version requires 'epoll' and is thus limited to Linux-based - ;; systems, but this may change soon: - ;; . - (filter (cut string-suffix? "-linux" <>) %supported-systems)) + (append (list guile-3.0) ;for libguile-3.0.so + (if (hurd-target?) + (list libevent) + '()))) (synopsis "Lightweight concurrency facility for Guile") (description "Fibers is a Guile library that implements a a lightweight concurrency @@ -844,6 +841,36 @@ is not available for Guile 2.0.") (properties '((upstream-name . "fibers"))) (license license:lgpl3+))) +(define-public guile-fibers-1.1 + (package + (inherit guile-fibers-1.3) + (version "1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wingo/fibers") + (commit (string-append "v" version)))) + (file-name (git-file-name "guile-fibers" version)) + (sha256 + (base32 + "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) + (patches + (search-patches "guile-fibers-wait-for-io-readiness.patch" + "guile-fibers-epoll-instance-is-dead.patch" + "guile-fibers-fd-finalizer-leak.patch")))) + (native-inputs + (list texinfo pkg-config autoconf automake libtool + guile-3.0 ;for 'guild compile + ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' + gettext-minimal)) + (inputs + (list guile-3.0)) ;for libguile-3.0.so + (supported-systems + ;; This version requires 'epoll' and is thus limited to Linux-based + ;; systems, which is fixed in 1.2.0: + ;; . + (filter (cut string-suffix? "-linux" <>) %supported-systems)))) + (define-public guile-fibers-next (let ((commit "99fc3e38048f732de67c43fde52e949fa294aa7d") (revision "1")) diff --git a/gnu/packages/patches/guile-fibers-libevent-32-bit.patch b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch new file mode 100644 index 0000000000..a1cc99fdbe --- /dev/null +++ b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch @@ -0,0 +1,18 @@ +This fixes a bug with the libevent backend on 32-bit platforms: + + https://github.com/wingo/fibers/issues/86 + +diff --git a/extensions/libevent.c b/extensions/libevent.c +index 4f44de9..52c9d73 100644 +--- a/extensions/libevent.c ++++ b/extensions/libevent.c +@@ -215,7 +215,8 @@ run_event_loop (void *p) + microsec = -1; + else if (data->timeout >= 0) + { +- microsec = data->timeout / time_units_per_microsec; ++ microsec = (time_units_per_microsec == 0) ++ ? 0 : data->timeout / time_units_per_microsec; + tv.tv_sec = 0; + tv.tv_usec = microsec; + } From c219c22cbdb62ba52b50ec8fb12bebce0b1dd459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Jun 2023 23:52:17 +0200 Subject: [PATCH 157/310] gnu: shepherd@0.10: Use guile-fibers 1.3.1. * gnu/packages/admin.scm (shepherd-0.10)[native-inputs, inputs]: Replace GUILE-FIBERS-1.1 with GUILE-FIBERS-1.3. --- gnu/packages/admin.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 511033bafb..5bae16157e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2022 Ludovic Courtès +;;; Copyright © 2012-2023 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver ;;; Copyright © 2014, 2015-2018, 2020-2023 Eric Bavier @@ -378,7 +378,11 @@ interface and is based on GNU Guile.") version ".tar.gz")) (sha256 (base32 - "1720czfchg4pzw44v0zj3rc3k6jhl3ixwnpw4v4v9bqx98ad49yw")))))) + "1720czfchg4pzw44v0zj3rc3k6jhl3ixwnpw4v4v9bqx98ad49yw")))) + (native-inputs (modify-inputs (package-native-inputs shepherd-0.9) + (replace "guile-fibers" guile-fibers-1.3))) + (inputs (modify-inputs (package-inputs shepherd-0.9) + (replace "guile-fibers" guile-fibers-1.3))))) (define-public shepherd shepherd-0.9) From 131b7ed6d18d66a517faaafa115a94e2a9e459c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Jun 2023 23:53:55 +0200 Subject: [PATCH 158/310] gnu: cuirass: Use guile-fibers 1.3.1. * gnu/packages/ci.scm (cuirass)[inputs]: Replace GUILE-FIBERS-1.1 with GUILE-FIBERS-1.3. --- gnu/packages/ci.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index cb55a62334..00be723eec 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -142,7 +142,7 @@ (inputs (list guile-3.0-latest guile-avahi - guile-fibers-1.1 + guile-fibers-1.3 guile-gcrypt guile-json-4 guile-simple-zmq From 1261d2637c25b63a7a8c6bff5629265e19fa3dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Jun 2023 10:18:54 +0200 Subject: [PATCH 159/310] gnu: guile-fibers: Remove 'guile-fibers-next'. * gnu/packages/guile-xyz.scm (guile-fibers-next): Remove. * gnu/packages/package-management.scm (guix-build-coordinator)[arguments] [native-inputs, propagated-inputs]: Replace GUILE-FIBERS-NEXT by GUILE-FIBERS-1.3. (nar-herder)[arguments, native-inputs, propagated-inputs]: Likewise. * gnu/packages/web.scm (guix-data-service)[propagated-inputs]: Likewise. --- gnu/packages/guile-xyz.scm | 17 ----------------- gnu/packages/package-management.scm | 12 ++++++------ gnu/packages/web.scm | 2 +- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 4acd756f9a..46acc38ecc 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -871,23 +871,6 @@ is not available for Guile 2.0.") ;; . (filter (cut string-suffix? "-linux" <>) %supported-systems)))) -(define-public guile-fibers-next - (let ((commit "99fc3e38048f732de67c43fde52e949fa294aa7d") - (revision "1")) - (package - (inherit guile-fibers-1.1) - (name "guile-fibers-next") - (version (git-version "1.3.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wingo/fibers") - (commit commit))) - (file-name (git-file-name "guile-fibers" version)) - (sha256 - (base32 - "1950nf0qa52m1hhc33z0snci5azbdcv4m6hklk5rpqchc90x9h4p"))))))) - (define-public guile-fibers (package (inherit guile-fibers-1.1) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4791880375..3a5ba3420c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1444,7 +1444,7 @@ environments.") "guile-gnutls" ,@(if (hurd-target?) '() - '("guile-fibers-next"))))) + '("guile-fibers"))))) (wrap-program file `("PATH" ":" prefix (,bin @@ -1485,7 +1485,7 @@ environments.") guile-gcrypt guix guile-prometheus - guile-fibers-next + guile-fibers-1.3 guile-lib (first (assoc-ref (package-native-inputs guix) "guile")))) (inputs @@ -1503,7 +1503,7 @@ environments.") guile-sqlite3 guix guile-gnutls - guile-fibers-next)) + guile-fibers-1.3)) (home-page "https://git.cbaines.net/guix/build-coordinator/") (synopsis "Tool to help build derivations") (description @@ -1686,7 +1686,7 @@ in an isolated environment, in separate namespaces.") "guile-prometheus" "guile-sqlite3" "guile-gnutls" - "guile-fibers-next"))) + "guile-fibers"))) (wrap-program file `("GUILE_LOAD_PATH" ":" prefix (,scm ,(string-join @@ -1719,7 +1719,7 @@ in an isolated environment, in separate namespaces.") guile-json-4 guile-gcrypt guix - guile-fibers-next + guile-fibers-1.3 guile-prometheus guile-lib guile-lzlib @@ -1732,7 +1732,7 @@ in an isolated environment, in separate namespaces.") (list guile-json-4 guile-gcrypt guix - guile-fibers-next + guile-fibers-1.3 guile-prometheus guile-lib guile-lzlib diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7df1cea36c..daa569263b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4849,7 +4849,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") bash-minimal)) (propagated-inputs (list guix - guile-fibers-next + guile-fibers-1.3 guile-json-4 guile-email guile-prometheus From 35c27ec5eedfe8ea4fc653bef0bf213c1a58e7a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Jun 2023 10:33:58 +0200 Subject: [PATCH 160/310] gnu: gnunet-scheme: Use guile-fibers 1.3.1. * gnu/packages/gnunet.scm (gnunet-scheme)[native-inputs] [propagated-inputs]: Replace GUILE-FIBERS-1.1 with GUILE-FIBERS-1.3. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index ff7499263e..f16a223d10 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -409,14 +409,14 @@ services.") "faketime -m -f '1970-01-01 00:00:00' $(TEXMACS_CONVERT)"))))))) (inputs (list guile-3.0)) ;for pkg-config (propagated-inputs (list guile-bytestructures guile-gcrypt guile-pfds - guile-fibers-1.1)) + guile-fibers-1.3)) (native-inputs (list guile-3.0 ;as a compiler ;; for cross-compilation, the guile inputs need to be ;; native-inputs as well. guile-bytestructures guile-gcrypt guile-pfds - guile-fibers-1.1 + guile-fibers-1.3 libfaketime automake autoconf From e4259d4e9e3251e4c4b45d1cce4008ac32b504c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 Jun 2023 23:41:37 +0200 Subject: [PATCH 161/310] packages: 'package-transitive-supported-systems' detects cycles. With this change, commands such as 'guix build' or 'guix package' report obvious package-level cycles upfront. Derivation-level cycles are not detected. * guix/packages.scm (&package-cyclic-dependency-error): New condition type. (package-transitive-supported-systems): Define 'visited', check it, and parameterize it. * guix/ui.scm (call-with-error-handling): Handle '&package-cyclic-dependency-error'. * tests/packages.scm ("package-transitive-supported-systems detects cycles"): Add test. --- guix/packages.scm | 41 ++++++++++++++++++++++++++++++----------- guix/ui.scm | 9 +++++++++ tests/packages.scm | 17 +++++++++++++++++ 3 files changed, 56 insertions(+), 11 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index e26602d589..ba98bb0fb4 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -168,6 +168,9 @@ package-error-invalid-license &package-input-error package-input-error? + &package-cyclic-dependency-error + package-cyclic-dependency-error? + package-error-dependency-cycle package-error-invalid-input &package-cross-build-system-error package-cross-build-system-error? @@ -806,6 +809,10 @@ exist, return #f instead." package-input-error? (input package-error-invalid-input)) +(define-condition-type &package-cyclic-dependency-error &package-error + package-cyclic-dependency-error? + (cycle package-error-dependency-cycle)) + (define-condition-type &package-cross-build-system-error &package-error package-cross-build-system-error?) @@ -1317,17 +1324,29 @@ in INPUTS and their transitive propagated inputs." (let () (define (supported-systems-procedure system) (define supported-systems - (mlambdaq (package) - (parameterize ((%current-system system)) - (fold (lambda (input systems) - (match input - ((label (? package? package) . _) - (lset-intersection string=? systems - (supported-systems package))) - (_ - systems))) - (package-supported-systems package) - (bag-direct-inputs (package->bag package system #f)))))) + ;; The VISITED parameter allows for cycle detection. This is a pretty + ;; strategic place to do that: most commands call it upfront, yet it's + ;; not on the hot path of 'package->derivation'. The downside is that + ;; only package-level cycles are detected. + (let ((visited (make-parameter (setq)))) + (mlambdaq (package) + (when (set-contains? (visited) package) + (raise (condition + (&package-cyclic-dependency-error + (package package) + (cycle (set->list (visited))))))) + + (parameterize ((visited (set-insert package (visited))) + (%current-system system)) + (fold (lambda (input systems) + (match input + ((label (? package? package) . _) + (lset-intersection string=? systems + (supported-systems package))) + (_ + systems))) + (package-supported-systems package) + (bag-direct-inputs (package->bag package system #f))))))) supported-systems) diff --git a/guix/ui.scm b/guix/ui.scm index 7540e2194f..47a118364a 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -722,6 +722,15 @@ evaluating the tests and bodies of CLAUSES." (leave (G_ "~a:~a:~a: package `~a' has an invalid input: ~s~%") file line column (package-full-name package) input))) + ((package-cyclic-dependency-error? c) + (let ((package (package-error-package c))) + (leave (package-location package) + (G_ "~a: dependency cycle detected: + ~a~{ -> ~a~}~%") + (package-full-name package) + (package-full-name package) + (map package-full-name + (package-error-dependency-cycle c))))) ((package-cross-build-system-error? c) (let* ((package (package-error-package c)) (loc (package-location package)) diff --git a/tests/packages.scm b/tests/packages.scm index 5e8eac99dc..2b7ab01f7d 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -368,6 +368,23 @@ (package-transitive-supported-systems d) (package-transitive-supported-systems e)))) +(test-equal "package-transitive-supported-systems detects cycles" + '("c" "a" "b" "c") + (letrec* ((a (dummy-package "a" + (build-system trivial-build-system) + (native-inputs (list c)))) + (b (dummy-package "b" + (build-system trivial-build-system) + (inputs (list a)))) + (c (dummy-package "c" + (build-system trivial-build-system) + (inputs (list b))))) + (guard (c ((package-cyclic-dependency-error? c) + (map package-name + (cons (package-error-package c) + (package-error-dependency-cycle c))))) + (package-transitive-supported-systems c)))) + (test-assert "package-development-inputs" ;; Note: Due to propagated inputs, 'package-development-inputs' returns a ;; couple more inputs, such as 'linux-libre-headers'. From 6440b352c92e01aab1756e287a0271ccf0346dff Mon Sep 17 00:00:00 2001 From: Z572 <873216071@qq.com> Date: Fri, 26 May 2023 18:23:45 +0800 Subject: [PATCH 162/310] gnu: libtree: fix building on non-x86 systems. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (libtree): fix building on non-x86 systems. [source]: add patch. * gnu/packages/patches/libtree-fix-check-non-x86.patch: New file. * gnu/local.mk (dist_path_DATA): Register it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/linux.scm | 2 + .../patches/libtree-fix-check-non-x86.patch | 50 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 gnu/packages/patches/libtree-fix-check-non-x86.patch diff --git a/gnu/local.mk b/gnu/local.mk index bc3cdbbaed..2b3df5d75a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1508,6 +1508,7 @@ dist_patch_DATA = \ %D%/packages/patches/libtommath-integer-overflow.patch \ %D%/packages/patches/libtool-grep-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ + %D%/packages/patches/libtree-fix-check-non-x86.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ %D%/packages/patches/libusb-for-axoloti.patch \ %D%/packages/patches/libutils-add-includes.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6a6cbc118d..c81740a5a1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -73,6 +73,7 @@ ;;; Copyright © 2022, 2023 Demis Balbach ;;; Copyright © 2023 Bruno Victal ;;; Copyright © 2023 Yovan Naumovski +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -9822,6 +9823,7 @@ formats.") (url "https://github.com/haampie/libtree") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "libtree-fix-check-non-x86.patch")) (sha256 (base32 "1jbc60cslzcfxk9jwva51ncr1zl1nz0fkgfjdckgv81is11nswmb")))) (arguments diff --git a/gnu/packages/patches/libtree-fix-check-non-x86.patch b/gnu/packages/patches/libtree-fix-check-non-x86.patch new file mode 100644 index 0000000000..51f020c5d3 --- /dev/null +++ b/gnu/packages/patches/libtree-fix-check-non-x86.patch @@ -0,0 +1,50 @@ +From 061d3ec62707a526a83482e57d202a66f9d776cd Mon Sep 17 00:00:00 2001 +From: Ismael Luceno +Date: Tue, 23 Aug 2022 19:34:39 +0200 +Subject: [PATCH] Test the -m32 and -m64 compiler flags before use + +Fixes: https://github.com/haampie/libtree/issues/78 +Signed-off-by: Ismael Luceno +--- + tests/05_32_bits/Makefile | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/tests/05_32_bits/Makefile b/tests/05_32_bits/Makefile +index 2c0bece..5628f42 100644 +--- a/tests/05_32_bits/Makefile ++++ b/tests/05_32_bits/Makefile +@@ -3,7 +3,7 @@ + + LD_LIBRARY_PATH= + +-.PHONY: clean ++.PHONY: clean check + + all: check + +@@ -21,11 +21,21 @@ exe64: lib64/libx.so + exe32: lib32/libx.so + echo 'extern int a(); int _start(){return a();}' | $(CC) -m32 "-Wl,-rpath,$(CURDIR)/lib64" "-Wl,-rpath,$(CURDIR)/lib32" -o $@ -nostdlib -x c - -Llib32 -lx + +-check: exe32 exe64 +- ../../libtree exe32 +- ../../libtree exe64 +- + clean: + rm -rf lib32 lib64 exe* + + CURDIR ?= $(.CURDIR) ++ ++test-flag = 2>/dev/null ${CC} -E /dev/null ++test-end = && echo y || echo n ++support-m32 != ${test-flag} -m32 ${test-end} ++support-m64 != ${test-flag} -m64 ${test-end} ++ ++check${support-m32:y=}:: exe32 ++ ../../libtree exe32 ++ ++check${support-m64:y=}:: exe64 ++ ../../libtree exe64 ++ ++check${support-m32:n=} check${support-m64:n=}:: ++ @echo WARNING: test skipped at ${CURDIR} From d8f90af39f0ac0e57ac2b0479f43709b7ad44ecd Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Tue, 23 May 2023 16:25:28 +0200 Subject: [PATCH 163/310] gnu: Add nwipe. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/disk.scm (nwipe): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/disk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 894a542171..abbc87a95a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2014, 2022 Ludovic Courtès ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Disseminate Dissent +;;; Copyright © 2023 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages disk) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -1502,6 +1504,46 @@ gone and to help you to clean it up.") (home-page "https://github.com/shundhammer/qdirstat") (license license:gpl2))) +(define-public nwipe + (package + (name "nwipe") + (version "0.34") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/martijnvanbrummelen/nwipe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1frwjgz4mpzwr9sigr693crmxsjl08wcikh6ik7dm0x40l1kqqpd")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/nwipe") + (list "PATH" ":" 'prefix + (map (lambda (p) (dirname (search-input-file inputs p))) + '("sbin/dmidecode" + "sbin/hdparm" + "sbin/smartctl"))))))))) + (inputs + (list bash-minimal dmidecode hdparm ncurses parted smartmontools)) + (native-inputs + (list autoconf automake libtool pkg-config)) + (home-page "https://github.com/martijnvanbrummelen/nwipe") + (synopsis "Secure disk wiping utility") + (description + "@command{nwipe} securely erases disks using a variety of methods to +ensure the data cannot be recovered. It can wipe multiple drives in parallel +and can be used noninteractively or with a text-based user interface.") + (license + (list license:gpl2 + license:bsd-3 ; mt19937ar-cok + license:public-domain)))) ; {isaac_rand,PDFGen} + (define-public wipe (package (name "wipe") From db7a9490675c295c35f07e1455edc9dcfc776d18 Mon Sep 17 00:00:00 2001 From: gemmaro Date: Thu, 25 May 2023 00:43:21 +0900 Subject: [PATCH 164/310] gnu: Add bdf2sfd. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/fontutils.scm (bdf2sfd): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/fontutils.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index ffaaa5caca..1b4e0064f4 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Felipe Balbi +;;; Copyright © 2023 gemmaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -1934,3 +1935,29 @@ PostScript Type 1, Type 1 Multiple Master, OpenType, and TrueType fonts. These tools are cfftot1, mmafm, mmpfb, otfinfo, otftotfm, t1dotlessj, t1lint, t1rawfm, t1reencode, t1testpage and ttftotype42.") (license license:gpl2+))) + +(define-public bdf2sfd + (package + (name "bdf2sfd") + (version "1.1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fcambus/bdf2sfd") + (commit "1.1.8"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pa92gjiijp9xqnw9dcvz24s6qk11a4lp5q6s5psd6mpkhpd88zq")))) + (build-system cmake-build-system) + (home-page "https://github.com/fcambus/bdf2sfd") + (synopsis "BDF to SFD converter, allowing to vectorize bitmap fonts") + (description + "bdf2sfd is a +@uref{https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format, +BDF} to @uref{https://fontforge.org/docs/techref/sfdformat.html, SFD} +converter, allowing to vectorize bitmap fonts. It works by converting +each pixel of a glyph to a polygon, which produces large and +unoptimized SFD files that should be post-processed using +@uref{https://fontforge.org, FontForge}.") + (license license:bsd-2))) From 09c4dc5b398d81f6398769b628a81db9712b2e58 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 6 May 2023 13:34:30 +0300 Subject: [PATCH 165/310] gnu: Add pngcheck. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/image.scm (pngcheck): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/image.scm | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 069a214b8c..2005243cf7 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2022-2023 Bruno Victal ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Nicolas Goaziou +;;; Copyright © 2023 Artyom V. Poptsov ;;; ;;; This file is part of GNU Guix. ;;; @@ -322,6 +323,62 @@ APNG patch provides APNG support to libpng.") images. It can further losslessly compress them by as much as 40%.") (license license:zlib))) +(define-public pngcheck + (package + (name "pngcheck") + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.libpng.org/pub/png/src/pngcheck-" version + ".tar.gz")) + (sha256 + (base32 + "1rny14v57d2zvnqcqbh3m87mkya22qr2394fg7vm3xsacf8l8sn3")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no check target + #:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "make" "-f" "Makefile.unx"))) + (add-after 'build 'compress-man-pages + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "gzip" "pngcheck.1") + (invoke "gzip" "gpl/pngsplit.1") + (invoke "gzip" "gpl/png-fix-IDAT-windowsize.1"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (man (string-append out "/share/man/man1/"))) + (install-file "pngcheck" bin) + (install-file "pngcheck.1.gz" man) + (install-file "pngsplit" bin) + (install-file "gpl/pngsplit.1.gz" man) + (install-file "png-fix-IDAT-windowsize" bin) + (install-file "gpl/png-fix-IDAT-windowsize.1.gz" man))))))) + (inputs (list zlib)) + (home-page "http://www.libpng.org/pub/png/apps/pngcheck.html") + (synopsis "Print info and check PNG, JNG and MNG files") + (description + "@code{pngcheck} verifies the integrity of PNG, JNG and MNG files (by +checking the internal 32-bit CRCs, a.k.a. checksums, and decompressing the image +data); it can optionally dump almost all of the chunk-level information in the image +in human-readable form. For example, it can be used to print the basic statistics +about an image (dimensions, bit depth, etc.); to list the color and transparency info +in its palette (assuming it has one); or to extract the embedded text annotations. +This is a command-line program with batch capabilities (e.g. @code{pngcheck +*.png}.) + +Also includes @code{pngsplit} which can split a PNG, MNG or JNG file into individual, +numbered chunks, and @code{png-fix-IDAT-windowsize} that allow to reset first IDAT's +zlib window-size bytes and fix up CRC to match.") + ;; "pngsplit" and "png-fix-IDAT-windowsize" are licensed under the terms of + ;; GNU GPL2+. See "gpl/COPYING" in the repository." + (license (list license:x11 license:gpl2+)))) + (define-public pnglite (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38") (revision "1")) From c1ef5df61d1ef81780dcf063eab65f2463b9c762 Mon Sep 17 00:00:00 2001 From: gemmaro Date: Sun, 11 Jun 2023 20:13:33 +0900 Subject: [PATCH 166/310] gnu: gnushogi: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (gnushogi) [source]: Fix warnings by prefixing "__FUNCTION__" with "__extension__". [arguments]: Turn off some GCC warnings in C flags. Set the linker flag to build the program. Skip the "--enable-fast-install" flag in the configure phase. Enable the "sizetest" test in the check phase. [synopsis]: Remove "The" so that the sentence doesn't start with it. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 51 ++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8c00c2e66e..37c51873ab 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -78,6 +78,7 @@ ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Florian Pelz ;;; Copyright © 2023 Ivana Drazovic +;;; Copyright © 2023 gemmaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -2043,20 +2044,46 @@ scriptable with Guile.") (package (name "gnushogi") (version "1.4.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gnushogi/gnushogi-" - version ".tar.gz")) - (sha256 - (base32 - "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y")))) - (arguments `(#:tests? #f)) ;; No check target. + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gnushogi/gnushogi-" version + ".tar.gz")) + (sha256 + (base32 + "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y")) + (modules '((guix build utils))) + ;; Fix "warning: ISO C90 does not support ‘__func__’ predefined + ;; identifier [-Wpedantic]" + (snippet '(begin + (substitute* "gnushogi/dspwrappers.c" + (("__FUNCTION__") + "__extension__ __FUNCTION__")))))) + (arguments + `(#:configure-flags (list (string-append + "CFLAGS=" + (string-join '("-Wno-format" + "-Wno-unused-but-set-variable" + "-Wno-bool-compare") + " "))) + #:make-flags '("LDFLAGS=-z muldefs") + #:phases (modify-phases %standard-phases + ;; Skip --enable-fast-install flag + (replace 'configure + (lambda* (#:key outputs configure-flags #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" + (which "sh")) + (setenv "SHELL" + (which "sh")) + (apply invoke "./configure" + (string-append "--prefix=" out) configure-flags))))) + #:test-target "sizetest")) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnushogi/") - (synopsis "The game of Shogi (Japanese chess)") - (description "GNU Shogi is a program that plays the game Shogi (Japanese -Chess). It is similar to standard chess but this variant is far more complicated.") + (synopsis "Game of Shogi (Japanese chess)") + (description + "GNU Shogi is a program that plays the game Shogi (Japanese Chess). +It is similar to standard chess but this variant is far more complicated.") (license license:gpl3+))) (define-public ltris From 489d14c12e11cdfeb1730f043dc144f7e60c3d26 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sun, 30 Apr 2023 18:06:54 -0700 Subject: [PATCH 167/310] gnu: Add systemtap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/instrumentation.scm (systemtap): New variable Signed-off-by: Ludovic Courtès --- gnu/packages/instrumentation.scm | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index 9bb633bcce..5d862b5df1 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021, 2022 Olivier Dion +;;; Copyright © 2023 Andy Tai ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages commencement) #:use-module (gnu packages compression) + #:use-module (gnu packages cpio) #:use-module (gnu packages datastructures) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) @@ -498,6 +500,40 @@ analysis and instrumentation based on Linux perf_events (aka perf) and ftrace.") (license (list license:gpl2)))) +(define-public systemtap + (package + (name "systemtap") + (version "4.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://sourceware.org/ftp/systemtap/releases/" name "-" + version ".tar.gz")) + (sha256 + (base32 + "161smpv4ajqfncmgylvs89bbix1id60nf0g7clmga2lxxax3646h")))) + (build-system gnu-build-system) + (native-inputs (list cpio python)) + (inputs (list elfutils)) + + (home-page "https://sourceware.org/systemtap/") + (synopsis "GNU/Linux trace/probe tool") + (description + "SystemTap provides infrastructure to simplify the +gathering of information about the running Linux system. This assists +diagnosis of a performance or functional problem. SystemTap eliminates the +need for the developer to go through the tedious and disruptive +instrument, recompile, install, and reboot sequence that may be otherwise +required to collect data. + +SystemTap provides a simple command line interface and scripting language for +writing instrumentation for a live running kernel plus user-space applications. +We are publishing samples, as well as enlarging the internal \"tapset\" script +library to aid reuse and abstraction. SystemTap is a tool for complex +tasks that may require live analysis, programmable on-line response, and +whole-system symbolic access, and can also handle simple tracing jobs.") + (license license:gpl2+))) + (define-public uftrace (package (name "uftrace") From 453d99dc4c6a62fa89afedfa83fb9dfaad52f6a7 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sat, 29 Apr 2023 23:28:10 +0200 Subject: [PATCH 168/310] gnu: browserpass-native: Update to 3.1.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (browserpass-native): Update to 3.1.0. [inputs]: Add bash-minimal. Signed-off-by: Ludovic Courtès --- gnu/packages/password-utils.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index a593269053..08416a8503 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages authentication) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) @@ -952,7 +953,7 @@ from password-store and gopass files.") (define-public browserpass-native (package (name "browserpass-native") - (version "3.0.7") + (version "3.1.0") (source (origin (method git-fetch) @@ -961,8 +962,7 @@ from password-store and gopass files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1jkjslbbac49xjyjkc2b07phdm3i64z40kh6h55cl22dxjmpp1nb")))) + (base32 "1if72k526sqqxnw250qwxvzwvh1w0k8ag4p4xq3442b22hywx72i")))) (build-system go-build-system) (arguments `(#:import-path "github.com/browserpass/browserpass-native" @@ -1008,7 +1008,7 @@ from password-store and gopass files.") (native-inputs (list which)) (inputs - (list gnupg go-github-com-mattn-go-zglob + (list bash-minimal gnupg go-github-com-mattn-go-zglob go-github-com-rifflock-lfshook go-github-com-sirupsen-logrus go-golang-org-x-sys)) (home-page "https://github.com/browserpass/browserpass-native") From c4e49d75986b362820ce413152300f7682ca349b Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sat, 29 Apr 2023 23:28:11 +0200 Subject: [PATCH 169/310] gnu: browserpass-native: Use new package style. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (browserpass-native)[arguments]: Use gexps. Drop trailing #t from phases. Signed-off-by: Ludovic Courtès --- gnu/packages/password-utils.scm | 71 ++++++++++++++------------------- 1 file changed, 31 insertions(+), 40 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 08416a8503..db22f257f1 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -965,46 +965,37 @@ from password-store and gopass files.") (base32 "1if72k526sqqxnw250qwxvzwvh1w0k8ag4p4xq3442b22hywx72i")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/browserpass/browserpass-native" - #:install-source? #f - #:phases - (modify-phases %standard-phases - (add-before 'build 'patch-makefile - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; This doesn't go in #:make-flags because the Makefile itself - ;; gets installed. - (substitute* - "src/github.com/browserpass/browserpass-native/Makefile" - (("PREFIX \\?= /usr") - (string-append "PREFIX ?= " out))) - #t))) - (add-before 'build 'configure - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make" "configure")) - #t)) - (replace 'build - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make")) - #t)) - (replace 'install - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make" "install")) - #t)) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gnupg (assoc-ref inputs "gnupg"))) - (wrap-program (string-append out "/bin/browserpass") - `("PATH" ":" prefix - (,(string-append gnupg "/bin")))) - #t)))))) + (list #:import-path "github.com/browserpass/browserpass-native" + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-makefile + (lambda _ + ;; This doesn't go in #:make-flags because the Makefile + ;; itself gets installed. + (substitute* "src/github.com/browserpass/browserpass-native/Makefile" + (("PREFIX \\?= /usr") + (string-append "PREFIX ?= " #$output))))) + (add-before 'build 'configure + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "configure")))) + (replace 'build + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make")))) + (replace 'install + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "install")))) + (add-after 'install 'wrap-executable + (lambda _ + (wrap-program (string-append #$output "/bin/browserpass") + `("PATH" ":" prefix + (,(string-append #$(this-package-input "gnupg") "/bin"))))))))) (native-inputs (list which)) (inputs From e487bd9ef5065951e412afd095c0aa62940d9f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 14 Jun 2023 23:45:19 +0200 Subject: [PATCH 170/310] gnu: guile-netlink: Update to 1.2. * gnu/packages/guile-xyz.scm (guile-netlink): Update to 1.2. --- gnu/packages/guile-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 46acc38ecc..4fea60ff11 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5210,7 +5210,7 @@ locations.") (define-public guile-netlink (package (name "guile-netlink") - (version "1.1.2") + (version "1.2") (source (origin (method git-fetch) @@ -5220,7 +5220,7 @@ locations.") (file-name (git-file-name name version)) (sha256 (base32 - "1s06xbyj0yd49aivfpc9l73c8c12r3zjmskkyislrfwkbpd74hjr")))) + "06ls830nrshzi2j532di5vdf03fp8cy1275ll4ms93x1hv2g8dk0")))) (build-system gnu-build-system) (inputs (list guile-3.0)) From 26602f4063a6e0c626e8deb3423166bcd0abeb90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 14 Jun 2023 23:48:01 +0200 Subject: [PATCH 171/310] services: static-netwoking: Wait for devices to show up. Fixes . * gnu/services/base.scm (network-set-up/linux): Add call to 'wait-for-link'. --- gnu/services/base.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index c5b06b57e8..bbc2ac2c79 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -2799,6 +2799,12 @@ to CONFIG." #$@(map (lambda (address) #~(begin + ;; Before going any further, wait for the + ;; device to show up. + (wait-for-link + #$(network-address-device address) + #:blocking? #f) + (addr-add #$(network-address-device address) #$(network-address-value address) #:ipv6? From 67efb9cfd4001f16b1390d135c692565c1d567a1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:13:56 -0400 Subject: [PATCH 172/310] gnu: linux-libre: Update to 6.3.8. * gnu/packages/linux.scm (linux-libre-6.3-version): Update to 6.3.8. (linux-libre-6.3-pristine-source, deblob-scripts-6.3): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c81740a5a1..a8c193eac3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -486,17 +486,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.3-version "6.3.7") +(define-public linux-libre-6.3-version "6.3.8") (define-public linux-libre-6.3-gnu-revision "gnu") (define deblob-scripts-6.3 (linux-libre-deblob-scripts linux-libre-6.3-version linux-libre-6.3-gnu-revision (base32 "01ivgzq18fwas87q84jx9jipcw58kwdnch7ylwg06d98ncga27px") - (base32 "0829793c0wc27p910q9qp4ixdp11m44l1rvl8403yhscnc3hagga"))) + (base32 "1i6vyakvqgmr3lcmr0aj8n7lbcksrp4d0rm1sz7cz64hwbsr67pq"))) (define-public linux-libre-6.3-pristine-source (let ((version linux-libre-6.3-version) - (hash (base32 "1acpbddgxna1g8xzsil5r1fbsiw8z3wdr69y8xxjllkck51rfdpy"))) + (hash (base32 "0m89safyzi0rklsqvii5vkg92rdmvnl4lvyk6m648bhf4lhx88s3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.3))) From 9c6fc007b6fa14bd502aa529a2fa31d58b69ed11 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:14:41 -0400 Subject: [PATCH 173/310] gnu: linux-libre 6.1: Update to 6.1.34. * gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.34. (linux-libre-6.1-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a8c193eac3..7a8d4f6c0b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -504,7 +504,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-6.1-version "6.1.33") +(define-public linux-libre-6.1-version "6.1.34") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -514,7 +514,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qq3nsznblz5fkwahxwq26csmrmjbxh8xknm2z4zw6b6k9svzb1b"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "1kfj7mi3n2lfaw4spz5cbvcl1md038figabyg80fha3kxal6nzdq"))) + (hash (base32 "00yniq1smlckp18k3bf6bzys8d7wfbrkdwhikz2fycc0pyy7qvxj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) From 5fb9a81316578a4b9fbcb80c61c22e0432906a87 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:14:57 -0400 Subject: [PATCH 174/310] gnu: linux-libre 5.15: Update to 5.15.117. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.117. (linux-libre-5.15-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7a8d4f6c0b..7e62c427bb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -519,7 +519,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.116") +(define-public linux-libre-5.15-version "5.15.117") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -529,7 +529,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1zljgvzr8irs3acq436i2iyana9vgx4k1pm3id4rz0fbaqfma602"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "16hpdqlkz2g2pjcml7j55yfym6nbp0zg8f2r969wq9jkpg8wj5zn"))) + (hash (base32 "17r3yyy4yzxyi4n1ri3sb42m9y1vnn4dcc0zli04n00f7hgk7a59"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) From bffc1ec1871eab0ab9a4230ea212e0e0876aa013 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:15:12 -0400 Subject: [PATCH 175/310] gnu: linux-libre 5.10: Update to 5.10.184. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.184. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7e62c427bb..cc332fd586 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -534,7 +534,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.183") +(define-public linux-libre-5.10-version "5.10.184") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -544,7 +544,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1739xvyzi3i7d12mvsvnqa7208pvwfss43kzin71l9svw0405vp5"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "06b1nlwaqs7g3323zxp1bxfilqpbj700x591vqa9dx6a6p39g520"))) + (hash (base32 "0219qv9rxg4fi7w2s0s9y7ggral40wm2riis58hmg80z3nybxabp"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From 4bc2f09a024bddec40891efbacc130be5c002b4f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:15:24 -0400 Subject: [PATCH 176/310] gnu: linux-libre 5.4: Update to 5.4.247. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.247. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cc332fd586..f3e9bb14b8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -549,7 +549,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.246") +(define-public linux-libre-5.4-version "5.4.247") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -559,7 +559,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0ll19zlgx5sbr7gvi93lgavrnzlgv6dpj2yp2x63fj6vdba5iwgc"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1snrgvpqpmc0d4aphq8flsmlcjjx9kgknymjlrmazl4ghl57jf09"))) + (hash (base32 "1mzyzxfsqp085qx17wp9xz7z4w79kks0jpdba7mx8k9i097hs09k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From fb9cd505dfffbf61f6686b0b31f487f3b1bf6edf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:15:38 -0400 Subject: [PATCH 177/310] gnu: linux-libre 4.19: Update to 4.19.286. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.286. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f3e9bb14b8..8811a5eed6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -564,7 +564,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.285") +(define-public linux-libre-4.19-version "4.19.286") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -574,7 +574,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "05nwivdk4w939vrrbn5p2yai1rz7kxqa4bl5f3n6d867b59pg8da"))) + (hash (base32 "1788a68fbga03nkgbvai2bi89v826915829727j4zcilyc21b127"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From 48cdc47d8ce78bd60c71d626627967806906c686 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 14 Jun 2023 12:15:52 -0400 Subject: [PATCH 178/310] gnu: linux-libre 4.14: Update to 4.14.318. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.318. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8811a5eed6..546436151c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -579,7 +579,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.317") +(define-public linux-libre-4.14-version "4.14.318") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -589,7 +589,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0c1wy0m0jnjpc6scrw1y97wsg2d18vb1bi31i1qzlxvgmrd8zwlc"))) + (hash (base32 "1g0i68q7xjcjqigwza60i8rqhxsd1l86czqnjv5312lvg5z34fn6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From f74df2ab879fc5457982bbc85b7455a90e82317d Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Sun, 5 Mar 2023 15:19:14 +0000 Subject: [PATCH 179/310] home: services: xdg-base-directories: Deprecate XDG_LOG_HOME. XDG_LOG_HOME is non-standard and log files should go to XDG_STATE_HOME according to the XDG Base Directory Specification. Fixes . * gnu/home/services/desktop.scm (home-dbus-shepherd-services): Log to XDG_STATE_HOME. * gnu/home/services/desktop.scm (home-unclutter-shepherd-services): Log to XDG_STATE_HOME. * gnu/home/services/mcron.scm (home-mcron-shepherd-services): Ditto. * gnu/home/services/pm.scm (home-batsignal-shepherd-services): Ditto. * gnu/home/services/shepherd.scm (launch-shepherd-gexp): Ditto. * gnu/home/services/xdg.scm (home-xdg-base-directories-configuration)[log-home]: Deprecate and unset default value. (home-xdg-base-directories-environment-variables-service) (ensure-xdg-base-dirs-on-activation): Handle field deprecation. (home-xdg-base-directories-service-type): Update description. Co-authored-by: Andrew Tropin Signed-off-by: Andrew Tropin --- gnu/home/services/desktop.scm | 12 ++++++------ gnu/home/services/mcron.scm | 8 ++++---- gnu/home/services/pm.scm | 8 ++++---- gnu/home/services/shepherd.scm | 9 +++++---- gnu/home/services/xdg.scm | 36 +++++++++++++++++++++++++--------- 5 files changed, 46 insertions(+), 27 deletions(-) diff --git a/gnu/home/services/desktop.scm b/gnu/home/services/desktop.scm index 661fe7d283..626918fd9e 100644 --- a/gnu/home/services/desktop.scm +++ b/gnu/home/services/desktop.scm @@ -214,9 +214,9 @@ according to time of day."))) (cons "DBUS_VERBOSE=1" (default-environment-variables)) #:log-file - (format #f "~a/dbus.log" - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" + (format #f "~a/log/dbus.log" + (or (getenv "XDG_STATE_HOME") + (format #f "~a/.local/state" (getenv "HOME")))))) (stop #~(make-kill-destructor))))) @@ -264,10 +264,10 @@ according to time of day."))) (number->string #$(home-unclutter-configuration-idle-timeout config))) #:log-file (string-append - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" + (or (getenv "XDG_STATE_HOME") + (format #f "~a/.local/state" (getenv "HOME"))) - "/unclutter.log")))))) + "/log/unclutter.log")))))) (define home-unclutter-service-type (service-type diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index 5f35bfe054..f51edd6634 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Andrew Tropin +;;; Copyright © 2021, 2023 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2022 Maxim Cournoyer ;;; @@ -99,10 +99,10 @@ Each message is also prefixed by a timestamp by GNU Shepherd.")) #~()) #$@files) #:log-file (string-append - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" + (or (getenv "XDG_STATE_HOME") + (format #f "~a/.local/state" (getenv "HOME"))) - "/mcron.log"))) + "/log/mcron.log"))) (stop #~(make-kill-destructor)) (actions (list (shepherd-schedule-action mcron files))))))))) diff --git a/gnu/home/services/pm.scm b/gnu/home/services/pm.scm index 5f09941827..d8361fd214 100644 --- a/gnu/home/services/pm.scm +++ b/gnu/home/services/pm.scm @@ -128,10 +128,10 @@ (list "-i") (list))) #:log-file (string-append - (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" - (getenv "HOME"))) - "/batsignal.log"))) + (or (getenv "XDG_STATE_HOME") + (format #f "~a/.local/state" + (getenv "HOME"))) + "/log/batsignal.log"))) (stop #~(make-kill-destructor)))))) (define home-batsignal-service-type diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm index ff6d629114..5585ef61b2 100644 --- a/gnu/home/services/shepherd.scm +++ b/gnu/home/services/shepherd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Andrew Tropin +;;; Copyright © 2021, 2023 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen ;;; ;;; This file is part of GNU Guix. @@ -108,9 +108,10 @@ as shepherd package." (or (getenv "XDG_RUNTIME_DIR") (format #f "/run/user/~a" (getuid))) "/shepherd/socket")) - (let ((log-dir (or (getenv "XDG_LOG_HOME") - (format #f "~a/.local/var/log" - (getenv "HOME"))))) + (let* ((state-dir (or (getenv "XDG_STATE_HOME") + (format #f "~a/.local/state" + (getenv "HOME")))) + (log-dir (string-append state-dir "/log"))) ;; TODO: Remove it, 0.9.2 creates it automatically? ((@ (guix build utils) mkdir-p) log-dir) (system* diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm index ac557b4c3d..958772696b 100644 --- a/gnu/home/services/xdg.scm +++ b/gnu/home/services/xdg.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021, 2022 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2023 Bruno Victal ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (gnu home services) #:use-module (gnu packages freedesktop) #:use-module (gnu home services utils) + #:use-module (guix deprecation) #:use-module (guix gexp) #:use-module (guix modules) #:use-module (guix records) @@ -39,7 +41,7 @@ home-xdg-base-directories-configuration-config-home home-xdg-base-directories-configuration-data-home home-xdg-base-directories-configuration-state-home - home-xdg-base-directories-configuration-log-home + home-xdg-base-directories-configuration-log-home ; deprecated home-xdg-base-directories-configuration-runtime-dir home-xdg-user-directories-service-type @@ -77,6 +79,7 @@ (define (serialize-path field-name val) "") (define path? string?) +(define-maybe path) (define-configuration home-xdg-base-directories-configuration (cache-home @@ -97,12 +100,17 @@ read-only shared data, analogus to @file{/usr/share}, but for user.") (path "${XDG_RUNTIME_DIR:-/run/user/$UID}") "Base directory for programs to store user-specific runtime files, like sockets.") + ;; TODO: deprecated field, use $XDG_STATE_HOME(/log) instead. (log-home - (path "$HOME/.local/var/log") + maybe-path "Base directory for programs to store log files, analogus to @file{/var/log}, but for user. It is not a part of XDG Base Directory Specification, but helps to make implementation of home services more -consistent.") +consistent." + (lambda (field-name val) + (when (maybe-value-set? val) + (warn-about-deprecation field-name #f #:replacement 'state-home)) + (serialize-path field-name val))) (state-home (path "$HOME/.local/state") "Base directory for programs to store state data that should persist @@ -117,7 +125,13 @@ portable enough to the user to warrant storing them in #f "XDG_~a" (object->snake-case-string (configuration-field-name field) 'upper)) ((configuration-field-getter field) config))) - home-xdg-base-directories-configuration-fields)) + ;; XXX: deprecated field, remove later + (if (maybe-value-set? + (home-xdg-base-directories-configuration-log-home config)) + home-xdg-base-directories-configuration-fields + (filter-configuration-fields + home-xdg-base-directories-configuration-fields + '(log-home) #t)))) (define (ensure-xdg-base-dirs-on-activation config) (with-imported-modules '((guix build utils)) @@ -138,7 +152,14 @@ portable enough to the user to warrant storing them in ;; and will be provided by elogind or other service. (and (not (string=? "XDG_RUNTIME_DIR" variable)) variable))) - home-xdg-base-directories-configuration-fields))))) + ;; XXX: deprecated field, remove later + (if (maybe-value-set? + (home-xdg-base-directories-configuration-log-home + config)) + home-xdg-base-directories-configuration-fields + (filter-configuration-fields + home-xdg-base-directories-configuration-fields + '(log-home) #t))))))) (define (last-extension-or-cfg config extensions) "Picks configuration value from last provided extension. If there @@ -157,10 +178,7 @@ are no extensions use configuration instead." (default-value (home-xdg-base-directories-configuration)) (compose identity) (extend last-extension-or-cfg) - (description "Configure XDG base directories. This -service introduces an additional @env{XDG_LOG_HOME} variable. It's not -a part of XDG specification, at least yet, but are convenient to have, -it improves the consistency between different home services. The + (description "Configure XDG base directories. The services of this service-type is instantiated by default, to provide non-default value, extend the service-type (using @code{simple-service} for example)."))) From 5d6026ff3884e850707b97d790269e768ae934f7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 15 Jun 2023 13:42:46 +0300 Subject: [PATCH 180/310] gnu: eg25-manager: Update to 0.4.6. * gnu/packages/firmware.scm (eg25-manager): Update to 0.4.6. --- gnu/packages/firmware.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 7aeec3468b..7b80024b42 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -336,7 +336,7 @@ by the b43-open driver of Linux-libre.") (define-public eg25-manager (package (name "eg25-manager") - (version "0.4.2") + (version "0.4.6") (source (origin (method git-fetch) (uri (git-reference @@ -345,7 +345,7 @@ by the b43-open driver of Linux-libre.") (file-name (git-file-name name version)) (sha256 (base32 - "1czq2yi852aqkdnrxdifzcq669bdvlm7j40xivxq77jq04fggpmf")))) + "1a591dhr43mhwh09n2vlfpw6aajl6d1vkwniikjvwfjrmp01v6yq")))) (build-system meson-build-system) (native-inputs (list curl `(,glib "bin") pkg-config)) From f6047c5b716e5d8f3d8a749f389954e4e4c36c16 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 15 Jun 2023 13:51:17 +0300 Subject: [PATCH 181/310] gnu: eg25-manager: Patch reference to grep. * gnu/packages/firmware.scm (eg25-manager)[arguments]: Add a phase to patch the path to grep. --- gnu/packages/firmware.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 7b80024b42..c7ca81c35a 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -347,9 +347,17 @@ by the b43-open driver of Linux-libre.") (base32 "1a591dhr43mhwh09n2vlfpw6aajl6d1vkwniikjvwfjrmp01v6yq")))) (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "udev/80-modem-eg25.rules" + (("/bin/grep") (search-input-file inputs "/bin/grep")))))))) (native-inputs (list curl `(,glib "bin") pkg-config)) - (inputs (list libgpiod libgudev libusb)) + (inputs (list grep libgpiod libgudev libusb)) (synopsis "Manager daemon for the Quectel EG25 mobile broadband modem") (description "This package provides a manager daemon for the Quectel EG25 mobile From 7dc206c8f8ec742736a92e41da899249744a3fdd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 15 Jun 2023 18:08:09 +0200 Subject: [PATCH 182/310] gnu: Add r-swagger. * gnu/packages/cran.scm (r-swagger): New variable. --- gnu/packages/cran.scm | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 006763ecf7..b68af1efb7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2262,16 +2262,37 @@ provides methods for automatically determining breaks and labels for axes and legends.") (license license:expat))) +(define-public r-swagger + (package + (name "r-swagger") + (version "3.33.1") + (source (origin + (method url-fetch) + (uri (cran-uri "swagger" version)) + (sha256 + (base32 + "1ldgmy5vjzd11z5yl5a518wkw6y0l469b2zf0lp12hk19jq6k0sj")))) + (properties `((upstream-name . "swagger"))) + (build-system r-build-system) + (home-page "https://github.com/rstudio/swagger") + (synopsis + "Dynamically generate documentation from a Swagger-compliant API") + (description + "This package provides a collection of HTML, JavaScript, and CSS assets +that dynamically generate beautiful documentation from a Swagger compliant +API.") + (license license:asl2.0))) + (define-public r-pacman (package (name "r-pacman") (version "0.5.1") (source (origin - (method url-fetch) - (uri (cran-uri "pacman" version)) - (sha256 - (base32 - "0z7gngd6h83cpjhq1vg75wvzhdjbgjh7gj5d4zvvi9gd2lmagjcy")))) + (method url-fetch) + (uri (cran-uri "pacman" version)) + (sha256 + (base32 + "0z7gngd6h83cpjhq1vg75wvzhdjbgjh7gj5d4zvvi9gd2lmagjcy")))) (build-system r-build-system) (propagated-inputs (list r-remotes)) From 6e1215fb9c03ccb4a2d4440990aee5a66a935268 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 15 Jun 2023 18:08:17 +0200 Subject: [PATCH 183/310] gnu: Add r-plumber. * gnu/packages/cran.scm (r-plumber): New variable. --- gnu/packages/cran.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b68af1efb7..ba81580258 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2505,6 +2505,40 @@ does not use formula input or special syntax, but can be used in combination with default R plot functions.") (license license:gpl2+))) +(define-public r-plumber + (package + (name "r-plumber") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (cran-uri "plumber" version)) + (sha256 + (base32 + "1k0y7ylc8bld16imn86g0i0dmxmr3kmh9ax4ys0yrxqzrvji7z3g")))) + (properties `((upstream-name . "plumber"))) + (build-system r-build-system) + (propagated-inputs (list r-crayon + r-ellipsis + r-httpuv + r-jsonlite + r-lifecycle + r-magrittr + r-mime + r-promises + r-r6 + r-rlang + r-sodium + r-stringi + r-swagger + r-webutils)) + (home-page "https://www.rplumber.io") + (synopsis "API generator for R") + (description + "This package gives you the ability to automatically generate and serve +an HTTP API from R functions using the annotations in the R documentation +around your functions.") + (license license:expat))) + (define-public r-polychrome (package (name "r-polychrome") From a3beb8d741e88f30765f4e3bc525c3433bf49498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Jun 2023 10:34:31 +0200 Subject: [PATCH 184/310] pull: Preserve channel ordering when using '--commit', '--url', etc. Previously using '--url', '--commit', or '--branch' would move the 'guix' channel to the front. This is okay in itself but it gratuitously leads to a different cache key in 'cached-channel-instance'--IOW, 'guix time-machine --commit=X' where X is already in cache would gratuitously recompute the channel derivations. * guix/scripts/pull.scm (channel-list): Use 'map' instead of 'find' + 'remove' + 'cons'. --- guix/scripts/pull.scm | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index cd2e470289..ecd264d3fa 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -769,22 +769,21 @@ Use '~/.config/guix/channels.scm' instead.")) (url (or (assoc-ref opts 'repository-url) (environment-variable)))) (if (or ref url) - (match (find guix-channel? channels) - ((? channel? guix) - ;; Apply '--url', '--commit', and '--branch' to the 'guix' channel. - (let ((url (or url (channel-url guix)))) - (cons (match ref - (('commit . commit) - (channel (inherit guix) - (url url) (commit commit) (branch #f))) - (('branch . branch) - (channel (inherit guix) - (url url) (commit #f) (branch branch))) - (#f - (channel (inherit guix) (url url)))) - (remove guix-channel? channels)))) - (#f ;no 'guix' channel, failure will ensue - channels)) + ;; Apply '--url', '--commit', and '--branch' to the 'guix' channel. + (map (lambda (c) + (if (guix-channel? c) + (let ((url (or url (channel-url c)))) + (match ref + (('commit . commit) + (channel (inherit c) + (url url) (commit commit) (branch #f))) + (('branch . branch) + (channel (inherit c) + (url url) (commit #f) (branch branch))) + (#f + (channel (inherit c) (url url))))) + c)) + channels) channels))) (define (validate-cache-directory-ownership) From c27479a739cdbe89be7cb03f73a4a5230e84379d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Jun 2023 14:33:30 +0200 Subject: [PATCH 185/310] services: qemu-guest-agent: Add dependency on udev. Fixes . * gnu/services/virtualization.scm (qemu-guest-agent-shepherd-service): Add 'requirement' field. Reported-by: Yann Dupont --- gnu/services/virtualization.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 2e311e3813..880557915c 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ryan Moe -;;; Copyright © 2018, 2020-2022 Ludovic Courtès +;;; Copyright © 2018, 2020-2023 Ludovic Courtès ;;; Copyright © 2020,2021 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Timotej Lazar ;;; Copyright © 2022 Oleg Pykhalov @@ -962,6 +962,11 @@ specified, the QEMU default path is used.")) (list (shepherd-service (provision '(qemu-guest-agent)) + + ;; The service needs to depend on udev, which brings up devices like + ;; those under /dev/virtio-ports. + (requirement '(user-processes udev)) + (documentation "Run the QEMU guest agent.") (start #~(make-forkexec-constructor `(,(string-append #$qemu "/bin/qemu-ga") From 99a27d361e5e05173106a6e6939c7099101c510a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Jun 2023 14:50:15 +0200 Subject: [PATCH 186/310] guix home: Add missing SRFI-34 import for 'raise'. Reported at . * guix/scripts/home.scm: Use (srfi srfi-34), expected by 'list-generations'. Reported-by: Steven Roose --- guix/scripts/home.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index 7b2c3ff6f0..fbd5689be8 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -67,6 +67,7 @@ #:use-module (guix monads) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-37) #:use-module (srfi srfi-71) From 248cf06149b4f09bfca4a21710bc8e1bd47f6e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Jun 2023 22:50:18 +0200 Subject: [PATCH 187/310] avahi: Resolve hosts for which name resolution fails. This avoids attempts to connect to hosts that went off-line. This is particularly important for 'guix-daemon --discover', which would so far keep attempting to talk to LAN hosts after they vanished just because their mDNS record hasn't expired, leading to significant delays when fetching narinfos and substitutes. * guix/avahi.scm (avahi-browse-service-thread)[service-resolver-callback]: Add handler to RESOLVER-EVENT/FAILURE. --- guix/avahi.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/guix/avahi.scm b/guix/avahi.scm index 132e42f268..cb0c85f9f4 100644 --- a/guix/avahi.scm +++ b/guix/avahi.scm @@ -137,7 +137,15 @@ when STOP-LOOP? procedure returns true." (port port) (txt txt)))) (hash-set! %known-hosts service-name service*) - (proc 'new-service service*))))) + (proc 'new-service service*)))) + ((eq? event resolver-event/failure) + ;; Failure to resolve the host associated with a service. This + ;; usually means that the mDNS record hasn't expired yet but that + ;; the host went off-line. + (let ((service (hash-ref %known-hosts service-name))) + (when service + (proc 'remove-service service) + (hash-remove! %known-hosts service-name))))) (free-service-resolver! resolver)) (define (service-browser-callback browser interface protocol event From 31336e9f5d68512a9c1c6826bce9f17c892a2125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ontje=20L=C3=BCnsdorf?= Date: Wed, 22 Mar 2023 09:42:09 +0100 Subject: [PATCH 188/310] gnu: Add python-pdoc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-pdoc): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 141fa1d05b..cdffc3ad67 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -138,6 +138,7 @@ ;;; Copyright © 2023 Kaelyn Takata ;;; Copyright © 2023 Dominik Delgado Steuter ;;; Copyright © 2023 Ivan Vilata-i-Balaguer +;;; Copyright © 2023 Ontje Lünsdorf ;;; ;;; This file is part of GNU Guix. ;;; @@ -1065,6 +1066,38 @@ MySQL databases, using an API that is compliant with the Python Database API Specification v2.0 (PEP 249).") (license license:gpl2))) +(define-public python-pdoc + (package + (name "python-pdoc") + (version "13.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitmproxy/pdoc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gxkw607nrd67ck4w8jri9vfrm5g60qvp8b134m8zkiphbxjnx0l")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-jinja2 python-pygments)) + (arguments + (list + ;; Some tests fail, presumably because of slight version mismatches of + ;; the dependencies. + #:test-flags + '(list "-k" (string-append "not test_var_with_raising_repr and " + "not test_smoke[mock] and " + "not test_snapshots[html")))) + (home-page "https://pdoc.dev/") + (synopsis "API documentation for Python projects") + (description "pdoc auto-generates API documentation that follows your +project's Python module hierarchy. It requires no configuration, has +first-class support for type annotations, cross-links between identifiers, +comes with an integrated live-reloading web server, uses customizable HTML +templates, understands numpydoc and Google-style docstrings.") + (license license:unlicense))) + (define-public python-py4j (package (name "python-py4j") From 998d89ba20121e87664129890a805c91061baaa7 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 1 May 2023 03:12:18 +0200 Subject: [PATCH 189/310] gnu: openjdk: Re-add "openjdk-15-xcursor-no-dynamic.patch". * gnu/packages/java.scm (openjdk16)[source](patches): Re-add xcursor patch. (openjdk17)[source](patches): Re-add xcursor patch. --- gnu/packages/java.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 49f027b226..48864c78c2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1493,7 +1493,8 @@ blacklisted.certs.pem" "0587px2qbz07g3xi4a3ya6m630p72dvkxcn0bj1813pxnwvcgigz" (source (origin (inherit (package-source base)) - (patches (search-patches "openjdk-10-setsignalhandler.patch")))))) + (patches (search-patches "openjdk-15-xcursor-no-dynamic.patch" + "openjdk-10-setsignalhandler.patch")))))) (define-public openjdk17 (make-openjdk @@ -1501,7 +1502,7 @@ blacklisted.certs.pem" "1asnysg6kxdkrmb88y6qihdr12ljsyxv0mg6hlcs7cwxgsdlqkfs" (source (origin (inherit (package-source base)) - (patches '()))) + (patches (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) (arguments (substitute-keyword-arguments (package-arguments openjdk16) ((#:phases phases) From dec270a7c86daf1ab77ea438b9613fd99ec404a0 Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Sat, 17 Jun 2023 11:01:10 +0200 Subject: [PATCH 190/310] gnu: jimtcl: Skip failing test for 32bit. * gnu/packages/embedded.scm (jimtcl)[arguments]: When building for 32bit, skip "file.test". --- gnu/packages/embedded.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 215007dd31..567fee548b 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2021 Morgan Smith ;;; Copyright © 2022 Mathieu Othacehe ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -559,7 +560,12 @@ SEGGER J-Link and compatible devices.") (lambda _ ;; XXX All but 1 SSL tests fail (tries connecting to Google ;; servers). - (delete-file "tests/ssl.test")))))) + (delete-file "tests/ssl.test"))) + #$@(if (target-x86-32?) + #~((add-after 'unpack 'delete-failing-tests/32bit + (lambda _ + (delete-file "tests/file.test")))) + #~())))) (inputs (list openssl)) (native-inputs ;; For tests. From 2fa9a183d711df67dfbb5bfafed56edd2ef39ac0 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 17 Jun 2023 10:06:12 +0200 Subject: [PATCH 191/310] gnu: stumpwm: Don't install build artifacts. * gnu/packages/wm.scm (stumpwm)[arguments]: Add 'remove-temporary-cache' phase. (stumpwm+slynk)[arguments]: Delete 'remove-temporary-cache' phase inherited from stumpwm. --- gnu/packages/wm.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e707a15785..c380abc0e8 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2044,7 +2044,11 @@ Wayland compositors supporting the wlr-output-management protocol.") (invoke "./autogen.sh") (invoke "sh" "./configure" "SHELL=sh") (apply invoke "make" "stumpwm.info" make-flags) - (install-file "stumpwm.info" info))))))) + (install-file "stumpwm.info" info)))) + (add-after 'install-manual 'remove-temporary-cache + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "lib") + "/.cache"))))))) (synopsis "Window manager written in Common Lisp") (description "Stumpwm is a window manager written entirely in Common Lisp. @@ -2087,6 +2091,7 @@ productive, customizable lisp based systems.") (delete 'copy-source) (delete 'build) (delete 'check) + (delete 'remove-temporary-cache) (delete 'cleanup))))))) (define stumpwm-contrib From 23f77bd7b87ac6cc844b6fb6a0f0e383677d562e Mon Sep 17 00:00:00 2001 From: Artyom Bologov Date: Fri, 16 Jun 2023 19:45:08 +0400 Subject: [PATCH 192/310] gnu: cl-nclasses: Update to 0.6.0. * gnu/packages/lisp-xyz.scm (sbcl-nclasses): Update to 0.6.0. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 16deb85e5e..61f0414fac 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -25684,7 +25684,7 @@ desktop files to the right directories. (define-public sbcl-nclasses (package (name "sbcl-nclasses") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) @@ -25694,7 +25694,7 @@ desktop files to the right directories. (file-name (git-file-name "cl-nclasses" version)) (sha256 (base32 - "0aym0m12s5px139ragna0pr8jan8bx3akhjgamj6h0y28xksziji")) + "0kp5wim5frr4l52rgchaz1cj74daqngagrz3r0lgasii6bwlzsi6")) (modules '((guix build utils))) (snippet `(begin From 010e79f2926f80b5a27f6a47628764296b8bb059 Mon Sep 17 00:00:00 2001 From: Artyom Bologov Date: Fri, 16 Jun 2023 19:52:53 +0400 Subject: [PATCH 193/310] gnu: cl-colors2: Update to 0.5.4-3.cc03bad. * gnu/packages/lisp-xyz.scm (sbcl-cl-colors2): Update to 0.5.4-3.cc03bad. [description]: Update with the latest changes. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 61f0414fac..d578c46b90 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -11717,20 +11717,20 @@ be used with @code{cl-yacc}.") (sbcl-package->ecl-package sbcl-cl-lex)) (define-public sbcl-cl-colors2 - (let ((commit "d620e7fb504bbec3ed48cc7cd03f60ce2bb3735d") - (revision "2")) + (let ((commit "cc03badf5f69be65ae7e13c2f9a7c16838ab8241") + (revision "3")) (package (name "sbcl-cl-colors2") - (version (git-version "0.5.0" revision commit)) + (version (git-version "0.5.4" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://notabug.org/cage/cl-colors2.git") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-colors2" version)) (sha256 - (base32 "14wx006lv4bhf86z68484kphm5jsh86ns60pb4i1bi8kl8lp03r0")))) + (base32 "1l7sl7nnvq13xmss9wwkhcq123bsylskxjrijwfkqp6sm02gbd15")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-clunit2)) @@ -11741,11 +11741,10 @@ be used with @code{cl-yacc}.") "This is a very simple color library for Common Lisp, providing: @itemize -@item Types for representing colors in HSV and RGB spaces. -@item Simple conversion functions between the above types (and also -hexadecimal representation for RGB). -@item Some predefined colors (currently X11 color names -- of course -the library does not depend on X11). +@item Types for representing colors in HSV, HSL, and RGB spaces. +@item Simple conversion functions between the above types. +@item Function printing colors to HEX, RGB, RGBA, and HSL. +@item Predefined colors from X11, SVG, and GDK. @end itemize\n") (home-page "https://notabug.org/cage/cl-colors2") (license license:boost1.0)))) From 546e7f362aa72168c10885dc2f68c9886a717c1a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 17 Jun 2023 11:16:04 +0200 Subject: [PATCH 194/310] gnu: txr: Update to 288. * gnu/packages/lisp.scm (txr): Update to 288. --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a7e06dd34c..7fa2edcb27 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -993,7 +993,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "287") + (version "288") (source (origin (method git-fetch) @@ -1002,7 +1002,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0bwa40l5c0dnpcpfbysqbv8ch58sycbb31dnskmhr387jlv938dl")))) + (base32 "0an26zffdaw9m673i077r2bw061mhzv4lz4z127sgda5gvg999mf")))) (build-system gnu-build-system) (arguments (list #:configure-flags From 52f2980fa3feaf6e59b9e5144391faf8feb52a87 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 17 Jun 2023 11:22:54 +0200 Subject: [PATCH 195/310] gnu: eisl: Update to 3.00. * gnu/packages/lisp.scm (eisl): Update to 3.00. --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 7fa2edcb27..175617ad70 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1433,7 +1433,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (define-public eisl (package (name "eisl") - (version "2.72") + (version "3.00") (source (origin (method git-fetch) @@ -1442,7 +1442,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12dc6b70dcfalyq3h5i7lmz39xh310k5p83x5q6j18knd6ql9ik9")))) + (base32 "0nppbzfdx4cjy72b4n0yk177i7063a0nhsrs9b1y45y4avbrbl00")))) (build-system gnu-build-system) (inputs (list bash-minimal freeglut gdbm libiconv ncurses tcl tk)) From ff690faf66d8f37ee6b679fcb7cf37e369624ee3 Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Sat, 17 Jun 2023 13:51:05 +0200 Subject: [PATCH 196/310] gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?. * gnu/packages/hurd.scm (hurd-target?): Remove. (hurd-system?): Move to... * guix/utils.scm (system-hurd?): ...here. * gnu/packages/*: Update all users, removing (gnu packages hurd) include where now unused. --- gnu/packages/acl.scm | 8 ++++---- gnu/packages/admin.scm | 13 ++++++------- gnu/packages/attr.scm | 7 ++++--- gnu/packages/base.scm | 28 ++++++++++++++-------------- gnu/packages/cmake.scm | 3 +-- gnu/packages/commencement.scm | 12 ++++++------ gnu/packages/gdb.scm | 4 ++-- gnu/packages/gettext.scm | 7 +++---- gnu/packages/guile-xyz.scm | 5 ++--- gnu/packages/guile.scm | 7 +++---- gnu/packages/hurd.scm | 15 +-------------- gnu/packages/make-bootstrap.scm | 4 ++-- gnu/packages/package-management.scm | 10 +++++----- gnu/packages/pciutils.scm | 5 ++--- gnu/packages/python.scm | 9 ++++----- gnu/packages/ssh.scm | 7 +++---- gnu/packages/texinfo.scm | 5 ++--- gnu/packages/tls.scm | 15 +++++++-------- gnu/packages/web.scm | 5 ++--- gnu/system/hurd.scm | 2 +- guix/utils.scm | 6 ++++++ 21 files changed, 80 insertions(+), 97 deletions(-) diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index da6dead3c2..eb20fdd549 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Marius Bakke -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2021 Lars-Dominik Braun ;;; ;;; This file is part of GNU Guix. @@ -28,14 +28,14 @@ #:use-module (gnu packages attr) #:use-module (gnu packages base) #:use-module (gnu packages check) - #:use-module (gnu packages hurd) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (guix build-system gnu) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix utils)) (define-public acl (package @@ -55,7 +55,7 @@ ,@%gnu-build-system-modules) #:configure-flags '("--disable-static") #:tests? ,(not (or (%current-target-system) - (hurd-target?))) + (target-hurd?))) #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 5bae16157e..529a477ed0 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant ;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe ;;; Copyright © 2020 Oleg Pykhalov -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021, 2022 Michael Rohleder ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Morgan Smith @@ -130,7 +130,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) @@ -913,7 +912,7 @@ re-executing them as necessary.") ,@(if (%current-target-system) '("--with-path-procnet-dev=/proc/net/dev") '()) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '("--disable-rcp" "--disable-rexec" "--disable-rexecd" @@ -967,7 +966,7 @@ hostname.") `(;; Assume System V `setpgrp (void)', which is the default on GNU ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.) #:configure-flags - '(,@(if (hurd-target?) + '(,@(if (target-hurd?) '() '("--with-libpam")) "shadow_cv_logdir=/var/log" @@ -1018,7 +1017,7 @@ hostname.") (delete-file (string-append bin "/groups")) (for-each delete-file (find-files man "^groups\\.")))))))) (inputs - `(,@(if (hurd-target?) + `(,@(if (target-hurd?) '() `(("linux-pam" ,linux-pam))) ,@(if (%current-target-system) @@ -1527,7 +1526,7 @@ connection alive.") (inputs `(("inetutils" ,inetutils) ("bash" ,bash-minimal) - ,@(if (hurd-target?) '() + ,@(if (target-hurd?) '() `(("net-tools" ,net-tools) ("iproute" ,iproute))) @@ -2037,7 +2036,7 @@ system administrator.") (list groff)) (inputs `(("coreutils" ,coreutils) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("linux-pam" ,linux-pam))) ("zlib" ,zlib))) diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 8c1a4aca7c..cd0a997474 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2012, 2013, 2016, 2021 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,10 +24,10 @@ #:use-module (guix licenses) #:use-module (gnu packages perl) #:use-module (gnu packages gettext) - #:use-module (gnu packages hurd) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public attr (package @@ -43,7 +44,7 @@ (arguments `(#:phases (modify-phases %standard-phases - ,@(if (hurd-target?) + ,@(if (target-hurd?) `((add-before 'configure 'skip-linux-syscalls (lambda _ ;; Starting from 2.5.1, libattr includes Linux-specific diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 39c7e5ef5f..ada9edf0e6 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016, 2017, 2019-2023 Efraim Flashner -;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2016, 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2016, 2018 Alex Vong ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017, 2020 Mathieu Othacehe @@ -132,7 +132,7 @@ command-line arguments, multiple languages, and so on.") (string-append bin "/fgrep")) (("^exec grep") (string-append "exec " bin "/grep")))))) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((add-before 'check 'skip-triple-backref-test (lambda _ ;; This test is marked as malfunctioning on glibc systems @@ -144,7 +144,7 @@ command-line arguments, multiple languages, and so on.") (("^warn_" all) (string-append "exit 77\n" all)))))) '())) - #:make-flags ,(if (hurd-target?) + #:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2 equiv-classes") ;XXX ''()))) (synopsis "Print lines matching a pattern") @@ -186,7 +186,7 @@ including, for example, recursive directory searching.") (modules '((guix build utils))))) (build-system gnu-build-system) (arguments - `(#:make-flags ,(if (hurd-target?) + `(#:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2") ''()))) (synopsis "Stream editor") @@ -217,7 +217,7 @@ implementation offers several extensions over the standard utility.") ;; Note: test suite requires ~1GiB of disk space. (arguments `(,@(cond - ((hurd-target?) + ((target-hurd?) '(#:make-flags (list (string-append "TESTSUITEFLAGS= -k '" @@ -309,7 +309,7 @@ differences.") (patches (search-patches "diffutils-fix-signal-processing.patch")))) (build-system gnu-build-system) (arguments - `(#:make-flags ,(if (hurd-target?) + `(#:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2 large-subopt") ''()))) (native-inputs (list perl)) @@ -347,7 +347,7 @@ interactive means to merge two files.") "tests/find/exec-plus-last-file.sh") (("#!/bin/sh") (string-append "#!" (which "sh"))))))) - #:make-flags ,(if (hurd-target?) + #:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-strerror_r") ''()))) (synopsis "Operating on files matching given criteria") @@ -395,7 +395,7 @@ used to apply commands with arbitrarily long arguments.") (outputs '("out" "debug")) (arguments `(#:parallel-build? #f ; help2man may be called too early - ,@(if (hurd-target?) + ,@(if (target-hurd?) '(#:make-flags ; these tests fail deterministically (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" " tests/misc/kill.sh" @@ -433,7 +433,7 @@ used to apply commands with arbitrarily long arguments.") (("#!/bin/sh") (string-append "#!" (which "sh")))))) (add-after 'unpack 'remove-tests (lambda _ - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((substitute* "Makefile.in" ;; this test hangs (("^ *tests/misc/timeout-group.sh.*") "")) @@ -511,7 +511,7 @@ standard.") (inputs (list guile-3.0)) (outputs '("out" "debug")) (arguments - `(,@(if (hurd-target?) + `(,@(if (target-hurd?) '(#:configure-flags '("CFLAGS=-D__alloca=alloca" "ac_cv_func_posix_spawn=no")) '()) @@ -798,7 +798,7 @@ the store.") ;; libc provides , which includes a bunch of Hurd and Mach headers, ;; so both should be propagated. (propagated-inputs - (if (hurd-target?) + (if (target-hurd?) `(("hurd-core-headers" ,hurd-core-headers)) `(("kernel-headers" ,linux-libre-headers)))) @@ -864,7 +864,7 @@ the store.") ;; On GNU/Hurd we get discarded-qualifiers warnings for ;; 'device_write_inband' among other things. Ignore them. - ,@(if (hurd-target?) + ,@(if (target-hurd?) `("--disable-werror" ,@%glibc/hurd-configure-flags) '())) @@ -992,7 +992,7 @@ the store.") (map (cut string-append slib "/" <>) files)))))) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((add-after 'install 'augment-libc.so (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) @@ -1012,7 +1012,7 @@ the store.") ("gettext" ,gettext-minimal) ("python" ,python-minimal) - ,@(if (hurd-target?) + ,@(if (target-hurd?) `(("mig" ,mig) ("perl" ,perl)) '()))) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index bccb035854..821b8808f7 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -46,7 +46,6 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages file) - #:use-module (gnu packages hurd) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) @@ -214,7 +213,7 @@ using the CMake build system.") (apply invoke "./configure" configure-flags)))))) (inputs (append - (if (hurd-target?) + (if (target-hurd?) '() (list libuv)) ;not supported on the Hurd (list bzip2 diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7c7c11c174..669d54099d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2017, 2018, 2019, 2021, 2022 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2019-2022 Marius Bakke ;;; Copyright © 2020, 2022 Timothy Sample ;;; Copyright © 2020 Guy Fleury Iteriteka @@ -2786,7 +2786,7 @@ memoized as a function of '%current-system'." "/lib/python" ,(version-major+minor version) "/test")))) - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((add-before 'build 'fix-regen (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc"))) @@ -2841,7 +2841,7 @@ memoized as a function of '%current-system'." `(append (list ,(string-append "--host=" (boot-triplet)) ,(string-append "--build=" (nix-system->gnu-triplet)) - ,(if (hurd-system?) "--disable-werror" + ,(if (system-hurd?) "--disable-werror" "")) ,flags)) ((#:phases phases) @@ -2853,7 +2853,7 @@ memoized as a function of '%current-system'." (unsetenv "CPLUS_INCLUDE_PATH") ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. - ,@(if (hurd-system?) + ,@(if (system-hurd?) '((substitute* '("sysdeps/mach/Makefile" "sysdeps/mach/hurd/Makefile") (("LDLIBS-pthread.so =.*") @@ -2873,7 +2873,7 @@ memoized as a function of '%current-system'." ,@(%boot1-inputs) ;; A native MiG is needed to build Glibc on Hurd. - ,@(if (hurd-system?) + ,@(if (system-hurd?) `(("mig" ,mig-boot0)) '()) @@ -3024,7 +3024,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (,(gexp-input gcc-boot0 "lib") ,(kernel-headers-boot0) ,static-bash-for-glibc - ,@(if (hurd-system?) + ,@(if (system-hurd?) `(,gnumach-headers-boot0 ,hurd-headers-boot0) '()) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index a8d8a86ea8..34d081dc9e 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -114,14 +114,14 @@ ("libxml2" ,libxml2) ;; The Hurd needs -lshouldbeinlibc. - ,@(if (hurd-target?) + ,@(if (target-hurd?) `(("hurd" ,hurd)) '()))) (native-inputs `(("texinfo" ,texinfo) ("dejagnu" ,dejagnu) ("pkg-config" ,pkg-config) - ,@(if (hurd-target?) + ,@(if (target-hurd?) ;; When cross-compiling from x86_64-linux, make sure to use a ;; 32-bit MiG because we assume target i586-pc-gnu. `(("mig" ,(if (%current-target-system) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 9387f4fb8a..114d8cf7af 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Miguel -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020 EuAndreh ;;; Copyright © 2022 gemmaro ;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com> @@ -42,7 +42,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages docbook) #:use-module (gnu packages emacs) - #:use-module (gnu packages hurd) #:use-module (gnu packages libunistring) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) @@ -124,7 +123,7 @@ "coreutils-gnulib-tests.patch"))))) '()) - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~((substitute* "gettext-tools/gnulib-tests/Makefile.in" ;; See 'coreutils' for the rationale. @@ -135,7 +134,7 @@ ;; When tests fail, we want to know the details. #:make-flags #~'("VERBOSE=yes" - #$@(if (hurd-target?) + #$@(if (target-hurd?) '("XFAIL_TESTS=test-perror2") '())))) (home-page "https://www.gnu.org/software/gettext/") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 4fea60ff11..db7be432cc 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2021 Alex Kost ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2016, 2021 Amirouche -;;; Copyright © 2016, 2019, 2021 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2016, 2019, 2021, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 David Thompson ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe @@ -89,7 +89,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages haskell-xyz) ;pandoc - #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages libevent) @@ -822,7 +821,7 @@ Unix-style DSV format and RFC 4180 format.") gettext-minimal)) (inputs (append (list guile-3.0) ;for libguile-3.0.so - (if (hurd-target?) + (if (target-hurd?) (list libevent) '()))) (synopsis "Lightweight concurrency facility for Guile") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 322eda1fc8..292ee10bcb 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2016, 2018 David Thompson ;;; Copyright © 2014, 2017, 2018 Mark H Weaver ;;; Copyright © 2015, 2017 Christine Lemmer-Webber -;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2017 Andy Wingo @@ -47,7 +47,6 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gperf) - #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) @@ -202,7 +201,7 @@ without requiring the source code to be rewritten.") #:phases (modify-phases %standard-phases - ,@(if (hurd-system?) + ,@(if (system-hurd?) '((add-after 'unpack 'disable-tests (lambda _ ;; Hangs at: "Running 00-repl-server.test" @@ -345,7 +344,7 @@ without requiring the source code to be rewritten.") (not (%current-target-system))) ((#:configure-flags flags #~'()) ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. - #~(cons* #$@(if (hurd-target?) + #~(cons* #$@(if (target-hurd?) #~("--disable-jit") #~()) ;; -fexcess-precision=standard is required when compiling for diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 34c7c00f2d..c9f77d799a 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -46,20 +46,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages xorg) ; libpciaccess - #:use-module (guix git-download) - #:export (hurd-system? - hurd-target?)) - -(define (hurd-target?) - "Return true if the cross-compilation target or the current system is -GNU/Hurd." - (or (and=> (%current-target-system) target-hurd?) - (and (not (%current-target-system)) - (and=> (%current-system) target-hurd?)))) - -(define (hurd-system?) - "Return true if the current system is the Hurd." - (and=> (%current-system) target-hurd?)) + #:use-module (guix git-download)) (define (hurd-source-url version) (string-append "mirror://gnu/hurd/hurd-" diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 6bafc5697c..7b40f395f3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2021 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver -;;; Copyright © 2018, 2019, 2021, 2022 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019, 2020, 2022 Marius Bakke ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2021 Pierre Langlois @@ -626,7 +626,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #~("AR=gcc-ar" "RANLIB=gcc-ranlib") #~()) - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~("--disable-jit") #~()))) ((#:phases phases '%standard-phases) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3a5ba3420c..e3dba508f0 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019-2023 Efraim Flashner ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Mathieu Othacehe -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2020 Jesse Gibbons ;;; Copyright © 2020 Martin Becze @@ -216,7 +216,7 @@ ;; choose a fixed-width and short directory name ;; for tests. "ac_cv_guix_test_root=/tmp/guix-tests" - ,@(if (hurd-target?) '("--with-courage") '())) + ,@(if (target-hurd?) '("--with-courage") '())) #:parallel-tests? #f ;work around #:modules ((guix build gnu-build-system) @@ -416,7 +416,7 @@ $(prefix)/etc/openrc\n"))) ;; cross-compilation. ("guile" ,guile-3.0-latest) ;for faster builds ("guile-gnutls" ,guile-gnutls) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) @@ -476,7 +476,7 @@ $(prefix)/etc/openrc\n"))) (propagated-inputs `(("guile-gnutls" ,guile-gnutls) ;; Avahi requires "glib" which doesn't cross-compile yet. - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) @@ -1442,7 +1442,7 @@ environments.") "guile-zlib" "guile-sqlite3" "guile-gnutls" - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() '("guile-fibers"))))) (wrap-program file diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 741dcdf787..140bbd0e90 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2022 Brendan Tildesley ;;; Copyright © 2022 Marius Bakke ;;; @@ -33,7 +33,6 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages base)) @@ -162,7 +161,7 @@ Each database is contained in a specific package output, such as the (native-inputs (list `(,hwdata "pci") pkg-config which)) (inputs - `(,@(if (not (hurd-target?)) + `(,@(if (not (target-hurd?)) `(("kmod" ,kmod)) '()) ("zlib" ,zlib))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index bfe8a68352..302f995b0f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -56,7 +56,7 @@ ;;; Copyright © 2018 Luther Thompson ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2019 Tanguy Le Carrour -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021 Greg Hogan ;;; Copyright © 2022 Philip McGrath ;;; Copyright © 2022 jgart @@ -85,7 +85,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages dbm) - #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-build) @@ -245,7 +244,7 @@ "Lib/test/support/__init__.py" "Lib/test/test_subprocess.py")) (("/bin/sh") (which "sh"))))) - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((add-before 'build 'patch-regen-for-hurd (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc"))) @@ -458,7 +457,7 @@ data types.") (format #f "TESTOPTS=-j~d" (parallel-job-count)) ;; test_mmap fails on low-memory systems " --exclude test_mmap test_socket" - ,@(if (hurd-target?) + ,@(if (target-hurd?) '(" test_posix" ;multiple errors " test_time" " test_pty" @@ -492,7 +491,7 @@ data types.") '())))) ((#:phases phases) `(modify-phases ,phases - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((delete 'patch-regen-for-hurd)) ;regen was removed after 3.5.9 '()) (add-after 'unpack 'remove-windows-binaries diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 71926c6795..b973efc291 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019, 2020 Mathieu Othacehe -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Brice Waegeneire @@ -49,7 +49,6 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages groff) #:use-module (gnu packages guile) - #:use-module (gnu packages hurd) #:use-module (gnu packages libedit) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -213,7 +212,7 @@ a server that supports the SSH-2 protocol.") (native-inputs (list groff pkg-config)) (inputs `(("libedit" ,libedit) ("openssl" ,openssl) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("pam" ,linux-pam) ("libfido2" ,libfido2))) ;fails to build on GNU/Hurd @@ -239,7 +238,7 @@ a server that supports the SSH-2 protocol.") "--with-libedit" ;; Enable PAM support in sshd. - ,,@(if (hurd-target?) + ,,@(if (target-hurd?) '() '("--with-pam" diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 3296c468c1..f45ae06810 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Pierre-Moana Levesque ;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; Copyright © 2020 Nicolas Goaziou -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 ( ;;; @@ -40,7 +40,6 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages gettext) - #:use-module ((gnu packages hurd) #:select (hurd-target?)) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) @@ -77,7 +76,7 @@ %standard-phases) ;; XXX: Work around . - #:tests? ,(and (not (hurd-target?)) + #:tests? ,(and (not (target-hurd?)) (not (%current-target-system))))) (inputs (list ncurses perl)) ;; When cross-compiling, texinfo will build some of its own binaries with diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d162094ed4..140932a809 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2019 Mathieu Othacehe -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021, 2023 Maxim Cournoyer ;;; Copyright © 2021 Solene Rapenne ;;; Copyright © 2021 Brice Waegeneire @@ -65,7 +65,6 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages guile) - #:use-module (gnu packages hurd) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) @@ -153,12 +152,12 @@ in intelligent transportation networks.") (build-system gnu-build-system) (native-inputs (append (list pkg-config) - (if (hurd-target?) + (if (target-hurd?) (list autoconf automake gettext-minimal libtool) '()))) (inputs (append (list libffi libtasn1) - (if (hurd-target?) + (if (target-hurd?) (list libbsd) '()))) (arguments @@ -167,7 +166,7 @@ in intelligent transportation networks.") ;; find them. See . #~'("--with-trust-paths=/etc/ssl/certs/ca-certificates.crt") #:phases #~(modify-phases %standard-phases - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~((add-after 'unpack 'apply-hurd-patch (lambda* (#:key inputs #:allow-other-keys) (define patch @@ -216,9 +215,9 @@ living in the same process.") (build-system gnu-build-system) (arguments (list #:tests? (not (or (%current-target-system) - (hurd-target?))) + (target-hurd?))) ;; Ensure we don't keep a reference to the tools used for testing. - #:disallowed-references (if (hurd-target?) + #:disallowed-references (if (target-hurd?) '() (list net-tools iproute socat)) #:configure-flags @@ -276,7 +275,7 @@ living in the same process.") (native-inputs (append (list pkg-config texinfo which util-linux) ;one test needs 'setsid' - (if (hurd-target?) + (if (target-hurd?) '() (list net-tools iproute ;for 'ss' diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index daa569263b..f5b6c8cd2f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -40,7 +40,7 @@ ;;; Copyright © 2019, 2020 Florian Pelz ;;; Copyright © 2020 Timotej Lazar ;;; Copyright © 2020 Pierre Neidhardt -;;; Copyright © 2020, 2021 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2018, 2019, 2020 Björn Höfling ;;; Copyright © 2020, 2021 Paul Garlick ;;; Copyright © 2020, 2022 Michael Rohleder @@ -142,7 +142,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages hurd) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages java) @@ -7785,7 +7784,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (inputs ;; Required to build the tools (i.e. without ‘--enable-lib-only’). (append - (if (hurd-target?) + (if (target-hurd?) `((,openssl "static")) (list jemalloc)) ; fight nghttpd{,x} heap fragmentation (list c-ares diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 558d1ee9e3..387605ec4f 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -57,7 +57,7 @@ ;;; Code: (define %hurd-default-operating-system-kernel - (if (hurd-system?) + (if (system-hurd?) gnumach ;; A cross-built GNUmach does not work (with-parameters ((%current-system "i686-linux") diff --git a/guix/utils.scm b/guix/utils.scm index b9657df292..e9af33bdeb 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 Philip McGrath +;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -89,6 +90,7 @@ package-name->name+version target-linux? target-hurd? + system-hurd? target-mingw? target-x86-32? target-x86-64? @@ -674,6 +676,10 @@ a character other than '@'." (and (string-suffix? "-gnu" target) (not (string-contains target "linux")))) +(define* (system-hurd?) + "Is the current system the GNU(/Hurd) system?" + (and=> (%current-system) target-hurd?)) + (define* (target-mingw? #:optional (target (%current-target-system))) "Is the operating system of TARGET Windows?" (and target From 428b810ca23fa1c1c565da15c0e95273f6487384 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Fri, 2 Jun 2023 23:44:31 -0300 Subject: [PATCH 197/310] gnu: lightspark: Update to 0.8.7. * gnu/packages/animation.scm (lightspark): Update to 0.8.7. [inputs]: Remove sdl2-mixer. --- gnu/packages/animation.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index b0bf2c672b..9691dd0d80 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -291,7 +291,7 @@ audio or video backends, ensuring good performance.") (define-public lightspark (package (name "lightspark") - (version "0.8.6.1") + (version "0.8.7") (source (origin (method git-fetch) @@ -300,7 +300,7 @@ audio or video backends, ensuring good performance.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1a78l9na01pd7a77r9n8lqih893s54rllpjvrx72sh0yyal1q3gz")))) + (base32 "156yd79dbs6lzp5jc2zd0knw6bk0g8qdm8icp7pkcn95vfvxyzx9")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;requires Adobe Flex SDK, see README.tests @@ -340,7 +340,6 @@ audio or video backends, ensuring good performance.") pcre2 rtmpdump sdl2 - sdl2-mixer zlib)) (home-page "https://lightspark.github.io/") (synopsis "Flash player implementation") From 0d165fba93f69b3d3f53478d0f0c6c7a58778e7e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 18 Jun 2023 08:45:53 +0300 Subject: [PATCH 198/310] gnu: jimtcl: Skip failing test on all 32-bit architectures. * gnu/packages/embedded.scm (jimtcl)[arguments]: Adjust custom phase 'delete-failing-tests/32bit to run for all 32-bit architectures. --- gnu/packages/embedded.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 567fee548b..d3bb794269 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -561,7 +561,7 @@ SEGGER J-Link and compatible devices.") ;; XXX All but 1 SSL tests fail (tries connecting to Google ;; servers). (delete-file "tests/ssl.test"))) - #$@(if (target-x86-32?) + #$@(if (not (target-64bit?)) #~((add-after 'unpack 'delete-failing-tests/32bit (lambda _ (delete-file "tests/file.test")))) From 09b310172e16f83d3dac220a00476bda1f623d5a Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 11 Jun 2023 18:33:09 +0200 Subject: [PATCH 199/310] gnu: meson: Update to 1.1.1. * gnu/packages/build-tools.scm (meson): Replace with meson/newer. (meson/newer): New variable. --- gnu/packages/build-tools.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index c5c91f5cbf..5ed1978c52 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -293,6 +293,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") + (replacement meson/newer) (version "1.1.0") (source (origin (method url-fetch) @@ -329,6 +330,19 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) +(define-public meson/newer + (package + (inherit meson) + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "releases/download/" version "/meson-" + version ".tar.gz")) + (sha256 + (base32 + "073vf8059nzs6p5aaqr5wva4pgl81540szdb5yw9yhyajwgm8jyh")))))) + (define-public meson-python (package (name "meson-python") From 3d3f03cda89688b2fd18a3ac363559a29f5bd082 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 11 Jun 2023 18:34:02 +0200 Subject: [PATCH 200/310] gnu: Add capypdf. * gnu/packages/pdf.scm (capypdf): New variable. (a4pdf): Deprecate in favor of capypdf. --- gnu/packages/pdf.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 1f3cc4ba46..96d4484bf2 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages game-development) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -113,21 +114,23 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) -(define-public a4pdf +(define-public capypdf (package - (name "a4pdf") - (version "0.1.0") + (name "capypdf") + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/jpakkane/a4pdf") + (url "https://github.com/jpakkane/capypdf") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18062cm1qsbaymmjar0whbd7kaggy4x7wzp7xw94kcd1pwx2jp1p")))) + (base32 "193izn2jw55w2dxy6l0vz5zrlar9lm7a6z443nw0vs4mlj4jnasi")))) (build-system meson-build-system) (arguments - (list #:phases + (list #:meson meson/newer + #:test-options '(list "plainc") + #:phases #~(modify-phases %standard-phases (add-after 'unpack 'add-missing-header (lambda _ @@ -139,14 +142,7 @@ ;; XXX: remove when bumping glib (substitute* "src/pdfviewer.cpp" (("G_APPLICATION_DEFAULT_FLAGS") - "G_APPLICATION_FLAGS_NONE")))) - (add-after 'unpack 'fix-broken-tests - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (substitute* "test/a4pdftests.py" - (("'Ghostscript not found, test suite can not be run.'") - ;; Sucks, but there's no point in repairing a certain test - ;; at the moment. - "0"))))))) + "G_APPLICATION_FLAGS_NONE"))))))) (inputs (list fmt freetype gtk @@ -155,7 +151,8 @@ libpng zlib)) (native-inputs (list font-google-noto - ;; ghostscript + gcc-12 + ghostscript pkg-config python python-pillow)) @@ -167,6 +164,9 @@ directly. It uses LittleCMS for color management but otherwise does not convert data in any way.") (license license:asl2.0))) +(define-public a4pdf + (deprecated-package "a4pdf" capypdf)) + (define-public diffpdf (let ((commit "ba68231d3d05e0cb3a2d4a4fca8b70d4044f4303") (revision "1")) From d54faf155aeeeb2aceb5cc19f141c2b8d0e0720a Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 12 Jun 2023 20:23:31 +0200 Subject: [PATCH 201/310] gnu: maven-model-builder@3.0: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maven.scm (maven-3.0-model-builder)[#:phases]: Add ‘add-components-shebang’. --- gnu/packages/maven.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index a805bda8e5..dc25f7640e 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -2424,6 +2424,10 @@ reporting or the build process."))) (substitute-keyword-arguments (package-arguments maven-model-builder) ((#:phases phases) `(modify-phases ,phases + (add-after 'unpack 'add-components-shebang + (lambda _ + (substitute* "components.sh" + (("^## T") "#!/bin/sh\n## T")))) (add-before 'build 'generate-components.xml (lambda _ (mkdir-p "build/classes/META-INF/plexus") From e4087930f3ad60918689be5f4bca4ce3e22429f5 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 4 Jun 2022 10:30:12 +0200 Subject: [PATCH 202/310] gnu: recutils: Use correct bash headers. * gnu/packages/databases.scm (recutils)[arguments]: Convert to G-Expressions. Drop gratuitous dirname. [native-inputs]: Drop labels. Move bash:include... [inputs]: ... here. Also add regular bash. --- gnu/packages/databases.scm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 74483d27f7..9928ede40e 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1556,20 +1556,17 @@ organized in a hash table or B+ tree.") (build-system gnu-build-system) (arguments (list #:configure-flags - '(list "--disable-static" - (string-append "--with-bash-headers=" - (dirname (search-input-directory - %build-inputs - "include/bash")))))) + #~(list "--disable-static" + (string-append "--with-bash-headers=" + (search-input-directory %build-inputs + "include/bash"))))) (native-inputs - ;; XXX Without labels, the default 'configure phase picks the wrong "bash". - `(("bc" ,bc) - ("bash:include" ,bash "include") - ("check" ,check) - ("pkg-config" ,pkg-config))) + (list bc check-0.14 pkg-config)) (inputs ;; TODO: Add more optional inputs. - (list curl + (list bash ; /bin/bash for native compilation + `(,bash "include") + curl libgcrypt `(,util-linux "lib"))) (synopsis "Manipulate plain text files as databases") From 6744ec2f3535a720a4b47425f1b6f42aaa31a182 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 18 Jun 2023 20:52:53 +0300 Subject: [PATCH 203/310] gnu: gst-plugins-bad: Fix test suite on riscv64-linux. * gnu/packages/gstreamer.scm (gst-plugins-bad)[arguments]: Adjust custom 'adjust-tests phase to help tests pass on riscv64-linux. --- gnu/packages/gstreamer.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 8971c11479..075f424560 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -799,6 +799,14 @@ model to base your own plug-in on, here it is.") ;; This test is flaky on at least some architectures. ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244 + #$@(if (target-riscv64?) + `((("'elements/camerabin\\.c'\\].*],") + "'elements/camerabin.c'], true, ],") + (("'elements/viewfinderbin\\.c'\\].*],") + "'elements/viewfinderbin.c'], true, ],")) + '()) + + ;; This substitution is no longer effective and can be removed. #$@(if (member (%current-system) '("i686-linux" "aarch64-linux" "riscv64-linux")) `((("'elements/camerabin\\.c'\\]\\],") From f387f8f8ca707b5e9e670131125dc8b175e87b9a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 18 Jun 2023 21:24:35 +0300 Subject: [PATCH 204/310] gnu: poezio: Add missing input. * gnu/packages/messaging.scm (poezio)[inputs]: Add python-typing-extensions. --- gnu/packages/messaging.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 00897ea451..3629d9a6d5 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -436,7 +436,8 @@ TCP sessions from existing clients.") python-pygments python-pyinotify python-qrcode - python-slixmpp)) + python-slixmpp + python-typing-extensions)) (synopsis "Console Jabber/XMPP Client") (description "Poezio is a free console XMPP client (the protocol on which the Jabber IM network is built). From 726f2a944730a1edbdbebfe57fb9e7e0ba47d83e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 18 Jun 2023 21:44:04 +0300 Subject: [PATCH 205/310] gnu: khal: Update to 0.11.2. * gnu/packages/calendar.scm (khal): Update to 0.11.2. [inputs]: Sort alphabetically. --- gnu/packages/calendar.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index bffc965886..991995daf7 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2016 Kei Kebreau -;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner +;;; Copyright © 2016, 2017, 2020, 2022, 2023 Efraim Flashner ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2016, 2021 Stefan Reichoer ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice @@ -177,13 +177,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) (uri (pypi-uri "khal" version)) (sha256 (base32 - "07k0cfbfkx9fhfk4gf73vh34c05i1cb72gc15a1lmx9knxy4h503")))) + "1flrz01nsmvphiv673b8ia279qcp3gj6a1rsjlsj4gp5f69xif4g")))) (build-system python-build-system) (arguments `(#:tests? #f ; The test suite is unreliable. See @@ -202,17 +202,18 @@ data units.") ;; Required to build manpage python-sphinxcontrib-newsfeed python-sphinx)) (inputs - (list python-configobj - python-dateutil - python-icalendar - python-tzlocal - python-urwid - python-pytz - python-setproctitle - python-atomicwrites + (list python-atomicwrites python-click python-click-log - python-pyxdg)) + python-configobj + python-dateutil + python-icalendar + python-pytz + python-pyxdg + python-tzlocal + python-urwid + ;; For the extras. + python-setproctitle)) (synopsis "Console calendar program") (description "Khal is a standards based console calendar program, able to synchronize with CalDAV servers through vdirsyncer. It includes From d4ff504efa0eb08d7ab05079ec000c143417838a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 16 Jun 2023 11:59:22 +0200 Subject: [PATCH 206/310] doc: Fix typo. * doc/guix.texi (Invoking guix pack): Use @command, not @var. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9232c82b4b..eb6cc9a875 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6995,7 +6995,7 @@ docker run -ti guile-guile-readline /bin/guile @end example @noindent -where @var{file} is the image returned by @var{guix pack}, and +where @var{file} is the image returned by @command{guix pack}, and @code{guile-guile-readline} is its ``image tag''. See the @uref{https://docs.docker.com/engine/reference/commandline/load/, Docker documentation} for more information. From c0921a394dc218c1852679df0cd4d548eb2bb640 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Fri, 31 Mar 2023 12:09:01 +0200 Subject: [PATCH 207/310] gnu: libreoffice: Fix access to python modules. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libreoffice.scm (libreoffice)[arguments]: Add #:imported-modules and #:modules. In 'bin-and-desktop-install' phase, add 'install-python-script' and use it. Signed-off-by: Ludovic Courtès --- gnu/packages/libreoffice.scm | 38 ++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 667e93db26..bc8b1d9fcf 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018, 2020 Jonathan Brielmaier ;;; Copyright © 2019 Chris Marusich ;;; Copyright © 2020 Marcin Karpezo +;;; Copyright © 2023 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -913,6 +914,11 @@ commonly called @code{ftoa} or @code{dtoa}.") (build-system glib-or-gtk-build-system) (arguments (list + #:imported-modules `((guix build python-build-system) + ,@%glib-or-gtk-build-system-modules) + #:modules `(((guix build python-build-system) #:select (python-version)) + (ice-9 textual-ports) + ,@%glib-or-gtk-build-system-modules) #:tests? #f ; Building the tests already fails. #:phases #~(modify-phases %standard-phases @@ -976,7 +982,12 @@ commonly called @code{ftoa} or @code{dtoa}.") ;; Create 'soffice' and 'libreoffice' symlinks to the executable ;; script. (lambda _ - (let ((out #$output)) + (let* ((out #$output) + (python-libdir + (string-append out "/lib/python" + (python-version + #$(this-package-input "python")) + "/site-packages/"))) (define (symlink-output src dst) (mkdir-p (dirname (string-append out dst))) (symlink (string-append out src) (string-append out dst))) @@ -1002,6 +1013,24 @@ commonly called @code{ftoa} or @code{dtoa}.") "sysui/desktop/appstream-appdata/" "libreoffice-" app ".appdata.xml") (string-append out "/share/appdata"))) + (define (install-python-script name) + (with-input-from-file + (string-append out "/lib/libreoffice/program/" name ".py") + (lambda _ + (let ((file (get-string-all (current-input-port)))) + (with-output-to-file + (string-append python-libdir name ".py") + (lambda _ + (format (current-output-port) "~a" + (string-append + "import sys, os\n" + "sys.path.append('" + out "/lib/libreoffice/program" "')\n" + "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:" + out "/lib/libreoffice/program/fundamentalrc')\n\n" + file))))))) + (delete-file + (string-append out "/lib/libreoffice/program/" name ".py"))) (symlink-output "/lib/libreoffice/program/soffice" "/bin/soffice") (symlink-output "/lib/libreoffice/program/soffice" @@ -1016,7 +1045,12 @@ commonly called @code{ftoa} or @code{dtoa}.") '("base" "calc" "draw" "impress" "writer")) (mkdir-p (string-append out "/share/icons/hicolor")) (copy-recursively "sysui/desktop/icons/hicolor" - (string-append out "/share/icons/hicolor")))))) + (string-append out "/share/icons/hicolor")) + (mkdir-p python-libdir) + (for-each install-python-script + '("access2base" "mailmerge" "msgbox" "officehelper" + "pythonloader" "pythonscript" "scriptforge" + "unohelper" "uno")))))) #:configure-flags #~(list "--enable-release-build" From a82130de50d2c84d77492d9aa43e4b7f4b06b4b2 Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Tue, 4 Apr 2023 23:43:46 +0300 Subject: [PATCH 208/310] services: certbot: Fix nginx crash when certbot is used without domains. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/certbot.scm (certbot-nginx-server-configurations): Don't return a broken nginx-server-configuration with empty server_name when no certificate domains are configured. Instead add a separate server for every certificate, so 0 certificates adds 0 servers. Signed-off-by: Ludovic Courtès Reviewed-by: Bruno Victal --- gnu/services/certbot.scm | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 8e6784df2b..0c45471659 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -173,20 +173,24 @@ (match-lambda (($ package webroot certificates email server rsa-key-size default-location) - (list - (nginx-server-configuration - (listen '("80" "[::]:80")) - (ssl-certificate #f) - (ssl-certificate-key #f) - (server-name - (apply append (map certificate-configuration-domains certificates))) - (locations - (filter identity - (list - (nginx-location-configuration - (uri "/.well-known") - (body (list (list "root " webroot ";")))) - default-location)))))))) + (define (certificate->nginx-server certificate-configuration) + (match-record certificate-configuration + (domains challenge) + (nginx-server-configuration + (listen '("80" "[::]:80")) + (ssl-certificate #f) + (ssl-certificate-key #f) + (server-name domains) + (locations + (filter identity + (append + (if challenge + '() + (list (nginx-location-configuration + (uri "/.well-known") + (body (list (list "root " webroot ";")))))) + (list default-location))))))) + (map certificate->nginx-server certificates)))) (define certbot-service-type (service-type (name 'certbot) From 73f6785bdf9eb0c70e8f6c557dff4d717f4ca5c0 Mon Sep 17 00:00:00 2001 From: Kaelyn Takata Date: Thu, 27 Apr 2023 15:54:33 +0000 Subject: [PATCH 209/310] gnu: openmw-openscenegraph: Update to Nov 2022 commit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/graphics.scm (openmw-openscenegraph): Update to Nov 2022 commit. [arguments]: Sync the plugin flags with the mentioned wiki page. Signed-off-by: Ludovic Courtès --- gnu/packages/graphics.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index bccfe89d55..3a65b96919 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -1464,11 +1464,11 @@ in Julia).") (define-public openmw-openscenegraph ;; OpenMW prefers its own fork of openscenegraph: ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph. - (let ((commit "36a962845a2c87a6671fd822157e0729d164e940")) + (let ((commit "69cfecebfb6dc703b42e8de39eed750a84a87489")) (hidden-package (package (inherit openscenegraph) - (version (git-version "3.6" "1" commit)) + (version (git-version "3.6" "2" commit)) (outputs (list "out")) (source (origin @@ -1479,7 +1479,7 @@ in Julia).") (file-name (git-file-name (package-name openscenegraph) version)) (sha256 (base32 - "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia")))) + "1qayk2gklm8zvss90dcjfxv6717rvcmwmgmgyy1qzkli67a0zbw2")))) (arguments (substitute-keyword-arguments (package-arguments openscenegraph) ((#:configure-flags flags) @@ -1487,14 +1487,14 @@ in Julia).") #~(append '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" "-DBUILD_OSG_PLUGIN_OSG=1" + "-DBUILD_OSG_PLUGIN_DAE=1" "-DBUILD_OSG_PLUGIN_DDS=1" "-DBUILD_OSG_PLUGIN_TGA=1" "-DBUILD_OSG_PLUGIN_BMP=1" "-DBUILD_OSG_PLUGIN_JPEG=1" "-DBUILD_OSG_PLUGIN_PNG=1" - "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" - ;; The jpeg plugin requires conversion between integers and booleans - "-DCMAKE_CXX_FLAGS=-fpermissive") + "-DBUILD_OSG_PLUGIN_FREETYPE=1" + "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0") #$flags)) ((#:phases phases) #~(modify-phases #$phases @@ -2612,4 +2612,3 @@ environment. It supports drawing freehand as well as basic shapes and text. It features cut-and-paste for irregular regions or polygons.") (home-page "https://www.gnu.org/software/gpaint/") (license license:gpl3+))) - From d305ad04ccd58a7c5c3d2282b4656b8a52f5a720 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:16 +0200 Subject: [PATCH 210/310] gnu: font-adobe100dpi: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-adobe100dpi): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e1a7cf96f9..a17bd160a2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -491,10 +491,12 @@ Resources file.") (define-public font-adobe100dpi (package (name "font-adobe100dpi") - (version "1.0.3") - (source (xorg-font-origin - "font-adobe-100dpi" version - "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-adobe-100dpi-" version ".tar.xz")) + (sha256 "1kwwbaiqnfm3pcysy9gw0g9xhpgmhjcd6clp7zajhqq5br2gyymn"))) (build-system gnu-build-system) (inputs (list bdftopcf font-util mkfontdir)) From ddc6d397d415f2d36d712237553019cedf431558 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:17 +0200 Subject: [PATCH 211/310] gnu: font-adobe75dpi: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-adobe75dpi): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a17bd160a2..66cd17476d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -515,10 +515,12 @@ Resources file.") (define-public font-adobe75dpi (package (name "font-adobe75dpi") - (version "1.0.3") - (source (xorg-font-origin - "font-adobe-75dpi" version - "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-adobe-75dpi-" version ".tar.xz")) + (sha256 "04drk4wi176524lxjwfrnkr3dwz1hysabqfajpj6klfypqnsd08j"))) (build-system gnu-build-system) (inputs (list bdftopcf font-util mkfontdir)) From 5ce6f722c8f91f1c52a0f509f1dda0718c8c08f0 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:18 +0200 Subject: [PATCH 212/310] gnu: font-alias: Update to 1.0.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-alias): Update to 1.0.5. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 66cd17476d..7178fe584d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -542,10 +542,12 @@ Resources file.") (define-public font-alias (package (name "font-alias") - (version "1.0.4") - (source (xorg-font-origin - name version - "0xjjjindczv3g7m1597l0x19zz75xy70wh5garghz61fpzl1l4gk")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-alias-" version ".tar.xz")) + (sha256 "0vkb5mybc0fjfq29lgf5w1b536bwifzkyj8ad9iy7q3kpcby52cz"))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (arguments From 95aee6ae4a1882c1049682bbbf1a8358f24afe1c Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:19 +0200 Subject: [PATCH 213/310] gnu: font-arabic-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-arabic-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7178fe584d..4b706be667 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -577,10 +577,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-arabic-misc (package (name "font-arabic-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-arabic-misc-" version ".tar.xz")) + (sha256 "0rrlcqbyx9y7hnhbkjir8rs6jkfqyalj1zvhr8niv2n7a8dydzs6"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From b0494cfd301b19442fea91fb61d786022fe7585d Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:20 +0200 Subject: [PATCH 214/310] gnu: font-cronyx-cyrillic: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-cronyx-cyrillic): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4b706be667..26a4c789e1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -606,10 +606,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-cronyx-cyrillic (package (name "font-cronyx-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-cronyx-cyrillic-" version ".tar.xz")) + (sha256 "12dpsvif85z1m6jvq9g91lmzj0rll5rh3871mbvdpzyb1p7821yw"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From 416333970811b11ed640761bc935eeb3c5da6574 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:21 +0200 Subject: [PATCH 215/310] gnu: font-dec-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-dec-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 26a4c789e1..902563bbf2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -631,10 +631,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-dec-misc (package (name "font-dec-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-dec-misc-" version ".tar.xz")) + (sha256 "1xqs2qg21h5xg519810hw4bvykjdpf0xgk0xwp0bxy4g3lh6inc2"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From a68762ca7cd64c76ddd1f2975b10341d9b275b85 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:22 +0200 Subject: [PATCH 216/310] gnu: font-isas-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-isas-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 902563bbf2..d38375c5e6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -653,10 +653,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-isas-misc (package (name "font-isas-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-isas-misc-" version ".tar.xz")) + (sha256 "1z1qqi64hbp297f6ryiswa4ikfn7mcwnb8nadyglni6swsxrbra7"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From ffe2e45b0ba888ecbd5b642282e5e124e030b8ea Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:23 +0200 Subject: [PATCH 217/310] gnu: font-micro-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-micro-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d38375c5e6..98ccd2b1f7 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -675,10 +675,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-micro-misc (package (name "font-micro-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-micro-misc-" version ".tar.xz")) + (sha256 "0hzryqyml0bzzw91vqdmzdlb7dm18jmyz0mxy6plks3sppbbkq1f"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From 7ca1ba392829104d3feb6f7e47f32d444e39061d Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:24 +0200 Subject: [PATCH 218/310] gnu: font-misc-cyrillic: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-misc-cyrillic): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 98ccd2b1f7..43fbaa6e09 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -694,10 +694,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-cyrillic (package (name "font-misc-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-cyrillic-" version ".tar.xz")) + (sha256 "14z9x174fidjn65clkd2y1l6pxspmvphizap9a8h2h06adzil0kn"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From 5d9af8639cc32c70344b53f28b8faf4c7567d7b5 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:25 +0200 Subject: [PATCH 219/310] gnu: font-misc-ethiopic: Update to 1.0.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-misc-ethiopic): Update to 1.0.5. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 43fbaa6e09..a69f3a8678 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -713,10 +713,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-ethiopic (package (name "font-misc-ethiopic") - (version "1.0.4") - (source (xorg-font-origin - name version - "1q2azkdwc4x3kh53xclwpf9q654k70lhiyns1cjq594wvxnhz339")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-ethiopic-" version ".tar.xz")) + (sha256 "04mnd620s9wkdid9wnf181yh5vf0n7l096nc3z4zdvm1w7kafja7"))) (build-system gnu-build-system) (inputs (list mkfontdir mkfontscale)) From 4d7700b72267aff1dbcdaec8dbad1824d33e1b9e Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:26 +0200 Subject: [PATCH 220/310] gnu: font-misc-misc: Update to 1.1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-misc-misc): Update to 1.1.3. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a69f3a8678..b87573d083 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -735,10 +735,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-misc (package (name "font-misc-misc") - (version "1.1.2") - (source (xorg-font-origin - name version - "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq")) + (version "1.1.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-misc-" version ".tar.xz")) + (sha256 "1vcgc6lbc53fqaz8alhxcb6f231hhvj9hn2nkzg1mclbymhy7avr"))) (build-system gnu-build-system) (inputs (list mkfontdir font-util bdftopcf)) From b32da0478618f2db40f01dd8dd0278bdb8aefec3 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:27 +0200 Subject: [PATCH 221/310] gnu: font-mutt-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-mutt-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b87573d083..e0931918fd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -757,10 +757,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-mutt-misc (package (name "font-mutt-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-mutt-misc-" version ".tar.xz")) + (sha256 "095vd33kqd157j6xi4sjxwdsjpwpgqliifa8nkybq8rcw7s5j8xi"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From 3ddd435251e35b67603e12ad7ad14a13a253a8bc Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:28 +0200 Subject: [PATCH 222/310] gnu: font-schumacher-misc: Update to 1.1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-schumacher-misc): Update to 1.1.3. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e0931918fd..493d617a20 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -776,10 +776,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-schumacher-misc (package (name "font-schumacher-misc") - (version "1.1.2") - (source (xorg-font-origin - name version - "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74")) + (version "1.1.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-schumacher-misc-" version ".tar.xz")) + (sha256 "0w40lr214n39al449fnm4k1bpyj3fjrhz2yxqd6a6m8yvc69z14b"))) (build-system gnu-build-system) (inputs (list mkfontdir font-util bdftopcf)) From 5143f8624e412cc2ad841fafe21d8e8d0f28c7bf Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:29 +0200 Subject: [PATCH 223/310] gnu: font-screen-cyrillic: Update to 1.0.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-screen-cyrillic): Update to 1.0.5. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 493d617a20..8d6d4f8991 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -798,10 +798,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-screen-cyrillic (package (name "font-screen-cyrillic") - (version "1.0.4") - (source (xorg-font-origin - name version - "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-screen-cyrillic-" version ".tar.xz")) + (sha256 "1h75zn1rp7bdv6av4cnrajpaq6fkd7dx1lc7aijpw32qrnw8nxcg"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From e02440e12dc9f37a90d73cfbf1dd3e0a605a831f Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:30 +0200 Subject: [PATCH 224/310] gnu: font-sony-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-sony-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8d6d4f8991..8ab783f453 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -817,10 +817,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-sony-misc (package (name "font-sony-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-sony-misc-" version ".tar.xz")) + (sha256 "0swlhjmmagrfkip4i9yq7cr56hains1j41mjs05nxc6c7y19zc76"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From 6184d14d8e5847a453b35b2acec78628d24f8edf Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:31 +0200 Subject: [PATCH 225/310] gnu: font-sun-misc: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-sun-misc): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8ab783f453..ee09b55a8d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -836,10 +836,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-sun-misc (package (name "font-sun-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-sun-misc-" version ".tar.xz")) + (sha256 "17yvhk1hlajm3q57r09q8830zz7cnckrg8hgzajgyyljdl8xv16x"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From bb0d93c810e475eeefdfd1880caa533138442bdb Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:32 +0200 Subject: [PATCH 226/310] gnu: font-winitzki-cyrillic: Update to 1.0.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-winitzki-cyrillic): Update to 1.0.4. [source]: Drop upstreamed snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ee09b55a8d..ed3e6e0907 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -874,10 +874,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-winitzki-cyrillic (package (name "font-winitzki-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-winitzki-cyrillic-" version ".tar.xz")) + (sha256 "1a4pz8f7hz6nn9xirz2k1j81ykl3lwrpi1ydmzipciy15l984v9v"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) From d47a0d7feca3066a1bd6daa3c3dcfd451278d069 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 12 Jun 2023 22:53:33 +0200 Subject: [PATCH 227/310] gnu: font-xfree86-type1: Update to 1.0.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (font-xfree86-type1): Update to 1.0.5. [source]: Drop upstreamed snippet. (xorg-font-origin): Drop obsolete macro. (%xorg-font-origin): Drop unused procedure. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ed3e6e0907..e41ddea28f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -468,26 +468,6 @@ Resources file.") (description "Xorg font encoding files.") (license license:public-domain))) -(define (%xorg-font-origin font version hash) - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/font/" font "-" - version ".tar.bz2")) - (sha256 hash) - (modules '((guix build utils))) - (snippet - ;; Do not include timestamps in '.pcf.gz' files. - '(begin - (substitute* "Makefile.in" - (("^COMPRESS = (.*)$" _ rest) - (string-append "COMPRESS = " (string-trim-right rest) - " --no-name\n"))) - #t)))) - -(define-syntax-rule (xorg-font-origin font version hash) - "Expand to the 'origin' form for the given Xorg font package." - (%xorg-font-origin font version (base32 hash))) - (define-public font-adobe100dpi (package (name "font-adobe100dpi") @@ -893,10 +873,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-xfree86-type1 (package (name "font-xfree86-type1") - (version "1.0.4") - (source (xorg-font-origin - name version - "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-xfree86-type1-" version ".tar.xz")) + (sha256 "0ds8xbgxy9h0bqn2p38vylfzn8cqkp7n51kwmw1c18ayi9w2qg59"))) (build-system gnu-build-system) (inputs (list mkfontdir mkfontscale)) From 2afa79aeaad014c6522f635e8be0f9e71fe038e2 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sun, 11 Jun 2023 23:01:30 -0700 Subject: [PATCH 228/310] gnu: b4: Update to 0.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/version-control.scm (b4): Update to 0.12.0 Signed-off-by: Ludovic Courtès --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1dd3eaaa82..40b9e124d2 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2617,13 +2617,13 @@ email header.") (define-public b4 (package (name "b4") - (version "0.8.0") + (version "0.12.0") (source (origin (method url-fetch) (uri (pypi-uri "b4" version)) (sha256 - (base32 "115ysciq15sxc8fd9hf7p0f4wnd5xapcfkmq8g33y1c8nbdxclbx")))) + (base32 "0qwi2f729mflrv8dazb3xbs23hzprbchjrhjcc8fjvpn7yvnrd7f")))) (build-system python-build-system) (arguments (list #:tests? #f ;no tests From 81231bf236509a50c1b81191989cf6358f497e1b Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sat, 10 Jun 2023 01:18:20 -0700 Subject: [PATCH 229/310] gnu: freeipmi: Update to 1.6.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/freeipmi.scm (freeipmi): Update to 1.6.11 Signed-off-by: Ludovic Courtès --- gnu/packages/freeipmi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 18b886ba4e..cc33e821de 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -28,14 +28,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.6.10") + (version "1.6.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "0zbszq9nn60vqm2gmwy6hmcz9yqb3lk064ib7l89q65n07ja3r7w")))) + "15x861i8r1gk44924d2pszlb8mapgkr18m3991vla4601y8xdyv5")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" From 1261ce15233cbf7e24de9959df86a23b46314a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 13 Mar 2023 13:52:38 +0100 Subject: [PATCH 230/310] store: Tolerate non-existent GC root directories. * guix/store/roots.scm (gc-roots): Wrap 'scandir*' call in 'catch'. * tests/store-roots.scm ("gc-roots, initial"): New test. Move 'open-connection' call below. --- guix/store/roots.scm | 12 ++++++++++-- tests/store-roots.scm | 18 +++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/guix/store/roots.scm b/guix/store/roots.scm index 222f69c5c0..6b949b5a86 100644 --- a/guix/store/roots.scm +++ b/guix/store/roots.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2017, 2019 Ludovic Courtès +;;; Copyright © 2012-2014, 2017, 2019, 2023 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,7 +105,15 @@ are user-controlled symlinks stored anywhere on the file system." (map (match-lambda ((file . properties) (cons (scope file) properties))) - (scandir* directory regular?))))) + (catch 'system-error + (lambda () + (scandir* directory regular?)) + (lambda args + (if (= ENOENT + (system-error-errno + args)) + '() + (apply throw args)))))))) (loop (append rest (map first sub-directories)) (append (map canonical-root (filter symlink? files)) roots) diff --git a/tests/store-roots.scm b/tests/store-roots.scm index 5bcf1bc87e..9877987a65 100644 --- a/tests/store-roots.scm +++ b/tests/store-roots.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2023 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,14 +21,26 @@ #:use-module (guix store) #:use-module (guix store roots) #:use-module ((guix utils) #:select (call-with-temporary-directory)) + #:use-module ((guix build utils) #:select (delete-file-recursively)) + #:use-module ((guix config) #:select (%state-directory)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64)) -(define %store - (open-connection)) +(define %store #f) (test-begin "store-roots") +(test-equal "gc-roots, initial" + (list (string-append %state-directory "/profiles")) + (begin + ;; 'gc-roots' should gracefully handle lack of that directory. + (delete-file-recursively (string-append %state-directory "/profiles")) + (gc-roots))) + +;; The 'open-connection' call below gets guix-daemon to create +;; %STATE-DIRECTORY/profiles. +(set! %store (open-connection)) + (test-assert "gc-roots, regular root" (let* ((item (add-text-to-store %store "something" (random-text))) From 1b7aabbc79969a89141aadd3d41d7a5329a3462e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 30 Nov 2022 15:25:21 +0100 Subject: [PATCH 231/310] Add 'guix locate'. * guix/scripts/locate.scm, tests/guix-locate.sh: New files. * Makefile.am (MODULES): Add 'guix/scripts/locate.scm'. (SH_TESTS): Add 'tests/guix-locate.sh'. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Invoking guix locate): New node. Co-authored-by: Antoine R. Dumont --- Makefile.am | 2 + doc/guix.texi | 130 ++++++++ guix/scripts/locate.scm | 659 ++++++++++++++++++++++++++++++++++++++++ po/guix/POTFILES.in | 1 + tests/guix-locate.sh | 72 +++++ 5 files changed, 864 insertions(+) create mode 100644 guix/scripts/locate.scm create mode 100755 tests/guix-locate.sh diff --git a/Makefile.am b/Makefile.am index ab901df757..a386e6033c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -306,6 +306,7 @@ MODULES = \ guix/scripts/archive.scm \ guix/scripts/import.scm \ guix/scripts/package.scm \ + guix/scripts/locate.scm \ guix/scripts/install.scm \ guix/scripts/remove.scm \ guix/scripts/upgrade.scm \ @@ -595,6 +596,7 @@ SH_TESTS = \ tests/guix-gc.sh \ tests/guix-git-authenticate.sh \ tests/guix-hash.sh \ + tests/guix-locate.sh \ tests/guix-pack.sh \ tests/guix-pack-localstatedir.sh \ tests/guix-pack-relocatable.sh \ diff --git a/doc/guix.texi b/doc/guix.texi index eb6cc9a875..c961f706ec 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -258,6 +258,7 @@ Package Management * Invoking guix package:: Package installation, removal, etc. * Substitutes:: Downloading pre-built binaries. * Packages with Multiple Outputs:: Single source package, multiple outputs. +* Invoking guix locate:: Locating packages that provide a file. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. * Invoking guix time-machine:: Running an older revision of Guix. @@ -3297,6 +3298,7 @@ guix install emacs-guix * Invoking guix package:: Package installation, removal, etc. * Substitutes:: Downloading pre-built binaries. * Packages with Multiple Outputs:: Single source package, multiple outputs. +* Invoking guix locate:: Locating packages that provide a file. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. * Invoking guix time-machine:: Running an older revision of Guix. @@ -4417,6 +4419,134 @@ the output of @command{guix package --list-available} (@pxref{Invoking guix package}). +@node Invoking guix locate +@section Invoking @command{guix locate} + +@cindex file, searching in packages +@cindex file search +@cindex searching for packages +There's so much free software out there that sooner or later, you will +need to search for packages. The @command{guix search} command that +we've seen before (@pxref{Invoking guix package}) lets you search by +keywords: + +@example +guix search video editor +@end example + +@cindex searching for packages, by file name +Sometimes, you instead want to find which package provides a given file, +and this is where @command{guix locate} comes in. Here is how you can +find which package provides the @command{ls} command: + +@example +$ guix locate ls +coreutils@@9.1 /gnu/store/@dots{}-coreutils-9.1/bin/ls +@end example + +Of course the command works for any file, not just commands: + +@example +$ guix locate unistr.h +icu4c@@71.1 /gnu/store/@dots{}/include/unicode/unistr.h +libunistring@@1.0 /gnu/store/@dots{}/include/unistr.h +@end example + +You may also specify @dfn{glob patterns} with wildcards. For example, +here is how you would search for packages providing @file{.service} +files: + +@example +$ guix locate -g '*.service' +man-db@@2.11.1 @dots{}/lib/systemd/system/man-db.service +wpa-supplicant@@2.10 @dots{}/system-services/fi.w1.wpa_supplicant1.service +@end example + +The @command{guix locate} command relies on a database that maps file +names to package names. By default, it automatically creates that +database if it does not exist yet by traversing packages available +@emph{locally}, which can take a few minutes (depending on the size of +your store and the speed of your storage device). + +@quotation Note +For now, @command{guix locate} builds its database based on purely local +knowledge---meaning that you will not find packages that never reached +your store. Eventually it will support downloading a pre-built database +so you can potentially find more packages. +@end quotation + +By default, @command{guix locate} first tries to look for a system-wide +database, usually under @file{/var/cache/guix/locate}; if it does not +exist or is too old, it falls back to the per-user database, by default +under @file{~/.cache/guix/locate}. On a multi-user system, +administrators may want to periodically update the system-wide database +so that all users can benefit from it. + +The general syntax is: + +@example +guix locate [@var{options}@dots{}] @var{file}@dots{} +@end example + +@noindent +... where @var{file} is the name of a file to search for (specifically, +the ``base name'' of the file: files whose parent directories are called +@var{file} are not matched). + +The available options are as follows: + +@table @code +@item --glob +@item -g +Interpret @var{file}@dots{} as @dfn{glob patterns}---patterns that may +include wildcards, such as @samp{*.scm} to denote all files ending in +@samp{.scm}. + +@item --stats +Display database statistics. + +@item --update +@itemx -u +Update the file database. + +By default, the database is automatically updated when it is too old. + +@item --clear +Clear the database and re-populate it. + +This option lets you start anew, ensuring old data is removed from the +database, which also avoids having an endlessly growing database. By +default @command{guix locate} automatically does that periodically, +though infrequently. + +@item --database=@var{file} +Use @var{file} as the database, creating it if necessary. + +By default, @command{guix locate} picks the database under +@file{~/.cache/guix} or @file{/var/cache/guix}, whichever is the most +recent one. + +@item --method=@var{method} +@itemx -m @var{method} +Use @var{method} to select the set of packages to index. Possible +values are: + +@table @code +@item manifests +This is the default method: it works by traversing profiles on the +machine and recording packages it encounters---packages you or other +users of the machine installed, directly or indirectly. It is fast but +it can miss other packages available in the store but not referred to by +any profile. + +@item store +This is a slower but more exhaustive method: it checks among all the +existing packages those that are available in the store and records +them. +@end table +@end table + + @node Invoking guix gc @section Invoking @command{guix gc} diff --git a/guix/scripts/locate.scm b/guix/scripts/locate.scm new file mode 100644 index 0000000000..aeaffa3d34 --- /dev/null +++ b/guix/scripts/locate.scm @@ -0,0 +1,659 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022, 2023 Ludovic Courtès +;;; Copyright © 2023 Antoine R. Dumont +;;; +;;; 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 (guix scripts locate) + #:use-module ((guix config) #:select (%localstatedir)) + #:use-module (guix i18n) + #:use-module ((guix ui) + #:select (show-version-and-exit + show-bug-report-information + with-error-handling + string->number* + display-hint + leave-on-EPIPE)) + #:use-module (guix diagnostics) + #:use-module (guix scripts) + #:use-module (sqlite3) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:use-module (guix store) + #:use-module (guix monads) + #:autoload (guix combinators) (fold2) + #:autoload (guix grafts) (%graft?) + #:autoload (guix store roots) (gc-roots) + #:use-module (guix derivations) + #:use-module (guix packages) + #:use-module (guix profiles) + #:autoload (guix progress) (progress-reporter/bar + call-with-progress-reporter) + #:use-module (guix sets) + #:use-module ((guix utils) #:select (cache-directory)) + #:autoload (guix build utils) (find-files mkdir-p) + #:autoload (gnu packages) (fold-packages) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-71) + #:export (guix-locate)) + +(define %db-schema-version + ;; Current database schema version. + 3) + +;; The following schema is the full schema at the `%db-schema-version`. It +;; should be modified according to the development required and +;; `%db-schema-version` should be bumped. If the schema needs modification +;; across time, those should be changed directly in the full-schema and the +;; incremental changes should be referenced as migration step below for the +;; new `%db-schema-version` (for the existing dbs to know what to migrate). +(define %db-schema + " +create table if not exists SchemaVersion ( + version integer primary key not null, + date integer, + store text not null, -- value of (%store-prefix) + unique (version) +); + +create table if not exists Packages ( + id integer primary key autoincrement not null, + name text not null, + version text not null, + output text, + unique (name, version) -- add uniqueness constraint +); + +create table if not exists Directories ( + id integer primary key autoincrement not null, + name text not null, + package integer not null, + foreign key (package) references Packages(id) on delete cascade, + unique (name, package) -- add uniqueness constraint +); + +create table if not exists Files ( + name text not null, + basename text not null, + directory integer not null, + foreign key (directory) references Directories(id) on delete cascade + unique (name, basename, directory) -- add uniqueness constraint +); + +create index if not exists IndexFiles on Files(basename);") + +;; List of tuple ((version . sqlite schema migration script)). There should be +;; as much version increments as step needed to migrate the db. +(define schema-to-migrate '((1 . " +create table if not exists SchemaVersion ( + version integer primary key not null, + unique (version) +); +") + (2 . " +alter table SchemaVersion +add column date date; +") + (3 . " +alter table Packages +add column output text; +"))) + +(define (call-with-database file proc) + (let ((db (sqlite-open file))) + (dynamic-wind + (lambda () #t) + (lambda () + (ensure-latest-database-schema db) + (proc db)) + (lambda () (sqlite-close db))))) + +(define (ensure-latest-database-schema db) + "Ensure DB follows the latest known version of the schema." + (define (initialize) + (sqlite-exec db %db-schema) + (insert-version db %db-schema-version)) + + (let ((version (false-if-exception (read-version db)))) + (cond ((not version) + (initialize)) + ((> version %db-schema-version) + (initialize)) + (else + (catch #t + (lambda () + ;; Migrate from the current version to the full migrated schema. + ;; This can raise sqlite-error if the db is not properly configured yet + (let loop ((current version)) + (when (< current %db-schema-version) + ;; when the current db version is older than the current application + (let* ((next (+ current 1)) + (migration (assoc-ref schema-to-migrate next))) + (when migration + (sqlite-exec db migration) + (insert-version db next)) + (loop next))))) + (lambda _ + ;; Exception handler in case failure to read an inexisting db: + ;; fallback to bootstrap the schema. + (initialize))))))) + +(define (last-insert-row-id db) ;XXX: copied from (guix store database) + ;; XXX: (sqlite3) currently lacks bindings for 'sqlite3_last_insert_rowid'. + ;; Work around that. + (define stmt + (sqlite-prepare db "SELECT last_insert_rowid();" + #:cache? #t)) + (match (sqlite-fold cons '() stmt) + ((#(id)) id) + (_ #f))) + +(define (insert-version db version) + "Insert application VERSION into the DB." + (define stmt-insert-version + (sqlite-prepare db "\ +INSERT OR IGNORE INTO SchemaVersion(version, date, store) +VALUES (:version, CURRENT_TIMESTAMP, :store);" + #:cache? #t)) + (sqlite-exec db "begin immediate;") + (sqlite-bind-arguments stmt-insert-version + #:version version + #:store (%store-prefix)) + (sqlite-fold (const #t) #t stmt-insert-version) + (sqlite-exec db "commit;")) + +(define (read-version db) + "Read the current application version from the DB." + + (define stmt-select-version (sqlite-prepare db "\ +SELECT version FROM SchemaVersion ORDER BY version DESC LIMIT 1;" + #:cache? #f)) + (match (sqlite-fold cons '() stmt-select-version) + ((#(version)) + version))) + +(define user-database-file + ;; Default user database file name. + (string-append (cache-directory #:ensure? #f) + "/locate/db.sqlite")) + +(define system-database-file + ;; System-wide database file name. + (string-append %localstatedir "/cache/guix/locate/db.sqlite")) + +(define (suitable-database create?) + "Return a suitable database file. When CREATE? is true, the returned +database will be opened for writing; otherwise, return the most recent one, +user or system." + (if (zero? (getuid)) + system-database-file + (if create? + user-database-file + (let ((system (stat system-database-file #f)) + (user (stat user-database-file #f))) + (if user + (if (and system (> (stat:mtime system) (stat:mtime user))) + system-database-file + user-database-file) + (if system + system-database-file + user-database-file)))))) + +(define (clear-database db) + "Drop packages and files from DB." + (sqlite-exec db "BEGIN IMMEDIATE;") + (sqlite-exec db "DELETE FROM Files;") + (sqlite-exec db "DELETE FROM Directories;") + (sqlite-exec db "DELETE FROM Packages;") + (sqlite-exec db "COMMIT;") + (sqlite-exec db "VACUUM;")) + +(define (print-statistics file) + "Print statistics about the database in FILE." + (define (count db table) + (define stmt + (sqlite-prepare + db (string-append "SELECT COUNT(*) FROM " table ";"))) + + (match (sqlite-fold cons '() stmt) + ((#(number)) number))) + + (call-with-database file + (lambda (db) + (format #t (G_ "schema version:\t~a~%") + (read-version db)) + (format #t (G_ "number of packages:\t~9h~%") + (count db "Packages")) + (format #t (G_ "number of files:\t~9h~%") + (count db "Files")) + (format #t (G_ "database size:\t~9h MiB~%") + (inexact->exact + (round (/ (stat:size (stat file)) + (expt 2 20)))))))) + + +;;; +;;; Indexing from local packages. +;;; + +(define (insert-files db package version outputs directories) + "Insert DIRECTORIES files belonging to VERSION PACKAGE (with OUTPUTS)." + (define stmt-select-package + (sqlite-prepare db "\ +SELECT id FROM Packages WHERE name = :name AND version = :version LIMIT 1;" + #:cache? #t)) + + (define stmt-insert-package + (sqlite-prepare db "\ +INSERT OR IGNORE INTO Packages(name, version, output) +VALUES (:name, :version, :output);" + #:cache? #t)) + + (define stmt-select-directory + (sqlite-prepare db "\ +SELECT id FROM Directories WHERE package = :package;" + #:cache? #t)) + + (define stmt-insert-directory + (sqlite-prepare db "\ +INSERT OR IGNORE INTO Directories(name, package) -- to avoid spurious writes +VALUES (:name, :package);" + #:cache? #t)) + + (define stmt-insert-file + (sqlite-prepare db "\ +INSERT OR IGNORE INTO Files(name, basename, directory) +VALUES (:name, :basename, :directory);" + #:cache? #t)) + + (sqlite-exec db "begin immediate;") + ;; 1 record per output + (for-each (lambda (output) + (sqlite-reset stmt-insert-package) + (sqlite-bind-arguments stmt-insert-package + #:name package + #:version version + #:output output) + (sqlite-fold (const #t) #t stmt-insert-package)) + outputs) + (sqlite-bind-arguments stmt-select-package + #:name package + #:version version) + (match (sqlite-fold cons '() stmt-select-package) + ((#(package-id)) + (for-each (lambda (directory) + (define (strip file) + (string-drop file (+ (string-length directory) 1))) + + ;; If there's already a directory associated with PACKAGE-ID, + ;; not necessarily the same directory, skip it. That keeps + ;; the database slimmer at the expense of not recording + ;; variants of the same package; it also makes indexing + ;; faster. + (sqlite-reset stmt-select-directory) + (sqlite-bind-arguments stmt-select-directory + #:package package-id) + (when (null? (sqlite-fold cons '() stmt-select-directory)) + ;; DIRECTORY is missing so insert it and traverse it. + (sqlite-reset stmt-insert-directory) + (sqlite-bind-arguments stmt-insert-directory + #:name (store-path-base directory) + #:package package-id) + (sqlite-fold (const #t) #t stmt-insert-directory) + + (let ((directory-id (last-insert-row-id db))) + (for-each (lambda (file) + ;; If DIRECTORY is a symlink, (find-files + ;; DIRECTORY) returns the DIRECTORY singleton. + (unless (string=? file directory) + (sqlite-reset stmt-insert-file) + (sqlite-bind-arguments stmt-insert-file + #:name (strip file) + #:basename + (basename file) + #:directory + directory-id) + (sqlite-fold (const #t) #t stmt-insert-file))) + (find-files directory))))) + directories))) + (sqlite-exec db "commit;")) + +(define (insert-package db package) + "Insert all the files of PACKAGE into DB." + (define stmt-select-package-output + (sqlite-prepare db "\ +SELECT output FROM Packages WHERE name = :name AND version = :version" + #:cache? #t)) + + (define (known-outputs package) + ;; Return the list of outputs of PACKAGE already in DB. + (sqlite-bind-arguments stmt-select-package-output + #:name (package-name package) + #:version (package-version package)) + (match (sqlite-fold cons '() stmt-select-package-output) + ((#(outputs ...)) outputs) + (() '()))) + + (with-monad %store-monad + ;; Since calling 'package->derivation' is expensive, do not call it if the + ;; outputs of PACKAGE at VERSION are already in DB. + (munless (lset= string=? + (known-outputs package) + (package-outputs package)) + (mlet %store-monad ((drv (package->derivation package #:graft? #f))) + (match (derivation->output-paths drv) + (((labels . directories) ...) + (when (every file-exists? directories) + (insert-files + db (package-name package) (package-version package) (package-outputs package) + directories)) + (return #t))))))) + +(define (insert-packages-with-progress db packages insert-package) + "Insert PACKAGES into DB with progress bar reporting, calling INSERT-PACKAGE +for each package to insert." + (let* ((count (length packages)) + (prefix (format #f (G_ "indexing ~h packages") count)) + (progress (progress-reporter/bar count prefix))) + (call-with-progress-reporter progress + (lambda (report) + (for-each (lambda (package) + (insert-package db package) + (report)) + packages))))) + +(define (index-packages-from-store-with-db db) + "Index local store packages using DB." + (with-store store + (parameterize ((%graft? #f)) + (define (insert-package-from-store db package) + (run-with-store store (insert-package db package))) + (let ((packages (fold-packages + cons + '() + #:select? (lambda (package) + (and (not (hidden-package? package)) + (not (package-superseded package)) + (supported-package? package)))))) + (insert-packages-with-progress + db packages insert-package-from-store))))) + + +;;; +;;; Indexing from local profiles. +;;; + +(define (all-profiles) + "Return the list of system profiles." + (delete-duplicates + (filter-map (lambda (root) + (if (file-exists? (string-append root "/manifest")) + root + (let ((root (string-append root "/profile"))) + (and (file-exists? (string-append root "/manifest")) + root)))) + (gc-roots)))) + +(define (profiles->manifest-entries profiles) + "Return deduplicated manifest entries across all PROFILES." + (let loop ((visited (set)) + (profiles profiles) + (entries '())) + (match profiles + (() + entries) + ((profile . rest) + (let* ((manifest (profile-manifest profile)) + (entries visited + (fold2 (lambda (entry lst visited) + (let ((item (manifest-entry-item entry))) + (if (set-contains? visited item) + (values lst visited) + (values (cons entry lst) + (set-insert item + visited))))) + entries + visited + (manifest-transitive-entries manifest)))) + (loop visited rest entries)))))) + +(define (insert-manifest-entry db entry) + "Insert a manifest ENTRY into DB." + (insert-files db (manifest-entry-name entry) + (manifest-entry-version entry) + (list (manifest-entry-output entry)) + (list (manifest-entry-item entry)))) ;FIXME: outputs? + +(define (index-packages-from-manifests-with-db db) + "Index packages entries into DB from the system manifests." + (info (G_ "traversing local profile manifests...~%")) + (let ((entries (profiles->manifest-entries (all-profiles)))) + (insert-packages-with-progress db entries insert-manifest-entry))) + + + +;;; +;;; Search. +;;; + +(define-record-type + (package-match name version output file) + package-match? + (name package-match-name) + (version package-match-version) + (output package-match-output) + (file package-match-file)) + +(define* (matching-packages db file #:key glob?) + "Return a list of records, one for each package containing +FILE. When GLOB? is true, interpret FILE as a glob pattern." + (define match-stmt + (if glob? + "f.basename GLOB :file" + "f.basename = :file")) + + (define lookup-stmt + (sqlite-prepare db (string-append "\ +SELECT p.name, p.version, p.output, d.name, f.name +FROM Packages p +INNER JOIN Files f, Directories d +ON " match-stmt " + AND d.id = f.directory + AND p.id = d.package;"))) + + (define prefix + (match (sqlite-fold (lambda (value _) value) + #f + (sqlite-prepare db "SELECT store FROM SchemaVersion;")) + (#(prefix) prefix))) + + (sqlite-bind-arguments lookup-stmt #:file file) + (sqlite-fold (lambda (result lst) + (match result + (#(package version output directory file) + (cons (package-match package version output + (string-append prefix "/" + directory "/" file)) + lst)))) + '() lookup-stmt)) + +(define (print-matching-results matches) + "Print the MATCHES matching results." + (for-each (lambda (result) + (let ((name (package-match-name result)) + (version (package-match-version result)) + (output (package-match-output result)) + (file (package-match-file result))) + (format #t "~20a ~a~%" + (string-append name "@" version + (match output + ("out" "") + (_ (string-append ":" output)))) + file))) + matches)) + + +;;; +;;; Options. +;;; + +(define (show-help) + (display (G_ "Usage: guix locate [OPTIONS...] FILE... +Locate FILE and return the list of packages that contain it.\n")) + (display (G_ " + -g, --glob interpret FILE as a glob pattern")) + (display (G_ " + --stats display database statistics")) + (display (G_ " + -u, --update force a database update")) + (display (G_ " + --clear clear the database")) + (display (G_ " + --database=FILE store the database in FILE")) + (newline) + (display (G_ " + --method=METHOD use METHOD to select packages to index; METHOD can + be 'manifests' (fast) or 'store' (slower)")) + (newline) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (show-bug-report-information)) + +(define %options + (list (option '(#\h "help") #f #f + (lambda args (show-help) (exit 0))) + (option '(#\V "version") #f #f + (lambda (opt name arg result) + (show-version-and-exit "guix locate"))) + (option '(#\g "glob") #f #f + (lambda (opt name arg result) + (alist-cons 'glob? #t result))) + (option '("stats") #f #f + (lambda (opt name arg result) + (alist-cons 'stats? #t result))) + (option '("database") #f #t + (lambda (opt name arg result) + (alist-cons 'database (const arg) + (alist-delete 'database result)))) + (option '(#\u "update") #f #f + (lambda (opt name arg result) + (alist-cons 'update? #t result))) + (option '("clear") #f #f + (lambda (opt name arg result) + (alist-cons 'clear? #t result))) + (option '(#\m "method") #f #t + (lambda (opt name arg result) + (match arg + ((or "manifests" "store") + (alist-cons 'method (string->symbol arg) + (alist-delete 'method result))) + (_ + (leave (G_ "~a: unknown indexing method~%")))))))) + +(define %default-options + `((database . ,suitable-database) + (method . manifests))) + + +;;; +;;; Entry point. +;;; + +(define-command (guix-locate . args) + (category packaging) + (synopsis "search for packages providing a given file") + + (define age-update-threshold + ;; Time since database modification after which an update is triggered. + (* 2 30 (* 24 60 60))) + + (define age-cleanup-threshold + ;; Time since database modification after which it is cleared. This is to + ;; avoid having stale info in the database and an endlessly growing + ;; database. + (* 9 30 (* 24 60 60))) + + (define (file-age stat) + ;; Return true if TIME denotes an "old" time. + (- (current-time) (stat:mtime stat))) + + (with-error-handling + (let* ((opts (parse-command-line args %options + (list %default-options) + #:build-options? #f + #:argument-handler + (lambda (arg result) + (alist-cons 'argument arg + result)))) + (clear? (assoc-ref opts 'clear?)) + (update? (assoc-ref opts 'update?)) + (glob? (assoc-ref opts 'glob?)) + (database ((assoc-ref opts 'database) update?)) + (method (assoc-ref opts 'method)) + (files (reverse (filter-map (match-lambda + (('argument . arg) arg) + (_ #f)) + opts)))) + (define* (populate-database database clear?) + (mkdir-p (dirname database)) + (call-with-database database + (lambda (db) + (when clear? + (clear-database db)) + (match method + ('manifests + (index-packages-from-manifests-with-db db)) + ('store + (index-packages-from-store-with-db db)) + (_ + (leave (G_ "~a: unknown indexing method~%") method)))))) + + ;; Populate the database if needed. + (let* ((stat (stat database #f)) + (age (and stat (file-age stat))) + (clear? (or clear? + (and age (>= age age-cleanup-threshold))))) + (when (or update? clear? + (not stat) + (>= age age-update-threshold)) + (when clear? + (info (G_ "clearing database...~%"))) + (info (G_ "indexing files from ~a...~%") (%store-prefix)) + (populate-database database clear?))) + + (if (assoc-ref opts 'stats?) + (print-statistics database) + (match (call-with-database database + (lambda (db) + (append-map (lambda (file) + (matching-packages db file + #:glob? glob?)) + files))) + (() + (if (null? files) + (unless update? + (leave (G_ "no files to search for~%"))) + (leave (N_ "file~{ '~a'~} not found in database '~a'~%" + "files~{ '~a'~} not found in database '~a'~%" + (length files)) + files database))) + (matches + (leave-on-EPIPE + (print-matching-results matches)))))))) diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 0431de522b..154ad4e530 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -111,6 +111,7 @@ guix/scripts/system.scm guix/scripts/system/edit.scm guix/scripts/system/search.scm guix/scripts/lint.scm +guix/scripts/locate.scm guix/scripts/publish.scm guix/scripts/edit.scm guix/scripts/size.scm diff --git a/tests/guix-locate.sh b/tests/guix-locate.sh new file mode 100755 index 0000000000..43f8ba53b0 --- /dev/null +++ b/tests/guix-locate.sh @@ -0,0 +1,72 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2023 Antoine R. Dumont +# Copyright © 2023 Ludovic Courtès +# +# 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 . + +# +# Test the 'guix locate' command-line utility. +# + +set -x + +RUN_EXPENSIVE_TESTS="${RUN_EXPENSIVE_TESTS:-false}" + +tmpdir="guix-index-$$" +# In the following tests, we use two different databases, one for each +# indexation method. +tmpdb_manifests="$tmpdir/manifests/db.sqlite" +tmpdb_store="$tmpdir/store/db.sqlite" +trap 'rm -rf "$tmpdir" "$tmpdb_store" "$tmpdb_manifests"' EXIT + +guix locate --version + +# Preparing db locations for both indexation methods. +mkdir -p "$(dirname "$tmpdb_manifests")" "$(dirname "$tmpdb_store")" + +cmd_manifests="guix locate --database=$tmpdb_manifests --method=manifests" +cmd_store="guix locate --database=$tmpdb_store --method=store" + +# Lookup without any db should fail. +guix locate --database="$tmpdb_manifests" guile && false +guix locate --database="$tmpdb_store" guile && false + +# Lookup without anything in db should yield no results because the indexer +# didn't stumble upon any profile. +test -z "$(guix locate --database="$tmpdb_manifests" guile)" + +# Install a package. +guix package --bootstrap --install guile-bootstrap \ + --profile="$tmpdir/profile" + +# Look for 'guile'. +$cmd_manifests --update +$cmd_manifests guile | grep "$(guix build guile-bootstrap)/bin/guile" +$cmd_manifests boot-9.scm | grep ^guile-bootstrap + +# Using a glob pattern. +$cmd_manifests -g '*.scm' | grep "^guile-bootstrap.*boot-9" + +# Statistics. +$cmd_manifests --stats + +if $RUN_EXPENSIVE_TESTS +then + $cmd_store --update + $cmd_store guile + $cmd_store guile | grep "$(guix build guile-bootstrap)/bin/guile" + $cmd_store boot-9.scm | grep ^guile-bootstrap +fi From bf9afedef9c55aa0092b562077d9f2c743d9a29c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 7 Jun 2023 23:55:45 +0200 Subject: [PATCH 232/310] news: Add entry for 'guix locate'. * etc/news.scm: Add entry. Co-authored-by: Florian Pelz --- etc/news.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 314f0ab352..91232d049c 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -26,6 +26,55 @@ (channel-news (version 0) + (entry (commit "1b7aabbc79969a89141aadd3d41d7a5329a3462e") + (title + (en "New @command{guix locate} command") + (de "Neuer Befehl @command{guix locate}") + (fr "Nouvelle command @command{guix locate}")) + (body + (en "The new @command{guix locate} command lets you search for +packages containing a given file---at long last! For instance, to find which +package(s) provide a file named @file{ls}, run: + +@example +guix locate ls +@end example + +Currently the command relies on purely local information. It is thus unable +to find packages that have not reached your store. This limitation will be +lifted in a future revision. + +Run @command{info \"(guix) Invoking guix locate\"} for more info.") + (de "Mit dem neuen Befehl @command{guix locate} können Sie nach +Paketen suchen, die eine angegebene Datei enthalten — endlich ist es +soweit! Um zum Beispiel das Paket bzw.@: die Pakete zu finden, die eine +Datei namens @file{ls} bereitstellen, führen Sie aus: + +@example +guix locate ls +@end example + +Derzeit benutzt der Befehl ausschließlich lokal vorliegende +Informationen. Daher können Sie damit nur Pakete finden, die sich in +Ihrem Store-Verzeichnis befinden. Diese Einschränkung werden wir in +einer zukünftigen Version aufheben. + +Führen Sie @command{info \"(guix) Invoking guix locate\"} aus, um mehr zu +erfahren.") + (fr "La nouvelle commande @command{guix locate} permet de chercher le +ou les paquets contenant un fichier donné---enfin ! Par exemple, pour trouver +quel paquet fournit un fichier nommé @file{ls}, on lance : + +@example +guix locate ls +@end example + +Pour le moment la commande se base uniquement sur des informations locales. +Elle ne peut donc pas trouver des paquets dans votre dépôt. Cette limitation +sera levée dans une prochaine version. + +Lancer @command{info \"(guix) Invoking guix locate\"} pour plus d'informations."))) + (entry (commit "ba5da5125a81307500982517e2f458d57b024668") (title (en "New @code{arguments} rule for @command{guix style}") From 58949b72ce34cab833d95ff0f1b8799803564834 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 15 Jun 2023 08:36:12 -0400 Subject: [PATCH 233/310] gnu: python-pyzmq: Reinstate two tests. * gnu/packages/python-xyz.scm (python-pyzmq) [arguments]: Reinstate the test_auth and test_zmqstream tests, fixed in the last 25.1.0 version. --- gnu/packages/python-xyz.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cdffc3ad67..81d3ec5d95 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11879,11 +11879,7 @@ applications.") (lambda _ ;; FIXME: The test_draft.TestDraftSockets test fails with: ;; zmq.error.Again: Resource temporarily unavailable - (delete-file "zmq/tests/test_draft.py") - ;; These tests appear to depend on a working name resolver (see: - ;; https://github.com/zeromq/pyzmq/issues/1853). - (delete-file "zmq/tests/test_auth.py") - (delete-file "zmq/tests/test_zmqstream.py"))) + (delete-file "zmq/tests/test_draft.py"))) (add-before 'check 'build-extensions (lambda _ ;; Cython extensions have to be built before running the tests. From a463eeb62328e7b1ee9054a21e758a31b7a26468 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 16 May 2023 17:17:26 -0400 Subject: [PATCH 234/310] gnu: Add renameat2. * gnu/packages/c.scm (renameat2): New variable. --- gnu/packages/c.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index e8bde0133d..e04538d8f3 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1375,6 +1375,41 @@ sequentially or in parallel, with optional synchronization in between, and GCD will take care of dispatching tasks to available cores.") (license license:asl2.0))) +(define-public renameat2 + ;; This is a Gist, with no release or tags. + (let ((revision "0") + (commit "5c5193f20142511a5fc7069a539f4e5aba0ea470")) + (package + (name "renameat2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method url-fetch) + (uri (string-append "https://gist.githubusercontent.com/" + "eatnumber1/f97ac7dad7b1f5a9721f/raw/" + commit "/renameat2.c")) + (sha256 + (base32 + "07b4hsxqjm610sdkm4nxhp0gnl2s7gzlh4zdnja5ay40v4x24bb9")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke #$(cc-for-target) "renameat2.c" + "-o" "renameat2"))) + (replace 'install + (lambda _ + (install-file "renameat2" + (string-append #$output "/bin"))))))) + (home-page "https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f") + (synopsis "Command to call the renameat2 Linux system call") + (description "This package provides a @command{renameat2} command that +calls the Linux-specific @code{renameat2} system call.") + (license license:expat)))) + (define-public utf8-h ;; The latest tag is used as there is no release. (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") From dc90c0807d0a46cdd4b0a2c2b3f9becca9f97285 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 18 Jun 2023 22:30:34 -0400 Subject: [PATCH 235/310] gnu: renameat2: Move to (gnu packages linux). Being Linux-specific, that's probably a better home. * gnu/packages/c.scm (renameat2): Move to... * gnu/packages/linux.scm (renameat2): ... here. --- gnu/packages/c.scm | 35 ----------------------------------- gnu/packages/linux.scm | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index e04538d8f3..e8bde0133d 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1375,41 +1375,6 @@ sequentially or in parallel, with optional synchronization in between, and GCD will take care of dispatching tasks to available cores.") (license license:asl2.0))) -(define-public renameat2 - ;; This is a Gist, with no release or tags. - (let ((revision "0") - (commit "5c5193f20142511a5fc7069a539f4e5aba0ea470")) - (package - (name "renameat2") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method url-fetch) - (uri (string-append "https://gist.githubusercontent.com/" - "eatnumber1/f97ac7dad7b1f5a9721f/raw/" - commit "/renameat2.c")) - (sha256 - (base32 - "07b4hsxqjm610sdkm4nxhp0gnl2s7gzlh4zdnja5ay40v4x24bb9")))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ;no test suite - #:phases #~(modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (invoke #$(cc-for-target) "renameat2.c" - "-o" "renameat2"))) - (replace 'install - (lambda _ - (install-file "renameat2" - (string-append #$output "/bin"))))))) - (home-page "https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f") - (synopsis "Command to call the renameat2 Linux system call") - (description "This package provides a @command{renameat2} command that -calls the Linux-specific @code{renameat2} system call.") - (license license:expat)))) - (define-public utf8-h ;; The latest tag is used as there is no release. (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 546436151c..52fb883467 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -9737,6 +9737,41 @@ These trace events are logged in @file{/sys/kernel/debug/tracing} and reported through standard log mechanisms like syslog.") (license license:gpl2))) +(define-public renameat2 + ;; This is a Gist, with no release or tags. + (let ((revision "0") + (commit "5c5193f20142511a5fc7069a539f4e5aba0ea470")) + (package + (name "renameat2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method url-fetch) + (uri (string-append "https://gist.githubusercontent.com/" + "eatnumber1/f97ac7dad7b1f5a9721f/raw/" + commit "/renameat2.c")) + (sha256 + (base32 + "07b4hsxqjm610sdkm4nxhp0gnl2s7gzlh4zdnja5ay40v4x24bb9")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke #$(cc-for-target) "renameat2.c" + "-o" "renameat2"))) + (replace 'install + (lambda _ + (install-file "renameat2" + (string-append #$output "/bin"))))))) + (home-page "https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f") + (synopsis "Command to call the renameat2 Linux system call") + (description "This package provides a @command{renameat2} command that +calls the Linux-specific @code{renameat2} system call.") + (license license:expat)))) + (define-public libgpiod (package (name "libgpiod") From 93ba5f77ad6ce7a5c94b716e7fe9ada49e2f0523 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 19 Jun 2023 09:45:47 +0200 Subject: [PATCH 236/310] gnu: libsecp256k1: Update to 0.3.2. * gnu/packages/crypto.scm (libsecp256k1): Update to 0.3.2. [arguments]: Update 'configure-flags'. [description]: Add new items. [license]: Switch to expat. --- gnu/packages/crypto.scm | 69 +++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index fe1f04d2dd..9b89c7d545 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1099,48 +1099,49 @@ trivial to build for local use. Portability is emphasized over performance.") (license license:unlicense))) (define-public libsecp256k1 - (let ((commit "dbd41db16a0e91b2566820898a3ab2d7dad4fe00")) - (package - (name "libsecp256k1") - (version (git-version "20200615" "1" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bitcoin-core/secp256k1") - (commit commit))) - (sha256 - (base32 - "1fcpnksq5cqwqzshn5f0lq94b73p3frwbp04hgmmbnrndpqg6mpy")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--enable-module-recovery" - "--enable-experimental" - "--enable-module-ecdh" - "--enable-shared"))) - (native-inputs - (list autoconf automake libtool)) - ;; WARNING: This package might need additional configure flags to run properly. - ;; See https://github.com/archlinux/svntogit-community/blob/packages/libsecp256k1/trunk/PKGBUILD. - (synopsis "C library for EC operations on curve secp256k1") - (description - "Optimized C library for EC operations on curve secp256k1. - -This library is a work in progress and is being used to research best -practices. Use at your own risk. + (package + (name "libsecp256k1") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bitcoin-core/secp256k1") + (commit (string-append "v" version)))) + (sha256 + (base32 + "12wksk7bi3yfzmk1zwh5b6846zcaycqz1w4w4p23apjc8da4jwpn")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--enable-module-recovery" + "--enable-experimental" + "--enable-module-ecdh" + "--enable-module-schnorrsig" + "--enable-shared" + "--disable-static" + "--disable-benchmark"))) + (native-inputs + (list autoconf automake libtool)) + (synopsis "C library for EC operations on curve secp256k1") + (description + "Optimized C library for EC operations on curve secp256k1. Features: @itemize @item secp256k1 ECDSA signing/verification and key generation. -@item Adding/multiplying private/public keys. +@item Additive and multiplicative tweaking of secret/public keys. @item Serialization/parsing of private keys, public keys, signatures. -@item Constant time, constant memory access signing and pubkey generation. -@item Derandomized DSA (via RFC6979 or with a caller provided function.) +@item Constant time, constant memory access signing and public key generation. +@item Derandomized ECDSA (via RFC6979 or with a caller provided function.) @item Very efficient implementation. +@item Suitable for embedded systems. +@item No runtime dependencies. +@item Optional module for public key recovery. +@item Optional module for ECDH key exchange. +@item Optional module for Schnorr signatures according to BIP-340. @end itemize\n") - (home-page "https://github.com/bitcoin-core/secp256k1") - (license license:unlicense)))) + (home-page "https://github.com/bitcoin-core/secp256k1") + (license license:expat))) (define-public libsecp256k1-bitcoin-cash (package From 1d74724fd3239cb6913737f6527a00d64897ec22 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 19 Jun 2023 10:45:07 +0200 Subject: [PATCH 237/310] gnu: electrum: Update to 4.4.4. * gnu/packages/finance.scm (electrum): Update to 4.4.4. [arguments]: Remove 'fix-prefix' and 'relax-dnspython-version-requirement' phases. Update 'use-libsecp256k1-input' phase. --- gnu/packages/finance.scm | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 2a4929ccd0..038068fbdc 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -547,7 +547,7 @@ do so.") (define-public electrum (package (name "electrum") - (version "4.3.2") + (version "4.4.4") (source (origin (method url-fetch) @@ -555,13 +555,12 @@ do so.") version "/Electrum-" version ".tar.gz")) (sha256 - (base32 "1kbyinm9fnxpx9chkyd11yr9rxvcxvw3ml7kzvxcfa8v7jnl0dmx")) + (base32 "05xzafv8ry5k5mzn3i4l71d42q42kjl81q154i97qmqiy3s2fhkb")) (modules '((guix build utils))) (snippet '(begin ;; Delete the bundled dependencies. - (delete-file-recursively "packages") - #t)))) + (delete-file-recursively "packages"))))) (build-system python-build-system) (inputs (list libsecp256k1 @@ -585,31 +584,13 @@ do so.") `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-prefix - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; setup.py installs to ~/.local/share if sys.prefix/share isn't - ;; writable. sys.prefix points to Python's, not our, --prefix. - (mkdir-p (string-append out "/share")) - (substitute* "setup.py" - (("sys\\.prefix") - (format #f "\"~a\"" out))) - #t))) - (add-after 'unpack 'relax-dnspython-version-requirement - ;; The version requirement for dnspython>=2.0,<2.1 makes the - ;; sanity-check phase fail, but the application seems to be working - ;; fine with dnspython 2.1 (the version we have currently). - (lambda _ - (substitute* "contrib/requirements/requirements.txt" - (("dnspython>=.*") - "dnspython")))) (add-after 'unpack 'use-libsecp256k1-input (lambda* (#:key inputs #:allow-other-keys) (substitute* "electrum/ecc_fast.py" - (("library_paths = .* 'libsecp256k1.so.0'.") - (string-append "library_paths = ('" + (("library_paths = \\[\\]") + (string-append "library_paths = ['" (assoc-ref inputs "libsecp256k1") - "/lib/libsecp256k1.so.0'")))))))) + "/lib/libsecp256k1.so']")))))))) (home-page "https://electrum.org/") (synopsis "Bitcoin wallet") (description From 965ac337477c2c0ae8d5ebc711097e5e45f17c41 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 19 Jun 2023 11:06:59 +0200 Subject: [PATCH 238/310] gnu: electron-cash: Update to 4.3.1. * gnu/packages/finance.scm (electron-cash): Update to 4.3.1. --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 038068fbdc..2da4ad4460 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -603,7 +603,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.14") + (version "4.3.1") (source (origin (method git-fetch) @@ -612,7 +612,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "086rqqxxh1dmw1qiwmry6sraai3xg44sb85wdw8zkj30si9780kk")))) + (base32 "0slx7hmlw2gpcqg951vwvnyl7j52pfzqyaldphghhfxbfzjs7v64")))) (build-system python-build-system) (arguments (list From c6ff9343370521631dc13cca6cf793df202e9362 Mon Sep 17 00:00:00 2001 From: Juliana Sims Date: Sat, 17 Jun 2023 14:37:00 -0400 Subject: [PATCH 239/310] gnu: ruby-loofah: Update to 2.21.3. * gnu/packages/ruby.scm (ruby-loofah): Update to 2.21.3. Signed-off-by: Christopher Baines --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f28ad97e11..0fa68be980 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7596,7 +7596,7 @@ you about the changes.") (define-public ruby-loofah (package (name "ruby-loofah") - (version "2.13.0") + (version "2.21.3") (home-page "https://github.com/flavorjones/loofah") (source (origin @@ -7607,7 +7607,7 @@ you about the changes.") (file-name (git-file-name name version)) (sha256 (base32 - "0rmsm7mckiq0gslfqdl02yvn500n42v84gq28qjqn4yq9jwfs9ga")))) + "1lh7cf56y1b0h090ahphvz7grq581phsamdl0rq59y0q9bqwrhg0")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe ruby-hoe-markdown ruby-rr)) From c63e6652861d8ed85ffa91d568e69053478a1511 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Fri, 16 Jun 2023 19:52:34 -0400 Subject: [PATCH 240/310] gnu: swaynotificationcenter: Update to 0.8.0. * gnu/packages/wm.scm (swaynotificationcenter): Update to 0.8.0. [inputs]: Add libgee and pulseaudio. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index c380abc0e8..50e10b0a67 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1779,7 +1779,7 @@ display a clock or apply image manipulation techniques to the background image." (define-public swaynotificationcenter (package (name "swaynotificationcenter") - (version "0.7.3") + (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -1787,7 +1787,7 @@ display a clock or apply image manipulation techniques to the background image." (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xvr5m5sqznr3dd512i5pk0d56v7n0ywdcy6rnz85vbf2k7b6kj5")))) + (base32 "1c3gd6mlr209jzzrh5jmws2lawnn3gr6smvzcw74kkpi3wvs7l0k")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "-Dsystemd-service=false"))) (native-inputs @@ -1803,6 +1803,8 @@ display a clock or apply image manipulation techniques to the background image." gtk+ gtk-layer-shell libhandy + libgee + pulseaudio wayland-protocols)) (synopsis "Notification daemon with a graphical interface") (description From 1b9330d8b5b26a47a9a60d16713f62dd221c51ce Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Thu, 27 Apr 2023 11:42:55 -0400 Subject: [PATCH 241/310] gnu: wlroots: Update to 0.16.2. * gnu/packages/wm.scm (wlroots): Update to 0.16.2. [home-page]: Switch to new upstream homepage. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 50e10b0a67..31ac5cc648 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1584,7 +1584,7 @@ functionality to display information about the most commonly used services.") (define-public wlroots (package (name "wlroots") - (version "0.16.1") + (version "0.16.2") (source (origin (method git-fetch) @@ -1593,7 +1593,7 @@ functionality to display information about the most commonly used services.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11kcica9waj1a1xgbi12gif9z5z0b4xzycbcgawbgdmj77pws8sk")))) + (base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15")))) (build-system meson-build-system) (arguments `(#:phases @@ -1628,7 +1628,7 @@ functionality to display information about the most commonly used services.") (list `(,hwdata "pnp") pkg-config)) - (home-page "https://github.com/swaywm/wlroots") + (home-page "https://gitlab.freedesktop.org/wlroots/wlroots/") (synopsis "Pluggable, composable, unopinionated modules for building a Wayland compositor") (description "wlroots is a set of pluggable, composable, unopinionated From 49cd552866f2b18db0c02a8a8768a28935fe6de1 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Thu, 27 Apr 2023 11:42:56 -0400 Subject: [PATCH 242/310] gnu: sway: Update to 1.8.1. * gnu/packages/wm.scm (sway): Update to 1.8.1. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 31ac5cc648..6196ba86e2 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1638,7 +1638,7 @@ modules for building a Wayland compositor.") (define-public sway (package (name "sway") - (version "1.8") + (version "1.8.1") (source (origin (method git-fetch) @@ -1647,7 +1647,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "17dqr2lkmcv2ssp7vky27zw599i77whpb1aqh1s6kl8a8vkrz6mg")))) + (base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av")))) (build-system meson-build-system) (arguments `(;; elogind is propagated by wlroots -> libseat From 17dcdbc490ef637cbf26d2ff70edfc56fb06c69c Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 28 Apr 2023 23:15:34 -0700 Subject: [PATCH 243/310] gnu: python-cython-next: Update to 3.0.0b2. * gnu/packages/python-xyz.scm (python-cython-next): Update to 3.0.0b2. Signed-off-by: Christopher Baines --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 81d3ec5d95..af9dd45d6e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6916,13 +6916,13 @@ writing C extensions for Python as easy as Python itself.") ;; Cython 3 is not officially released yet, so distinguish the name ;; for now. (name "python-cython-next") - (version "3.0.0a10") + (version "3.0.0b2") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "17fqacrpis05w1rpi7d7sbimrk20xf8h6d3vrz5nf6ix3899abil")))) + "0mb7gpavs87am29sbk6yqznsybxj9dk4fwj4370j9sbrcmjq0hkc")))) (properties '()))) ;; NOTE: when upgrading numpy please make sure that python-numba, From 3acd924f2ae2a5af41aacbcd615f2221acb53d9e Mon Sep 17 00:00:00 2001 From: Sughosha Date: Sat, 29 Apr 2023 12:19:35 +0000 Subject: [PATCH 244/310] gnu: ardour: Update to 7.4. * gnu/packages/audio.scm (ardour): Update to 7.4. [inputs]: Remove boost. [native-inputs]: Add boost. Signed-off-by: Christopher Baines --- gnu/packages/audio.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 58a981b2fe..df6b2d4957 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -738,7 +738,7 @@ purposes developed at Queen Mary, University of London.") (define-public ardour (package (name "ardour") - (version "7.3") + (version "7.4") (source (origin (method git-fetch) (uri (git-reference @@ -755,7 +755,7 @@ purposes developed at Queen Mary, University of London.") namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }"))))) (sha256 (base32 - "0bkhrgswhc9y1ly8nfg8hpwad77cgbr663dgj86h3aisljc4cdkw")) + "0v66h9fghjyjinldw9yfhhlfi3my235x6n4dpxx432z35lka2h89")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments @@ -799,7 +799,6 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \ (list alsa-lib atkmm aubio - boost cairomm curl dbus @@ -844,7 +843,8 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \ taglib vamp)) (native-inputs - (list cppunit + (list boost + cppunit gettext-minimal itstool perl From 4d9ddeef3ad126725c99c56a4860a4b44a72d4a3 Mon Sep 17 00:00:00 2001 From: Kaelyn Takata Date: Tue, 13 Jun 2023 21:26:08 +0000 Subject: [PATCH 245/310] gnu: zfs: Update to 2.1.12. * gnu/packages/file-systems.scm (zfs): Update to 2.1.12. Signed-off-by: Christopher Baines --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 536b01f2f7..dd84696316 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1364,7 +1364,7 @@ with the included @command{xfstests-check} helper.") (define-public zfs (package (name "zfs") - (version "2.1.11") + (version "2.1.12") (outputs '("out" "module" "src")) (source (origin @@ -1373,7 +1373,7 @@ with the included @command{xfstests-check} helper.") "/download/zfs-" version "/zfs-" version ".tar.gz")) (sha256 - (base32 "1cnfv3adk7prl6b8r3nw62y6dbjy2q7ai68p9xc0g8nhaklf8kx5")))) + (base32 "0vbf9kfryprb2mbb65jllf6xpsy44xskshglyqqwj4iyxmma5nk4")))) (build-system linux-module-build-system) (arguments (list From f2be1ea06af6a0bf02c23e5bdf90b1e09c5d39f0 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 17 Jun 2023 14:40:10 +0000 Subject: [PATCH 246/310] gnu: libjxl: Update to 0.8.2. * gnu/packages/image.scm (libjxl): Update to 0.8.2. [source]: Remove lcms, libpng and zlib bundles in the snippet. [arguments]<#:configure-flags>: Add "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" and "-DJPEGXL_BUNDLE_LIBPNG=false". [inputs]: Add lcms, zlib. Signed-off-by: Christopher Baines --- gnu/packages/image.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2005243cf7..50af2001ad 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2020, 2023 Maxim Cournoyer ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Zhu Zihao -;;; Copyright © 2020, 2021, 2022 Vinicius Monego +;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego ;;; Copyright © 2021 Sharlatan Hellseher ;;; Copyright © 2021 Nicolò Balzarotti ;;; Copyright © 2021 Alexandr Vityazev @@ -2430,7 +2430,7 @@ Format) file format decoder and encoder.") (define-public libjxl (package (name "libjxl") - (version "0.7.0") + (version "0.8.2") (source (origin (method git-fetch) @@ -2440,23 +2440,24 @@ Format) file format decoder and encoder.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1ysh7kd30wwnq0gc1l8c0j9b6wzd15k0kkvfaacjvjqcz11lnc7l")) + (base32 "1alhnnxkwy5bdwahfsdh87xk9rg1s2fm3r9y2w11ka8p3n1ccwr3")) (modules '((guix build utils))) (snippet - ;; Delete the bundles that will not be used. libjxl bundles LCMS, - ;; which is in Guix, but a newer version is required. + ;; Delete the bundles that will not be used. '(begin (for-each (lambda (directory) (delete-file-recursively (string-append "third_party/" directory))) - '("brotli" "googletest" "highway")))))) + '("brotli" "googletest" "highway" "lcms" "libpng" + "zlib")))))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DJPEGXL_FORCE_SYSTEM_GTEST=true" "-DJPEGXL_FORCE_SYSTEM_BROTLI=true" - ;; "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" ; requires lcms@2.13 - "-DJPEGXL_FORCE_SYSTEM_HWY=true"))) + "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" + "-DJPEGXL_FORCE_SYSTEM_HWY=true" + "-DJPEGXL_BUNDLE_LIBPNG=false"))) (native-inputs (list asciidoc doxygen googletest pkg-config python)) (inputs @@ -2464,12 +2465,13 @@ Format) file format decoder and encoder.") gflags giflib imath - ;; lcms ; requires lcms@2.13 + lcms libavif libjpeg-turbo libpng libwebp - openexr)) + openexr + zlib)) ;; These are in Requires.private of libjxl.pc. (propagated-inputs (list brotli google-highway)) From da81784d60d495fc70fe4b113e525b7a4006789a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Jun 2023 13:41:51 +0300 Subject: [PATCH 247/310] gnu: image: Build partitions with only necessary inputs. * gnu/system/image.scm (system-disk-image)[partition-image]: Adjust the inputs used by the image-builder to only use the packages necessary to build that partition. --- gnu/system/image.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 958ba5cbb2..81346495c2 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -418,7 +418,14 @@ used in the image." (with-imported-modules* (let ((initializer (or #$(partition-initializer partition) initialize-root-partition)) - (inputs '#+(list e2fsprogs fakeroot dosfstools mtools)) + (inputs '#+(cond + ((string-prefix? "ext" type) + (list e2fsprogs fakeroot)) + ((or (string=? type "vfat") + (string-prefix? "fat" type)) + (list dosfstools fakeroot mtools)) + (else + '()))) (image-root "tmp-root")) (sql-schema #$schema) From d884fc9e2efecfba09af4694f5a13ad7fc6f704f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 19 Jun 2023 08:20:10 +0300 Subject: [PATCH 248/310] gnu: gnumeric: Use librsvg-for-system. * gnu/packages/gnome.scm (gnumeric)[inputs]: Replace librsvg with librsvg-for-system. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 22588ffe28..33db3f3c19 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4294,7 +4294,7 @@ Hints specification (EWMH).") gtk+ goffice libgsf - librsvg + (librsvg-for-system) libxml2 libxslt python From bb09f3ac002a4f34177d42fd3ea0332f4b7fe7a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 10:00:21 +0200 Subject: [PATCH 249/310] gnu: mu: Update to 1.10.3. * gnu/packages/mail.scm (mu): Update to 1.10.3. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8408d27e82..d098b3f268 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1208,7 +1208,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.10.2") + (version "1.10.3") (source (origin (method url-fetch) @@ -1216,7 +1216,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") version "/mu-" version ".tar.xz")) (sha256 (base32 - "0mj43lnxr11wg354q8svcqjc403b36igb7ia406yavw6xfk46w9f")))) + "0pr4w2afhansi151lx3145rsaf3gxfjx21y26p8jfg0nnvy70ff8")))) (build-system meson-build-system) (native-inputs (list pkg-config From 814f1f42ea020f585894c66ef1d2c2b3af311714 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Jun 2023 15:23:31 +0300 Subject: [PATCH 250/310] gnu: imv: Build with librsvg-for-system. * gnu/packages/image-viewers.scm (imv)[inputs]: Replace librsvg with librsvg-for-system. --- gnu/packages/image-viewers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 77500bad4f..8be3449c3f 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2017-2022 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015, 2016 Alex Kost -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner +;;; Copyright © 2016-2021, 2023 Efraim Flashner ;;; Copyright © 2017 Alex Griffin ;;; Copyright © 2017 Nikita ;;; Copyright © 2017 Mathieu Othacehe @@ -799,7 +799,7 @@ displayed in a terminal.") libjpeg-turbo libinih libnsgif - librsvg + (librsvg-for-system) libtiff libxkbcommon pango From c57337ebfd149162ef90d2944f52d9ba94813d0c Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Mon, 19 Jun 2023 21:35:53 +0200 Subject: [PATCH 251/310] gnu: emacs-piem: Do not propagate any inputs. * gnu/packages/emacs-xyz.scm (emacs-piem) [propagated-inputs]: Remove, moving emacs-elfeed and emacs-notmuch to... [inputs]: ...here. --- gnu/packages/emacs-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f46af73aec..416656f243 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8357,9 +8357,8 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") ("piem-b4-b4-executable" (search-input-file inputs "/bin/b4")))))))) (inputs - (list b4)) - (propagated-inputs - (list emacs-elfeed + (list b4 + emacs-elfeed emacs-notmuch)) (home-page "https://docs.kyleam.com/piem") (synopsis "Glue for working with public-inbox archives") From 392f9db97687bfb6195e65a28e1710f22b6cb972 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Mon, 19 Jun 2023 21:35:54 +0200 Subject: [PATCH 252/310] gnu: emacs-piem: Update to 0.5.0. * gnu/packages/emacs-xyz.scm (emacs-piem): Update to 0.5.0. [inputs]: Add emacs-debbugs. --- gnu/packages/emacs-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 416656f243..08d53be8a9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8337,7 +8337,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (define-public emacs-piem (package (name "emacs-piem") - (version "0.4.0") + (version "0.5.0") (source (origin (method git-fetch) @@ -8346,7 +8346,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z")))) + (base32 "0smdb1iph2q1xvxix5c93llckcxh7kmhg6pxgyrm88j736m4l16q")))) (build-system emacs-build-system) (arguments (list #:phases @@ -8358,6 +8358,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (search-input-file inputs "/bin/b4")))))))) (inputs (list b4 + emacs-debbugs emacs-elfeed emacs-notmuch)) (home-page "https://docs.kyleam.com/piem") From ed971aca3639eb1eb0952495739a44af449a1f60 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 1 Jun 2023 11:42:10 +0100 Subject: [PATCH 253/310] gnu: texlive-hyphen-package: Explicitly use ruby-2.7. As Ruby 3 looks to cause issues. * gnu/packages/tex.scm (texlive-hyphen-package)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/tex.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index b55dd2a5fd..e01f33304d 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -236,7 +236,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs - (list ruby ruby-hydra-minimal hyph-utf8-scripts)) + (list ruby-2.7 ruby-hydra-minimal hyph-utf8-scripts)) (home-page "https://ctan.org/pkg/hyph-utf8")))) (define texlive-extra-src From 8f8b11b95ad4a8aac25f83d2468491433365d195 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 1 Jun 2023 12:56:05 +0100 Subject: [PATCH 254/310] gnu: texlive-hyph-utf8: Explicitly use ruby-2.7. As Ruby 3 looks to cause issues. * gnu/packages/tex.scm (texlive-hyph-utf8)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/tex.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e01f33304d..537d63a3ba 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -2763,7 +2763,7 @@ T1/EC and UTF-8 encodings.") (string-append out "/share/texmf-dist/tex/luatex/hyph-utf8/"))) #t))))) (native-inputs - (list ruby + (list ruby-2.7 texlive-bin ;; The following packages are needed for build "tex.fmt", which we need ;; for a working "tex". From 0f1da5605632c06ea5c7753a9717b19b7dc31f01 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 00:21:50 +0100 Subject: [PATCH 255/310] gnu: texlive-bin: Explicitly use ruby-2.7. To enable changing ruby without affecting texlive-bin. * gnu/packages/tex.scm (texlive-bin)[inputs]: Explicitly use ruby-2.7. --- gnu/packages/tex.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 537d63a3ba..6c055ed0cd 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -316,7 +316,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. ("pixman" ,pixman) ("potrace" ,potrace) ("python" ,python) - ("ruby" ,ruby) + ("ruby" ,ruby-2.7) ("tcsh" ,tcsh) ("teckit" ,teckit) ("zlib" ,zlib) From c3d857d526c6e0f5e37c76fd29ac32d2cf559e40 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 00:24:34 +0100 Subject: [PATCH 256/310] gnu: qtbase: Explicitly use ruby-2.7. To avoid changing qabase-5 while changing ruby. * gnu/packages/qt.scm (qtbase-5)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 1e5d29d9cf..fca02e4a20 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -419,7 +419,7 @@ system, and the core design of Django is reused in Grantlee.") pkg-config python vulkan-headers - ruby)) + ruby-2.7)) (arguments `(#:configure-flags (let ((out (assoc-ref %outputs "out"))) From 9daca9b8706893b4409c02180e11cefd59cca186 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 00:45:51 +0100 Subject: [PATCH 257/310] gnu: texlive-hyphen-package: Use pinned ruby-hydra-minimal. To allow updating ruby without changing texlive. * gnu/packages/ruby.scm (ruby-hydra-minimal/pinned): New variable. * gnu/packages/tex.scm (texlive-hyphen-package)[native-inputs]: Use it --- gnu/packages/ruby.scm | 9 +++++++++ gnu/packages/tex.scm | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0fa68be980..591bd8034b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3597,6 +3597,15 @@ two hashes.") It is a low-dependency variant of ruby-hydra.") (license license:expat)))) +;; Pinned variant for use by texlive +(define-public ruby-hydra-minimal/pinned + (hidden-package + (package + (inherit ruby-hydra-minimal) + (arguments + (cons* #:ruby ruby-2.7 + (package-arguments ruby-hydra-minimal)))))) + (define-public ruby-hydra (package (inherit ruby-hydra-minimal) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 6c055ed0cd..65f8d901d7 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -236,7 +236,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs - (list ruby-2.7 ruby-hydra-minimal hyph-utf8-scripts)) + (list ruby-2.7 ruby-hydra-minimal/pinned hyph-utf8-scripts)) (home-page "https://ctan.org/pkg/hyph-utf8")))) (define texlive-extra-src From 269e0261ba354ecdc9b62d7d93d4297359ee4bc7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 10:40:00 +0100 Subject: [PATCH 258/310] gnu: qtwebengine-5: Explicitly use ruby-2.7. So that ruby can change without affecting this package and it's dependents. * gnu/packages/qt.scm (qtwebengine-5)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index fca02e4a20..de070ecaf3 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2643,7 +2643,7 @@ linux/libcurl_wrapper.h") pkg-config python2-six python-2 - ruby)) + ruby-2.7)) (inputs (list alsa-lib at-spi2-core From 55f4ad865bd7300cb6a16e32ebf443a220726150 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 10:42:18 +0100 Subject: [PATCH 259/310] gnu: utf8proc-2.7.0: Explicitly use ruby-2.7. So that ruby can change without affecting this package and it's julia related dependents. * gnu/packages/textutils.scm (utf8proc-2.7.0)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/textutils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 026264dc27..ba33cf7de7 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -249,7 +249,7 @@ encoding, supporting Unicode version 9.0.0.") (sha256 (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3")))) ;; For tests - ("ruby" ,ruby))))))) + ("ruby" ,ruby-2.7))))))) (define-public libconfuse (package From afd51a088c7d41969cc34be008369eca78e6300b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 17 Jun 2023 10:44:06 +0100 Subject: [PATCH 260/310] gnu: webkitgtk: Explicitly use ruby-2. So that ruby can change without affecting this package and its dependants. * gnu/packages/webkit.scm (webkitgtk)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/webkit.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index f1b810adbd..5ab93ad9eb 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -222,7 +222,7 @@ engine that uses Wayland for graphics output.") pkg-config python-wrapper gi-docgen - ruby + ruby-2.7 unifdef)) (propagated-inputs (list gtk+ libsoup)) From f2488b8df9d2d9f069938d2a30dc6478f1136b7c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:34:23 +0100 Subject: [PATCH 261/310] gnu: mkvtoolnix: Explicitly use ruby-2.7. To allow updating ruby without affecting this package. * gnu/packages/video.scm (mkvtoolnix)[native-inputs]: Explicitly use ruby-2.7. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 66e6cb5408..908155755e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1035,7 +1035,7 @@ H.264 (MPEG-4 AVC) video streams.") ("pkg-config" ,pkg-config) ("po4a" ,po4a) ("qttools-5" ,qttools-5) - ("ruby" ,ruby))) + ("ruby" ,ruby-2.7))) (arguments `(#:configure-flags (list (string-append "--with-boost=" From daea7bc2234db20480bcd060fad9608ae843708b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:43:59 +0100 Subject: [PATCH 262/310] gnu: ruby-yajl-ruby: Update to 1.4.3. * gnu/packages/ruby.scm (ruby-yajl-ruby): Update to 1.4.3. [arguments]: Update style. --- gnu/packages/ruby.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 591bd8034b..58276ef789 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9842,25 +9842,25 @@ features such as filtering and fine grained logging.") (define-public ruby-yajl-ruby (package (name "ruby-yajl-ruby") - (version "1.4.1") + (version "1.4.3") (source (origin (method url-fetch) (uri (rubygems-uri "yajl-ruby" version)) (sha256 (base32 - "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf")))) + "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-before 'check 'patch-test-to-update-load-path - (lambda _ - (substitute* "spec/parsing/large_number_spec.rb" - (("require \"yajl\"") - "$LOAD_PATH << 'lib'; require 'yajl'")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'patch-test-to-update-load-path + (lambda _ + (substitute* "spec/parsing/large_number_spec.rb" + (("require \"yajl\"") + "$LOAD_PATH << 'lib'; require 'yajl'"))))))) (native-inputs (list ruby-rake-compiler ruby-rspec)) (synopsis "Streaming JSON parsing and encoding library for Ruby") From 88b29ec5cfd16c7784e18d46c20351d4c3db69bd Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:45:00 +0100 Subject: [PATCH 263/310] gnu: ruby-tzinfo: Update to 2.0.6. * gnu/packages/ruby.scm (ruby-tzinfo): Update to 2.0.6. [arguments,propagated-inputs]: Update style. --- gnu/packages/ruby.scm | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 58276ef789..1f65d4a026 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7011,7 +7011,7 @@ utilities for Ruby.") (define-public ruby-tzinfo (package (name "ruby-tzinfo") - (version "2.0.4") + (version "2.0.6") (source (origin (method git-fetch) @@ -7022,31 +7022,29 @@ utilities for Ruby.") (file-name (git-file-name name version)) (sha256 (base32 - "0jaq1givdaz5jxz47xngyj3j315n872rk97mnpm5njwm48wy45yh")))) + "1n1gzjqwwnx209h8d054miva0y7x17db2ahy7jav5r25ibhh7rgm")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-safe-tests - (lambda _ - (substitute* "test/test_utils.rb" - (("def safe_test\\(options = \\{\\}\\)") + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-safe-tests + (lambda _ + (substitute* "test/test_utils.rb" + (("def safe_test\\(options = \\{\\}\\)") "def safe_test(options = {}) - skip('The Guix build environment has an unsafe load path')")) - #t)) - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "Gemfile" - (("simplecov.*") "simplecov'\n")) - #t)) - (replace 'check - (lambda* (#:key tests? test-target #:allow-other-keys) - (when tests? - (invoke "bundler" "exec" "rake" test-target)) - #t))))) + skip('The Guix build environment has an unsafe load path')")))) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + (substitute* "Gemfile" + (("simplecov.*") "simplecov'\n")))) + (replace 'check + (lambda* (#:key tests? test-target #:allow-other-keys) + (when tests? + (invoke "bundler" "exec" "rake" test-target))))))) (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent))) + (list ruby-concurrent)) (native-inputs (list ruby-simplecov)) (synopsis "Time zone library for Ruby") From aba7a31cac68dbf631864a900b5bb5090668f99f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:50:36 +0100 Subject: [PATCH 264/310] gnu: ruby-test-unit: Update to 3.6.0. * gnu/packages/ruby.scm (ruby-test-unit): Update to 3.6.0. [source]: Switch to Git as tests missing from gem. --- gnu/packages/ruby.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1f65d4a026..42774d6450 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4553,13 +4553,16 @@ temporary files and directories during tests.") (define-public ruby-test-unit (package (name "ruby-test-unit") - (version "3.4.4") + (version "3.6.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "test-unit" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/test-unit/test-unit") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "15isy7vhppbfd0032klirj9gxp65ygkzjdwrmm28xpirlcsk6qpd")))) + "0w1m432q3y5v9lkak8yyxadak3z17bsp6afni97i4zjdgfz7niz2")))) (build-system ruby-build-system) (propagated-inputs (list ruby-power-assert)) From be094d903801ea8008c2895dafd6ceb19393d3c6 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:51:35 +0100 Subject: [PATCH 265/310] gnu: ruby-sucker-punch: Update to 3.1.0. * gnu/packages/ruby.scm (ruby-sucker-punch): Update to 3.1.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 42774d6450..c1d98e98d3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -15097,13 +15097,13 @@ floating-point numbers or complex numbers as arguments.") (define-public ruby-sucker-punch (package (name "ruby-sucker-punch") - (version "3.0.1") + (version "3.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "sucker_punch" version)) (sha256 - (base32 "0yams24wndpj7dzdysvm4z1w6ggg4xvj4snxba66prahhxvik4xl")))) + (base32 "12by9vx8q6l4i56q62k1s1ymaxbpg4rny5zngj5i5h09kyh2yp4p")))) (build-system ruby-build-system) (arguments `(#:phases From c7f93b1b8597d6d91b9956a40bc131c18412bbbe Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:52:41 +0100 Subject: [PATCH 266/310] gnu: ruby-shindo: Update to 0.3.10. * gnu/packages/ruby.scm (ruby-shindo): Update to 0.3.10. [arguments]: Update style. --- gnu/packages/ruby.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c1d98e98d3..d1643e8a68 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3629,28 +3629,28 @@ It is a low-dependency variant of ruby-hydra.") (define-public ruby-shindo (package (name "ruby-shindo") - (version "0.3.8") + (version "0.3.10") (source (origin (method url-fetch) (uri (rubygems-uri "shindo" version)) (sha256 (base32 - "0s8v1jbz8i0jh92f2fgxb3p51l1azrpkc8nv4mhrqy4vndpvd7wq")))) + "0qnqixhi0g8v44v13f3gynpbvvw6xqi1wajsxdjsx5rhzizfsj91")))) (build-system ruby-build-system) (arguments - `(#:test-target "shindo_tests" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* "tests/tests_helper.rb" - (("-rubygems") "")) - (substitute* "Rakefile" - (("system \"shindo") "system \"./bin/shindo") - ;; This test doesn't work, so we disable it. - (("fail \"The build_error test should fail") "#") - ((" -rubygems") "")) - #t))))) + (list + #:test-target "shindo_tests" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/tests_helper.rb" + (("-rubygems") "")) + (substitute* "Rakefile" + (("system \"shindo") "system \"./bin/shindo") + ;; This test doesn't work, so we disable it. + (("fail \"The build_error test should fail") "#") + ((" -rubygems") ""))))))) (propagated-inputs (list ruby-formatador)) (synopsis "Simple depth first Ruby testing") From 04e5318eaceaaeb7ee6391307a34e14fa921326c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:54:51 +0100 Subject: [PATCH 267/310] gnu: ruby-rjb: Update to 1.6.7. * gnu/packages/ruby.scm (ruby-rjb): Update to 1.6.7. [arguments]: Update style. --- gnu/packages/ruby.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d1643e8a68..c7bb133848 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1212,22 +1212,22 @@ next patch version for example.") (define-public ruby-rjb (package (name "ruby-rjb") - (version "1.5.5") + (version "1.6.7") (source (origin (method url-fetch) (uri (rubygems-uri "rjb" version)) (sha256 (base32 - "1ppj8rbicj3w0nhh7f73mflq19yd7pzdzkh2a91hcvphriy5b0ca")))) + "0ck802bm8cklhmqsgzhsa0y8lg80qy52dp3m8rlld3zc5gv1rsb9")))) (build-system ruby-build-system) (arguments - `(#:tests? #f ; no rakefile - #:phases - (modify-phases %standard-phases - (add-before 'build 'set-java-home - (lambda* (#:key inputs #:allow-other-keys) - (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) - #t))))) + (list + #:tests? #f ; no rakefile + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-java-home + (lambda* (#:key inputs #:allow-other-keys) + (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))))))) (native-inputs `(("jdk" ,icedtea "jdk"))) (synopsis "Ruby-to-Java bridge using the Java Native Interface") From 1abf7f6556c2d25ace981b3c8dc30d6e72f9be3a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:56:02 +0100 Subject: [PATCH 268/310] gnu: ruby-range-compressor: Update to 1.2.0. * gnu/packages/ruby.scm (ruby-range-compressor): Update to 1.2.0. [arguments]: Update style. --- gnu/packages/ruby.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c7bb133848..07f90e3da3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8471,7 +8471,7 @@ better performance than @code{Regexp} and @code{String} methods from the (define-public ruby-range-compressor (package (name "ruby-range-compressor") - (version "1.0.0") + (version "1.2.0") (source (origin (method git-fetch) @@ -8481,17 +8481,18 @@ better performance than @code{Regexp} and @code{String} methods from the (file-name (git-file-name name version)) (sha256 (base32 - "0y8slri2msyyg2szgwgriqd6qw9hkxycssdrcl5lk2dbcq5zvn54")))) + "1zmc44si5ac2h7r1x4f1j8z5yr6wz528c7dssh0g70fmczs3pfga")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'strip-version-requirements - (lambda _ - (substitute* "range_compressor.gemspec" - (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) - (string-append stripped "\n"))) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'strip-version-requirements + (lambda _ + (substitute* "range_compressor.gemspec" + (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) + (string-append stripped "\n")))))))) (native-inputs (list ruby-rspec)) (synopsis "Simple arrays of objects to arrays of ranges compressor") From d8531fcdc8c8fcfc25205adf87f4ffa0f987c922 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:57:01 +0100 Subject: [PATCH 269/310] gnu: ruby-pry-doc: Update to 1.4.0. * gnu/packages/ruby.scm (ruby-pry-doc): Update to 1.4.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 07f90e3da3..2e851c3375 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6732,13 +6732,13 @@ invocation, and source and documentation browsing.") (define-public ruby-pry-doc (package (name "ruby-pry-doc") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "pry-doc" version)) (sha256 (base32 - "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r")))) + "1pp43n69p6bjvc640wgcz295w1q2v9awcqgbwcqn082dbvq5xvnx")))) (build-system ruby-build-system) (propagated-inputs (list ruby-pry ruby-yard)) (native-inputs (list ruby-latest-ruby ruby-rspec ruby-rake)) ;for tests From 90e9e561404647161b9f14ebeac8b9da0a189b3a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 11:57:50 +0100 Subject: [PATCH 270/310] gnu: ruby-powerpack: Update to 0.1.3. * gnu/packages/ruby.scm (ruby-powerpack): Update to 0.1.3. [arguments]: Update style. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2e851c3375..3c20146c0d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4377,17 +4377,17 @@ assertion messages for tests.") (define-public ruby-powerpack (package (name "ruby-powerpack") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (rubygems-uri "powerpack" version)) (sha256 (base32 - "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv")))) + "1f71axvlhnxja0k17qqxdi4qh5ck807hqg4i3j6cgy8fgzmyg7rg")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) + (list #:test-target "spec")) (native-inputs (list bundler ruby-rspec ruby-yard)) (synopsis "Useful extensions to core Ruby classes") From b5cb477d9d37e449a02ae4a8abe57e3c1ff125a7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:01:09 +0100 Subject: [PATCH 271/310] gnu: ruby-mkmf-lite: Update to 0.5.2. * gnu/packages/ruby.scm (ruby-mkmf-lite): Update to 0.5.2. [arguments]: Avoid the rubocop dependency. [native-inputs]: Add ruby-rspec. --- gnu/packages/ruby.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3c20146c0d..7f15217db1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4704,16 +4704,27 @@ objects.") (define-public ruby-mkmf-lite (package (name "ruby-mkmf-lite") - (version "0.3.2") + (version "0.5.2") (source (origin (method url-fetch) (uri (rubygems-uri "mkmf-lite" version)) (sha256 (base32 - "0br9k6zijj1zc25n8p7f2j1mwl58nfgdknf3q13h9k156jvrir06")))) + "0rqa5kzswhqkj7r9mqrqz4mjd2vdxsblgybb52gj3mwr1gwvl4c5")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; Avoid rubocop dependency + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (propagated-inputs (list ruby-ptools)) + (native-inputs + (list ruby-rspec)) (synopsis "Lightweight alternative to @code{mkmf}") (description "@code{mkmf-lite} is a light version of Ruby's @code{mkmf.rb} designed From 9ff91468eefe720d0ab0ab0eebd0b42368c548b5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:02:08 +0100 Subject: [PATCH 272/310] gnu: ruby-memory-profiler: Update to 1.0.1. * gnu/packages/ruby.scm (ruby-memory-profiler): Update to 1.0.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7f15217db1..9f887dbf6d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9215,7 +9215,7 @@ during shutdown.") (define-public ruby-memory-profiler (package (name "ruby-memory-profiler") - (version "1.0.0") + (version "1.0.1") (source (origin (method git-fetch) @@ -9225,7 +9225,7 @@ during shutdown.") (file-name (git-file-name name version)) (sha256 (base32 - "07yqv11q68xg2fqkrhs6ysngryk8b9zq6qzh24rgx9xqv6qfnj0w")))) + "1z1x0rymfv45gh1y3s46w5pga5y8cvgn228jiwlnhc8hin3zig84")))) (build-system ruby-build-system) (synopsis "Memory profiling routines for Ruby") (description From 6eb15ac58e5f6187fa0223ca1568b19463156b5d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:09:26 +0100 Subject: [PATCH 273/310] gnu: ruby-hocon: Update to 1.4.0. * gnu/packages/ruby.scm (ruby-hocon): Update to 1.4.0. [arguments]: Update style. --- gnu/packages/ruby.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9f887dbf6d..369d6f44ed 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5977,7 +5977,7 @@ and manipulate Git repositories by wrapping system calls to the git binary.") (define-public ruby-hocon (package (name "ruby-hocon") - (version "1.3.1") + (version "1.4.0") (home-page "https://github.com/puppetlabs/ruby-hocon") (source (origin (method git-fetch) @@ -5985,16 +5985,17 @@ and manipulate Git repositories by wrapping system calls to the git binary.") (file-name (git-file-name name version)) (sha256 (base32 - "172hh2zr0n9nnszv0qvlgwszgkrq84yahrg053m68asy79zpmbqr")))) + "04wgv0pwrghawnl6qp346z59fvp9v37jymq8p0lsrzxa6nvrykmk")))) (build-system ruby-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (invoke "rspec") - (format #t "test suite not run~%")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "rspec") + (format #t "test suite not run~%"))))))) (native-inputs (list bundler ruby-rspec)) (synopsis "HOCON config library") From 7c5d30eb9f05c5b0b1e3032019148091c33a1513 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:12:01 +0100 Subject: [PATCH 274/310] gnu: ruby-debug-inspector: Update to 1.1.0. * gnu/packages/rails.scm (ruby-debug-inspector): Update to 1.1.0. [arguments]: Update style. [native-inputs]: Add ruby-rake-compiler. --- gnu/packages/rails.scm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index b1abb65a6d..9709121a19 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -207,25 +207,28 @@ Rails.") (define-public ruby-debug-inspector (package (name "ruby-debug-inspector") - (version "0.0.3") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "debug_inspector" version)) (sha256 (base32 - "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0")))) + "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "rake" "compile") - (invoke "ruby" "-Ilib" "-e" - (string-append - "require 'debug_inspector'; RubyVM::DebugInspector." - "open{|dc| p dc.backtrace_locations}"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "rake" "compile") + (invoke "ruby" "-Ilib" "-e" + (string-append + "require 'debug_inspector'; RubyVM::DebugInspector." + "open{|dc| p dc.backtrace_locations}"))))))) + (native-inputs + (list ruby-rake-compiler)) (synopsis "Ruby wrapper for the MRI 2.0 debug_inspector API") (description "This package provides a Ruby wrapper for the MRI 2.0 debug_inspector From 6bafbfd40ff9d1066ec4041b37f90cd34de5a099 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:15:09 +0100 Subject: [PATCH 275/310] gnu: ruby-commander: Update to 4.6.0. * gnu/packages/ruby.scm (ruby-commander): Update to 4.6.0. [arguments]: Update style. --- gnu/packages/ruby.scm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 369d6f44ed..3c27f1e6a1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -321,27 +321,27 @@ matching. mruby can be linked and embedded within your application.") (define-public ruby-commander (package (name "ruby-commander") - (version "4.4.7") + (version "4.6.0") (source (origin (method url-fetch) (uri (rubygems-uri "commander" version)) (sha256 (base32 - "1pxakz596fjqak3cdbha6iva1dlqis86i3kjrgg6lf3sp8i5vhwg")))) + "1n8k547hqq9hvbyqbx2qi08g0bky20bbjca1df8cqq5frhzxq7bx")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - ;; Don't run or require rubocop, the code linting tool, as this is a - ;; bit unnecessary. - (add-after 'unpack 'dont-run-rubocop - (lambda _ - (substitute* "Rakefile" - ((".*rubocop.*") "") - ((".*RuboCop.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + ;; Don't run or require rubocop, the code linting tool, as this is a + ;; bit unnecessary. + (add-after 'unpack 'dont-run-rubocop + (lambda _ + (substitute* "Rakefile" + ((".*rubocop.*") "") + ((".*RuboCop.*") ""))))))) (propagated-inputs (list ruby-highline)) (native-inputs From 7b535eb29b9d52221f65bd3ca9d9ae53baad0cac Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Jun 2023 12:17:53 +0100 Subject: [PATCH 276/310] gnu: bioruby: Update to 2.0.4. * gnu/packages/bioinformatics.scm (bioruby): Update to 2.0.4. [arguments]: Update style. --- gnu/packages/bioinformatics.scm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9e356cba5d..4edcc28d12 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10876,34 +10876,34 @@ generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.") (define-public bioruby (package (name "bioruby") - (version "1.5.2") + (version "2.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "bio" version)) (sha256 (base32 - "1d56amdsjv1mag7m6gv2w0xij8hqx1v5xbdjsix8sp3yp36m7938")))) + "08aknxk2ingwscwfqpw5vnax6jpk1sxfaialravladb63hcl8dx9")))) (build-system ruby-build-system) (propagated-inputs (list ruby-libxml)) (native-inputs (list which)) ; required for test phase (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'patch-test-command - (lambda _ - (substitute* '("test/functional/bio/test_command.rb") - (("/bin/sh") (which "sh"))) - (substitute* '("test/functional/bio/test_command.rb") - (("/bin/ls") (which "ls"))) - (substitute* '("test/functional/bio/test_command.rb") - (("which") (which "which"))) - (substitute* '("test/functional/bio/test_command.rb", - "test/data/command/echoarg2.sh") - (("/bin/echo") (which "echo"))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-test-command + (lambda _ + (substitute* '("test/functional/bio/test_command.rb") + (("/bin/sh") (which "sh"))) + (substitute* '("test/functional/bio/test_command.rb") + (("/bin/ls") (which "ls"))) + (substitute* '("test/functional/bio/test_command.rb") + (("which") (which "which"))) + (substitute* '("test/functional/bio/test_command.rb" + "test/data/command/echoarg2.sh") + (("/bin/echo") (which "echo")))))))) (synopsis "Ruby library, shell and utilities for bioinformatics") (description "BioRuby comes with a comprehensive set of Ruby development tools and libraries for bioinformatics and molecular biology. BioRuby has From 53d80d04854f263e360d5f2b9e1d00ff5dad5227 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 20 Jun 2023 15:55:17 +0100 Subject: [PATCH 277/310] gnu: ruby-ptools: Update to 1.5.0. * gnu/packages/ruby.scm (ruby-ptools): Update to 1.5.0. [arguments]: Update style and adjust. [native-inputs]: Add ruby-rspec. --- gnu/packages/ruby.scm | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3c27f1e6a1..8c0e19d015 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3240,29 +3240,35 @@ and inspect the environment.") (define-public ruby-ptools (package (name "ruby-ptools") - (version "1.3.5") + (version "1.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "ptools" version)) (sha256 (base32 - "1jb1h1nsk9zwykpniw8filbsk26kjsdlpk5wz6w0zyamcd41h87j")))) + "0damllbshkxycrwjv80sz78h76dw7r9z54d17mb5cbha1daq9q2d")))) (build-system ruby-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-/bin/ls - (lambda _ - (substitute* "test/test_binary.rb" - (("/bin/ls") - (which "ls"))) - #t)) - (add-before 'install 'create-gem - (lambda _ - ;; Do not attempt to sign the gem. - (substitute* "Rakefile" - (("spec\\.signing_key = .*") - "")) - (invoke "rake" "gem:create")))))) + (list + #:test-target "spec:all" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "Rakefile" + ;; Don't require rubocop + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "") + ;; Do not attempt to sign the gem. + (("spec\\.signing_key = .*") "")) + + (substitute* "spec/binary_spec.rb" + (("/bin/ls") (which "ls")) + (("/bin/cat") (which "cat")) + (("/bin/chmod") (which "chmod")) + (("/bin/df") (which "df")))))))) + (native-inputs + (list ruby-rspec)) (synopsis "Extra methods for Ruby's @code{File} class") (description "The @dfn{ptools} (power tools) library extends Ruby's core @code{File} From 55cccab43a6ef0509eedf2de23eaf00160ddbd81 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 19 Jun 2023 15:05:18 +0100 Subject: [PATCH 278/310] gnu: guile-next: Update to 3.0.9-0.aa2cfe7. * gnu/packages/guile.scm (guile-next): Update to 3.0.9-0.aa2cfe7. --- gnu/packages/guile.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 292ee10bcb..48bee600a9 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -432,9 +432,9 @@ without requiring the source code to be rewritten.") ; when heavily loaded) (define-public guile-next - (let ((version "3.0.8") + (let ((version "3.0.9") (revision "0") - (commit "a1a85581f17dade76a598b48eac7d3d308e3a0a5")) + (commit "aa2cfe7cf69327285a17de97682d696f2f6c43ef")) (package (inherit guile-3.0) (name "guile-next") @@ -448,7 +448,7 @@ without requiring the source code to be rewritten.") (file-name (git-file-name name version)) (sha256 (base32 - "1l5zkg0wpchyizq8s4615hkj0n0i029l72k3pq2hha89r3bcn8al")))) + "03xwy3ni85qy0lrvz0lk0488394nfsfc1004l84lgyzql2qwkynl")))) (arguments (substitute-keyword-arguments (package-arguments guile-3.0) ((#:phases phases '%standard-phases) From c1e093b521ce92726d73c024e629df3d875c4101 Mon Sep 17 00:00:00 2001 From: michaeldelago Date: Fri, 2 Jun 2023 08:18:20 -0400 Subject: [PATCH 279/310] gnu: zeal: Update to 0.6.1-1.1cfa7c6. * gnu/packages/documentation.scm (zeal): Update to 0.6.1-1.1cfa7c6. Signed-off-by: Christopher Baines --- gnu/packages/documentation.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index be64bc4f95..ec70ca4d8f 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -370,7 +370,7 @@ the Net to search for documents which are not on the local system.") (license lgpl2.1+))) (define-public zeal - (let ((commit "d3c5521c501d24050f578348ff1b9d68244b992c") + (let ((commit "1cfa7c637f745be9d98777f06b4f8dec90892bf2") (revision "1")) (package (name "zeal") @@ -383,7 +383,7 @@ the Net to search for documents which are not on the local system.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1ky2qi2cmjckc51lm3i28815ixgqdm36j7smixxr16jxpmbqs6sl")))) + (base32 "1m7pp3cwc21x03718vhwfd9j2n8md3hv5dp10s234vcsd755s7a3")))) (build-system qt-build-system) (arguments `(#:tests? #f ;no tests From 3eb3bd0284b85dd0a884f2ffb90b82441f2578f8 Mon Sep 17 00:00:00 2001 From: Cairn Date: Thu, 15 Jun 2023 18:51:35 +0000 Subject: [PATCH 280/310] gnu: ltris: Update to 1.2.6. * gnu/packages/games.scm (ltris): Update to 1.2.6. Signed-off-by: Christopher Baines --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 37c51873ab..11bf13335e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2089,14 +2089,14 @@ It is similar to standard chess but this variant is far more complicated.") (define-public ltris (package (name "ltris") - (version "1.2.4") + (version "1.2.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/ltris/" "ltris-" version ".tar.gz")) (sha256 - (base32 "10wg6v12w3jms8ka2x9a87p06l9gzpr94ai9v428c9r320q7psyn")))) + (base32 "1xj65kn815x2hq1ynzjyc90dj178xwa2xvx7jx99qf60ahaf4g62")))) (build-system gnu-build-system) (arguments '(#:phases From 54026e2a4e9632a20c53fb2469a4fa64cb268d74 Mon Sep 17 00:00:00 2001 From: Cairn Date: Thu, 15 Jun 2023 18:58:46 +0000 Subject: [PATCH 281/310] gnu: barrage: Update to 1.0.7. * gnu/packages/games.scm (barrage): Update to 1.0.7. Signed-off-by: Christopher Baines --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 11bf13335e..21799923cf 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10595,14 +10595,14 @@ ChessX.") (define-public barrage (package (name "barrage") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/barrage/" "barrage-" version ".tar.gz")) (sha256 - (base32 "1bhx708s7viv01m6bmpjsdgr33wk5kqw4wf7bvgw73a07v6j8ncw")))) + (base32 "0j7j6n5h97xpw0h8zi5a8ziw1vjsbr5gk4dcsiwzh59qn0djnrkh")))) (build-system gnu-build-system) (inputs (list hicolor-icon-theme sdl sdl-mixer)) From ef6888340a152c6df0acc686787e8d26fbefcc03 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Thu, 15 Jun 2023 23:35:38 -0400 Subject: [PATCH 282/310] gnu: audacity: Update to 3.3.3. * gnu/packages/audio.scm (audacity): Update to 3.3.3. Signed-off-by: Christopher Baines --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index df6b2d4957..88dbbbc7a2 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -860,7 +860,7 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "3.3.0-beta-1") ;for ffmpeg 6 support + (version "3.3.3") ;for ffmpeg 6 support (source (origin (method git-fetch) @@ -869,7 +869,7 @@ engineers, musicians, soundtrack editors and composers.") (commit (string-append "Audacity-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1j1fy8h3vvf3pbyy2vxahf7admcqfmx7m1mxm7g48n54i2f0n1h9")) + (base32 "07jbql4jl2198z0rsa1nsf4p045iv4gz6ym75a60yyznvg0h0zwv")) (patches (search-patches "audacity-ffmpeg-fallback.patch")) (modules '((guix build utils))) (snippet From 9d3ce0c408a66433f0ce56ec2ca9dddf966e626d Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Thu, 15 Jun 2023 23:36:09 -0400 Subject: [PATCH 283/310] gnu: batsignal: Update to 1.6.4. * gnu/packages/monitoring.scm (batsignal): Update to 1.6.4. Signed-off-by: Christopher Baines --- gnu/packages/monitoring.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d36ba707c7..ce41791672 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -791,7 +791,7 @@ provides a simple Python client for the StatsD daemon.") (define-public batsignal (package (name "batsignal") - (version "1.6.0") + (version "1.6.4") (source (origin (method git-fetch) (uri (git-reference @@ -800,7 +800,7 @@ provides a simple Python client for the StatsD daemon.") (file-name (git-file-name name version)) (sha256 (base32 - "0b1j6mljnqgxwr3id3r9shzhsjk5r0qdh9cxkvy1dm4kzbyc4dxq")))) + "0f8jabql70nxkslgxd8pcfllqy4bnbf1c19rcri0dp054aszk637")))) (build-system gnu-build-system) (arguments (list #:make-flags From 8d46e3e0fd3a084e59d9aec2d82ca5c793728f06 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Thu, 15 Jun 2023 23:40:12 -0400 Subject: [PATCH 284/310] gnu: celluloid: Update to 0.25. * gnu/packages/video.scm (celluloid): Update to 0.25. Signed-off-by: Christopher Baines --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 908155755e..55eab972b9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -780,7 +780,7 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.24") + (version "0.25") (source (origin (method url-fetch) @@ -788,7 +788,7 @@ old-fashioned output methods with powerful ascii-art renderer.") "/releases/download/v" version "/celluloid-" version ".tar.xz")) (sha256 - (base32 "0ns9xh582c8kajw4v2x5ap5jfiba3gxywqc2klc0v6fc3id1gqii")))) + (base32 "0an98lz90s4hhvrvqd1ja814mav9md9n843vhknjgcv4zmrwn0sg")))) (build-system meson-build-system) (arguments (list From f235d49ef3e28e92393ae931d3e6ad997869e266 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Thu, 15 Jun 2023 23:46:45 -0400 Subject: [PATCH 285/310] gnu: fnott: Update to 1.4.0. * gnu/packages/wm.scm (fnott): Update to 1.4.0. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 6196ba86e2..860e804452 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1108,7 +1108,7 @@ the XDG Autostart specification.") (define-public fnott (package (name "fnott") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1117,7 +1117,7 @@ the XDG Autostart specification.") (file-name (git-file-name name version)) (sha256 (base32 - "00zg03nz79kqcsnwmm22friawhvl05f93yxpvqmy5wvggx9hrlz8")))) + "0l0brayvcifrc5rxxkqfrskd6523vs3allg2cxhwkixqf2ddg7kh")))) (build-system meson-build-system) (arguments `(#:build-type "release")) (native-inputs From ca833f23bd4839a7d6533df4d963a036711063b0 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sun, 18 Jun 2023 22:57:54 -0700 Subject: [PATCH 286/310] gnu: fvwm: Update to 2.7.0. * gnu/packages/fvwm.scm (fvwm): Update to 2.7.0. Signed-off-by: Christopher Baines --- gnu/packages/fvwm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index db4cde0eb1..872810c658 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -36,7 +36,7 @@ (define-public fvwm (package (name "fvwm") - (version "2.6.9") + (version "2.7.0") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ version "/fvwm-" version ".tar.gz")) (sha256 (base32 - "1bliqcnap7vb3m2rn8wvxyfhbf35h9x34s41fl4301yhrkrlrihv")))) + "12s1wgkvrvl8m62gpb2918izfx9ysj7hgn9p00blfi3p1gb6v0k6")))) (build-system gnu-build-system) (arguments `(#:phases From 744c979b8fdda5a66490b90327db543be3276380 Mon Sep 17 00:00:00 2001 From: Kaelyn Takata Date: Mon, 19 Jun 2023 15:22:42 +0000 Subject: [PATCH 287/310] gnu: recastnavigation: Update to 1.6.0. * gnu/packages/game-development.scm (recastnavigation): Update to 1.6.0. Signed-off-by: Christopher Baines --- gnu/packages/game-development.scm | 47 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 431bd5c5e4..aa99109cca 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2809,29 +2809,26 @@ much more.") (license license:zlib)))) (define-public recastnavigation - ;; We follow master since there hasn't been a release since 1.5.1 in 2016. - (let ((commit "6d1f9711b3b71f28c2c1c0742d76e0ef8766cf91") - (revision "2")) - (package - (name "recastnavigation") - (version (git-version "1.5.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/recastnavigation/recastnavigation") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0cqp0sbm0ixqnxqz6gf2gybh5l4az91mdsd8b5bgxs1wpl2jmnga")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" - "-DRECASTNAVIGATION_DEMO=OFF" - "-DRECASTNAVIGATION_TESTS=ON" - "-DRECASTNAVIGATION_EXAMPLES=OFF"))) - (synopsis "Navigation system for games") - (description "Recast is state of the art navigation mesh + (package + (name "recastnavigation") + (version "1.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/recastnavigation/recastnavigation") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rdz3qmp4b961zjah2ax82h471j14w2rcf576gcyx7vldrg8dmj8")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + "-DRECASTNAVIGATION_DEMO=OFF" + "-DRECASTNAVIGATION_TESTS=ON" + "-DRECASTNAVIGATION_EXAMPLES=OFF"))) + (synopsis "Navigation system for games") + (description "Recast is state of the art navigation mesh construction toolset for games. @itemize @@ -2854,8 +2851,8 @@ simple cases, as well as tiled navigation mesh which allows you to plug in and out pieces of the mesh. The tiled mesh allows you to create systems where you stream new navigation data in and out as the player progresses the level, or you may regenerate tiles as the world changes.") - (home-page "https://github.com/recastnavigation/recastnavigation") - (license license:zlib)))) + (home-page "https://github.com/recastnavigation/recastnavigation") + (license license:zlib))) (define-public raylib (package From 24fc0d506a046adb5331a5e2626830af0008406b Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Tue, 20 Jun 2023 00:00:04 +0000 Subject: [PATCH 288/310] gnu: python-pyvista: Update to 0.39.1. * gnu/packages/python-science.scm (python-pyvista): Update to 0.39.1. [propagated-inputs]: Add python-pooch, remove python-appdirs. Signed-off-by: Christopher Baines --- gnu/packages/python-science.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 7d3319e367..a8e43d96cf 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1341,7 +1341,7 @@ aggregated sum and more.") (define-public python-pyvista (package (name "python-pyvista") - (version "0.36.1") + (version "0.39.1") (source ;; The PyPI tarball does not contain the tests. ;; (However, we don't yet actually run the tests.) @@ -1352,15 +1352,15 @@ aggregated sum and more.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1kjilcrz2cyh67n79r8dpxrans99mlviz2whc6g7j8hgn7v14z2n")))) + (base32 "00nij00z5r35f6dx7mwndsrpmiw43adjk8x35mk308c369ylbv9p")))) (build-system python-build-system) (propagated-inputs - (list python-appdirs - python-imageio + (list python-imageio python-matplotlib python-meshio python-numpy python-pillow + python-pooch python-scooby vtk)) (arguments @@ -1371,7 +1371,7 @@ aggregated sum and more.") (delete 'check) ;; Disable the sanity check, which fails with the following error: ;; - ;; ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'}) + ;; ...checking requirements: ERROR: pyvista==0.39.1 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'}) (delete 'sanity-check)))) (home-page "https://docs.pyvista.org/") (synopsis "3D plotting and mesh analysis through VTK") From 9a7fc01b5c0c162bb716d24171143ddbe376ac60 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 18:37:26 +0200 Subject: [PATCH 289/310] gnu: tensorflow: Drop package labels from propagated-inputs. * gnu/packages/machine-learning.scm (tensorflow)[propagated-inputs]: Drop labels. --- gnu/packages/machine-learning.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 927b531cf2..ac2ac417e7 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2794,15 +2794,15 @@ DESTINATION include/tensorflow/c FILES_MATCHING PATTERN \"*.h\")\n" m))))) ("swig" ,swig) ("unzip" ,unzip))) (propagated-inputs - `(("python-absl-py" ,python-absl-py) - ("python-astor" ,python-astor) - ("python-gast" ,python-gast) - ("python-grpcio" ,python-grpcio) - ("python-numpy" ,python-numpy) - ("python-protobuf" ,python-protobuf-3.6) - ("python-six" ,python-six) - ("python-termcolo" ,python-termcolor) - ("python-wheel" ,python-wheel))) + (list python-absl-py + python-astor + python-gast + python-grpcio + python-numpy + python-protobuf-3.6 + python-six + python-termcolor + python-wheel)) (inputs `(("c-ares" ,c-ares) ("eigen" ,eigen-for-tensorflow) From ffb30ffb6e3c57157855e8edbbb66da740b35ade Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 18:37:54 +0200 Subject: [PATCH 290/310] gnu: tensorflow: Patch for numpy >= 1.23. * gnu/packages/machine-learning.scm (tensorflow)[arguments]: Remove np.asscalar in 'python3.10-compatibility phase. --- gnu/packages/machine-learning.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index ac2ac417e7..74b08aa020 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2450,7 +2450,20 @@ Python.") (("void BinaryUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") "void BinaryUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,") (("void CompareUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") - "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")))) + "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")) + + ;; ...and for numpy >= 1.23 + (substitute* '("tensorflow/python/framework/tensor_util.py") + (("np.asscalar\\(x\\[0\\]\\)") "x[0].item()") + (("np.asscalar\\(x\\)") "x.item()") + (("np.asscalar\\(v\\)") "np.ndarray.item(v)") + (("return np.asscalar") "return np.ndarray.item")) + (substitute* "tensorflow/python/kernel_tests/cwise_ops_test.py" + (("np.asscalar\\(np.random.rand\\(1\\) \\* 100.\\)") + "(np.random.rand(1) * 100.).item()")) + (substitute* '("tensorflow/python/framework/fast_tensor_util.pyx" + "tensorflow/python/estimator/canned/linear_testing_utils.py") + (("np.asscalar") "np.ndarray.item")))) (add-after 'python3.10-compatibility 'chdir (lambda _ (chdir "tensorflow/contrib/cmake"))) (add-after 'chdir 'disable-downloads From 91e07cc5bf99fed2eafc7a067e10ca4414e10902 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 18:38:40 +0200 Subject: [PATCH 291/310] gnu: tensorflow: Drop trailing #T from build phase. * gnu/packages/machine-learning.scm (tensorflow)[arguments]: Remove #T from 'set-source-file-times-to-1980 phase. --- gnu/packages/machine-learning.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 74b08aa020..a3edbcb894 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2394,7 +2394,7 @@ Python.") ;; "ZIP does not support timestamps before 1980". Luckily, ;; SOURCE_DATE_EPOCH is respected, which we set to some time in ;; 1980. - (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800") #t)) + (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800"))) (add-after 'unpack 'python3.10-compatibility (lambda _ ;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913 From b4e37a3972b8e237214b52bf631fb6b69408e445 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 18:39:07 +0200 Subject: [PATCH 292/310] gnu: tensorflow: Patch one more instance of "collections". * gnu/packages/machine-learning.scm (tensorflow)[arguments]: Add one more patch of "collections" to "collections.abc" to the 'python3.10-compatibility phase. --- gnu/packages/machine-learning.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index a3edbcb894..13651f4035 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2435,6 +2435,8 @@ Python.") (substitute* "tensorflow/python/keras/callbacks.py" (("from collections import Iterable") "from collections.abc import Iterable")) + (substitute* "tensorflow/python/ops/variable_scope.py" + (("collections_lib.Sequence") "collections_lib.abc.Sequence")) ;; XXX: it is not clear if this is a good idea, but the build ;; system tries to overwrite the __or__ and __ror__ methods of @@ -2453,7 +2455,7 @@ Python.") "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")) ;; ...and for numpy >= 1.23 - (substitute* '("tensorflow/python/framework/tensor_util.py") + (substitute* "tensorflow/python/framework/tensor_util.py" (("np.asscalar\\(x\\[0\\]\\)") "x[0].item()") (("np.asscalar\\(x\\)") "x.item()") (("np.asscalar\\(v\\)") "np.ndarray.item(v)") From 81441182bb5b61c6e5bc09b843f1fc1b9697523c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 23:37:06 +0200 Subject: [PATCH 293/310] gnu: python-keras: Update to 2.3.1. * gnu/packages/patches/python-keras-integration-test.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/machine-learning.scm (python-keras): Update to 2.3.1. [source]: Remove patch; update snippet. [arguments]: Add build phase 'tf-compatibility; add phase 'hdf5-compatibility; rename phase 'remove-tests-for-unavailable-features to 'delete-unavailable-backends; update 'check phase to disable tests that cannot be repaired or are flaky. [native-inputs]: Add python-flaky, python-markdown, and python-pyux. --- gnu/local.mk | 1 - gnu/packages/machine-learning.scm | 105 ++++++++++++++---- .../python-keras-integration-test.patch | 19 ---- 3 files changed, 86 insertions(+), 39 deletions(-) delete mode 100644 gnu/packages/patches/python-keras-integration-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2b3df5d75a..1b59cc522b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1802,7 +1802,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \ %D%/packages/patches/python-hiredis-fix-header.patch \ %D%/packages/patches/python-hiredis-use-system-hiredis.patch \ - %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pdoc3-tests.patch \ %D%/packages/patches/python-peachpy-determinism.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 13651f4035..8fbb0274d4 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3221,51 +3221,115 @@ with image data, text data, and sequence data.") (define-public python-keras (package (name "python-keras") - (version "2.2.4") + (version "2.3.1") (source (origin (method url-fetch) (uri (pypi-uri "Keras" version)) - (patches (search-patches "python-keras-integration-test.patch")) (sha256 (base32 - "1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh")) + "1k68xd8n2y9ldijggjc8nn4d6d1axw0p98gfb0fmm8h641vl679j")) + (modules '((guix build utils))) (snippet - #~(begin (use-modules (guix build utils)) - (substitute* "keras/callbacks.py" - (("from collections import Iterable") - "from collections.abc import Iterable")))))) + '(substitute* '("keras/callbacks/callbacks.py" + "keras/engine/training_utils.py" + "keras/engine/training.py" + "keras/engine/training_generator.py" + "keras/utils/generic_utils.py") + (("from collections import Iterable") + "from collections.abc import Iterable") + (("collections.Container") + "collections.abc.Container") + (("collections.Mapping") + "collections.abc.Mapping") + (("collections.Sequence") + "collections.abc.Sequence"))))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-tests-for-unavailable-features + (add-after 'unpack 'tf-compatibility + (lambda _ + (substitute* "keras/backend/tensorflow_backend.py" + (("^get_graph = .*") + "get_graph = tf.get_default_graph") + (("tf.compat.v1.nn.fused_batch_norm") + "tf.nn.fused_batch_norm") + ;; categorical_crossentropy does not support axis + (("from_logits=from_logits, axis=axis") + "from_logits=from_logits") + ;; dropout accepts a level number, not a named rate argument. + (("dropout\\(x, rate=level,") + "dropout(x, level,") + (("return x.shape.rank") + "return len(x.shape)")))) + (add-after 'unpack 'hdf5-compatibility + (lambda _ + ;; The truth value of an array with more than one element is ambiguous. + (substitute* "tests/keras/utils/io_utils_test.py" + ((" *assert .* == \\[b'(asd|efg).*") "")) + (substitute* "tests/test_model_saving.py" + (("h5py.File\\('does not matter',") + "h5py.File('does not matter', 'w',")) + (substitute* "keras/utils/io_utils.py" + (("h5py.File\\('in-memory-h5py', driver='core', backing_store=False\\)") + "h5py.File('in-memory-h5py', 'w', driver='core', backing_store=False)") + (("h5file.fid.get_file_image") + "h5file.id.get_file_image")) + (substitute* "keras/engine/saving.py" + (("\\.decode\\('utf-?8'\\)") "")))) + (add-after 'unpack 'delete-unavailable-backends (lambda _ (delete-file "keras/backend/theano_backend.py") - (delete-file "keras/backend/cntk_backend.py") - (delete-file "tests/keras/backend/backend_test.py") - ;; FIXME: This doesn't work because Tensorflow is missing the - ;; coder ops library. - (delete-file "tests/keras/test_callbacks.py"))) + (delete-file "keras/backend/cntk_backend.py"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? ;; These tests attempt to download data files from the internet. (delete-file "tests/integration_tests/test_datasets.py") (delete-file "tests/integration_tests/imagenet_utils_test.py") - ;; Backport https://github.com/keras-team/keras/pull/12479. - (substitute* "tests/keras/engine/test_topology.py" - (("np.ones\\(\\(3, 2\\)\\)") - "1.")) (invoke "python" "-m" "pytest" "tests" "-p" "no:pep8" ;; FIXME: python-build-system lacks PARALLEL-TESTS? "-n" (number->string (parallel-job-count)) + ;; This one uses the theano backend that we don't have. + "--ignore=tests/test_api.py" + "--ignore=tests/keras/backend/backend_test.py" + ;; Our Tensorflow version does not have the coder ops library. + "--ignore=tests/keras/callbacks/callbacks_test.py" + ;; ...nor do we have tensorboard + "--ignore=tests/keras/callbacks/tensorboard_test.py" "-k" (string-append + ;; See https://github.com/keras-team/keras/pull/7033 + "not test_TimeDistributed_learning_phase " + ;; XXX fails because no closure is provided + "and not test_func_dump_and_load_backwards_compat " + ;; XXX real bug? These are all tests that fail due to + ;; shape mismatch, e.g. "got logits shape [12,3] and + ;; labels shape [9]" + "and not test_model_with_crossentropy_losses_channels_first " + "and not test_masking_correctness_output_size_not_equal_to_first_state_size " + "and not test_convolutional_recurrent " + "and not test_axis " + + ;; XXX fails because of 3/15 values have unexpected differences. + "and not test_masking_correctness_output_not_equal_to_first_state " + ;; XXX fails because of a difference of about 0.1 + "and not test_sample_weighted " + ;; XXX fails because of a difference of about 0.3 + "and not test_scalar_weighted " + ;; XXX fails because of a difference of about 0.2 + "and not test_unweighted " + + ;; XXX I cannot reproduce this in an interactive + ;; Python session, because l2_norm works just fine. + "and not test_weighted " ;TestCosineSimilarity + "and not test_config " ;TestCosineSimilarity + ;; The following test fails only in the build ;; container; skip it. - "not test_selu " + "and not test_selu " ;; The following test was found flaky and removed in ;; recent versions. "and not test_stateful_metrics")))))))) @@ -3281,12 +3345,15 @@ with image data, text data, and sequence data.") tensorflow graphviz)) (native-inputs - (list python-pandas + (list python-flaky + python-markdown + python-pandas python-pytest python-pytest-cov python-pytest-pep8 python-pytest-timeout python-pytest-xdist + python-pyux python-sphinx python-requests)) (home-page "https://github.com/keras-team/keras") diff --git a/gnu/packages/patches/python-keras-integration-test.patch b/gnu/packages/patches/python-keras-integration-test.patch deleted file mode 100644 index aa2b1a273d..0000000000 --- a/gnu/packages/patches/python-keras-integration-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix a test failure with recent versions of ... Pytest? Python? - -Taken from upstream: -https://github.com/keras-team/keras/commit/fe35050a8f18dc52304aa8da4e463eececa25240 - -diff --git a/tests/integration_tests/applications_test.py b/tests/integration_tests/applications_test.py -index 979f2f2abd6..6e3b57fa8e2 100644 ---- a/tests/integration_tests/applications_test.py -+++ b/tests/integration_tests/applications_test.py -@@ -58,7 +58,8 @@ def _test_application_basic(app, last_dim=1000): - def _test_application_notop(app, last_dim): - output_shape = _get_output_shape( - lambda: app(weights=None, include_top=False)) -- assert output_shape == (None, None, None, last_dim) -+ assert len(output_shape) == 4 -+ assert output_shape[-1] == last_dim - - - def test_mobilenet_v2_legacy_import(): From 6a91d4b8e070ef148f36218e5e822c02cc66d228 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 20 Jun 2023 23:39:57 +0200 Subject: [PATCH 294/310] gnu: python-dask: Add missing input. * gnu/packages/python-xyz.scm (python-dask)[propagated-inputs]: Add python-import-metadata. --- gnu/packages/python-xyz.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index af9dd45d6e..b650b71f3b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25423,6 +25423,7 @@ parentdir_prefix = dask- (propagated-inputs (list python-cloudpickle python-fsspec + python-importlib-metadata ;needed at runtime for dask/_compatibility.py python-numpy python-packaging python-pandas From bcdff1d9fcd7cdeef34ee2c0243f4aae835013dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Jun 2023 10:15:23 +0200 Subject: [PATCH 295/310] news: Fix typo. * etc/news.scm: Fix typo in French version. --- etc/news.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 91232d049c..1768d5c5e9 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -30,7 +30,7 @@ (title (en "New @command{guix locate} command") (de "Neuer Befehl @command{guix locate}") - (fr "Nouvelle command @command{guix locate}")) + (fr "Nouvelle commande @command{guix locate}")) (body (en "The new @command{guix locate} command lets you search for packages containing a given file---at long last! For instance, to find which @@ -70,7 +70,7 @@ guix locate ls @end example Pour le moment la commande se base uniquement sur des informations locales. -Elle ne peut donc pas trouver des paquets dans votre dépôt. Cette limitation +Elle ne peut donc pas trouver des paquets absents de votre dépôt. Cette limitation sera levée dans une prochaine version. Lancer @command{info \"(guix) Invoking guix locate\"} pour plus d'informations."))) From cec5cdce7ca1f06813bf558d58cd27c8ae41fa9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Jun 2023 16:58:29 +0200 Subject: [PATCH 296/310] gnu: Add guile-ffi-cblas. * gnu/packages/guile-xyz.scm (guile-ffi-cblas): New variable. --- gnu/packages/guile-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index db7be432cc..da929709e4 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -4062,6 +4062,50 @@ enriched with pure Guile Scheme algorithms, all accessible through a nice, clean and easy to use high level API.") (license license:gpl3+))) +(define-public guile-ffi-cblas + (let ((commit "4458d50f84786d7ace0181c6588345eed7474996") + (revision "0")) + (package + (name "guile-ffi-cblas") + (version (git-version "0.0.0" revision commit)) + (home-page "https://github.com/lloda/guile-ffi-cblas") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "050s0lq64v286hkxqczkfkx3fp1vr3jm5w236hxx67br9najb1cp")))) + (build-system guile-build-system) + (arguments + (list #:source-directory "mod" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-blas-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "mod/ffi/cblas.scm" + (("\"libcblas\"") + (string-append "\"" + (search-input-file + inputs "/lib/libopenblas.so") + "\""))))) + (add-after 'build 'check + (lambda _ + (invoke "guile" "-C" "mod" "-L" "mod" + "test/test-ffi-cblas.scm")))))) + (native-inputs (list guile-3.0)) + (inputs (list openblas)) + (synopsis "Guile bindings for CBLAS, the linear algebra library") + (description + "This package provides Guile FFI bindings for CBLAS, the library of +linear algebra subprograms. + +To use the bindings, import @code{(ffi cblas)}. CBLAS will be loaded from the +default dynamic library path. There are up to three bindings for each +function: raw, typed, and functional.") + (license license:lgpl3+)))) + (define-public guile-ffi-fftw (let ((commit "294ad9e7491dcb40026d2fec9be2af05263be1c0") (revision "2")) From d67c85324dedcc33a56b146c8a51b5eec83aafe9 Mon Sep 17 00:00:00 2001 From: Mekeor Melire Date: Wed, 14 Jun 2023 18:52:39 +0000 Subject: [PATCH 297/310] gnu: Add xiate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/terminals.scm (xiate): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/terminals.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 7579d2e7bf..9831ddbe2b 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -938,6 +938,41 @@ It's a terminal emulator with few dependencies, so you don't need a full GNOME desktop installed to have a decent terminal emulator.") (license license:gpl2))) +(define-public xiate + (let ((commit "ae3cf30b345c64f097a747ac848e23ef5bae8b57") + (revision "0")) + (package + (name "xiate") + (version (git-version "22.12" revision commit)) + (source (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url "https://www.uninformativ.de/git/xiate.git") + (commit commit))) + (sha256 + (base32 + "0bc205b1gs1jvp1a2cr814l32hmlm0sgv1drfw7ykbavslfpmg2d")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:make-flags #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "prefix=" + #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) + (inputs (list gtk+ glib vte)) + (native-inputs (list pkg-config)) + (synopsis "Minimalist terminal emulator based on GTK+") + (description + "Xiate is a terminal emulator which tries to keep a balance +between features and simplicity. This is achieved by using VTE as a powerful +backend, while UI, configuration, and code try to remain much more +minimalistic.") + (home-page "https://www.uninformativ.de/git/xiate/file/README.html") + (license license:expat)))) + (define-public go-github.com-nsf-termbox-go (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3") (revision "1")) From da4305e9b3d65cf698a6987bd7be7905785bf06c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Sun, 18 Jun 2023 12:43:10 +0900 Subject: [PATCH 298/310] gnu: go-github-com-mattn-go-runewidth: Update to 0.0.14. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): Update to 0.0.14. (go-github.com-mattn-go-runewidth): Remove, and change users to to refer to 'go-github-com-mattn-go-runewidth'. Signed-off-by: Ludovic Courtès --- gnu/packages/configuration-management.scm | 2 +- gnu/packages/databases.scm | 2 +- gnu/packages/disk.scm | 2 +- gnu/packages/golang.scm | 18 +++++++-------- gnu/packages/terminals.scm | 4 ++-- gnu/packages/textutils.scm | 28 ----------------------- gnu/packages/time.scm | 2 +- 7 files changed, 15 insertions(+), 43 deletions(-) diff --git a/gnu/packages/configuration-management.scm b/gnu/packages/configuration-management.scm index b66f70545a..95a7e8615f 100644 --- a/gnu/packages/configuration-management.scm +++ b/gnu/packages/configuration-management.scm @@ -78,7 +78,7 @@ go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful go-github-com-mattn-go-isatty - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-github-com-olekukonko-tablewriter go-github-com-pelletier-go-toml go-github-com-pkg-diff diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9928ede40e..42b394daf2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -5072,7 +5072,7 @@ compatible with SQLite using a graphical user interface.") go-github-com-pkg-errors go-github-com-sourcegraph-jsonrpc2 go-golang-org-x-crypto - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-golang-org-x-xerrors go-gopkg-in-yaml-v2)) (synopsis "SQL language server written in Go") diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index abbc87a95a..b878614dc2 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1161,7 +1161,7 @@ on your file system and offers to remove it. @command{rmlint} can find: "1piym8za0iw2s8yryh39y072f90mzisv89ffvn1jzb71f71mbfqa")))) (build-system go-build-system) (native-inputs - (list go-github.com-mattn-go-runewidth go-golang-org-x-term + (list go-github-com-mattn-go-runewidth go-golang-org-x-term go-gopkg-in-djherbis-times-v1 go-github-com-gdamore-tcell-v2-2.3)) (arguments `(#:import-path "github.com/gokcehan/lf")) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d51c023808..b99659966d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2755,7 +2755,7 @@ jar struct to manage the cookies added to the cookie jar.") '(#:unpack-path "github.com/gizak/termui" #:import-path "github.com/gizak/termui/v3")) (propagated-inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-mitchellh-go-wordwrap go-github.com-nsf-termbox-go)) (home-page "https://github.com/gizak/termui") (synopsis "Terminal dashboard widget Go library") @@ -7105,7 +7105,7 @@ encoding in Go.") (arguments `(#:import-path "github.com/gdamore/tcell")) (inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-lucasb-eyer-go-colorful go-golang-org-x-text go-github-com-gdamore-encoding)) @@ -9128,7 +9128,7 @@ transforms one JSON document into another through a JMESPath expression.") `(#:import-path "github.com/muesli/reflow/wordwrap" #:unpack-path "github.com/muesli/reflow")) (native-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (home-page "https://github.com/muesli/reflow/") (synopsis "Collection of methods helping to transform blocks of text") (description "This package provides a collection of ANSI-aware methods and @@ -9187,7 +9187,7 @@ io.Writers helping you to transform blocks of text.") (list go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful go-github-com-mattn-go-isatty - go-github.com-mattn-go-runewidth)) + go-github-com-mattn-go-runewidth)) (home-page "https://github.com/muesli/termenv/") (synopsis "Advanced styling options on the terminal") (description "termenv lets you safely use advanced styling options on the @@ -9241,7 +9241,7 @@ which produce colorized output using github.com/fatih/color.") (arguments `(#:import-path "github.com/olekukonko/tablewriter")) (propagated-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (home-page "https://github.com/olekukonko/tablewriter/") (synopsis "Generate ASCII table") (description "This package generates ASCII tables. Features: @@ -9338,7 +9338,7 @@ size of the terminal.") go-github-com-muesli-reflow-wordwrap go-github-com-muesli-reflow-indent go-github-com-muesli-reflow-padding - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-github-com-muesli-termenv go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful @@ -11521,7 +11521,7 @@ averages.") (define-public go-github-com-mattn-go-runewidth (package (name "go-github-com-mattn-go-runewidth") - (version "0.0.13") + (version "0.0.14") (source (origin (method git-fetch) @@ -11530,7 +11530,7 @@ averages.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yir0f3wc5z5hnkwhvx5qb6nmpfb05zp2gvfjvna63s8kmla1rrn")))) + (base32 "1iaqw5pd7f4f2xz37540kp0828p2820g4vxx3hz089hwl331sx1v")))) (build-system go-build-system) (arguments '(#:import-path "github.com/mattn/go-runewidth")) (propagated-inputs @@ -11563,7 +11563,7 @@ string.") (propagated-inputs `(("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty) ("github.com/muesli/termenv" ,go-github-com-muesli-termenv) - ("github.com/mattn/go-runewidth" ,go-github.com-mattn-go-runewidth) + ("github.com/mattn/go-runewidth" ,go-github-com-mattn-go-runewidth) ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent) ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi) ("go-github-com-lucasb-eyer-go-colorful" ,go-github-com-lucasb-eyer-go-colorful) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 9831ddbe2b..a3fa39e5da 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -992,7 +992,7 @@ minimalistic.") (arguments '(#:import-path "github.com/nsf/termbox-go")) (propagated-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (synopsis "@code{termbox} provides a minimal API for text-based user interfaces") (description @@ -1019,7 +1019,7 @@ programmer to write text-based user interfaces.") (arguments `(#:import-path "github.com/junegunn/fzf")) (inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-mattn-go-shellwords go-github-com-mattn-go-isatty go-github-com-gdamore-tcell diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index ba33cf7de7..51df3748cd 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1008,34 +1008,6 @@ and Cython.") markup and converts it to multiple formats.") (license license:gpl2))) -(define-public go-github.com-mattn-go-runewidth - (let ((commit "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211") - (version "0.0.4") - (revision "1")) - (package - (name "go-github.com-mattn-go-runewidth") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mattn/runewidth") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/mattn/go-runewidth")) - (synopsis "@code{runewidth} provides Go functions to work with string widths") - (description - "The @code{runewidth} library provides Go functions for padding, -measuring and checking the width of strings, with support for East Asian -text.") - (home-page "https://github.com/mattn/runewidth") - (license license:expat)))) - (define-public docx2txt (package (name "docx2txt") diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 38b51583da..5c8f65a1e6 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -623,7 +623,7 @@ TUI program that displays time across a few time zones of your choosing.") (arguments '(#:import-path "github.com/antonmedv/countdown")) (native-inputs - `(("runewidth" ,go-github.com-mattn-go-runewidth) + `(("runewidth" ,go-github-com-mattn-go-runewidth) ("termbox" ,go-github.com-nsf-termbox-go))) (home-page "https://github.com/antonmedv/countdown") (synopsis "Counts to zero with a text user interface") From c9d9c54636dab4d3478530ebaa8b9b7cd201ac69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Sun, 18 Jun 2023 12:43:11 +0900 Subject: [PATCH 299/310] gnu: go-github-com-gdamore-tcell: Update to 2.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gnu/packages/golang.scm (go-github-com-gdamore-tcell-v2): Update to 2.6.0. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index b99659966d..e4c4cb299b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -7121,7 +7121,7 @@ systems.") (package (inherit go-github-com-gdamore-tcell) (name "go-github-com-gdamore-tcell") - (version "2.5.3") + (version "2.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -7130,7 +7130,7 @@ systems.") (file-name (git-file-name name version)) (sha256 (base32 - "0pvs0gigqxpifc7y7cx82cg95pgqmy8qzxynja3zidplrx2075j3")))) + "0126hi8glnfqdx4l9zlh6dhd5f5c8bws7arv9pp4n2kqcnhdc6g2")))) (arguments (list #:import-path "github.com/gdamore/tcell/v2" #:phases From 105781d3d3e73d0eb5b5f3aeb0d5ad743aa89a80 Mon Sep 17 00:00:00 2001 From: Luis Felipe Date: Wed, 14 Jun 2023 16:52:12 -0500 Subject: [PATCH 300/310] gnu: mazo: Update to 1.1.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/education.scm (mazo): Update to 1.1.0. [propagated-inputs]: Add adwaita-icon-theme and dbus. [propagated-inputs]: Change gtk+ to gtk. Signed-off-by: Ludovic Courtès --- gnu/packages/education.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 4118c84bbf..54380e7ebb 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -1102,16 +1102,16 @@ mentored learning for programming languages.") (define-public mazo (package (name "mazo") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/luis-felipe/mazo.git") + (url "https://codeberg.org/luis-felipe/mazo.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06246380i5rxycniwg5syn0aldd2zy10cbqk1lgyc0qfqb2lyrwj")))) + (base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf")))) (build-system python-build-system) (arguments `(#:use-setuptools? #f @@ -1155,8 +1155,10 @@ mentored learning for programming languages.") python-pillow python-pycairo)) (propagated-inputs - (list gstreamer - gtk+ + (list adwaita-icon-theme + dbus + gstreamer + gtk python python-django python-django-cleanup From 1a0ff5cd83d3257efcab64740a1322de51fbc4a1 Mon Sep 17 00:00:00 2001 From: Jean-Pierre De Jesus DIAZ Date: Wed, 14 Jun 2023 14:20:18 +0200 Subject: [PATCH 301/310] gnu: Add tomlc99. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (tomlc99): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ Signed-off-by: Ludovic Courtès --- gnu/packages/c.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index e8bde0133d..9e5b511b98 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2022 Ekaitz Zarraga ;;; Copyright © 2022 ( ;;; Copyright © 2023 zamfofex +;;; Copyright © 2023 Foundation Devices, Inc. ;;; ;;; This file is part of GNU Guix. ;;; @@ -241,6 +242,47 @@ standard.") ;; (if ever) complete. See the RELICENSING file for more information. (license license:lgpl2.1+)))) +(define-public tomlc99 + (let ((revision "0") + (commit "52e9c039c5418a100605c2db1282590511fa891b")) + (package + (name "tomlc99") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cktan/tomlc99") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zrn5mmd1ysxma96jzrq50xqypbs3rhk6dwlj1wcjpjz1a4h9wgg")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "prefix=" + #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda* (#:key tests? make-flags + #:allow-other-keys) + (when tests? + (apply invoke + `("make" "-C" "unittest" + ,@make-flags)) + (invoke "./unittest/t1"))))))) + (home-page "https://github.com/cktan/tomlc99") + (synopsis "TOML library for C") + (description + "This library is a C99 implementation to read +@acronym{TOML, Tom's Obvious Minimal Language} text documents. + +This library is compatible with the @url{https://toml.io/en/v1.0.0,v1.0.0} +specification of the language.") + (license license:expat)))) + (define-public pcc (package (name "pcc") From 2e0228e736bf08d376ffbce6b5c4f899babfee5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 13 Jun 2023 18:45:01 +0800 Subject: [PATCH 302/310] gnu: Add anarch. * gnu/packages/games.scm (anarch): New variable. --- gnu/packages/games.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 21799923cf..83704dd720 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -416,6 +416,40 @@ Plenty of classic platforming in four nice colors guaranteed! The game includes a built-in editor so you can design and share your own maps.") (license license:gpl2+))) +(define-public anarch + (let ((commit "2d78d0c69a3aac14dbd8f8aca62d0cbd9d27c860") + (revision "1")) + (package + (name "anarch") + (version (git-version "1.1d" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~drummyfish/Anarch") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lg9r6q1davn5yj181ccygmvaigvm8fr9q2s1bc77a1vkz68vzdk")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + (lambda _ + (invoke "./make.sh" "sdl"))) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin"))) + (install-file "anarch" bin))))))) + (inputs (list alsa-lib libxcursor libxrandr sdl2)) + (home-page "https://drummyfish.gitlab.io/anarch/") + (synopsis "Public domain 90s-style shooter game") + (description "Anarch is a small, completely public domain, 90s-style +Doom clone shooter game.") + (license license:cc0)))) + (define-public armagetronad (package (name "armagetronad") From 65ed7a61f1ad01da440f0e7e08bfc32b43deed73 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 18 Jun 2023 02:00:00 +0200 Subject: [PATCH 303/310] uuid: Fix NTFS UUID stringification. Previously, (ntfs-uuid->string (string->ntfs-uuid"5234ED0D34ECF53F")) would yield "5234EDD34ECF53F". Reported by sughosha in #guix. * gnu/system/uuid.scm (ntfs-uuid->string): Pad hex bytes with zero when needed. --- gnu/system/uuid.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index a95dc1b7d1..8f967387ad 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -209,7 +209,7 @@ ISO9660 UUID representation." (define (ntfs-uuid->string uuid) "Convert NTFS UUID, a 8-byte bytevector, to its string representation." - (format #f "~{~:@(~x~)~}" (reverse (bytevector->u8-list uuid)))) + (format #f "~{~:@(~2,'0x~)~}" (reverse (bytevector->u8-list uuid)))) (define %ntfs-uuid-rx (make-regexp "^([[:xdigit:]]{16})$")) From dcca13ed7340f17a33a4c0907c13b64d5da66a8e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 18 Jun 2023 02:00:02 +0200 Subject: [PATCH 304/310] gnu: opensmtpd: Update to 7.3.0p0. * gnu/packages/mail.scm (opensmtpd): Update to 7.3.0p0. [arguments]: Remove obsolete 'fix-smtpctl-encrypt-bug phase. Don't explicitly return #t from remaining phases. --- gnu/packages/mail.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d098b3f268..801555803a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3175,14 +3175,14 @@ from the Cyrus IMAP project.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.8.0p2") + (version "7.3.0p0") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "05sd7bmq29ibnqbl2z53hiyprfxzf0qydfdaixs68rz55wqhbgsi")))) + (base32 "1rnaa022pkdc15vkvlisv42dvcxchib40h0m97myfyqjralabmrd")))) (build-system gnu-build-system) (inputs (list bdb @@ -3205,13 +3205,6 @@ from the Cyrus IMAP project.") "--with-table-db") #:phases (modify-phases %standard-phases - ;; See: https://github.com/OpenSMTPD/OpenSMTPD/issues/1069. - (add-after 'unpack 'fix-smtpctl-encrypt-bug - (lambda _ - (substitute* "usr.sbin/smtpd/smtpctl.c" - (("\"encrypt\", \"--\",") - "\"encrypt\",")) - #t)) ;; Fix some incorrectly hard-coded external tool file names. (add-after 'unpack 'patch-FHS-file-names (lambda _ @@ -3219,8 +3212,7 @@ from the Cyrus IMAP project.") ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't. (("/bin/cat") (which "cat"))) (substitute* "usr.sbin/smtpd/mda_unpriv.c" - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) ;; OpenSMTPD provides a single smtpctl utility to control both the ;; daemon and the local submission subsystem. To accomodate systems ;; that require historical interfaces such as sendmail, newaliases or @@ -3233,8 +3225,7 @@ from the Cyrus IMAP project.") (for-each (lambda (command) (symlink "smtpctl" (string-append sbin command))) (list "mailq" "makemap" "newaliases" - "send-mail" "sendmail"))) - #t))))) + "send-mail" "sendmail")))))))) (synopsis "Lightweight SMTP daemon") (description "OpenSMTPD is an implementation of server-side @acronym{SMTP, Simple Mail From 3070297839718e4be2a749b41d1a56b5fbd47729 Mon Sep 17 00:00:00 2001 From: jgart Date: Tue, 13 Jun 2023 01:12:33 -0500 Subject: [PATCH 305/310] gnu: sc-im: Update to 0.8.3. * gnu/packages/networking.scm (sc-im): Update to 0.8.3. [arguments]: Use modern style, patch bash path, and enable tests. [native-inputs]: Add bash-minimal and valgrind. --- gnu/packages/spreadsheet.scm | 41 ++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/gnu/packages/spreadsheet.scm b/gnu/packages/spreadsheet.scm index 0016f38aff..363d0ae16f 100644 --- a/gnu/packages/spreadsheet.scm +++ b/gnu/packages/spreadsheet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Ryan Prior ;;; Copyright © 2020 Ekaitz Zarraga -;;; Copyright © 2021 Jorge Gomez +;;; Copyright © 2021, 2023 jgart ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +20,7 @@ (define-module (gnu packages spreadsheet) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix download) #:use-module (guix utils) @@ -27,6 +28,7 @@ #:use-module (guix build-system python) #:use-module (guix licenses) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -37,12 +39,13 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics) + #:use-module (gnu packages valgrind) #:use-module (gnu packages xml)) (define-public sc-im (package (name "sc-im") - (version "0.8.2") + (version "0.8.3") (home-page "https://github.com/andmarti1424/sc-im") (source (origin (method git-fetch) @@ -53,20 +56,26 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1nrjnw8sg75i0hkcbvjv7gydjddxjm27d5m1qczpg29fk9991q8z")))) + "10x50smn0xl9k6m0bgfcvpwgvivmjkysawvc4zyibc8nxlqz2na2")))) (build-system gnu-build-system) (arguments - ;; There are no tests at the moment. - ;; https://github.com/andmarti1424/sc-im/issues/537 - ;; https://github.com/andmarti1424/sc-im/pull/385 - `(#:tests? #f - #:make-flags (list "-C" "src" - (string-append "CC=" ,(cc-for-target)) - (string-append "prefix=" %output)) + (list + #:make-flags + #~(list "-C" "src" + (string-append "CC=" #$(cc-for-target)) + (string-append "prefix=" #$output)) #:phases - (modify-phases - %standard-phases - (delete 'configure)))) + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-bash-path-declaration-in-script + (lambda _ + (substitute* "tests/run_all_tests.sh" + (("/bin/bash") (string-append "#!" (which "bash")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (with-directory-excursion "tests" + (when tests? + (invoke "bash" "run_all_tests.sh")))))))) (inputs (list gnuplot libxls @@ -75,7 +84,11 @@ libzip ncurses)) (native-inputs - (list pkg-config which bison)) + (list bash-minimal + bison + pkg-config + valgrind + which)) (synopsis "Spreadsheet program with vim-like keybindings") (description "@code{sc-im} is a highly configurable spreadsheet program From 7a68780f50453111c2ea293c5af6e26ff323a512 Mon Sep 17 00:00:00 2001 From: jgart Date: Thu, 15 Jun 2023 00:32:39 -0500 Subject: [PATCH 306/310] gnu: purescript: Update to 0.15.9. * gnu/packages/purescript.scm (purescript): Update to 0.15.9. [arguments]: Break line to satisfy the linter. --- gnu/packages/purescript.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm index 3ae078db75..df9267692a 100644 --- a/gnu/packages/purescript.scm +++ b/gnu/packages/purescript.scm @@ -34,13 +34,13 @@ (define-public purescript (package (name "purescript") - (version "0.15.8") + (version "0.15.9") (source (origin (method url-fetch) (uri (hackage-uri "purescript" version)) (sha256 - (base32 "1h5d5hjc9hrlk718lf62qzaq1l6ppr0l2b3fl78csyh86cihh750")))) + (base32 "1i9wszs5kwwq0l8l4if05y8xc8fih10assrdj8q1ipr0hx3zjawm")))) (build-system haskell-build-system) (properties '((upstream-name . "purescript"))) (inputs (list ghc-aeson @@ -109,7 +109,8 @@ dep)))) (add-after 'register 'remove-libraries (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/lib"))))))) (home-page "https://www.purescript.org/") (synopsis "Haskell inspired programming language compiling to JavaScript") (description From 8b6bc4b2aa579193306cdc7a28f788c9afb4e039 Mon Sep 17 00:00:00 2001 From: jgart Date: Sun, 18 Jun 2023 02:00:26 -0500 Subject: [PATCH 307/310] gnu: wlsunset: Update to 0.3.0. * gnu/packages/xdisorg.scm (wlsunset): Update to 0.3.0. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index b8671d1cf6..cdd5a48259 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -3380,7 +3380,7 @@ MouseKeys-acceleration management.") (define-public wlsunset (package (name "wlsunset") - (version "0.2.0") + (version "0.3.0") (source (origin (method git-fetch) @@ -3390,7 +3390,7 @@ MouseKeys-acceleration management.") (file-name (git-file-name name version)) (sha256 (base32 - "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w")))) + "1wbz6m7p0czhyv7axg2gn0ffh1q1887khh6phvw35a2llichyrlc")))) (build-system meson-build-system) (inputs (list wayland wayland-protocols)) From 7f3c6d3b3ba86a8051e394e4ec9a6f6089753cb1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 21 Jun 2023 15:35:29 +0300 Subject: [PATCH 308/310] gnu: sambamba: Fix building. * gnu/packages/bioinformatics.scm (sambamba)[native-inputs]: Remove ld-gold-wrapper, bintutils-gold. Remove input labels. --- gnu/packages/bioinformatics.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4edcc28d12..87e7c33b90 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11732,13 +11732,7 @@ using high-throughput sc-RNAseq data.") (copy-file (string-append "bin/sambamba-" ,version) (string-append bin "/sambamba")))))))) (native-inputs - `(("ld-gold-wrapper" - ;; Importing (gnu packages commencement) would introduce a cycle. - ,(module-ref (resolve-interface - '(gnu packages commencement)) - 'ld-gold-wrapper)) - ("binutils-gold" ,binutils-gold) - ("python" ,python))) + (list python)) (inputs (list ldc lz4 zlib)) (home-page "https://github.com/biod/sambamba") From 37c2e94cec6cb8b5e0e93e7b6c712c3b187ca5db Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 21 Jun 2023 10:15:33 +0200 Subject: [PATCH 309/310] guix: node-build-system: Delete from peerDependencies too. The current version of npm in Guix installs peerDependencies by default, whereas previously it would just warn about missing/wrong packages. Fixes . * guix/build/node-build-system.scm (delete-dependencies): Remove supplied dependencies from peerDependencies field too. --- guix/build/node-build-system.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 93f7efbb2b..fb23894bc1 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -208,7 +208,8 @@ only after the 'patch-dependencies' phase." (jsobject-update* pkg-meta `("devDependencies" ,delete-from-jsobject (@)) - `("dependencies" ,delete-from-jsobject (@)))))) + `("dependencies" ,delete-from-jsobject (@)) + `("peerDependencies" ,delete-from-jsobject (@)))))) (define* (delete-lockfiles #:key inputs #:allow-other-keys) "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they From f25529b08e356f89ca7cecc44295085531a8faba Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 22 Jun 2023 11:25:15 -0400 Subject: [PATCH 310/310] gnu: darktable: Update to 4.4.0. * gnu/packages/photo.scm (darktable): Update to 4.4.0. [native-inputs]: Replace clang-11 and llvm-11 with clang and llvm, respectively. Darktable no longer builds with older versions. --- gnu/packages/photo.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index c498703205..0a954c0e6f 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -459,7 +459,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "4.2.1") + (version "4.4.0") (source (origin (method url-fetch) @@ -467,7 +467,7 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "1b3vr6njwqfvnrx3qpbg5aqcbl1z8nxnxcgyyw0sd4a20z33jfk0")))) + (base32 "105hyc8rhc8md683h8mbvqxxc2f5w2bk3348n2c4jz6rmcsgr1w8")))) (build-system cmake-build-system) (arguments (list @@ -514,13 +514,13 @@ photographic equipment.") (,(string-append #$(this-package-input "gtk+") "/share/glib-2.0/schemas"))))))))) (native-inputs - (list clang-11 + (list clang cmocka desktop-file-utils `(,glib "bin") gobject-introspection intltool - llvm-11 ;should match the Clang version + llvm ;should match the Clang version opencl-headers perl pkg-config