From bdca6a49e76dadba73dfb33d02128b64b52775b6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:57:06 -0400 Subject: [PATCH 01/61] gnu: linux-libre: Update to 6.2.12. * gnu/packages/linux.scm (linux-libre-6.2-version): Update to 6.2.12. (linux-libre-6.2-pristine-source, deblob-scripts-6.2): 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 401536685b..d3ba6360df 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.2-version "6.2.11") +(define-public linux-libre-6.2-version "6.2.12") (define-public linux-libre-6.2-gnu-revision "gnu") (define deblob-scripts-6.2 (linux-libre-deblob-scripts linux-libre-6.2-version linux-libre-6.2-gnu-revision (base32 "15wrksnimwb099qgqc631rp8dgv5b61l6s5kknk23frqdwkp4shp") - (base32 "0ir5vvbdh6dly5ld8mfp7285g8k88w5bb32hj4wmgyqsbfqc6rf2"))) + (base32 "0560xc8l2z79qk2dnv15i0m4igw9mq2ymv2a40nw2z3lcqygcs5x"))) (define-public linux-libre-6.2-pristine-source (let ((version linux-libre-6.2-version) - (hash (base32 "0iyx03z58pv1d5nrryjx94k3nxwyvm4b3bim6nawg1qbws26f8qd"))) + (hash (base32 "1j6cn1ifmcqfqvxp9h10y8yfxi918yzl3yjbf96gmb9p4ysldqf7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.2))) From 930f3fc86ec2feaf4cd4462204cf7d8fda3358f1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:57:22 -0400 Subject: [PATCH 02/61] gnu: linux-libre 6.1: Update to 6.1.25. * gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.25. (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 d3ba6360df..f316a12018 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -500,7 +500,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-6.2))) -(define-public linux-libre-6.1-version "6.1.24") +(define-public linux-libre-6.1-version "6.1.25") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -510,7 +510,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0cchdhjra74zanyk14brv2l2dvxpg8dn58rn477lgfb44mcnhq33"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0135aj8asplpxqr48hwdmwynx8n8hzhdgh55yl8r0n1kivisgrma"))) + (hash (base32 "149h95r5msvqah868zd36y92ls9h41cr1rb5vzinl20mxdn46wnb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) From 48fe853abc547406daf85eade739bd7ad1108fa7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:57:36 -0400 Subject: [PATCH 03/61] gnu: linux-libre 5.15: Update to 5.15.108. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.108. (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 f316a12018..d6da03586a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -518,7 +518,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-5.15-version "5.15.107") +(define-public linux-libre-5.15-version "5.15.108") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -528,7 +528,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "03hwhwbcicwyx5i30d6m715kwgrxz4h21xhk55wnawlk8zhx3r35"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1a5gqpxmzls5mp4a0cw10ldrps4pvbn19nzfri91ys25j1v0wdqr"))) + (hash (base32 "1fj38bvsyr9g89qr8pcjrp0kaq44g301x46gyjibq73gljnnkswb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) From 85a50e9b828e82638163212d944705a157210d92 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:57:53 -0400 Subject: [PATCH 04/61] gnu: linux-libre 5.10: Update to 5.10.178. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.178. (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 d6da03586a..56e53f943b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -533,7 +533,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.177") +(define-public linux-libre-5.10-version "5.10.178") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -543,7 +543,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1g4vabfswxzf9ahxc06k2ffksf84kcr2csx4m5kx680w0jqqnk80"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "0waml6svj07b7f8yb1kzrflqlf61x4kcqbgsr372s484m3z628lz"))) + (hash (base32 "1bx8wws9gvksg1c1af29nm03jjz2f5a5sq9hzc00ymjyf7isvkqs"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From f2863d0c99d3099c924a2cd7cb8e2638ad112480 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:58:07 -0400 Subject: [PATCH 05/61] gnu: linux-libre 5.4: Update to 5.4.241. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.241. (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 56e53f943b..3420cc2fce 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -548,7 +548,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.240") +(define-public linux-libre-5.4-version "5.4.241") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -558,7 +558,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1d6as1yk9svysh07hdybs8glvn8s9f8gwlbjl7f9m920pdam2r60"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0ihf0rqhx7dav3k3igk29962sscb1xyniy2gx8chyllprr0z126w"))) + (hash (base32 "0z7api3qcjrd6w7fva7k6fj4zx17mg5ibn28a6qbgy27dyny1h7z"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From 4c0afe137ce26f0ba2e499f83f1d0ca0beefe2f9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:58:23 -0400 Subject: [PATCH 06/61] gnu: linux-libre 4.19: Update to 4.19.281. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.281. (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 3420cc2fce..eaaba47d68 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.280") +(define-public linux-libre-4.19-version "4.19.281") (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 "1q0fgpbdwc21wj9wnjjb49dp84ch6ymd5na3iaabadwjs2nmb6bd"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1xmg9p3ky75n5q894f522s8nwcmbd5c15nmjr0n96m6xzag3kd7w"))) + (hash (base32 "13nwzsh3h634450k37pxdca5j8vr3qswx7k79bs2999xp2js9pf0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From ccfae528552015c9498128fd82a36fa153046e7a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 20 Apr 2023 17:58:36 -0400 Subject: [PATCH 07/61] gnu: linux-libre 4.14: Update to 4.14.313. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.313. (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 eaaba47d68..2d1fc9d746 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.312") +(define-public linux-libre-4.14-version "4.14.313") (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 "03bwrnm7z8jxxn681dd5jffrj76l14ngkcccfgbg1p4a0471q436"))) + (hash (base32 "0k2j856niappvkp9m1wxr87xvbwdzdy03mbcj827kmpjd9gdca76"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From 0460ff069ee1e05091664392df79fbc2367c4a10 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 08:57:21 +0200 Subject: [PATCH 08/61] gnu: emacs-emms: Update to 15. * gnu/packages/emacs-xyz.scm (emacs-emms): Update to 15. --- 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 6618aac332..74fc1e356b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2935,14 +2935,14 @@ incrementally confined in Isearch manner.") (define emacs-emms-print-metadata (package (name "emacs-emms-print-metadata") - (version "14") + (version "15") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "emms-" version ".tar")) (sha256 - (base32 "0525vmi397q604z8i35zld3c4fkwbvxwir5lf4f1ji1bbvkzqavc")))) + (base32 "0kd9qx93cgcxyqsnbp95xx414s08rd5bb35aif3c7qyab5w05yi6")))) (build-system gnu-build-system) (arguments (list From 4c88e73786731b87433a1971fc712875e0d30bb5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 08:58:54 +0200 Subject: [PATCH 09/61] gnu: emacs-buttercup: Update to 1.31. * gnu/packages/emacs-xyz.scm (emacs-buttercup): Update to 1.31. --- 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 74fc1e356b..d0ee19c963 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -27421,7 +27421,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (define-public emacs-buttercup (package (name "emacs-buttercup") - (version "1.30") + (version "1.31") (source (origin (method git-fetch) @@ -27431,7 +27431,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (file-name (git-file-name name version)) (sha256 (base32 - "1zr1jlfwr8yp9168yvkrhif1mr1r40fr1j1v1iv11ryn2zjcm9yn")))) + "1rvc9r6swb74lhzd877jidkkf2cxl5v4zz302j2imqhsbk844qzh")))) (build-system emacs-build-system) (arguments (list From 85f56611da145ada1b052691d6db942b56b7901e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 08:59:43 +0200 Subject: [PATCH 10/61] gnu: emacs-doom-modeline: Update to 3.4.0. * gnu/packages/emacs-xyz.scm (emacs-doom-modeline): Update to 3.4.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 d0ee19c963..f0df0cf602 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -32597,7 +32597,7 @@ contributed packages to Telega."))) (define-public emacs-doom-modeline (package (name "emacs-doom-modeline") - (version "3.3.2") + (version "3.4.0") (source (origin (method git-fetch) @@ -32605,7 +32605,7 @@ contributed packages to Telega."))) (url "https://github.com/seagle0128/doom-modeline") (commit (string-append "v" version)))) (sha256 - (base32 "1v24hiqs4zbq613vanixgng9cx697di63jpafpmjlsripjfvk1qp")) + (base32 "1z5cqn33v7sjihs05ycz1yzi5wcg90yn3cy09qj9g5g8pjs8qdki")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments From c0d324095eea0f59d105ccbedadf2d0cc5fa3c54 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 09:01:45 +0200 Subject: [PATCH 11/61] gnu: emacs-elfeed-score: Update to 1.2.5. * gnu/packages/emacs-xyz.scm (emacs-elfeed-score): Update to 1.2.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 f0df0cf602..488ff088d7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13151,7 +13151,7 @@ with Elfeed.") (define-public emacs-elfeed-score (package (name "emacs-elfeed-score") - (version "1.2.4") + (version "1.2.5") (source (origin (method git-fetch) @@ -13160,7 +13160,7 @@ with Elfeed.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0d1yh4wv81n5mnrzdi88z0vbs94m7j3q20r5fc1wk35r4hrl3xqw")))) + (base32 "0slbmmcsf5pqbiq3nmna7wx9jvfgdgjp272qdqvmrv99jdj92cq6")))) (build-system emacs-build-system) (propagated-inputs (list emacs-elfeed)) From 4c6524d9816eef5909c2d0a64703b834cd0a7a6e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 09:15:12 +0200 Subject: [PATCH 12/61] gnu: emacs-elfeed-score: Build and install info documentation. * gnu/packages/emacs-xyz.scm (emacs-elfeed-score)[arguments]<#:phases>: Add a phase to build info files. [native-inputs]: Add TEXINFO. --- gnu/packages/emacs-xyz.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 488ff088d7..37b8144e71 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13162,6 +13162,18 @@ with Elfeed.") (sha256 (base32 "0slbmmcsf5pqbiq3nmna7wx9jvfgdgjp272qdqvmrv99jdj92cq6")))) (build-system emacs-build-system) + (arguments + (list + #:tests? #false ;FIXME: How to run tests properly? + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (with-directory-excursion "doc" + (invoke "makeinfo" "--no-split" + "-o" "elfeed-score.info" "elfeed-score.texi"))))))) + (native-inputs + (list texinfo)) (propagated-inputs (list emacs-elfeed)) (home-page "https://github.com/sp1ff/elfeed-score") From ec13119d20c5a2f3a8f6aa48d343dec6bd286e71 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 09:53:08 +0200 Subject: [PATCH 13/61] gnu: emacs-embark: Update to 0.22.1. * gnu/packages/emacs-xyz.scm (emacs-embark): Update to 0.22.1. --- 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 37b8144e71..dd77408365 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10714,10 +10714,10 @@ them easier to distinguish from other, less important buffers.") (license license:expat))) (define-public emacs-embark - (let ((commit "63013c2d3ef4dccc95167218ccbf4f401e489c3e")) ;version bump + (let ((commit "c914efe881df2bc6a2bd35cc7ee975d3e9d4a418")) ;version bump (package (name "emacs-embark") - (version "0.21.1") + (version "0.22.1") (source (origin (method git-fetch) @@ -10725,7 +10725,7 @@ them easier to distinguish from other, less important buffers.") (url "https://github.com/oantolin/embark") (commit commit))) (sha256 - (base32 "14qp46wa1xgmb09jyk9cadj0b3m7bwspqnprk3zbfc6gw1r53235")) + (base32 "1l288w27wav0r71hprqi74r77042d1fx3p1zmi05vl6z6230h48b")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments From 823b1567cb18982884230e211a802db7919d23d1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 09:54:56 +0200 Subject: [PATCH 14/61] gnu: emacs-no-littering: Update to 1.3.0. * gnu/packages/emacs-xyz.scm (emacs-no-littering): Update to 1.3.0. [propagated-inputs]: Add EMACS-COMPAT. --- gnu/packages/emacs-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dd77408365..ad0e753d9a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -33722,7 +33722,7 @@ launching other commands/applications from within Emacs, similar to the (define-public emacs-no-littering (package (name "emacs-no-littering") - (version "1.2.7") + (version "1.3.0") (source (origin (method git-fetch) @@ -33731,8 +33731,10 @@ launching other commands/applications from within Emacs, similar to the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1grc5fk7ng4d6i8fwfpm3cb2b19s9sbdjbdn8ybchk7cj45kkl24")))) + (base32 "1vkypj2mm428kmawxnyaqg3v5xpcs5hkbmyvjkib8ib02psshxd7")))) (build-system emacs-build-system) + (propagated-inputs + (list emacs-compat)) (home-page "https://github.com/emacscollective/no-littering") (synopsis "Help keep @file{~/.emacs.d/} clean") (description "The default paths used to store configuration files and From b833e481c69b0492b405bc52224b7f6bdc246fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= Date: Tue, 18 Apr 2023 13:54:42 +0200 Subject: [PATCH 15/61] gnu: luakit: Update to 2.3.3. * gnu/packages/web-browsers.scm (luakit): Update to 2.3.3 Signed-off-by: Nicolas Goaziou --- 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 021daef173..6780ffd660 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -213,7 +213,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (define-public luakit (package (name "luakit") - (version "2.3") + (version "2.3.3") (source (origin (method git-fetch) (uri (git-reference @@ -222,7 +222,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (file-name (git-file-name name version)) (sha256 (base32 - "1khbn7dpizkznnwkw7rcfhf72dnd1nazk7dwb4rkh9i97b53mf1y")))) + "19z6idmjz6y7xmjpqgw65mdfi65lyvy06819dj5bb7rad63v5542")))) (inputs `(("lua-5.1" ,lua-5.1) ("gtk+" ,gtk+) From b7747824d879925048dfb8522f917bab803f261c Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Tue, 18 Apr 2023 13:25:01 +0200 Subject: [PATCH 16/61] gnu: komikku: Update to 1.17.0. This fixes a version incompatibility with WebkitGTK. * gnu/packages/gnome.scm (komikku): Update to 1.17.0. Signed-off-by: Nicolas Goaziou --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f651459631..fe8e504442 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -13299,7 +13299,7 @@ profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "1.15.0") + (version "1.17.0") (source (origin (method git-fetch) @@ -13309,7 +13309,7 @@ profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "0yd4274qxpv0wg1lm6daip2nd135qq07pfl5wrm2rqlzs5mvqs3n")))) + "0snb6vdgb3l2mw0kr0yb4zjpq46w56rpi554vqn5ks6qwywvs58g")))) (build-system meson-build-system) (arguments (list From db4daa419235ba6cbc92e694fc6162053687523f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 17 Apr 2023 22:18:29 +0200 Subject: [PATCH 17/61] gnu: wireshark: Update to 4.0.5. * gnu/packages/networking.scm (wireshark): Update to 4.0.5. --- 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 1ba6c5300d..a5f0433652 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1759,14 +1759,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "4.0.4") + (version "4.0.5") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0jz76ra86gy7r4wwb174lggnl5y29nn68l7ydw1kj1phcijrz854")))) + (base32 "0abb36n3li5w22f435k31mvk0sy0f41sxz4fqrl4ksjzjd377dki")))) (build-system cmake-build-system) (arguments (list From 604f911d2c12ae6f96e322e0cb0e8f7c9cea857e Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Wed, 19 Apr 2023 14:05:39 +1000 Subject: [PATCH 18/61] gnu: python-txtorcon: Fix build. gnu/packages/python-crypto.scm (python-txtorcon): Fix build failure. [propagated-inputs]: Add PYTHON-PYOPENSSL. Signed-off-by: Nicolas Goaziou --- gnu/packages/python-crypto.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index f434c90c73..bf083497d0 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1317,6 +1317,7 @@ Password-Authenticated Key Exchange algorithm.") (list python-automat python-idna python-incremental + python-pyopenssl python-service-identity python-twisted python-zope-interface)) From 74e2ac6a0ecdb68514987b056edceeadb7f0f54a Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Wed, 12 Apr 2023 23:29:38 -0700 Subject: [PATCH 19/61] gnu: icewm: Update to 3.3.3. * gnu/packages/wm.scm (icewm): Update to 3.3.3. Signed-off-by: Nicolas Goaziou --- 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 a6bca5dee1..ed497cc625 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -745,7 +745,7 @@ desktop environment.") (define-public icewm (package (name "icewm") - (version "3.3.2") + (version "3.3.3") (source (origin (method url-fetch) (uri (string-append @@ -753,7 +753,7 @@ desktop environment.") version "/icewm-" version ".tar.lz")) (sha256 (base32 - "1mp1xl64sin3d4nkh19qmnic1c9qcwf9v7mkzji76pg3mzd823jg")))) + "0wyg7lk65kf03brhzrbk158sr8d5cqny5qcyrwypnzpp0chcff71")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (inputs (list fontconfig From 87e37ac72303205001a124c9754c82c44f7924df Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Wed, 12 Apr 2023 23:28:27 -0400 Subject: [PATCH 20/61] gnu: mpdevil: Update to 1.10.2. * gnu/packages/mpd.scm (mpdevil): Update to 1.10.2. Signed-off-by: Nicolas Goaziou --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index ef45511546..b9b3ecc87e 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -561,7 +561,7 @@ album-experience.") (define-public mpdevil (package (name "mpdevil") - (version "1.10.0") + (version "1.10.2") (source (origin (method git-fetch) (uri (git-reference @@ -569,7 +569,7 @@ album-experience.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04dzxyv176w5sm4j85j7fbh42nk9wsyz5s005kj9cjwsrzrnxlbk")))) + (base32 "0ghmw3xiz567qd1iv1ggkv6zl1jb5d40mz27npk2zvlpikmqpc6c")))) (build-system meson-build-system) (arguments (list From c3f51e1599417093b906e1648aefda5a7b27a27e Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Wed, 12 Apr 2023 23:00:32 -0400 Subject: [PATCH 21/61] gnu: wlr-randr: Update to 0.3.0. * gnu/packages/wm.scm (wlr-randr): Update to 0.3.0. Signed-off-by: Nicolas Goaziou --- 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 ed497cc625..7c6cec38e7 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1872,7 +1872,7 @@ core/thread.") (define-public wlr-randr (package (name "wlr-randr") - (version "0.2.0") + (version "0.3.0") (source (origin (method git-fetch) @@ -1881,7 +1881,7 @@ core/thread.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0d44r4schknfc3g09y0kjbhl62zkynv6hi1z4zqc9ic5fhav3r15")))) + (base32 "0cj24fb6s7n8nphvhrp8ldrivjdcrjw64i5v9rsfb6z80q4qg548")))) (build-system meson-build-system) (inputs (list wayland)) (native-inputs (list pkg-config)) From 482196a85533983fa01ebbd2df3bcaff1592a311 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 14 Apr 2023 07:54:28 -0700 Subject: [PATCH 22/61] gnu: terminator: Update to 2.1.3 * gnu/packages/gnome.scm (terminator): Update to 2.1.3 Signed-off-by: Nicolas Goaziou --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fe8e504442..2cb087c987 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -12016,7 +12016,7 @@ advanced image management tool") (define-public terminator (package (name "terminator") - (version "2.1.2") + (version "2.1.3") (source (origin (method url-fetch) @@ -12024,7 +12024,7 @@ advanced image management tool") "releases/download/v" version "/" name "-" version ".tar.gz")) (sha256 - (base32 "10shpn8id7z43d4dpx16x76mgxnk4mr976j5cg28icjiiaidyfc2")))) + (base32 "1rbarn9pq3g8k13clxiy0d62g0fxhkg5bcxw2h626wkb7lzr9s8a")))) (build-system python-build-system) (native-inputs `(("gettext" ,gettext-minimal) From 1322672667ac7d11c583e9d72e5180ae0ffcc2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eidvilas=20Markevi=C4=8Dius?= Date: Fri, 14 Apr 2023 20:05:00 +0300 Subject: [PATCH 23/61] gnu: kakoune: update to 2022.10.31. * gnu/packages/text-editors.scm (kakoune): Update to 2022.10.31. Signed-off-by: Nicolas Goaziou --- gnu/packages/text-editors.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index fcb7a8db1d..8714940d1c 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2022 zamfofex ;;; Copyright © 2022 jgart ;;; Copyright © 2022 Andy Tai +;;; Copyright © 2023 Eidvilas Markevičius ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,7 +174,7 @@ based command language.") (define-public kakoune (package (name "kakoune") - (version "2021.11.08") + (version "2022.10.31") (source (origin (method url-fetch) @@ -181,7 +182,7 @@ based command language.") "releases/download/v" version "/" "kakoune-" version ".tar.bz2")) (sha256 - (base32 "1x5mvmpf0rgmr2xdw5wjn4hr6qd8yvj0zx588fi324x1knfqhc5a")))) + (base32 "12z5wka649xycclbs94bfy2yyln2172dz0zycxsxr384r5i7ncgv")))) (build-system gnu-build-system) (arguments `(#:make-flags From 9d7ba42dbf376ff8e971103bd92b8db1b0116e9c Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 14 Apr 2023 22:48:34 -0700 Subject: [PATCH 24/61] gnu: a2ps: Update to 4.15.4 * gnu/packages/pretty-print.scm (a2ps): Update to 4.15.4 Signed-off-by: Nicolas Goaziou --- gnu/packages/pretty-print.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index ea1d26e8d7..a002378966 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -55,14 +55,14 @@ (define-public a2ps (package (name "a2ps") - (version "4.15.3") + (version "4.15.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/a2ps/a2ps-" version ".tar.gz")) (sha256 (base32 - "1izpmbk3i66g8cn1bd3kdpk72vxn5ggy329xjvag5jsdxgh823nh")) + "1mvd41xvcy8vk91nndzifasq600kzlswl1379bhnpn49pa23y1ja")) (modules '((guix build utils))) (snippet ;; Remove timestamp from the installed 'README' file. From 2662f074a0d939cd08737b17a8ef0a671c028dec Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Fri, 7 Apr 2023 01:06:20 +0000 Subject: [PATCH 25/61] gnu: Add clog. * gnu/packages/parallel.scm (clog): New variable. * gnu/packages/patches/clog-fix-shared-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Nicolas Goaziou --- gnu/local.mk | 1 + gnu/packages/parallel.scm | 29 +++++++ .../patches/clog-fix-shared-build.patch | 85 +++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 gnu/packages/patches/clog-fix-shared-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index 01ffe3fdb6..b631fa6d5a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1002,6 +1002,7 @@ dist_patch_DATA = \ %D%/packages/patches/classpath-aarch64-support.patch \ %D%/packages/patches/classpath-miscompilation.patch \ %D%/packages/patches/cling-use-shared-library.patch \ + %D%/packages/patches/clog-fix-shared-build.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/cmake-curl-certificates.patch \ %D%/packages/patches/cmake-curl-certificates-3.24.patch \ diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 60bf8409ee..bc3edf9122 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -500,6 +500,35 @@ obtain information about the CPU being used: supported instruction set, processor name, cache information, and topology information.") (license license:bsd-2)))) +(define-public clog + (package + (inherit cpuinfo) ;distributed with cpuinfo but not built by it + (name "clog") + (source (origin + (inherit (package-source cpuinfo)) + (patches (search-patches "clog-fix-shared-build.patch")))) + (arguments + (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "deps/clog")))))) + (native-inputs (list googletest)) + (inputs '()) + (synopsis "C-style logging library based on printf") + (description + "This package provides a C-style library for logging errors, +warnings, information notes, and debug information. Its features are: +@itemize +@item printf-style interface for formatting variadic parameters. +@item Separate functions for logging errors, warnings, information notes, and +debug information. +@item Independent logging settings for different modules. +@item Logging to logcat on Android and stderr/stdout on other platforms. +@item Compatible with C99 and C++. +@item Covered with unit tests. +@end itemize"))) + (define-public psimd ;; There is currently no tag in this repo. (let ((commit "072586a71b55b7f8c584153d223e95687148a900") diff --git a/gnu/packages/patches/clog-fix-shared-build.patch b/gnu/packages/patches/clog-fix-shared-build.patch new file mode 100644 index 0000000000..bf80544b90 --- /dev/null +++ b/gnu/packages/patches/clog-fix-shared-build.patch @@ -0,0 +1,85 @@ +Author: Antero Mejr +Notes: Disabled function visibility hacks and googletest download. Enabled +non-static builds. + +diff --git a/deps/clog/CMakeLists.txt b/deps/clog/CMakeLists.txt +index 083f519..b7b225a 100644 +--- a/deps/clog/CMakeLists.txt ++++ b/deps/clog/CMakeLists.txt +@@ -38,20 +38,8 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps + SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps + CACHE PATH "Confu-style dependencies binary directory") + +-IF(CLOG_BUILD_TESTS) +- IF(NOT DEFINED GOOGLETEST_SOURCE_DIR) +- MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)") +- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt") +- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download") +- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . +- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download") +- SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory") +- ENDIF() +-ENDIF() +- + # ---[ clog library +-ADD_LIBRARY(clog STATIC src/clog.c) ++ADD_LIBRARY(clog src/clog.c) + SET_TARGET_PROPERTIES(clog PROPERTIES + C_STANDARD 99 + C_EXTENSIONS NO) +@@ -74,16 +62,6 @@ INSTALL(TARGETS clog + + # ---[ clog tests + IF(CLOG_BUILD_TESTS) +- # ---[ Build google test +- IF(NOT TARGET gtest) +- IF(MSVC AND NOT CLOG_RUNTIME_TYPE STREQUAL "static") +- SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- ENDIF() +- ADD_SUBDIRECTORY( +- "${GOOGLETEST_SOURCE_DIR}" +- "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest") +- ENDIF() +- + ADD_EXECUTABLE(clog-test test/clog.cc) + SET_TARGET_PROPERTIES(clog-test PROPERTIES + CXX_STANDARD 11 +diff --git a/deps/clog/include/clog.h b/deps/clog/include/clog.h +index 4143761..aa9000f 100644 +--- a/deps/clog/include/clog.h ++++ b/deps/clog/include/clog.h +@@ -11,16 +11,6 @@ + #define CLOG_INFO 4 + #define CLOG_DEBUG 5 + +-#ifndef CLOG_VISIBILITY +- #if defined(__ELF__) +- #define CLOG_VISIBILITY __attribute__((__visibility__("internal"))) +- #elif defined(__MACH__) +- #define CLOG_VISIBILITY __attribute__((__visibility__("hidden"))) +- #else +- #define CLOG_VISIBILITY +- #endif +-#endif +- + #ifndef CLOG_ARGUMENTS_FORMAT + #if defined(__GNUC__) + #define CLOG_ARGUMENTS_FORMAT __attribute__((__format__(__printf__, 1, 2))) +@@ -33,11 +23,11 @@ + extern "C" { + #endif + +-CLOG_VISIBILITY void clog_vlog_debug(const char* module, const char* format, va_list args); +-CLOG_VISIBILITY void clog_vlog_info(const char* module, const char* format, va_list args); +-CLOG_VISIBILITY void clog_vlog_warning(const char* module, const char* format, va_list args); +-CLOG_VISIBILITY void clog_vlog_error(const char* module, const char* format, va_list args); +-CLOG_VISIBILITY void clog_vlog_fatal(const char* module, const char* format, va_list args); ++void clog_vlog_debug(const char* module, const char* format, va_list args); ++void clog_vlog_info(const char* module, const char* format, va_list args); ++void clog_vlog_warning(const char* module, const char* format, va_list args); ++void clog_vlog_error(const char* module, const char* format, va_list args); ++void clog_vlog_fatal(const char* module, const char* format, va_list args); + + #define CLOG_DEFINE_LOG_DEBUG(log_debug_function_name, module, level) \ + CLOG_ARGUMENTS_FORMAT \ From 1027f1019930b813caf37c1a47ea37f46ebf7ed9 Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Fri, 31 Mar 2023 19:03:46 +0300 Subject: [PATCH 26/61] gnu: Add alienblaster. * gnu/packages/games.scm (alienblaster): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/games.scm | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a8c1bb1280..727854afda 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3706,6 +3706,57 @@ enemies in different game modes such as space ball, death match, team death match, cannon keep, and grave-itation pit.") (license license:gpl3+)))) +(define-public alienblaster + (package + (name "alienblaster") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.schwardtnet.de/alienblaster/archives/" + "alienblaster-" version ".tgz")) + (sha256 + (base32 + "104rfsfsv446n4y52p5zw9h8mhgjyrbca8fpyhnxkkasq141a264")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-sdl-paths + (lambda _ + (let ((share (string-append #$output "/share"))) + ;; Fix name and append path to "SDL_mixer.h" + (substitute* "src/Makefile" + (("GAME_NAME=alienBlaster") "GAME_NAME=alienblaster") + (("SDL_FLAGS=\\$\\(shell sdl-config --cflags\\)" line) + (string-append line " -I" + #$(this-package-input "sdl-mixer") + "/include/SDL"))) + ;; Substitute relative paths in ".cfg" and source/header files + (substitute* (find-files "./cfg") + (("(\\./)?images") (string-append share "/images"))) + (substitute* (list "src/global.h" "src/global.cc") + (("./images") (string-append share "/images")) + (("./sound") (string-append share "/sound")) + (("./cfg") (string-append share "/cfg")))))) + (delete 'configure) + (replace 'install + (lambda _ + (install-file "alienblaster" (string-append #$output "/bin")) + (for-each + (lambda (dir) + (copy-recursively dir (string-append #$output "/share/" dir))) + '("images" "sound" "cfg"))))))) + (inputs (list sdl sdl-mixer)) + (home-page "http://www.schwardtnet.de/alienblaster/") + (synopsis "Action-loaded 2D arcade shooter game") + (description "Alien Blaster is an action-loaded 2D arcade shooter +game. Your mission in the game is simple: stop the invasion of the aliens by +blasting them. Simultaneous two-player mode is available.") + (license license:gpl2))) + (define glkterm (package (name "glkterm") From d3bc56da0475bc643ccb065483c53c6d28cf8e39 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 11:18:56 +0200 Subject: [PATCH 27/61] gnu: luakit: Improve package style. * gnu/packages/web-browsers.scm (luakit)[arguments]<#:tests?>: Properly disable tests instead of deleting CHECK phase. <#:make-flags, #:phases>: Use G-expressions. Remove trailing #T. <#:test-targes>: Add it, for the record. [inputs]: Remove labels. --- gnu/packages/web-browsers.scm | 90 ++++++++++++++++------------------- 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 6780ffd660..0730d5b19a 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -217,61 +217,53 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/luakit/luakit") - (commit version))) + (url "https://github.com/luakit/luakit") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "19z6idmjz6y7xmjpqgw65mdfi65lyvy06819dj5bb7rad63v5542")))) - (inputs - `(("lua-5.1" ,lua-5.1) - ("gtk+" ,gtk+) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("glib-networking" ,glib-networking) - ("lua5.1-filesystem" ,lua5.1-filesystem) - ("luajit" ,luajit) - ("webkitgtk" ,webkitgtk-with-libsoup2) - ("sqlite" ,sqlite))) - (native-inputs - (list pkg-config)) (build-system glib-or-gtk-build-system) (arguments - `(#:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list - "CC=gcc" - "LUA_BIN_NAME=lua" - "DEVELOPMENT_PATHS=0" - (string-append "PREFIX=" out) - (string-append "XDGPREFIX=" out "/etc/xdg"))) - #:phases - (modify-phases %standard-phases - (add-before 'build 'lfs-workaround - (lambda _ - (setenv "LUA_CPATH" - (string-append - (assoc-ref %build-inputs "lua5.1-filesystem") - "/lib/lua/5.1/?.so;;")) - #t)) - (add-before 'build 'set-version - (lambda _ - (setenv "VERSION_FROM_GIT" ,(package-version this-package)) - #t)) - (delete 'configure) - (delete 'check) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((luakit (assoc-ref outputs "out")) - (lua5.1-filesystem (assoc-ref inputs "lua5.1-filesystem") ) - (gtk (assoc-ref inputs "gtk+")) - (gtk-share (string-append gtk "/share"))) - (wrap-program (string-append luakit "/bin/luakit") - `("LUA_CPATH" prefix - (,(string-append lua5.1-filesystem - "/lib/lua/5.1/?.so;;"))) - `("XDG_CONFIG_DIRS" prefix - (,(string-append luakit "/etc/xdg/")))) - #t)))))) + (list + #:tests? #false ;require un-packaged "luassert" + #:test-target "run-tests" + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "LUA_BIN_NAME=lua" + "DEVELOPMENT_PATHS=0" + (string-append "PREFIX=" #$output) + (string-append "XDGPREFIX=" #$output "/etc/xdg")) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'lfs-workaround + (lambda _ + (setenv "LUA_CPATH" + (string-append #$(this-package-input "lua5.1-filesystem") + "/lib/lua/5.1/?.so;;")))) + (add-before 'build 'set-version + (lambda _ + (setenv "VERSION_FROM_GIT" #$version))) + (delete 'configure) + (add-after 'install 'wrap + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/luakit") + `("LUA_CPATH" prefix + (,(string-append #$(this-package-input "lua5.1-filesystem") + "/lib/lua/5.1/?.so;;"))) + `("XDG_CONFIG_DIRS" prefix + (,(string-append #$output "/etc/xdg/"))))))))) + (native-inputs + (list pkg-config)) + (inputs + (list lua-5.1 + gtk+ + gsettings-desktop-schemas + glib-networking + lua5.1-filesystem + luajit + webkitgtk-with-libsoup2 + sqlite)) (synopsis "Fast, lightweight, and simple browser based on WebKit") (description "Luakit is a fast, lightweight, and simple to use micro-browser framework extensible by Lua using the WebKit web content engine From 7cfc226d1e8a3393559efe2f95fb7d8c50e534fc Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Apr 2023 12:42:36 +0200 Subject: [PATCH 28/61] gnu: luakit: Further improve style. This is a followup to d3bc56da0475bc643ccb065483c53c6d28cf8e39. * gnu/packages/web-browsers.scm (luakit)[arguments]<#:phases>: Remove unnecessary INPUTS key. [inputs]: Sort alphabetically. --- gnu/packages/web-browsers.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 0730d5b19a..7b06e54cdf 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -246,7 +246,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (setenv "VERSION_FROM_GIT" #$version))) (delete 'configure) (add-after 'install 'wrap - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (wrap-program (string-append #$output "/bin/luakit") `("LUA_CPATH" prefix (,(string-append #$(this-package-input "lua5.1-filesystem") @@ -256,14 +256,14 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (native-inputs (list pkg-config)) (inputs - (list lua-5.1 - gtk+ + (list glib-networking gsettings-desktop-schemas - glib-networking + gtk+ + lua-5.1 lua5.1-filesystem luajit - webkitgtk-with-libsoup2 - sqlite)) + sqlite + webkitgtk-with-libsoup2)) (synopsis "Fast, lightweight, and simple browser based on WebKit") (description "Luakit is a fast, lightweight, and simple to use micro-browser framework extensible by Lua using the WebKit web content engine From 51ef858c941cd648362a1e98ebeb98bed35cd857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:36 +0200 Subject: [PATCH 29/61] gnu: bpp-core: Update to 2.4.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (bpp-core): Update to 2.4.1. [source]: Remove the commit and use the release version. Changed to the github stored sources. [arguments]: Remove the disabled parallel-build. [home-page]: Changed to new host Université Claude-Bernard Lyon 1. --- gnu/packages/bioinformatics.scm | 42 ++++++++++++++------------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b27e12a5b4..351387fb06 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2220,34 +2220,28 @@ easy-to-perform steps.") (license license:gpl3+))) (define-public bpp-core - ;; The last release was in 2014 and the recommended way to install from source - ;; is to clone the git repository, so we do this. - ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page - (let ((commit "7d8bced0d1a87291ea8dd7046b7fb5ff9c35c582")) - (package - (name "bpp-core") - (version (string-append "2.2.0-1." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://biopp.univ-montp2.fr/git/bpp-core") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "10djsq5vlnkilv436gnmh4irpk49v29pa69r6xiryg32xmvn909j")))) - (build-system cmake-build-system) - (arguments - `(#:parallel-build? #f)) - (home-page "http://biopp.univ-montp2.fr") - (synopsis "C++ libraries for Bioinformatics") - (description - "Bio++ is a set of C++ libraries for Bioinformatics, including sequence + (package + (name "bpp-core") + (version "2.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-core") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ma2cl677l7s0n5sffh66cy9lxp5wycm50f121g8rx85p95vkgwv")))) + (build-system cmake-build-system) + (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-core/html/index.html") + (synopsis "C++ libraries for Bioinformatics") + (description + "Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. It is Object Oriented and is designed to be both easy to use and computer efficient. Bio++ intends to help programmers to write computer expensive programs, by providing them a set of re-usable tools.") - (license license:cecill-c)))) + (license license:cecill-c))) (define-public bpp-phyl ;; The last release was in 2014 and the recommended way to install from source From 627049872b500adc2d731758938efa28e1415a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:37 +0200 Subject: [PATCH 30/61] gnu: bpp-seq: Update to 2.4.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (bpp-seq): Update to 2.4.1. [source]: Remove the commit and use the release version. Changed to the github repo. [arguments]: Remove the disabled parallel-build and out-of-source. [home-page]: Changed to new host Université Claude-Bernard Lyon 1. --- gnu/packages/bioinformatics.scm | 48 +++++++++++++-------------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 351387fb06..232d0e42c6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2308,37 +2308,27 @@ library provides population genetics-related modules.") (license license:cecill-c)))) (define-public bpp-seq - ;; The last release was in 2014 and the recommended way to install from source - ;; is to clone the git repository, so we do this. - ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page - (let ((commit "6cfa07965ce152e5598a89df2fa80a75973bfa33")) - (package - (name "bpp-seq") - (version (string-append "2.2.0-1." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://biopp.univ-montp2.fr/git/bpp-seq") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1nys5jq7jqvdg40d91wsmj3q2yzy4276cp7sp44n67p468f27zf2")))) - (build-system cmake-build-system) - (arguments - `(#:parallel-build? #f - ;; If out-of-source, test data is not copied into the build directory - ;; so the tests fail. - #:out-of-source? #f)) - (inputs - (list bpp-core)) - (home-page "http://biopp.univ-montp2.fr") - (synopsis "Bio++ sequence library") - (description - "Bio++ is a set of C++ libraries for Bioinformatics, including sequence + (package + (name "bpp-seq") + (version "2.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-seq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mc09g8jswzsa4wgrfv59jxn15ys3q8s0227p1j838wkphlwn2qk")))) + (build-system cmake-build-system) + (inputs + (list bpp-core)) + (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-seq/html/") + (synopsis "Bio++ sequence library") + (description + "Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. This library provides sequence-related modules.") - (license license:cecill-c)))) + (license license:cecill-c))) (define-public bppsuite ;; The last release was in 2014 and the recommended way to install from source From 5107a8a1a394fef300c2d98d36b1bd92122ecf39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:38 +0200 Subject: [PATCH 31/61] gnu: bpp-phyl: Update to 2.4.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (bpp-phyl): Update to 2.4.1. [source]: Remove the commit and use the release version. Changed to the github repo. [arguments]: Remove the disabled parallel-build and out-of-source. [home-page]: Changed to new host Université Claude-Bernard Lyon 1. [synopsis]: Use proper capitalization. --- gnu/packages/bioinformatics.scm | 49 ++++++++++++++------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 232d0e42c6..ad61b979dd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2244,37 +2244,28 @@ providing them a set of re-usable tools.") (license license:cecill-c))) (define-public bpp-phyl - ;; The last release was in 2014 and the recommended way to install from source - ;; is to clone the git repository, so we do this. - ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page - (let ((commit "0c07167b629f68b569bf274d1ad0c4af83276ae2")) - (package - (name "bpp-phyl") - (version (string-append "2.2.0-1." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://biopp.univ-montp2.fr/git/bpp-phyl") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1ssjgchzwj3iai26kyly7gwkdv8sk59nqhkb1wpap3sf5m6kyllh")))) - (build-system cmake-build-system) - (arguments - `(#:parallel-build? #f - ;; If out-of-source, test data is not copied into the build directory - ;; so the tests fail. - #:out-of-source? #f)) - (inputs - (list bpp-core bpp-seq)) - (home-page "http://biopp.univ-montp2.fr") - (synopsis "Bio++ phylogenetic Library") - (description - "Bio++ is a set of C++ libraries for Bioinformatics, including sequence + (package + (name "bpp-phyl") + (version "2.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-phyl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "192zks6wyk903n06c2lbsscdhkjnfwms8p7jblsmk3lvjhdipb20")))) + (build-system cmake-build-system) + (inputs + (list bpp-core bpp-seq)) + (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-phyl/html/") + (synopsis "Bio++ phylogenetic library") + (description + "Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. This library provides phylogenetics-related modules.") - (license license:cecill-c)))) + (license license:cecill-c))) (define-public bpp-popgen ;; The last release was in 2014 and the recommended way to install from source From 722a8b2296e32f7ef510bf877c36d30b2ef621b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:39 +0200 Subject: [PATCH 32/61] gnu: Add bpp-seq-omics. * gnu/packages/bioinformatics.scm (bpp-seq-omics): New variable. --- gnu/packages/bioinformatics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ad61b979dd..576af31ae6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2321,6 +2321,28 @@ analysis, phylogenetics, molecular evolution and population genetics. This library provides sequence-related modules.") (license license:cecill-c))) +(define-public bpp-seq-omics + (package + (name "bpp-seq-omics") + (version "2.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-seq-omics") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1sc2xdfnfp5a6qihplp49rgrqmj89898avfy9bqaq1g2fajppgjj")))) + (build-system cmake-build-system) + (inputs + (list bpp-core bpp-seq)) + (home-page "https://github.com/BioPP/bpp-seq-omics") + (synopsis "Bio++ sequence library genomics components") + (description + "This library contains the genomics components of the Bio++ sequence library. +It is part of the Bio++ project.") + (license license:cecill))) + (define-public bppsuite ;; The last release was in 2014 and the recommended way to install from source ;; is to clone the git repository, so we do this. From 7c75228c8ba4aaeb8935e9d49db514749cb79f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:40 +0200 Subject: [PATCH 33/61] gnu: Add bpp-phyl-omics. * gnu/packages/bioinformatics.scm (bpp-phyl-omics): New variable. --- gnu/packages/bioinformatics.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 576af31ae6..511431fb95 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2267,6 +2267,34 @@ analysis, phylogenetics, molecular evolution and population genetics. This library provides phylogenetics-related modules.") (license license:cecill-c))) +(define-public bpp-phyl-omics + (package + (name "bpp-phyl-omics") + (version "2.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-phyl-omics") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "172psb8njkjwg3cd6gdy5w0mq8f0817v635yw4bk7146aggjzl1h")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f)) ; No test provided. + (inputs + (list bpp-core + bpp-phyl + bpp-seq + bpp-seq-omics)) + (home-page "https://github.com/BioPP/bpp-phyl-omics") + (synopsis "Bio++ phylogenetic library genomics components") + (description + "This library contains the genomics components of the Bio++ phylogenetics +library. It is part of the Bio++ project.") + (license license:cecill))) + (define-public bpp-popgen ;; The last release was in 2014 and the recommended way to install from source ;; is to clone the git repository, so we do this. From 2babf3d7d70a52c3543500f09f31c4eaf7a5184e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 10:16:41 +0200 Subject: [PATCH 34/61] gnu: Add maffilter. * gnu/packages/bioinformatics.scm (maffilter): New variable. Co-authored-by: Ricardo Wurmus --- gnu/packages/bioinformatics.scm | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 511431fb95..c032d107cd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6046,6 +6046,43 @@ resolution of binding sites through combining the information of both sequencing tag position and orientation.") (license license:bsd-3))) +(define-public maffilter + (package + (name "maffilter") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jydu/maffilter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "196c16qw82niqqyzi7j1ga1n0zmir73bm26kg04m0i5aq2cpa0ml")))) + (build-system cmake-build-system) + (arguments (list #:tests? #false)) ;there are none + (inputs + (list boost + bpp-core + bpp-phyl + bpp-phyl-omics + bpp-seq + bpp-seq-omics + zlib)) + (home-page "https://jydu.github.io/maffilter/") + (synopsis "Multiple alignment format file processor") + (description + "MafFilter is a program dedicated to the analysis of genome alignments. +It parses and manipulates @acronym{MAF, multiple alignment format} files as +well as more simple fasta files. This package can be used to design a +pipeline as a series of consecutive filters, each performing a dedicated +analysis. Many of the filters are available, from alignment cleaning to +phylogeny reconstruction and population genetics analysis. Despite various +filtering options and format conversion tools, MafFilter can compute a wide +range of statistics (phylogenetic trees, nucleotide diversity, inferrence of +selection, etc.).") + (license license:gpl3+))) + (define-public mafft (package (name "mafft") From 2a20acf24b964e527b69f8b1111a3fdee1a56f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 02:03:57 +0200 Subject: [PATCH 35/61] gnu: bpp-popgen: Update to 2.4.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (bpp-popgen): Update to 2.4.1. [source]: Remove the commit and use the release version. Changed to the github repo. [arguments]: Remove the disabled parallel-build. [home-page]: Changed to new host Université Claude-Bernard Lyon 1. --- gnu/packages/bioinformatics.scm | 49 +++++++++++++++------------------ 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c032d107cd..152cef2e01 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2296,35 +2296,30 @@ library. It is part of the Bio++ project.") (license license:cecill))) (define-public bpp-popgen - ;; The last release was in 2014 and the recommended way to install from source - ;; is to clone the git repository, so we do this. - ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page - (let ((commit "e472bac9b1a148803895d747cd6d0c5904f85d9f")) - (package - (name "bpp-popgen") - (version (string-append "2.2.0-1." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://biopp.univ-montp2.fr/git/bpp-popgen") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0yn82dzn1n5629nzja68xfrhi655709rjanyryb36vzkmymy6dw5")))) - (build-system cmake-build-system) - (arguments - `(#:parallel-build? #f - #:tests? #f)) ; There are no tests. - (inputs - (list bpp-core bpp-seq)) - (home-page "http://biopp.univ-montp2.fr") - (synopsis "Bio++ population genetics library") - (description - "Bio++ is a set of C++ libraries for Bioinformatics, including sequence + (package + (name "bpp-popgen") + (version "2.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bpp-popgen") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bz0fhrq3dri6a0hvfc3zlvrns8mrzzlnicw5pyfa812gc1qwfvh")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f)) ; There are no tests. + (inputs + (list bpp-core bpp-seq)) + (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-popgen/html/") + (synopsis "Bio++ population genetics library") + (description + "Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. This library provides population genetics-related modules.") - (license license:cecill-c)))) + (license license:cecill-c))) (define-public bpp-seq (package From 184658e282d5e16beb4e30440afffd7f9b392021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Fri, 21 Apr 2023 02:03:58 +0200 Subject: [PATCH 36/61] gnu: bppsuite: Update to 2.4.1. * gnu/packages/bioinformatics.scm (bppsuite): Update to 2.4.1. [source]: Remove the commit and use the release version. Changed to the github repo. [arguments]: Remove the disabled parallel-build. [inputs]: Use list. [home-page]: Changed to github page. --- gnu/packages/bioinformatics.scm | 56 ++++++++++++++------------------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 152cef2e01..8813bbe308 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2367,40 +2367,32 @@ It is part of the Bio++ project.") (license license:cecill))) (define-public bppsuite - ;; The last release was in 2014 and the recommended way to install from source - ;; is to clone the git repository, so we do this. - ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page - (let ((commit "c516147f57aa50961121cd505bed52cd7603698b")) - (package - (name "bppsuite") - (version (string-append "2.2.0-1." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://biopp.univ-montp2.fr/git/bppsuite") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1y87pxvw0jxjizhq2dr9g2r91md45k1p9ih2sl1yy1y3p934l2kb")))) - (build-system cmake-build-system) - (arguments - `(#:parallel-build? #f - #:tests? #f)) ; There are no tests. - (native-inputs - (list groff man-db texinfo)) - (inputs - `(("bpp-core" ,bpp-core) - ("bpp-seq" ,bpp-seq) - ("bpp-phyl" ,bpp-phyl) - ("bpp-phyl" ,bpp-popgen))) - (home-page "http://biopp.univ-montp2.fr") - (synopsis "Bioinformatics tools written with the Bio++ libraries") - (description - "Bio++ is a set of C++ libraries for Bioinformatics, including sequence + (package + (name "bppsuite") + (version "2.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BioPP/bppsuite") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wdwcgczqbc3m116vakvi0129wm3acln3cfc7ivqnalwvi6lrpds")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f)) ; There are no tests. + (native-inputs + (list groff man-db texinfo)) + (inputs + (list bpp-core bpp-seq bpp-phyl bpp-popgen)) + (home-page "https://github.com/BioPP") + (synopsis "Bioinformatics tools written with the Bio++ libraries") + (description + "Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. This package provides command line tools using the Bio++ library.") - (license license:cecill-c)))) + (license license:cecill-c))) (define-public blast+ (package From 1ae279d7c8a4962fedcb3479e551d21991d0ac4a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 12 Apr 2023 19:55:44 -0400 Subject: [PATCH 37/61] services: syslog: Move configuration to /etc/syslog.conf. Having the configuration live at a static location makes it possible to hot-reload it. * gnu/services/base.scm (syslog.conf): New variable. (syslog-etc, syslog-shepherd-service): New procedures. (syslog-service-type): Rewrite using the above new variable and procedures, extending etc-service-type with its configuration file. --- gnu/services/base.scm | 61 ++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index dfc7571e55..3b0784ef07 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020, 2021 Brice Waegeneire ;;; Copyright © 2021 qblade ;;; Copyright © 2021 Hui Lu -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 muradm ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Justin Veilleux @@ -1532,30 +1532,43 @@ Service Switch}, for an example." (config-file syslog-configuration-config-file (default %default-syslog.conf))) -(define syslog-service-type - (shepherd-service-type - 'syslog - (lambda (config) - (define config-file - (syslog-configuration-config-file config)) +;;; Note: a static file name is used for syslog.conf so that the reload action +;;; work as intended. +(define syslog.conf "/etc/syslog.conf") - (shepherd-service - (documentation "Run the syslog daemon (syslogd).") - (provision '(syslogd)) - (requirement '(user-processes)) - (actions (list (shepherd-configuration-action config-file))) - (start #~(let ((spawn (make-forkexec-constructor - (list #$(syslog-configuration-syslogd config) - "--rcfile" #$config-file) - #:pid-file "/var/run/syslog.pid"))) - (lambda () - ;; Set the umask such that file permissions are #o640. - (let ((mask (umask #o137)) - (pid (spawn))) - (umask mask) - pid)))) - (stop #~(make-kill-destructor)))) - (syslog-configuration) +(define (syslog-etc configuration) + (match-record configuration + (config-file) + (list `(,(basename syslog.conf) ,config-file)))) + +(define (syslog-shepherd-service config) + (define config-file + (syslog-configuration-config-file config)) + + (shepherd-service + (documentation "Run the syslog daemon (syslogd).") + (provision '(syslogd)) + (requirement '(user-processes)) + (actions (list (shepherd-configuration-action syslog.conf))) + (start #~(let ((spawn (make-forkexec-constructor + (list #$(syslog-configuration-syslogd config) + #$(string-append "--rcfile=" syslog.conf)) + #:pid-file "/var/run/syslog.pid"))) + (lambda () + ;; Set the umask such that file permissions are #o640. + (let ((mask (umask #o137)) + (pid (spawn))) + (umask mask) + pid)))) + (stop #~(make-kill-destructor)))) + +(define syslog-service-type + (service-type + (name 'syslog) + (default-value (syslog-configuration)) + (extensions (list (service-extension shepherd-root-service-type + (compose list syslog-shepherd-service)) + (service-extension etc-service-type syslog-etc))) (description "Run the syslog daemon, @command{syslogd}, which is responsible for logging system messages."))) From 2c67e98b37e5b73c6abbadce59698bc4df3ce783 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 12 Apr 2023 15:44:02 -0400 Subject: [PATCH 38/61] services: syslog: Add a reload action. * gnu/services/base.scm (syslog-service-type) [actions]: Add a reload action. * doc/guix.texi (Base Services): Document it. --- doc/guix.texi | 12 ++++++++++++ gnu/services/base.scm | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index adb1975935..53035fd5e9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18573,6 +18573,18 @@ Type of the service that runs the syslog daemon, whose value is a @code{} object. @end defvar +To have a modified @code{syslog-configuration} come into effect after +reconfiguring your system, the @samp{reload} action should be preferred +to restarting the service, as many services such as the login manager +depend on it and would be restarted as well: + +@example +# herd reload syslog +@end example + +which will cause the running @command{syslogd} process to reload its +configuration. + @deftp {Data Type} syslog-configuration Data type representing the configuration of the syslog daemon. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 3b0784ef07..7ef6db8ad4 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1549,7 +1549,21 @@ Service Switch}, for an example." (documentation "Run the syslog daemon (syslogd).") (provision '(syslogd)) (requirement '(user-processes)) - (actions (list (shepherd-configuration-action syslog.conf))) + (actions + (list (shepherd-configuration-action syslog.conf) + (shepherd-action + (name 'reload) + (documentation "Reload the configuration file from disk.") + (procedure + #~(lambda (pid) + (if pid + (begin + (kill pid SIGHUP) + (display #$(G_ "Service syslog has been asked to \ +reload its settings file."))) + (display #$(G_ "Service syslog is not running.")))))))) + ;; Note: a static file name is used for syslog.conf so that the reload + ;; action work as intended. (start #~(let ((spawn (make-forkexec-constructor (list #$(syslog-configuration-syslogd config) #$(string-append "--rcfile=" syslog.conf)) From 9f890e39e4fb8798e15b8cd2ce77261740b6d875 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 12 Apr 2023 20:44:59 -0400 Subject: [PATCH 39/61] services/syslog: Strip leading white space indent in syslog.conf. This is a cosmetic change. * gnu/services/base.scm (%default-syslog.conf): Add a comment referencing the documentation. Strip the extraneous leading trailing white space indent. --- gnu/services/base.scm | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 7ef6db8ad4..669027f6d1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1497,31 +1497,34 @@ given @var{config}---an @code{} object. @xref{Name Service Switch}, for an example." (service nscd-service-type config)) -;; Snippet adapted from the GNU inetutils manual. +;;; Snippet adapted from the GNU inetutils manual. (define %default-syslog.conf - (plain-file "syslog.conf" " - # Log all error messages, authentication messages of - # level notice or higher and anything of level err or - # higher to the console. - # Don't log private authentication messages! - *.alert;auth.notice;authpriv.none -/dev/console + (plain-file "syslog.conf" "\ +# See info '(inetutils) syslogd invocation' for the documentation +# of the syslogd configuration syntax. - # Log anything (except mail) of level info or higher. - # Don't log private authentication messages! - *.info;mail.none;authpriv.none -/var/log/messages +# Log all error messages, authentication messages of +# level notice or higher and anything of level err or +# higher to the console. +# Don't log private authentication messages! +*.alert;auth.notice;authpriv.none -/dev/console - # Log \"debug\"-level entries and nothing else. - *.=debug -/var/log/debug +# Log anything (except mail) of level info or higher. +# Don't log private authentication messages! +*.info;mail.none;authpriv.none -/var/log/messages - # Same, in a different place. - *.info;mail.none;authpriv.none -/dev/tty12 +# Log \"debug\"-level entries and nothing else. +*.=debug -/var/log/debug - # The authpriv file has restricted access. - # 'fsync' the file after each line (hence the lack of a leading dash). - authpriv.* /var/log/secure +# Same, in a different place. +*.info;mail.none;authpriv.none -/dev/tty12 - # Log all the mail messages in one place. - mail.* -/var/log/maillog +# The authpriv file has restricted access. +# 'fsync' the file after each line (hence the lack of a leading dash). +authpriv.* /var/log/secure + +# Log all the mail messages in one place. +mail.* -/var/log/maillog ")) (define-record-type* From 2c1e17071d8cb16d5eb44962a5b6565451b8cc34 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 12 Apr 2023 20:52:39 -0400 Subject: [PATCH 40/61] services: syslog: Log auth.info to /var/log/secure in default configuration. This causes authentication failures such as those generated by SSH brute force attacks to appear in /var/log/secure, which is picked up by tools such as fail2ban. * gnu/services/base.scm (%default-syslog.conf): Add a auth.info selector for the /var/log/secure log. Series-to: 62802@debbugs.gnu.org --- gnu/services/base.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 669027f6d1..75d4e7b741 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1521,7 +1521,9 @@ Service Switch}, for an example." # The authpriv file has restricted access. # 'fsync' the file after each line (hence the lack of a leading dash). -authpriv.* /var/log/secure +# Also include unprivileged auth logs of info or higher level +# to conveniently gather the authentication data at the same place. +authpriv.*;auth.info /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog From 0830059b9cd23ac5a22fb3d255b6d7da80050058 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 21 Apr 2023 09:53:13 -0400 Subject: [PATCH 41/61] gnu: freerdp: Update to 2.2.0 [security fixes]. This fixes CVE-2022-39316, CVE-2022-39317, CVE-2022-39318, CVE-2022-39319, CVE-2022-39320, CVE-2022-41877, CVE-2022-39347, CVE-2022-39282, CVE-2022-39283, CVE-2021-41159 and CVE-2021-41160. * gnu/packages/rdesktop.scm (freerdp): Update to 2.2.0. [arguments]: Use gexps. Do not set DOCBOOKXSL_DIR in #:configureflags. --- gnu/packages/rdesktop.scm | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 84a07e6ba9..f5a2797c6a 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Leo Famulari ;;; Copyright © 2019 Eric Bavier +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,7 +26,9 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) @@ -79,16 +82,16 @@ to remotely control a user's Windows desktop.") (define-public freerdp (package (name "freerdp") - (version "2.2.0") + (version "2.10.0") (source (origin (method git-fetch) (uri (git-reference - (url "git://github.com/FreeRDP/FreeRDP") + (url "https://github.com/FreeRDP/FreeRDP") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n")))) + (base32 "0j5waq4h7l5f0vrh7wmrv6r27p537qwbg7ab8j0n0ia5p4nvgjp2")))) (build-system cmake-build-system) (native-inputs (list docbook-xml @@ -119,21 +122,15 @@ to remotely control a user's Windows desktop.") (propagated-inputs (list libxkbcommon openssl wayland)) (arguments - `(#:build-type "RELEASE" - #:configure-flags - (list "-DWITH_JPEG=ON" - ,@(if (string-prefix? "x86_64" - (or (%current-target-system) - (%current-system))) - '("-DWITH_SSE2=ON") - '()) - (string-append "-DDOCBOOKXSL_DIR=" - (assoc-ref %build-inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl)) - "-DWITH_PULSE=ON" - "-DWITH_CUPS=ON" - "-DBUILD_TESTING=ON"))) + (list #:build-type "RELEASE" + #:configure-flags + #~(list "-DWITH_JPEG=ON" + #$@(if (target-x86-64?) + #~("-DWITH_SSE2=ON") + #~()) + "-DWITH_PULSE=ON" + "-DWITH_CUPS=ON" + "-DBUILD_TESTING=ON"))) (home-page "https://www.freerdp.com") (synopsis "Remote Desktop Protocol implementation") (description "FreeRDP implements Microsoft's Remote Desktop Protocol. From 7aaf2782869a5dec11812825e06b3a92b4a74a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:22:13 +0200 Subject: [PATCH 42/61] services: postgresql: Add the 'postgresql' Shepherd service name. * gnu/services/databases.scm (postgresql-shepherd-service): Add 'postgresql' to 'provision'. --- gnu/services/databases.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index b7bd1e587e..e9f9070ba3 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -308,7 +308,7 @@ host all all ::1/128 md5")) (call-with-input-file #$pid-file read)) (_ #t)))))) (list (shepherd-service - (provision '(postgres)) + (provision '(postgres postgresql)) (documentation "Run the PostgreSQL daemon.") (requirement '(user-processes loopback syslogd)) (modules `((ice-9 match) From a5fc3fc921354a6f0e5585d85659a6a9d0848a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:24:47 +0200 Subject: [PATCH 43/61] services: postgresql: Add 'configuration' action. * gnu/services/databases.scm (postgresql-shepherd-service): Add 'actions' field. --- gnu/services/databases.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index e9f9070ba3..8415b08eb2 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2022 Ludovic Courtès +;;; Copyright © 2015-2016, 2022-2023 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2018 Clément Lassieur @@ -313,6 +313,7 @@ host all all ::1/128 md5")) (requirement '(user-processes loopback syslogd)) (modules `((ice-9 match) ,@%default-modules)) + (actions (list (shepherd-configuration-action config-file))) (start (action "start")) (stop (action "stop")))))))) From 97f91aa4ac5405e616d3499253269877c447157a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:27:25 +0200 Subject: [PATCH 44/61] services: mysql: Add 'configuration' action. * gnu/services/databases.scm (mysql-shepherd-service): Add 'actions' field. --- gnu/services/databases.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 8415b08eb2..4146d0c8b7 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -596,6 +596,8 @@ port=" (number->string port) " (provision '(mysql)) (requirement '(user-processes)) (documentation "Run the MySQL server.") + (actions (list (shepherd-configuration-action + (mysql-configuration-file config)))) (start (let ((mysql (mysql-configuration-mysql config)) (extra-env (mysql-configuration-extra-environment config)) (my.cnf (mysql-configuration-file config))) From 0ac2ada05abdc15e6b9d78782df843fdc0a6fbd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:29:32 +0200 Subject: [PATCH 45/61] services: redis: Add 'configuration' action. * gnu/services/databases.scm (redis-shepherd-service): Add 'actions' field. --- gnu/services/databases.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 4146d0c8b7..0cbd83254b 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -755,6 +755,7 @@ port=" (number->string port) " (provision '(redis)) (documentation "Run the Redis daemon.") (requirement '(user-processes syslogd)) + (actions (list (shepherd-configuration-action config-file))) (start #~(make-forkexec-constructor '(#$(file-append redis "/bin/redis-server") #$config-file) From 70677d882276ff44bc31d39e378749b976a9ca7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:32:11 +0200 Subject: [PATCH 46/61] services: rsync: Add 'configuration' action. * gnu/services/rsync.scm (rsync-shepherd-service): Add 'actions' field. --- gnu/services/rsync.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index d456911563..aeb4275031 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Oleg Pykhalov -;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021, 2023 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,13 +225,15 @@ please use 'modules' instead~%"))) (pid-file (rsync-configuration-pid-file config)) (port-number (rsync-configuration-port-number config)) (user (rsync-configuration-user config)) - (group (rsync-configuration-group config))) + (group (rsync-configuration-group config)) + (config-file (rsync-config-file config))) (list (shepherd-service (provision '(rsync)) (documentation "Run rsync daemon.") + (actions (list (shepherd-configuration-action config-file))) (start #~(make-forkexec-constructor (list (string-append #$rsync "/bin/rsync") - "--config" #$(rsync-config-file config) + "--config" #$config-file "--daemon") #:pid-file #$pid-file #:user #$user From 1fa038324db0c7f848b5640f81465366c2a587ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 18 Apr 2023 21:35:16 +0200 Subject: [PATCH 47/61] services: knot: Add 'configuration' action. * gnu/services/dns.scm (knot-shepherd-service): Add 'actions' field. --- gnu/services/dns.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 2ff9f90cd0..f45fc99c69 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -622,6 +622,7 @@ (documentation "Run the Knot DNS daemon.") (provision '(knot dns)) (requirement '(networking)) + (actions (list (shepherd-configuration-action config-file))) (start #~(make-forkexec-constructor (list (string-append #$knot "/sbin/knotd") "-c" #$config-file))) From e45306c1982aee194243cf661295c7ca776d879f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 Apr 2023 10:38:37 +0200 Subject: [PATCH 48/61] services: postgresql: Add default package. * gnu/services/databases.scm ()[postgresql]: Add default value, moved from... (postgresql-service-type)[default-value]: ... here. --- gnu/services/databases.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 0cbd83254b..e8e42d3b7b 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -167,7 +167,8 @@ host all all ::1/128 md5")) (define-record-type* postgresql-configuration make-postgresql-configuration postgresql-configuration? - (postgresql postgresql-configuration-postgresql) ;file-like + (postgresql postgresql-configuration-postgresql ;file-like + (default postgresql-10)) (port postgresql-configuration-port (default 5432)) (locale postgresql-configuration-locale @@ -330,8 +331,7 @@ host all all ::1/128 md5")) (service-extension profile-service-type (compose list postgresql-configuration-postgresql)))) - (default-value (postgresql-configuration - (postgresql postgresql-10))) + (default-value (postgresql-configuration)) (description "Run the PostgreSQL database server."))) (define-deprecated (postgresql-service #:key (postgresql postgresql) From 9385c82c5471754635b4d2e90a3a77a7e91d7275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 Apr 2023 21:10:51 +0200 Subject: [PATCH 49/61] services: nscd: Depend on syslogd. This gets rid of nscd debug messages on the console at boot time. * gnu/services/base.scm (nscd-shepherd-service): Add dependency on 'syslogd'. --- gnu/services/base.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 75d4e7b741..e8eae72aa2 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1428,7 +1428,11 @@ the tty to run, among other things." (list (shepherd-service (documentation "Run libc's name service cache daemon (nscd).") (provision '(nscd)) - (requirement '(user-processes)) + + ;; Logs are written with syslog(3), which writes to /dev/console + ;; when nobody's listening--ugly. Thus, wait for syslogd. + (requirement '(user-processes syslogd)) + (start #~(make-forkexec-constructor (list #$nscd "-f" #$nscd.conf "--foreground") From 95731b4ef1991f5b85aa9ec9d4fb97c006bec65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Apr 2023 00:11:52 +0200 Subject: [PATCH 50/61] services: herd: 'load-services/safe' is synonymous with 'load-services'. This is a followup to 547965aa27b6a09cadf42130b7ec7db3f1aee61f. * gnu/services/herd.scm (load-services/safe): Make an alias for 'load-services'. --- gnu/services/herd.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index e489ce2b9a..48594015fc 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -282,14 +282,10 @@ returns a shepherd object." `(primitive-load ,file)) files)))) -(define (load-services/safe files) - "This is like 'load-services', but make sure only the subset of FILES that -can be safely reloaded is actually reloaded." - (eval-there `(let ((services (map primitive-load ',files))) - ;; Since version 0.5.0 of the Shepherd, registering a service - ;; that has the same name as an already-registered service - ;; makes it a "replacement" of that previous service. - (apply register-services services)))) +(define load-services/safe + ;; Deprecated. It used to behave differently before service replacements + ;; were a thing. + load-services) (define* (start-service name #:optional (arguments '())) (invoke-action name 'start arguments From fb32e226ce3d3cd9bf12989850b2dd719266d583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Apr 2023 13:17:40 +0200 Subject: [PATCH 51/61] tests: Use the client 'start-service' procedure. The previous code worked "by chance": 'start' from (shepherd service) happened to be in scope because the marionette REPL is created by a mere 'primitive-fork', and 'start' happened to kinda work. * gnu/tests/base.scm (run-basic-test): Use 'start-service' from (gnu services herd), not 'start' from (shepherd service), which is not supposed to work. * gnu/tests/install.scm (run-install): Likewise. --- gnu/tests/base.scm | 2 +- gnu/tests/install.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 97edbbc6ad..5584628514 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -148,7 +148,7 @@ Otherwise assume that there is no password for root." (marionette-eval `(begin (use-modules (gnu services herd)) - (start 'user-processes) + (start-service 'user-processes) ((@@ (gnu services herd) eval-there) '(let ((result (read (current-input-port)))) (if (eof-object? result) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 4e0e274e66..57e9df4421 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2022 Ludovic Courtès +;;; Copyright © 2016-2023 Ludovic Courtès ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic @@ -316,7 +316,7 @@ such as for RAID systems." ;; Wait for tty1. (marionette-eval '(begin (use-modules (gnu services herd)) - (start 'term-tty1)) + (start-service 'term-tty1)) marionette) (when #$(->bool script) From a09c7da8f8d8e732f969cf0a09aaa78f87032ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Apr 2023 15:38:06 +0200 Subject: [PATCH 52/61] tests: Fork and exec a new Guile for the marionette REPL. By merely forking PID 1, details from PID 1 (shepherd) would leak into the marionette process, such as the set of modules in scope and state inherited from the shepherd process ( instances, fibers, etc.). Running a fresh Guile instance avoids that. * gnu/tests.scm (marionette-program): New procedure. (marionette-shepherd-service): Change 'start' to use 'make-forkexec-constructor', and run the result of 'marionette-program'. --- gnu/tests.scm | 112 +++++++++++++++++++++++++++----------------------- 1 file changed, 60 insertions(+), 52 deletions(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index ca677d315b..96ecb40ea2 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2020, 2022 Ludovic Courtès +;;; Copyright © 2016-2020, 2022-2023 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos @@ -88,6 +88,61 @@ (with-extensions extensions gexp))) +(define (marionette-program device imported-modules extensions) + "Return the program that runs the marionette REPL on DEVICE. Ensure +IMPORTED-MODULES and EXTENSIONS are accessible from the REPL." + (define code + (with-imported-modules-and-extensions + `((guix build utils) + (guix build syscalls) + ,@imported-modules) + extensions + #~(begin + (use-modules (ice-9 match) + (ice-9 binary-ports)) + + (define (self-quoting? x) + (letrec-syntax ((one-of (syntax-rules () + ((_) #f) + ((_ pred rest ...) + (or (pred x) + (one-of rest ...)))))) + (one-of symbol? string? keyword? pair? null? array? + number? boolean? char?))) + + (let ((repl (open-file #$device "r+0")) + (console (open-file "/dev/console" "r+0"))) + ;; Redirect output to the console. + (close-fdes 1) + (close-fdes 2) + (dup2 (fileno console) 1) + (dup2 (fileno console) 2) + (close-port console) + + (display 'ready repl) + (let loop () + (newline repl) + + (match (read repl) + ((? eof-object?) + (primitive-exit 0)) + (expr + (catch #t + (lambda () + (let ((result (primitive-eval expr))) + (write (if (self-quoting? result) + result + (object->string result)) + repl))) + (lambda (key . args) + (print-exception (current-error-port) + (stack-ref (make-stack #t) 1) + key args) + (write #f repl))))) + (loop)))))) + + (program-file "marionette-repl.scm" code)) + (define (marionette-shepherd-service config) "Return the Shepherd service for the marionette REPL" (match config @@ -101,57 +156,10 @@ (modules '((ice-9 match) (srfi srfi-9 gnu))) - (start - (with-imported-modules-and-extensions imported-modules extensions - #~(lambda () - (define (self-quoting? x) - (letrec-syntax ((one-of (syntax-rules () - ((_) #f) - ((_ pred rest ...) - (or (pred x) - (one-of rest ...)))))) - (one-of symbol? string? keyword? pair? null? array? - number? boolean? char?))) - - (match (primitive-fork) - (0 - (dynamic-wind - (const #t) - (lambda () - (let ((repl (open-file #$device "r+0")) - (console (open-file "/dev/console" "r+0"))) - ;; Redirect output to the console. - (close-fdes 1) - (close-fdes 2) - (dup2 (fileno console) 1) - (dup2 (fileno console) 2) - (close-port console) - - (display 'ready repl) - (let loop () - (newline repl) - - (match (read repl) - ((? eof-object?) - (primitive-exit 0)) - (expr - (catch #t - (lambda () - (let ((result (primitive-eval expr))) - (write (if (self-quoting? result) - result - (object->string result)) - repl))) - (lambda (key . args) - (print-exception (current-error-port) - (stack-ref (make-stack #t) 1) - key args) - (write #f repl))))) - (loop)))) - (lambda () - (primitive-exit 1)))) - (pid - pid))))) + (start #~(make-forkexec-constructor + (list #$(marionette-program device + imported-modules + extensions)))) (stop #~(make-kill-destructor))))))) (define marionette-service-type From 37dd69b44511dc73eb04bdebe8d82c9a0386338e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Apr 2023 00:11:27 -0500 Subject: [PATCH 53/61] tests: Fix checks for expected failures. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses . With 'set -e', a return status inverted with '!' does not cause the shell to exit immediately. Instead use '&& false' to indicate an expected failure. * tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment-container.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh, tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with '... && false' or `test ! ...` as appropriate. Signed-off-by: Ludovic Courtès --- tests/guix-archive.sh | 8 +++-- tests/guix-build-branch.sh | 4 ++- tests/guix-build.sh | 22 +++++++------- tests/guix-daemon.sh | 2 +- tests/guix-download.sh | 10 ++++--- tests/guix-environment-container.sh | 7 ++--- tests/guix-environment.sh | 6 ++-- tests/guix-gc.sh | 18 +++++------ tests/guix-git-authenticate.sh | 8 ++--- tests/guix-graph.sh | 6 ++-- tests/guix-hash.sh | 11 +++---- tests/guix-home.sh | 14 ++++----- tests/guix-pack-relocatable.sh | 2 +- tests/guix-pack.sh | 4 +-- tests/guix-package-aliases.sh | 12 ++++---- tests/guix-package-net.sh | 22 +++++++------- tests/guix-package.sh | 46 ++++++++++++++--------------- tests/guix-refresh.sh | 6 ++-- tests/guix-shell.sh | 10 +++---- tests/guix-style.sh | 6 ++-- tests/guix-system.sh | 2 +- 21 files changed, 117 insertions(+), 109 deletions(-) diff --git a/tests/guix-archive.sh b/tests/guix-archive.sh index 00b87ff0ac..0866b5a4d8 100644 --- a/tests/guix-archive.sh +++ b/tests/guix-archive.sh @@ -44,7 +44,7 @@ cmp "$archive" "$archive_alt" # Check the exit value upon import. guix archive --import < "$archive" -! guix archive something-that-does-not-exist +guix archive --export something-that-does-not-exist && false # This one must not be listed as missing. guix build guile-bootstrap > "$archive" @@ -61,7 +61,7 @@ cmp "$archive" "$archive_alt" # This is not a valid store file name, so an error. echo something invalid > "$archive" -! guix archive --missing < "$archive" +guix archive --missing < "$archive" && false # Check '--extract'. guile -c "(use-modules (guix serialization)) @@ -77,4 +77,6 @@ guix archive -t < "$archive" | grep "^D /share/guile" guix archive -t < "$archive" | grep "^x /bin/guile" guix archive -t < "$archive" | grep "^r /share/guile.*/boot-9\.scm" -! echo foo | guix archive --authorize +echo foo | guix archive --authorize && false + +exit 0 diff --git a/tests/guix-build-branch.sh b/tests/guix-build-branch.sh index 7bf6a318ca..2d3b115e78 100644 --- a/tests/guix-build-branch.sh +++ b/tests/guix-build-branch.sh @@ -58,4 +58,6 @@ guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-9e3eacd test "$v0_1_0_drv" != "$latest_drv" test "$v0_1_0_drv" != "$orig_drv" -! guix build guix --with-commit=guile-gcrypt=000 -d +guix build guix --with-commit=guile-gcrypt=000 -d && false + +exit 0 diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 9cbf8fe26d..2c59177c86 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -25,7 +25,7 @@ guix build --version # Should fail. -! guix build -e + +guix build -e + && false # Source-less packages are accepted; they just return nothing. guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S @@ -92,7 +92,7 @@ cat > "$module_dir/foo.scm" < "$module_dir/stderr" +guix build -f "$module_dir/foo.scm" 2> "$module_dir/stderr" && false grep "read error" "$module_dir/stderr" rm "$module_dir/stderr" "$module_dir/foo.scm" @@ -199,7 +199,7 @@ cat > "$module_dir/foo.scm" < "$module_dir/err" || true grep "unbound" "$module_dir/err" # actual error grep "forget.*(gnu packages base)" "$module_dir/err" # hint @@ -240,7 +240,7 @@ cat > "$module_dir/cc-user.scm" < "$module_dir/err" +guix build -f "$module_dir/cc-user.scm" -n 2> "$module_dir/err" && false cat "$module_dir/err" grep "make-thing.*unbound" "$module_dir/err" # actual error grep "forget.*(bb-public)" "$module_dir/err" # hint @@ -270,7 +270,7 @@ test "`guix build --log-file guile-bootstrap`" = "$log" test "`guix build --log-file $out`" = "$log" # Should fail because the name/version combination could not be found. -! guix build hello-0.0.1 -n +guix build hello-0.0.1 -n && false # Keep a symlink to the result, registered as a root. result="t-result-$$" @@ -279,7 +279,7 @@ guix build -r "$result" \ test -x "$result/bin/guile" # Should fail, because $result already exists. -! guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' +guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' && false rm -f "$result" @@ -323,7 +323,7 @@ drv2=`guix build hello -d --with-input=gcc=gcc-toolchain` test "$drv1" != "$drv2" guix gc -R "$drv2" | grep `guix build -d gcc-toolchain` -! guix build guile --with-input=libunistring=something-really-silly +guix build guile --with-input=libunistring=something-really-silly && false # Deprecated/superseded packages. test "`guix build superseded -d`" = "`guix build bar -d`" @@ -331,8 +331,8 @@ test "`guix build superseded -d`" = "`guix build bar -d`" # Parsing package names and versions. guix build -n time # PASS guix build -n time@1.9 # PASS, version found -! guix build -n time@3.2 # FAIL, version not found -! guix build -n something-that-will-never-exist # FAIL +guix build -n time@3.2 && false # FAIL, version not found +guix build -n something-that-will-never-exist && false # FAIL # Invoking a monadic procedure. guix build -e "(begin @@ -404,4 +404,6 @@ export GUIX_BUILD_OPTIONS guix build emacs GUIX_BUILD_OPTIONS="--something-completely-crazy" -! guix build emacs +guix build emacs && false + +exit 0 diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh index 4b09c8c162..d85727c955 100644 --- a/tests/guix-daemon.sh +++ b/tests/guix-daemon.sh @@ -224,7 +224,7 @@ daemon_pid=$! GUIX_DAEMON_SOCKET="guix://$tcp_socket" export GUIX_DAEMON_SOCKET -! guix gc +guix gc && false unset GUIX_DAEMON_SOCKET kill "$daemon_pid" diff --git a/tests/guix-download.sh b/tests/guix-download.sh index 5475d43e60..f4cb335eef 100644 --- a/tests/guix-download.sh +++ b/tests/guix-download.sh @@ -23,11 +23,11 @@ guix download --version # Make sure it fails here. -! guix download http://does.not/exist +guix download http://does.not/exist && false -! guix download unknown://some/where; +guix download unknown://some/where && false -! guix download /does-not-exist +guix download /does-not-exist && false # This one should succeed. guix download "file://$abs_top_srcdir/README" @@ -43,4 +43,6 @@ GUIX_DAEMON_SOCKET="/nowhere" guix download -o "$output" \ cmp "$output" "$abs_top_srcdir/README" # This one should fail. -! guix download "file:///does-not-exist" "file://$abs_top_srcdir/README" +guix download "file:///does-not-exist" "file://$abs_top_srcdir/README" && false + +exit 0 diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh index a30d6b7fb2..a3bc1ab572 100644 --- a/tests/guix-environment-container.sh +++ b/tests/guix-environment-container.sh @@ -260,16 +260,15 @@ guix shell --bootstrap guile-bootstrap --container \ /usr/bin/guile --version # A dangling symlink causes the command to fail. -! guix shell --bootstrap -CS /usr/bin/python=bin/python guile-bootstrap -- exit +guix shell --bootstrap -CS /usr/bin/python=bin/python guile-bootstrap -- exit && false # An invalid symlink spec causes the command to fail. -! guix shell --bootstrap -CS bin/guile=/usr/bin/guile guile-bootstrap -- exit +guix shell --bootstrap -CS bin/guile=/usr/bin/guile guile-bootstrap -- exit && false # Check whether '--nesting' works. guix build hello -d env="$(type -P pre-inst-env)" -if guix shell -C -D guix -- "$env" guix build hello -d # cannot work -then false; else true; fi +guix shell -C -D guix -- "$env" guix build hello -d && false # cannot work hello_drv="$(guix build hello -d)" hello_drv_nested="$(cd "$(dirname env)" && guix shell --bootstrap -CW -D guix -- "$env" guix build hello -d)" test "$hello_drv" = "$hello_drv_nested" diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh index 95fe95b437..1424ea9a88 100644 --- a/tests/guix-environment.sh +++ b/tests/guix-environment.sh @@ -60,7 +60,7 @@ guix environment --bootstrap --ad-hoc guile-bootstrap --pure \ grep '^PATH=' "$tmpdir/a" grep '^GUIX_TEST_ABC=' "$tmpdir/a" grep '^GUIX_TEST_DEF=' "$tmpdir/a" -! grep '^GUIX_TEST_XYZ=' "$tmpdir/a" +grep '^GUIX_TEST_XYZ=' "$tmpdir/a" && false # Make sure the exit value is preserved. if guix environment --bootstrap --ad-hoc guile-bootstrap --pure \ @@ -207,7 +207,7 @@ then done # 'make-boot0' itself must not be listed. - ! guix gc --references "$profile" | grep make-boot0 + guix gc --references "$profile" | grep make-boot0 && false # Make sure that the shell spawned with '--exec' sees the same environment # as returned by '--search-paths'. @@ -224,7 +224,7 @@ then test "x$make_boot0_debug" != "x" # Make sure the "debug" output is not listed. - ! guix gc --references "$profile" | grep "$make_boot0_debug" + guix gc --references "$profile" | grep "$make_boot0_debug" && false # Compute the build environment for the initial GNU Make, but add in the # bootstrap Guile as an ad-hoc addition. diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh index f40619876d..675a13115d 100644 --- a/tests/guix-gc.sh +++ b/tests/guix-gc.sh @@ -36,11 +36,11 @@ unset out # For some operations, passing extra arguments is an error. for option in "" "-C 500M" "--verify" "--optimize" "--list-roots" do - ! guix gc $option whatever + guix gc $option whatever && false done # This should fail. -! guix gc --verify=foo +guix gc --verify=foo && false # Check the references of a .drv. drv="`guix build guile-bootstrap -d`" @@ -51,7 +51,7 @@ guix gc --references "$drv" | grep -e -bash guix gc --references "$out" guix gc --references "$out/bin/guile" -! guix gc --references /dev/null; +guix gc --references /dev/null && false # Check derivers. guix gc --derivers "$out" | grep "$drv" @@ -62,7 +62,7 @@ test -f "$drv" guix gc --list-dead | grep "$drv" guix gc --delete "$drv" -! test -f "$drv" +test ! -f "$drv" # Add a .drv, register it as a root. drv="`guix build --root=guix-gc-root lsh -d`" @@ -71,18 +71,18 @@ test -f "$drv" && test -L guix-gc-root guix gc --list-roots | grep "$PWD/guix-gc-root" guix gc --list-live | grep "$drv" -! guix gc --delete "$drv"; +guix gc --delete "$drv" && false rm guix-gc-root guix gc --list-dead | grep "$drv" guix gc --delete "$drv" -! test -f "$drv" +test ! -f "$drv" # Try a random collection. guix gc -C 1KiB # Check trivial error cases. -! guix gc --delete /dev/null; +guix gc --delete /dev/null && false # Bug #19757 out="`guix build guile-bootstrap`" @@ -90,14 +90,14 @@ test -d "$out" guix gc --delete "$out" -! test -d "$out" +test ! -d "$out" out="`guix build guile-bootstrap`" test -d "$out" guix gc --delete "$out/" -! test -d "$out" +test ! -d "$out" out="`guix build guile-bootstrap`" test -d "$out" diff --git a/tests/guix-git-authenticate.sh b/tests/guix-git-authenticate.sh index 2b90d8a4af..ec89f941e6 100644 --- a/tests/guix-git-authenticate.sh +++ b/tests/guix-git-authenticate.sh @@ -35,9 +35,9 @@ intro_signer="BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA" cache_key="test-$$" # This must fail because the end commit is not a descendant of $intro_commit. -! guix git authenticate "$intro_commit" "$intro_signer" \ +guix git authenticate "$intro_commit" "$intro_signer" \ --cache-key="$cache_key" --stats \ - --end=9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 + --end=9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 && false # The v1.2.0 commit is a descendant of $intro_commit and it satisfies the # authorization invariant. @@ -59,8 +59,8 @@ guix git authenticate "$intro_commit" "$intro_signer" \ --end="$v1_0_0_commit" # This should fail because these commits lack '.guix-authorizations'. -! guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \ - --cache-key="$cache_key" --end="$v1_0_1_commit" +guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \ + --cache-key="$cache_key" --end="$v1_0_1_commit" && false # This should work thanks to '--historical-authorizations'. guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \ diff --git a/tests/guix-graph.sh b/tests/guix-graph.sh index e813e01c31..9824c6a65a 100644 --- a/tests/guix-graph.sh +++ b/tests/guix-graph.sh @@ -59,7 +59,7 @@ guix graph -t references guile-bootstrap | grep guile-bootstrap guix graph -e '(@ (gnu packages bootstrap) %bootstrap-guile)' \ | grep guile-bootstrap -! guix graph -e + +guix graph -e + && false # Try passing store file names. @@ -76,13 +76,13 @@ cmp "$tmpfile1" "$tmpfile2" # Try package transformation options. guix graph git | grep 'label = "openssl' guix graph git --with-input=openssl=libressl | grep 'label = "libressl' -! guix graph git --with-input=openssl=libressl | grep 'label = "openssl' +guix graph git --with-input=openssl=libressl | grep 'label = "openssl' && false # Try --load-path guix graph -L $module_dir dummy | grep 'label = "dummy' # Displaying shortest paths (or lack thereof). -! guix graph --path emacs vim +guix graph --path emacs vim && false path="\ emacs diff --git a/tests/guix-hash.sh b/tests/guix-hash.sh index 8b03c7985d..e260396fd8 100644 --- a/tests/guix-hash.sh +++ b/tests/guix-hash.sh @@ -38,12 +38,12 @@ test `guix hash -H sha1 -f base64 /dev/null` = "2jmj7l5rSw0yVb/vlWAYkK/YBwk=" test "`guix hash /dev/null "$abs_top_srcdir/README"`" = "`guix hash /dev/null ; guix hash "$abs_top_srcdir/README"`" # Zero files. -! guix hash +guix hash && false # idem as `cat /dev/null | git hash-object --stdin` test `guix hash -S git -H sha1 -f hex /dev/null` = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 -! guix hash -H abcd1234 /dev/null +guix hash -H abcd1234 /dev/null && false mkdir "$tmpdir" echo -n executable > "$tmpdir/exe" @@ -61,11 +61,11 @@ test `guix hash -r "$tmpdir" 2>/dev/null` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslin test `guix hash -r "$tmpdir" -H sha512 2>/dev/null` = 301ra58c2vahczzxiyfin41mpyb0ljh4dh9zn3ijvwviaw1j40sfzw5skh9x945da88n3785ggifzig7acd6k72h0mpsc20m1f66m9n # Without '-r', this should fail. -! guix hash "$tmpdir" +guix hash "$tmpdir" && false # This should fail because /dev/null is a character device, which # the archive format doesn't support. -! guix hash -S nar /dev/null +guix hash -S nar /dev/null && false # Adding a .git directory mkdir "$tmpdir/.git" @@ -80,5 +80,6 @@ test `guix hash -S nar $tmpdir -x` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppi test `guix hash -S git $tmpdir -x` = 1m9yxz99g7askm88h6hzyv4g2bfv57rp5wvwp3iq5ypsplq1xkkk # Without '-r', this should fail. -! guix hash "$tmpdir" +guix hash "$tmpdir" && false +exit 0 diff --git a/tests/guix-home.sh b/tests/guix-home.sh index 11b068ca43..e9ef76c862 100644 --- a/tests/guix-home.sh +++ b/tests/guix-home.sh @@ -109,7 +109,7 @@ EOF guix home extension-graph "home.scm" | grep 'label = "home"' # There are no Shepherd services so the one below must fail. - ! guix home shepherd-graph "home.scm" + guix home shepherd-graph "home.scm" && false if container_supported then @@ -118,17 +118,17 @@ EOF # TODO: Make container independent from external environment variables. SHELL=bash guix home container home.scm -- true - ! guix home container home.scm -- false + guix home container home.scm -- false && false test "$(guix home container home.scm -- echo '$HOME')" = "$HOME" guix home container home.scm -- cat '~/.config/test.conf' | \ grep "the content of" guix home container home.scm -- test -h '~/.bashrc' test "$(guix home container home.scm -- id -u)" = 1000 - ! guix home container home.scm -- test -f '$HOME/sample/home.scm' + guix home container home.scm -- test -f '$HOME/sample/home.scm' && false guix home container home.scm --expose="$PWD=$HOME/sample" -- \ test -f '$HOME/sample/home.scm' - ! guix home container home.scm --expose="$PWD=$HOME/sample" -- \ - rm -v '$HOME/sample/home.scm' + guix home container home.scm --expose="$PWD=$HOME/sample" -- \ + rm -v '$HOME/sample/home.scm' && false else echo "'guix home container' test SKIPPED" >&2 fi @@ -206,8 +206,8 @@ EOF # the NEW content of bashrc-test-config.sh" # This file must have been removed and not backed up. - ! test -e "$HOME/.config/test.conf" - ! test -e "$HOME"/*guix-home*backup/.config/test.conf + test ! -e "$HOME/.config/test.conf" + test ! -e "$HOME"/*guix-home*backup/.config/test.conf test "$(cat "$(configuration_file)")" == "$(cat home.scm)" test "$(canonical_file_name)" == "$(readlink "${HOME}/.guix-home")" diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh index 46120c9ee6..2fc9fde0bd 100644 --- a/tests/guix-pack-relocatable.sh +++ b/tests/guix-pack-relocatable.sh @@ -92,7 +92,7 @@ then grep 'GNU sed' "$test_directory/output" # Check whether the exit code is preserved. - ! run_without_store "$test_directory/Bin/sed" --does-not-exist + run_without_store "$test_directory/Bin/sed" --does-not-exist && false chmod -Rf +w "$test_directory"; rm -rf "$test_directory"/* else diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh index a13e0ededf..4042e54aeb 100644 --- a/tests/guix-pack.sh +++ b/tests/guix-pack.sh @@ -37,7 +37,7 @@ test_directory="`mktemp -d`" trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT # Reject unsuppoted packages. -! guix pack intelmetool -s armhf-linux -n +guix pack intelmetool -s armhf-linux -n && false # Compute the derivation of a pack. drv="`guix pack coreutils -d --no-grafts`" @@ -48,7 +48,7 @@ guix gc -R "$drv" | grep "`guix build coreutils -d --no-grafts`" drv="`guix pack idutils -d --no-grafts --target=arm-linux-gnueabihf`" guix gc -R "$drv" | \ grep "`guix build idutils --target=arm-linux-gnueabihf -d --no-grafts`" -! guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`" +guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`" && false # Build a tarball with no compression. guix pack --compression=none --bootstrap guile-bootstrap diff --git a/tests/guix-package-aliases.sh b/tests/guix-package-aliases.sh index 311838b768..f68d24b9a7 100644 --- a/tests/guix-package-aliases.sh +++ b/tests/guix-package-aliases.sh @@ -36,7 +36,7 @@ guix install --bootstrap guile-bootstrap -p "$profile" test -x "$profile/bin/guile" # Make sure '-r' isn't passed as-is to 'guix package'. -! guix install -r guile-bootstrap -p "$profile" --bootstrap +guix install -r guile-bootstrap -p "$profile" --bootstrap && false test -x "$profile/bin/guile" # Use a package transformation option and make sure it's recorded. @@ -48,16 +48,16 @@ grep "libreoffice=inkscape" "$profile/manifest" guix upgrade --version guix upgrade -n guix upgrade gui.e -n -! guix upgrade foo bar -n; +guix upgrade foo bar -n && false guix remove --version guix remove --bootstrap guile-bootstrap -p "$profile" -! test -x "$profile/bin/guile" +test ! -x "$profile/bin/guile" test `guix package -p "$profile" -I | wc -l` -eq 0 -! guix remove -p "$profile" this-is-not-installed --bootstrap +guix remove -p "$profile" this-is-not-installed --bootstrap && false -! guix remove -i guile-bootstrap -p "$profile" --bootstrap +guix remove -i guile-bootstrap -p "$profile" --bootstrap && false guix search '\' game | grep '^name: gnubg' @@ -66,7 +66,7 @@ guix show guile guix show python@3 | grep "^name: python" # "python@2" exists but is deprecated; make sure it doesn't show up. -! guix show python@2 +guix show python@2 && false # Specifying multiple packages. output="`guix show sed grep | grep ^name:`" diff --git a/tests/guix-package-net.sh b/tests/guix-package-net.sh index 1cdeff773a..62e17815bf 100644 --- a/tests/guix-package-net.sh +++ b/tests/guix-package-net.sh @@ -58,7 +58,7 @@ trap 'rm -f "$profile" "$profile_alt" "$profile.lock" "$profile_alt.lock" "$prof guix package --bootstrap -p "$profile" -i guile-bootstrap test -L "$profile" && test -L "$profile-1-link" -! test -f "$profile-2-link" +test ! -f "$profile-2-link" test -f "$profile/bin/guile" boot_make="(@ (guix tests) gnu-make-for-tests)" @@ -98,13 +98,13 @@ test "`guix package -p "$profile" -l | cut -f1 | grep guile | head -n1`" \ = " guile-bootstrap" # Exit with 1 when a generation does not exist. -! guix package -p "$profile" --list-generations=42 -! guix package -p "$profile" --switch-generation=99 +guix package -p "$profile" --list-generations=42 && false +guix package -p "$profile" --switch-generation=99 && false # Remove a package. guix package --bootstrap -p "$profile" -r "guile-bootstrap" test -L "$profile-3-link" -test -f "$profile/bin/make" && ! test -f "$profile/bin/guile" +test -f "$profile/bin/make" && test ! -f "$profile/bin/guile" # Roll back. guix package --roll-back -p "$profile" @@ -112,7 +112,7 @@ test "`readlink_base "$profile"`" = "$profile-2-link" test -x "$profile/bin/guile" && test -x "$profile/bin/make" guix package --roll-back -p "$profile" test "`readlink_base "$profile"`" = "$profile-1-link" -test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" +test -x "$profile/bin/guile" && test ! -x "$profile/bin/make" # Switch to the rolled generation and switch back. guix package -p "$profile" --switch-generation=2 @@ -124,8 +124,8 @@ test "`readlink_base "$profile"`" = "$profile-1-link" for i in `seq 1 3` do guix package --bootstrap --roll-back -p "$profile" - ! test -f "$profile/bin" - ! test -f "$profile/lib" + test ! -f "$profile/bin" + test ! -f "$profile/lib" test "`readlink_base "$profile"`" = "$profile-0-link" done @@ -135,7 +135,7 @@ test -z "`guix package -p "$profile" -l 0`" # Reinstall after roll-back to the empty profile. guix package --bootstrap -p "$profile" -e "$boot_make" test "`readlink_base "$profile"`" = "$profile-1-link" -test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" +test -x "$profile/bin/guile" && test ! -x "$profile/bin/make" # Check that the first generation is the current one. test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)" @@ -143,7 +143,7 @@ test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)" # Roll-back to generation 0, and install---all at once. guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap test "`readlink_base "$profile"`" = "$profile-1-link" -test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" +test -x "$profile/bin/guile" && test ! -x "$profile/bin/make" # Install Make. guix package --bootstrap -p "$profile" -e "$boot_make" @@ -175,7 +175,7 @@ test -z "`guix package -p "$profile" -l 3`" rm "$profile" guix package --bootstrap -p "$profile" -i guile-bootstrap guix package --bootstrap -p "$profile_alt" -i gcc-bootstrap -! guix package -p "$profile" --search-paths | grep LIBRARY_PATH +guix package -p "$profile" --search-paths | grep LIBRARY_PATH && false guix package -p "$profile" -p "$profile_alt" --search-paths \ | grep "LIBRARY_PATH.*$profile/lib.$profile_alt/lib" @@ -234,4 +234,4 @@ guix package --bootstrap -e "$boot_make" test -f "$HOME/.guix-profile/bin/make" guix package --bootstrap --roll-back -! test -f "$HOME/.guix-profile/bin/make" +test ! -f "$HOME/.guix-profile/bin/make" diff --git a/tests/guix-package.sh b/tests/guix-package.sh index cc416ec6a1..945d59cdfb 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -37,7 +37,7 @@ rm -f "$profile" "$tmpfile" trap 'rm -f "$profile" "$profile.lock" "$profile-"[0-9]* "$tmpfile"; rm -rf "$module_dir" t-home-'"$$" EXIT # Use `-e' with a non-package expression. -! guix package --bootstrap -e + +guix package --bootstrap -e + && false # Install a store item and make sure the version and output in the manifest # are correct. @@ -57,23 +57,23 @@ guix gc --list-live | grep "`readlink "$profile-1-link"`" # Installing the same package a second time does nothing. guix package --bootstrap -p "$profile" -i guile-bootstrap test -L "$profile" && test -L "$profile-1-link" -! test -f "$profile-2-link" +test ! -f "$profile-2-link" test -f "$profile/bin/guile" # Unsupported packages cannot be installed. -! guix package -e '(begin (use-modules (guix) (gnu packages base)) (package (inherit sed) (supported-systems (list))))' -n +guix package -e '(begin (use-modules (guix) (gnu packages base)) (package (inherit sed) (supported-systems (list))))' -n && false case $(uname -m) in x86_64|i[3456]86) - ! guix package -i novena-eeprom -n + guix package -i novena-eeprom -n && false break;; *) - ! guix package -i intelmetool -n + guix package -i intelmetool -n && false break;; esac # Collisions are properly flagged (in this case, 'g-wrap' propagates # guile@2.2, which conflicts with guile@2.0.) -! guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 +guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 && false guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 \ --allow-collisions @@ -88,7 +88,7 @@ test "`guix package -p "$profile" --search-paths | wc -l`" = 1 # $PATH type -P rm ) # Exit with 1 when a generation does not exist. -! guix package -p "$profile" --delete-generations=42 +guix package -p "$profile" --delete-generations=42 && false # Exit with 0 when trying to delete the zeroth generation. guix package -p "$profile" --delete-generations=0 @@ -101,12 +101,12 @@ guix package --bootstrap -i "glibc:debug" -p "$profile" -n # Make sure nonexistent outputs are reported. guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n -! guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n -! guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" +guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n && false +guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" && false # Make sure we get an error when trying to remove something that's not # installed. -! guix package --bootstrap -r something-not-installed -p "$profile" +guix package --bootstrap -r something-not-installed -p "$profile" && false # Check whether `--list-available' returns something sensible. guix package -p "$profile" -A 'gui.*e' | grep guile @@ -118,8 +118,8 @@ guix package --show=guile | grep "^name: guile" guix package --show=texlive # Fail for non-existent packages or package/version pairs. -! guix package --show=does-not-exist -! guix package --show=emacs@42 +guix package --show=does-not-exist && false +guix package --show=emacs@42 && false # Search. LC_MESSAGES=C @@ -163,19 +163,19 @@ guix package --search="" > /dev/null # There's no generation older than 12 months, so the following command should # have no effect. generation="`readlink_base "$profile"`" -! guix package -p "$profile" --delete-generations=12m +guix package -p "$profile" --delete-generations=12m && false test "`readlink_base "$profile"`" = "$generation" # The following command should not delete the current generation, even though # it matches the given pattern (see .) And since # there's nothing else to delete, it should just fail. guix package --list-generations -p "$profile" -! guix package --bootstrap -p "$profile" --delete-generations=1.. +guix package --bootstrap -p "$profile" --delete-generations=1.. && false test "`readlink_base "$profile"`" = "$generation" # Make sure $profile is a GC root at this point. real_profile="`readlink -f "$profile"`" -! guix gc -d "$real_profile" +guix gc -d "$real_profile" && false test -d "$real_profile" # Now, let's remove all the symlinks to $real_profile, and make sure @@ -278,22 +278,22 @@ do guix gc --list-live | grep "`readlink "$profile_link"`" guix package --bootstrap --roll-back - ! test -f "$HOME/.guix-profile/bin" - ! test -f "$HOME/.guix-profile/lib" + test ! -f "$HOME/.guix-profile/bin" + test ! -f "$HOME/.guix-profile/lib" test "`readlink "$default_profile"`" = "`basename $default_profile-0-link`" done # Check whether '-p ~/.guix-profile' makes any difference. # See . -! test -e "$HOME/.guix-profile-0-link" -! test -e "$HOME/.guix-profile-1-link" +test ! -e "$HOME/.guix-profile-0-link" +test ! -e "$HOME/.guix-profile-1-link" guix package --bootstrap -p "$HOME/.guix-profile" -i guile-bootstrap -! test -e "$HOME/.guix-profile-1-link" +test ! -e "$HOME/.guix-profile-1-link" guix package --bootstrap --roll-back -p "$HOME/.guix-profile" -! test -e "$HOME/.guix-profile-0-link" +test ! -e "$HOME/.guix-profile-0-link" # Extraneous argument. -! guix package install foo-bar +guix package install foo-bar && false # Make sure the "broken pipe" doesn't yield an error. # Note: 'pipefail' is a Bash-specific option. @@ -382,7 +382,7 @@ cat > "$module_dir/package.scm"<&1)" in *"$idutils_version"*"already the latest version"*) true;; *) false;; esac -! guix refresh -t test libreoffice +guix refresh -t test libreoffice && false case "$(guix refresh -t test libreoffice 2>&1)" in *"greater than the latest known version"*"1.0"*) true;; *) false;; @@ -100,7 +100,7 @@ grep 'version "5.5"' "$module_dir/sample.scm" grep "$(guix hash -H sha256 -f nix-base32 "$module_dir/source")" "$module_dir/sample.scm" # Specifying a target version. -! guix refresh -t test guile=2.0.0 +guix refresh -t test guile=2.0.0 && false case "$(guix refresh -t test guile=2.0.0 2>&1)" in *"failed to find"*"2.0.0"*) true;; *) false;; diff --git a/tests/guix-shell.sh b/tests/guix-shell.sh index cb2b53466d..ed368515eb 100644 --- a/tests/guix-shell.sh +++ b/tests/guix-shell.sh @@ -33,13 +33,13 @@ export XDG_CONFIG_HOME guix shell --bootstrap --pure guile-bootstrap -- guile --version # '--symlink' can only be used with --container. -! guix shell --bootstrap guile-bootstrap -S /dummy=bin/guile +guix shell --bootstrap guile-bootstrap -S /dummy=bin/guile && false # '--ad-hoc' is a thing of the past. -! guix shell --ad-hoc guile-bootstrap +guix shell --ad-hoc guile-bootstrap && false # Rejecting unsupported packages. -! guix shell -s armhf-linux intelmetool -n +guix shell -s armhf-linux intelmetool -n && false # Test approximately that the child process does not inherit extra file # descriptors. Ideally we'd check there's nothing more than 0, 1, and 2, but @@ -55,7 +55,7 @@ test "$(echo $fd_list | wc -w)" -le "$(echo $initial_fd_list | wc -w)" cat > "$tmpdir/guix.scm" < "stderr") +(cd "$tmpdir"; SHELL="$(type -P true)" guix shell --bootstrap 2> "stderr") && false grep "not authorized" "$tmpdir/stderr" rm "$tmpdir/stderr" @@ -122,7 +122,7 @@ then done # 'make-boot0' itself must not be listed. - ! guix gc --references "$profile" | grep make-boot0 + guix gc --references "$profile" | grep make-boot0 && false # Honoring the local 'guix.scm' file. echo '(@ (guix tests) gnu-make-for-tests)' > "$tmpdir/guix.scm" diff --git a/tests/guix-style.sh b/tests/guix-style.sh index 58f953a0ec..2de879d5e3 100644 --- a/tests/guix-style.sh +++ b/tests/guix-style.sh @@ -65,7 +65,7 @@ cp "$tmpfile" "$tmpfile.bak" initial_hash="$(guix hash "$tmpfile")" guix style -f "$tmpfile" -if ! test "$initial_hash" = "$(guix hash "$tmpfile")" +if test "$initial_hash" != "$(guix hash "$tmpfile")" then cat "$tmpfile" diff -u "$tmpfile.bak" "$tmpfile" @@ -73,8 +73,8 @@ then fi # Introduce random changes and try again. -sed -i "$tmpfile" -e's/ +/ /g' -! test "$initial_hash" = "$(guix hash "$tmpfile")" +sed -i "$tmpfile" -e's/ \+/ /g' +test "$initial_hash" != "$(guix hash "$tmpfile")" guix style -f "$tmpfile" test "$initial_hash" = "$(guix hash "$tmpfile")" diff --git a/tests/guix-system.sh b/tests/guix-system.sh index 1dbd5a0b85..adc0c44a6f 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -318,7 +318,7 @@ cat > "$tmpdir/config.scm" <&1 | \ grep "config\.scm:4:2: warning:.*whatever.*relative to current directory" From 61a6b05850f99dcff65c83585c97604466d4ecf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Apr 2023 16:55:29 +0200 Subject: [PATCH 54/61] tests: Relax two tests that expected a non-zero error code. * tests/guix-package-aliases.sh: "guix upgrade foo bar" has always returned zero; adjust accordingly. * tests/guix-refresh.sh: "guix refresh -t test idutils" and similar return zero; adjust accordingly. --- tests/guix-package-aliases.sh | 2 +- tests/guix-refresh.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/guix-package-aliases.sh b/tests/guix-package-aliases.sh index f68d24b9a7..4011584078 100644 --- a/tests/guix-package-aliases.sh +++ b/tests/guix-package-aliases.sh @@ -48,7 +48,7 @@ grep "libreoffice=inkscape" "$profile/manifest" guix upgrade --version guix upgrade -n guix upgrade gui.e -n -guix upgrade foo bar -n && false +guix upgrade foo bar -n guix remove --version guix remove --bootstrap guile-bootstrap -p "$profile" diff --git a/tests/guix-refresh.sh b/tests/guix-refresh.sh index 1167703b74..691020b031 100644 --- a/tests/guix-refresh.sh +++ b/tests/guix-refresh.sh @@ -37,12 +37,12 @@ GUIX_TEST_UPDATER_TARGETS=' ("the-test-package" "" (("5.5" "file://'$PWD/$module_dir'/source"))))' # No newer version available. -guix refresh -t test idutils && false +guix refresh -t test idutils # XXX: should return non-zero? case "$(guix refresh -t test idutils 2>&1)" in *"$idutils_version"*"already the latest version"*) true;; *) false;; esac -guix refresh -t test libreoffice && false +guix refresh -t test libreoffice # XXX: should return non-zero? case "$(guix refresh -t test libreoffice 2>&1)" in *"greater than the latest known version"*"1.0"*) true;; *) false;; @@ -100,7 +100,7 @@ grep 'version "5.5"' "$module_dir/sample.scm" grep "$(guix hash -H sha256 -f nix-base32 "$module_dir/source")" "$module_dir/sample.scm" # Specifying a target version. -guix refresh -t test guile=2.0.0 && false +guix refresh -t test guile=2.0.0 # XXX: should return non-zero? case "$(guix refresh -t test guile=2.0.0 2>&1)" in *"failed to find"*"2.0.0"*) true;; *) false;; From 1df54ceab38873dfc0fd2ec27313d7d17c79c350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Apr 2023 16:27:07 +0200 Subject: [PATCH 55/61] packages: 'package-direct-sources' correctly handles non-origin sources. Previously 'package-direct-sources' would trigger a wrong-type-arg error when passed a package whose 'source' is not an origin, such as 'ruby-sorbet-runtime'. * guix/packages.scm (package-direct-sources): Call 'expand' if and only if (package-source package) is an origin. --- guix/packages.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index bce82ab3a3..e26602d589 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1234,11 +1234,14 @@ input list." "Return all source origins associated with PACKAGE; including origins in PACKAGE's inputs and patches." (define (expand source) - (cons - source - (filter origin? (origin-patches source)))) + (cons source + (filter origin? (origin-patches source)))) - `(,@(or (and=> (package-source package) expand) '()) + `(,@(match (package-source package) + ((? origin? origin) + (expand origin)) + (_ + '())) ,@(filter-map (match-lambda ((_ (? origin? orig) _ ...) orig) From 76cda17812d10a2a61c81ba70f37915a94bc639c Mon Sep 17 00:00:00 2001 From: Peter Polidoro Date: Mon, 17 Apr 2023 10:29:40 -0400 Subject: [PATCH 56/61] gnu: kicad: Update to 7.0.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (kicad): Update to 7.0.2. Signed-off-by: Ludovic Courtès --- gnu/packages/engineering.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 363c127969..13105ca8fa 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -983,7 +983,7 @@ Emacs).") (define-public kicad (package (name "kicad") - (version "7.0.1") + (version "7.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -991,7 +991,7 @@ Emacs).") (commit version))) (sha256 (base32 - "021safxvyq9qzs08jy3jvpazmhvix4kyl05s9y9hwmyzdmdl2smn")) + "0san7pjgvd8niwrki722qb6y46r71rlyspqp43pmkiz55dmz52zx")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -1091,7 +1091,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "1cy9w10wzdjm9z9vzv88ija6l3pp894hwcgz5jggjrnyazhpklvj")))) + "1sh970sjvgzrwwjbkgg3ikzka5dfdq66hvkcxfx2dnp7hv0hidc2")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_FORMATS=html") @@ -1125,7 +1125,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "14c5gci13m30xv0cmic5jxsmfx9lq3fnd8hyq3mmgkrw7443zy30")))) + "0aah92rb8yx00z0xwx9z7xn5rrw4cc3z35gr7c0bnb49hiak01jc")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests exist @@ -1154,7 +1154,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "0k0z40wmaq665hjxb6kp1yl3v7clxz49r6ki0chyphsxv1cnixmy")))) + "1qrdznfd4a6kzwd4aaijkpyjy0xnrmi66isq9z52652a8s6ja48v")))) (synopsis "Official KiCad footprint libraries") (description "This package contains the official KiCad footprint libraries."))) @@ -1171,7 +1171,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "0nzi7ijfb3rjm98kaa9va2mkh0nfzpq4vfhxkq8j18qhx24h5c8v")))) + "1nkk4325jh89vh52ykfnf9pz1k3jk5017gz6r2cia2v4b3jadi31")))) (synopsis "Official KiCad 3D model libraries") (description "This package contains the official KiCad 3D model libraries."))) @@ -1188,7 +1188,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "02i279269mhq7wjhb1yqk90820ncssxl9n7b20qr2r4fmm7jpvxv")))) + "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq")))) (synopsis "Official KiCad project and worksheet templates") (description "This package contains the official KiCad project and worksheet templates."))) From 6a76811c596a4b7d20fcb26d296e6ab0d7db0d2a Mon Sep 17 00:00:00 2001 From: Juliana Sims Date: Tue, 18 Apr 2023 13:05:32 -0400 Subject: [PATCH 57/61] gnu: Add emacs-gerbil-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-gerbil-mode): Add emacs-gerbil-mode. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ad0e753d9a..86503d2706 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -125,6 +125,7 @@ ;;; Copyright © 2022 Demis Balbach ;;; Copyright © 2020, 2021, 2022, 2023 Andrew Tropin ;;; Copyright © 2023 Dominik Delgado Steuter +;;; Copyright © 2023 Juliana Sims ;;; ;;; This file is part of GNU Guix. ;;; @@ -36029,6 +36030,22 @@ audio volume via amixer.") Fennel code within Emacs.") (license license:gpl3+)))) +(define-public emacs-gerbil-mode + (package + (inherit gerbil) + (name "emacs-gerbil-mode") + (version "1.0") + (build-system emacs-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'install 'change-directory + (lambda _ + (chdir "etc")))))) + (synopsis "Emacs major-mode for editing Gerbil code") + (description + "Gerbil mode provides font-lock, indentation, navigation, and REPL for +Gerbil code within Emacs."))) + (define-public emacs-org-modern (package (name "emacs-org-modern") From fb17c47efe7a9b8b7a5cf86b357dc89dca2bc7bf Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Wed, 19 Apr 2023 19:30:59 +0300 Subject: [PATCH 58/61] gnu: guile-dsv: Update to 0.5.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile-xyz.scm (guile-dsv): Update to 0.5.2. [native-inputs]: Add "help2man". Signed-off-by: Ludovic Courtès --- gnu/packages/guile-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index fd8fb25da1..ea67deff86 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -733,7 +733,7 @@ you send to a FIFO file.") (define-public guile-dsv (package (name "guile-dsv") - (version "0.5.1") + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -742,10 +742,10 @@ you send to a FIFO file.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "10wssilin4qphdmmqmms20bp3cy007kh22l1g45wfka0minmhkgs")))) + "056wab749fyabklp4srai72dwzihlm6hkcdy1da7d4gh8iqsyqpi")))) (build-system gnu-build-system) (native-inputs - (list autoconf automake pkg-config texinfo)) + (list autoconf automake pkg-config texinfo help2man)) (inputs (list guile-3.0)) (propagated-inputs (list guile-lib)) (arguments From 9043e23196ba28590ee272fb5f71f30a4ab73385 Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Thu, 20 Apr 2023 14:30:24 +0300 Subject: [PATCH 59/61] home: services: openssh: Add configuration option for jump proxies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new 'proxy' field to openssh-host to allow ProxyCommand or ProxyJump, but not both, to be configured. Configuring both would cause the serialization order to determine which one is used. Deprecate the 'proxy-command' field because the 'proxy' field replaces it. * gnu/home/services/ssh.scm (proxy-jump->string, proxy-command-or-jump-list?, serialize-proxy-command-or-jump-list, sanitize-proxy-command): New procedure. (proxy-jump, proxy-command): New record type. (openssh-host)[proxy-command]: Mark field as deprecated because OpenSSH can't have ProxyCommand and ProxyJump configured at the same time. * doc/guix.texi (Secure Shell): Update to match the changes to the service. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 29 ++++++++++++++--- gnu/home/services/ssh.scm | 65 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 89 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 53035fd5e9..4190f37ad5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -42630,10 +42630,31 @@ machine. @item @code{compression?} (default: @code{#f}) (type: boolean) Whether to compress data in transit. -@item @code{proxy-command} (type: maybe-string) -The command to use to connect to the server. As an example, a command -to connect via an HTTP proxy at 192.0.2.0 would be: @code{"nc -X connect --x 192.0.2.0:8080 %h %p"}. +@item @code{proxy} (type: maybe-proxy-command-or-jump-list) +The command to use to connect to the server or a list of SSH hosts to +jump through before connecting to the server. The field may be set to either a +@code{proxy-command} or a list of @code{proxy-jump} records. + +As an example, a @code{proxy-command} to connect via an HTTP proxy at 192.0.2.0 +would be constructed with: @code{(proxy-command "nc -X connect -x +192.0.2.0:8080 %h %p")}. + +@deftp {Data Type} proxy-jump +Available @code{proxy-jump} fields are: + +@table @asis +@item @code{user} (type: maybe-string) +User name on the remote host. + +@item @code{host-name} (type: string) +Host name---e.g., @code{foo.example.org} or @code{192.168.1.2}. + +@item @code{port} (type: maybe-natural-number) +TCP port number to connect to. + +@end table + +@end deftp @item @code{host-key-algorithms} (type: maybe-string-list) The list of accepted host key algorithms---e.g., diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 01917a29cd..6aeb6ad5a7 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -20,6 +20,7 @@ (define-module (gnu home services ssh) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix deprecation) #:use-module (guix diagnostics) #:use-module (guix i18n) #:use-module (gnu services) @@ -32,6 +33,8 @@ #:autoload (gnu packages base) (glibc-utf8-locales) #:use-module (gnu packages ssh) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (ice-9 match) @@ -55,6 +58,12 @@ openssh-host-host-key-algorithms openssh-host-accepted-key-types openssh-host-extra-content + proxy-jump + proxy-jump-host-name + proxy-jump-port + proxy-jump-user + proxy-command + proxy-command->string home-openssh-service-type home-ssh-agent-service-type)) @@ -114,6 +123,54 @@ (define-maybe string-list) +(define-record-type + (proxy-command command) + proxy-command? + (command proxy-command->string)) + +(set-record-type-printer! + (lambda (obj port) + (format port "#" (proxy-command->string obj)))) + +(define-configuration/no-serialization proxy-jump + (user + maybe-string + "User name on the remote host.") + (host-name + (string) + "Host name---e.g., @code{foo.example.org} or @code{192.168.1.2}.") + (port + maybe-natural-number + "TCP port number to connect to.")) + +(define (proxy-jump->string proxy-jump) + (match-record proxy-jump + (host-name user port) + (string-append + (if (maybe-value-set? user) (string-append user "@") "") + host-name + (if (maybe-value-set? port) (string-append ":" (number->string port)) "")))) + +(define (proxy-command-or-jump-list? x) + (or (proxy-command? x) + (and (list? x) + (every proxy-jump? x)))) + +(define (serialize-proxy-command-or-jump-list field value) + (if (proxy-command? value) + (serialize-string 'proxy-command (proxy-command->string value)) + (serialize-string-list 'proxy-jump (map proxy-jump->string value)))) + +(define-maybe proxy-command-or-jump-list) + +(define (sanitize-proxy-command properties) + (lambda (value) + (when (maybe-value-set? value) + (warn-about-deprecation 'proxy-command properties #:replacement 'proxy)) + (unless (maybe-string? value) + (configuration-field-error (source-properties->location properties) 'proxy-command value)) + value)) + (define-configuration openssh-host (name (string) @@ -155,7 +212,13 @@ machine.") maybe-string "The command to use to connect to the server. As an example, a command to connect via an HTTP proxy at 192.0.2.0 would be: @code{\"nc -X -connect -x 192.0.2.0:8080 %h %p\"}.") +connect -x 192.0.2.0:8080 %h %p\"}. Using 'proxy-command' is deprecated, use +'proxy' instead." + (sanitizer (sanitize-proxy-command (current-source-location)))) + (proxy + maybe-proxy-command-or-jump-list + "The command to use to connect to the server or a list of SSH hosts to jump +through before connecting to the server.") (host-key-algorithms maybe-string-list "The list of accepted host key algorithms---e.g., From 13ebf5e36cc676627a19072d3712c399b7aae61f Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Thu, 20 Apr 2023 14:32:12 +0300 Subject: [PATCH 60/61] doc: Update openssh-host documentation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Secure Shell): Update openssh-host documentation to match the code. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4190f37ad5..9997aeb86e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -42601,10 +42601,10 @@ Name of this host declaration. @item @code{host-name} (type: maybe-string) Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}. -@item @code{address-family} (type: address-family) +@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), or -@code{*unspecified*} (allowing any address family). +@code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only). +Additionally, the field can be left unset to allow any address family. @item @code{identity-file} (type: maybe-string) The identity file to use---e.g., @code{"/home/charlie/.ssh/id_ed25519"}. From 040d35f088e0f1c856f3f5a9b6bf889b17bd68b3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 21 Apr 2023 14:34:23 -0400 Subject: [PATCH 61/61] Revert "gnu: lxqt-admin: Fix path for timezone file." The timezone database should not be depended on by packages, but rather found at runtime in the environment. Otherwise, this package will eventually report the incorrect time, because time zones change regularly. This reverts commit 99c1c7a30c59c3514a4ced6e0cad0e5c2860331d. --- gnu/packages/lxqt.scm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 4ebe8071f7..04373de961 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -39,7 +39,6 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) - #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages compton) @@ -321,8 +320,7 @@ LXQt and the system it's running on.") libqtxdg polkit-qt qtsvg-5 - qtx11extras - tzdata)) + qtx11extras)) (native-inputs (list lxqt-build-tools qttools-5)) (arguments @@ -330,14 +328,12 @@ LXQt and the system it's running on.") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (substitute* '("lxqt-admin-user/CMakeLists.txt" "lxqt-admin-time/CMakeLists.txt") (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") "DESTINATION \"share/polkit-1/actions")) - (substitute* '("lxqt-admin-time/timeadmindialog.cpp") - (("/usr/share/zoneinfo/zone.tab") - (search-input-file inputs "share/zoneinfo/zone.tab")))))))) + #t))))) (home-page "https://lxqt-project.org") (synopsis "LXQt system administration tool") (description "lxqt-admin is providing two GUI tools to adjust settings of