From 15d1d23dbbd1f2f45820c205c38bf666382bc211 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 22 Mar 2022 11:29:25 -0400 Subject: gnu: man-db: Simplify 'patch-test-shebangs' phase. * gnu/packages/man.scm (man-db)[phases]{patch-test-shebangs}: Do not filter nonexistent directories from find-files. [modules]: Delete field. --- gnu/packages/man.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 14aaa36ea1..1c1d82758b 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -146,8 +146,7 @@ (define-public man-db (substitute* file (("#! /bin/sh") (string-append "#!" (which "sh"))))) - (remove file-is-directory? - (find-files "src/tests" ".*")))))) + (find-files "src/tests"))))) (add-after 'unpack 'patch-absolute-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/man.c" @@ -194,10 +193,7 @@ (define-public man-db '("nroff" "eqn" "neqn" "tbl" "refer" "pic"))) ;; At run time we should refer to GROFF-MINIMAL, not GROFF (the latter ;; pulls in Perl.) - #:disallowed-references (list groff) - #:modules '((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)))) + #:disallowed-references (list groff))) (native-inputs (list pkg-config flex ;; Groff is needed at build time for troff, grops, soelim, etc. -- cgit v1.2.3 From 12c9da35389dfba86ae0d863132a6b2c4374205a Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Sun, 13 Mar 2022 02:04:14 +0100 Subject: gnu: python-pytest-cov: Update to 3.0.0. * gnu/packages/pdf.scm (python-pytest-cov): Update to 3.0.0. Signed-off-by: Mathieu Othacehe --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 32aedf5b6b..1171d1c28b 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1150,13 +1150,13 @@ (define-public python-pytest-assume (define-public python-pytest-cov (package (name "python-pytest-cov") - (version "2.8.1") + (version "3.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-cov" version)) (sha256 - (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc")))) + (base32 "0w6lfv8gc1lxmnvsz7mq5z9shxac5zz6s9mwrai108kxc6qzbw77")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 53c061955956bc52d33fe5029ee5b34b937fe610 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 28 Apr 2022 23:32:04 +0300 Subject: gnu: imlib2: Update to 1.9.0. * gnu/packages/image.scm (imlib2): Update to 1.9.0. --- gnu/packages/image.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index d45a14ec14..ace023464e 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1003,15 +1003,15 @@ (define-public libungif (define-public imlib2 (package (name "imlib2") - (version "1.7.1") + (version "1.9.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/enlightenment/imlib2-src/" version - "/imlib2-" version ".tar.bz2")) + "/imlib2-" version ".tar.xz")) (sha256 (base32 - "01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3")))) + "0l662h74i3mzl5ligj1352rf8bf48drasj97wygr2037gk5fijas")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list "--disable-static"))) -- cgit v1.2.3 From d57ec0a3037a00cb8a9fe456ea1dc026f9718d70 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 28 Apr 2022 23:33:44 +0300 Subject: gnu: imlib2: Remove input labels. * gnu/packages/image.scm (imlib2)[native-inputs]: Remove input labels. [inputs]: Same. --- gnu/packages/image.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ace023464e..ec6793aa9a 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1016,18 +1016,18 @@ (define-public imlib2 (arguments '(#:configure-flags (list "--disable-static"))) (native-inputs - `(("pkgconfig" ,pkg-config))) + (list pkg-config)) (inputs - `(("bzip2" ,bzip2) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("libid3tag" ,libid3tag) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libtiff" ,libtiff) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libwebp" ,libwebp))) + (list bzip2 + freetype + giflib + libid3tag + libjpeg-turbo + libpng + libtiff + libx11 + libxext + libwebp)) (home-page "https://sourceforge.net/projects/enlightenment/") (synopsis "Loading, saving, rendering and manipulating image files") -- cgit v1.2.3 From 10ff74d3974f517890ef74650d0031722c971cf4 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Thu, 21 Apr 2022 18:48:51 +0800 Subject: gnu: bubblewrap: Update to 0.6.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (bubblewrap): Update to 0.6.1. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f3396e7c94..3f7c6312f2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2022 Oleg Pykhalov ;;; Copyright © 2022 Ekaitz Zarraga ;;; Copyright © 2022 Arun Isaac +;;; Copyright © 2022 Zhu Zihao ;;; ;;; This file is part of GNU Guix. ;;; @@ -1950,7 +1951,7 @@ (define-public python-vagrant (define-public bubblewrap (package (name "bubblewrap") - (version "0.5.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/containers/bubblewrap/" @@ -1958,7 +1959,7 @@ (define-public bubblewrap version ".tar.xz")) (sha256 (base32 - "0608l2sjwhnb1c0mslah1h6yjvqr17wk60by6i710qwxg4rszz8n")) + "10ij62jg7p2scwdx0pm141ss7p2gjdkbbymb56y8miib2vfcf2cn")) (patches (search-patches "bubblewrap-fix-locale-in-tests.patch")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 391dc965299de6b2313e0f2c6c52ceef3294e55f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 28 Apr 2022 23:54:59 +0200 Subject: gnu: rust-pyo3: Allow compilation with Criterion 0.3.5. Fixes a regression introduced in 2703daf6eb0098ad064a9b6ec64a9ae7b5b35343. * gnu/packages/crates-io.scm (rust-pyo3-0.15)[modules, snippet]: New fields. --- gnu/packages/crates-io.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index bebc1fce8d..c8ce72b129 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -45716,7 +45716,14 @@ (define-public rust-pyo3-0.15 (uri (crate-uri "pyo3" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "082p014xd8ipwnfsq1ln871wkslxmbrxd7kpqwa0mbq53jzivw3w")))) + (base32 "082p014xd8ipwnfsq1ln871wkslxmbrxd7kpqwa0mbq53jzivw3w")) + (modules '((guix build utils))) + (snippet + ;; XXX: Relax "dev-dependencies.criterion"; this must match the + ;; version of RUST-CRITERION-0.3. + '(substitute* "Cargo.toml" + (("\"=0\\.3\\.4\"") + "\"=0.3.5\""))))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- cgit v1.2.3 From 65e3de5cce7b921f07515b633ab9ac7199a2598f Mon Sep 17 00:00:00 2001 From: Pier-Hugues Pellerin Date: Sun, 17 Apr 2022 08:31:26 -0400 Subject: gnu: go: Update to 1.17.9. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit go 1.17.9 (released 2022-04-12) includes security fixes to the crypto/elliptic and encoding/pem packages, as well as bug fixes to the linker and runtime. * gnu/packages/golang.scm (go-1.17): Update to 1.17.9. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 60ba76b2ea..5cf925f199 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -626,7 +626,7 @@ (define-public go-1.17 (package (inherit go-1.16) (name "go") - (version "1.17.8") + (version "1.17.9") (source (origin (method git-fetch) @@ -636,7 +636,7 @@ (define-public go-1.17 (file-name (git-file-name name version)) (sha256 (base32 - "05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy")))) + "02l6gxn738kam1niy2nl2wpsbzl4x87h2wik6hd3py19kq4z2flw")))) (outputs '("out" "tests")) ; 'tests' contains distribution tests. (arguments `(#:modules ((ice-9 match) -- cgit v1.2.3 From 555ddf0dd7e9715d9683b62ec8560735416d2c0d Mon Sep 17 00:00:00 2001 From: Brian Kubisiak Date: Sat, 2 Apr 2022 17:49:15 -0700 Subject: gnu: nss-certs: Use G-Expression. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/certs.scm (nss-certs)[arguments]: Use a gexp. Co-authored-by: Ludovic Courtès --- gnu/packages/certs.scm | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index d410b05860..53fb027563 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -28,6 +28,7 @@ (define-module (gnu packages certs) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -159,31 +160,27 @@ (define-public nss-certs (inputs '()) (propagated-inputs '()) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (rnrs io ports) - (srfi srfi-26)) - #:phases - (modify-phases - (map (cut assq <> %standard-phases) - '(set-paths install-locale unpack)) - (add-after 'unpack 'install - (lambda _ - ;; TODO: On the next rebuild cycle, remove references to - ;; '%output' and '%outputs'. - (let ((certsdir (string-append ,(if (%current-target-system) - '(assoc-ref %outputs "out") - '%output) - "/etc/ssl/certs/"))) - (with-directory-excursion "nss/lib/ckfw/builtins/" - (unless (file-exists? "blacklist.txt") - (call-with-output-file "blacklist.txt" (const #t))) - ;; Extract selected single certificates from blob. - (invoke "certdata2pem") - ;; Copy .pem files into the output. - (for-each (cut install-file <> certsdir) - (find-files "." ".*\\.pem$"))) - (invoke "openssl" "rehash" certsdir))))))) + (list #:modules '((guix build gnu-build-system) + (guix build utils) + (rnrs io ports) + (srfi srfi-26)) + #:phases + #~(modify-phases + (map (cut assq <> %standard-phases) + '(set-paths install-locale unpack)) + (add-after 'unpack 'install + (lambda _ + (let ((certsdir (string-append #$output + "/etc/ssl/certs/"))) + (with-directory-excursion "nss/lib/ckfw/builtins/" + (unless (file-exists? "blacklist.txt") + (call-with-output-file "blacklist.txt" (const #t))) + ;; Extract selected single certificates from blob. + (invoke "certdata2pem") + ;; Copy .pem files into the output. + (for-each (cut install-file <> certsdir) + (find-files "." ".*\\.pem$"))) + (invoke "openssl" "rehash" certsdir))))))) (synopsis "CA certificates from Mozilla") (description "This package provides certificates for Certification Authorities (CA) -- cgit v1.2.3 From 68db3efbe1877c5f096a0afb7edd7e2681b3ea33 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 8 May 2022 00:08:45 -0400 Subject: gnu: tzdata: Update to 2022a. * gnu/packages/base.scm (tzdata): Update to 2022a. --- gnu/packages/base.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c3b33e3751..5d9db0746d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1241,7 +1241,7 @@ (define-public tzdata (name "tzdata") ;; This package should be kept in sync with python-pytz in (gnu packages ;; time). - (version "2021e") + (version "2022a") (source (origin (method url-fetch) (uri (string-append @@ -1249,7 +1249,7 @@ (define-public tzdata version ".tar.gz")) (sha256 (base32 - "1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07")))) + "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg")))) (build-system gnu-build-system) (arguments (list #:tests? #f @@ -1317,7 +1317,7 @@ (define-public tzdata version ".tar.gz")) (sha256 (base32 - "0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq"))))) + "1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq"))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) -- cgit v1.2.3 From 466e12c18bfb2afc9be947c19babf9e19d31c3ab Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 8 May 2022 00:09:00 -0400 Subject: gnu: python-pytz: Update to 2022.1. * gnu/packages/time.scm (python-pytz): Update to 2022.1. --- gnu/packages/time.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 1b94632c09..bdaa9c9a25 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -126,14 +126,14 @@ (define-public python-pytz (package (name "python-pytz") ;; This package should be kept in sync with tzdata in (gnu packages base). - (version "2021.1") + (version "2022.1") (source (origin (method url-fetch) (uri (pypi-uri "pytz" version)) (sha256 (base32 - "1nn459q7zg20n75akxl3ljkykgw1ydc8nb05rx1y4f5zjh4ak943")))) + "19ya5sh7if819flgmszz585glailhi7rr8frng03n5m8wqphwxhy")))) (build-system python-build-system) (home-page "http://pythonhosted.org/pytz") (synopsis "Python timezone library") -- cgit v1.2.3 From d08921addeb4b432205af6260c9a2ebd7d611989 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 11:48:40 +0200 Subject: gnu: texlive-amsfonts: Promote replacement. * gnu/packages/tex.scm (texlive-amsfonts): Remove. (texlive-amsfonts-fixed): Rename to... (texlive-amsfonts): ... this. --- gnu/packages/tex.scm | 133 --------------------------------------------------- 1 file changed, 133 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 34e9aa1e06..f6716c38b8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1306,139 +1306,6 @@ (define-deprecated-package texlive-fonts-mflogo-font texlive-mflogo-font) (define-public texlive-amsfonts (let ((template (simple-texlive-package "texlive-amsfonts" - (list "/source/latex/amsfonts/" - "/fonts/source/public/amsfonts/" - "/fonts/type1/public/amsfonts/" - "/fonts/afm/public/amsfonts/" - "/fonts/map/dvips/amsfonts/" - "/tex/plain/amsfonts/" - "/doc/fonts/amsfonts/") - (base32 - "15q70nkjf8wqzbd5ivcdx3i2sdgqxjb38q0qn9a2qw9i0qcnx6zw")))) - (package - (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-amsfonts/fixed) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:build-targets _ #t) - '(list "amsfonts.ins")) - ((#:tex-directory _ #t) - "latex/amsfonts") - ((#:modules modules '()) - `((guix build texlive-build-system) - (guix build utils) - (ice-9 match) - (srfi srfi-1) - (srfi srfi-26))) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-fonts - (lambda* (#:key inputs #:allow-other-keys) - ;; Allow self fonts sources and other resources to be - ;; discovered. - (setenv "GUIX_TEXMF" (string-append (getenv "GUIX_TEXMF") - ":" (getcwd))) - - (let ((build (string-append (getcwd) "/build-fonts"))) - (mkdir-p build) - (with-directory-excursion "fonts/source/public/amsfonts" - (for-each (lambda (font) - (format #t "building font ~a\n" (basename font ".mf")) - (with-directory-excursion (dirname font) - (invoke "mf" "-progname=mf" - (string-append "-output-directory=" build) - (string-append "\\" - "mode:=ljfour; " - "mag:=1; " - "nonstopmode; " - "input " - (getcwd) "/" - (basename font ".mf"))))) - (find-files "." "[0-9]+\\.mf$")))) - - ;; There are no metafont sources for the Euler fonts, so we - ;; convert the afm files instead. - (let ((build (string-append (getcwd) "/build-fonts/euler"))) - (mkdir build) - (with-directory-excursion "fonts/afm/public/amsfonts/euler" - (for-each (lambda (font) - (format #t "converting afm font ~a\n" (basename font ".afm")) - (invoke "afm2tfm" font - (string-append build "/" - (basename font ".tfm")))) - (find-files "(cmextra|cyrillic|dummy|euler|symbols)" - "\\.afm$"))) - - ;; Frustratingly, not all fonts can be created this way. To - ;; generate eufm8.tfm, for example, we first scale down - ;; eufm10.afm to eufm8.pl, and then generate the tfm file from - ;; the pl file. - (setenv "TEXINPUTS" - (string-append ":" build "//:" - (getcwd) "/fonts/afm/public/amsfonts//:" - (getcwd) "/source/latex/amsfonts//:")) - (with-directory-excursion build - (for-each (match-lambda - (((target-base target-size) - (source-base source-size)) - (let ((factor (number->string - (truncate/ (* 1000 target-size) - source-size)))) - (invoke "tex" - "-interaction=scrollmode" - (string-append "\\input fontinst.sty " - "\\transformfont{" target-base "}" - "{\\scalefont{" factor "}" - "{\\fromafm{" source-base "}}} " - "\\bye"))) - (invoke "pltotf" - (string-append target-base ".pl") - (string-append target-base ".tfm")) - (delete-file (string-append target-base ".pl")))) - - '((("eufm8" 8) ("eufm10" 10)) - - (("eufb6" 6) ("eufb7" 7)) - (("eufb8" 8) ("eufb10" 10)) - (("eufb9" 9) ("eufb10" 10)) - - (("eufm6" 6) ("eufb7" 7)) - (("eufm9" 9) ("eufb10" 10)) - - (("eurb6" 6) ("eurb7" 7)) - (("eurb8" 8) ("eurb10" 10)) - (("eurb9" 9) ("eurb10" 10)) - - (("eurm6" 6) ("eurm7" 7)) - (("eurm8" 8) ("eurm10" 10)) - (("eurm9" 9) ("eurm10" 10)))))))) - (add-after 'install 'install-generated-fonts - (lambda* (#:key inputs outputs #:allow-other-keys) - (copy-recursively "build-fonts" - (string-append - (assoc-ref outputs "out") - "/share/texmf-dist/fonts/tfm/public/amsfonts")))))))) - (native-inputs - (list (texlive-updmap.cfg (list texlive-fontinst)))) - (home-page "https://www.ctan.org/pkg/amsfonts") - (synopsis "TeX fonts from the American Mathematical Society") - (description - "This package provides an extended set of fonts for use in mathematics, -including: extra mathematical symbols; blackboard bold letters (uppercase -only); fraktur letters; subscript sizes of bold math italic and bold Greek -letters; subscript sizes of large symbols such as sum and product; added sizes -of the Computer Modern small caps font; cyrillic fonts (from the University of -Washington); Euler mathematical fonts. All fonts are provided as Adobe Type 1 -files, and all except the Euler fonts are provided as Metafont source. The -distribution also includes the canonical Type 1 versions of the Computer -Modern family of fonts. The Euler fonts are supported by separate packages; -details can be found in the documentation.") - (license license:silofl1.1)))) - -(define-public texlive-amsfonts/fixed - (let ((template (simple-texlive-package - "texlive-amsfonts-fixed" (list "/source/latex/amsfonts/" "/fonts/source/public/amsfonts/" "/fonts/type1/public/amsfonts/" -- cgit v1.2.3 From 3aafcdbd8ba2fdec961fd8e7d7c892e20caf4787 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 11:53:10 +0200 Subject: gnu: texlive-amsmath: Supersed 'texlive-latex-amsmath'. * gnu/packages/tex.scm (texlive-latex-amsmath): Redefine as a deprecated alias for 'texlive-amsmath'. (texlive-base): Use 'texlive-amsmath' instead of 'texlive-latex-amsmath'. * gnu/packages/python-xyz.scm (python-matplotlib-documentation)[native-inputs]: Use 'texlive-amsmath instead of 'texlive-latex-amsmath'. (python-nbconvert)[native-inputs]: Likewise. * gnu/packages/radio.scm (gnuradio)[native-inputs]: Likewise. (libosmo-dsp)[native-inputs]: Likewise. --- gnu/packages/python-xyz.scm | 4 ++-- gnu/packages/radio.scm | 4 ++-- gnu/packages/tex.scm | 35 +++-------------------------------- 3 files changed, 7 insertions(+), 36 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a1e7ca1c0c..7c19d2409b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6719,7 +6719,7 @@ (define-public python-matplotlib-documentation ("graphviz" ,graphviz) ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts texlive-enumitem - texlive-latex-amsmath + texlive-amsmath texlive-latex-expdlist texlive-latex-geometry texlive-latex-preview @@ -13053,7 +13053,7 @@ (define-public python-nbconvert texlive-fonts-rsfs texlive-generic-iftex texlive-jknappen - texlive-latex-amsmath + texlive-amsmath texlive-latex-fancyvrb texlive-latex-float texlive-fontspec diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index aa0406b324..9c6db4d93f 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -554,7 +554,7 @@ (define-public gnuradio ("python-scipy" ,python-scipy) ("python-sphinx" ,python-sphinx) ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-latex-amsmath + texlive-amsmath ;; TODO: Add newunicodechar. texlive-latex-graphics))) ("xorg-server" ,xorg-server-for-tests))) @@ -762,7 +762,7 @@ (define-public libosmo-dsp ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-latex-amsmath + texlive-amsmath ;; TODO: Add newunicodechar. texlive-latex-graphics))))) (inputs diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index f6716c38b8..76cc0f7119 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3768,37 +3768,6 @@ (define-public texlive-luaotfload (define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload) -(define-public texlive-latex-amsmath - (package - (name "texlive-latex-amsmath") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "amsmath")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "172zybw7rp05jca8wl6x0mh6z6gncdyi1j9wdfyjnhbvqw0z4wi4")))) - ;; This package misses important files - (replacement texlive-amsmath) - (build-system texlive-build-system) - (arguments '(#:tex-directory "latex/amsmath")) - (home-page "https://www.ctan.org/pkg/amsmath") - (synopsis "AMS mathematical facilities for LaTeX") - (description - "This is the principal package in the AMS-LaTeX distribution. It adapts -for use in LaTeX most of the mathematical features found in AMS-TeX; it is -highly recommended as an adjunct to serious mathematical typesetting in LaTeX. -When amsmath is loaded, AMS-LaTeX packages @code{amsbsyamsbsy} (for bold -symbols), @code{amsopnamsopn} (for operator names) and -@code{amstextamstext} (for text embedded in mathematics) are also loaded. -This package is part of the LaTeX required distribution; however, several -contributed packages add still further to its appeal; examples are -@code{empheqempheq}, which provides functions for decorating and highlighting -mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar) -definitions.") - (license license:lppl1.3c+))) - (define-public texlive-amsmath (let ((template (simple-texlive-package "texlive-amsmath" @@ -3844,6 +3813,8 @@ (define-public texlive-amsmath definitions.") (license license:lppl1.3c+)))) +(define-deprecated-package texlive-latex-amsmath texlive-amsmath) + (define-public texlive-amscls (let ((template (simple-texlive-package "texlive-amscls" @@ -4241,7 +4212,7 @@ (define-public texlive-base texlive-latex-base texlive-kpathsea ;for mktex.opt ;; LaTeX packages from the "required" set. - texlive-latex-amsmath + texlive-amsmath texlive-amscls texlive-babel texlive-generic-babel-english -- cgit v1.2.3 From cf14b81b7e79a96862702d97b82409096a675b0b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 12:02:30 +0200 Subject: gnu: texlive-babel: Incorporate and remove replacement. * gnu/packages/tex.scm (texlive-babel)[replacement]: Remove. [arguments]: Add 'unchdir' and 'delete-extra-files' phases. (texlive-babel/fixed): Remove. --- gnu/packages/tex.scm | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 76cc0f7119..647229bdb8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3855,8 +3855,6 @@ (define-public texlive-babel "0qr5vjp79g1c1l6k173qhfdfabgbky73wymzhm56pazx4a8r08wz")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-babel/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) @@ -3872,6 +3870,20 @@ (define-public texlive-babel (substitute* "babel.ins" (("askonceonly") "askforoverwritefalse")) #t)) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/latex/babel/build")) + (delete-file + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/tex/generic/babel/bbind.ist")) + (delete-file + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/tex/generic/babel/bbglo.ist")))) (add-after 'install 'install-locales (lambda* (#:key outputs #:allow-other-keys) (let ((locale-directory @@ -3894,29 +3906,6 @@ (define-public texlive-babel polyglossia package rather than Babel.") (license license:lppl1.3+)))) -(define-public texlive-babel/fixed - (package - (inherit texlive-babel) - (name "texlive-babel-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-babel) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/latex/babel/build")) - (delete-file - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/tex/generic/babel/bbind.ist")) - (delete-file - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/tex/generic/babel/bbglo.ist")))))))))) - (define-deprecated-package texlive-latex-babel texlive-babel) (define-public texlive-generic-babel-english -- cgit v1.2.3 From 5c03615700ee7b4c47a463d24c910f34f109a732 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 12:04:05 +0200 Subject: gnu: texlive-babel: Remove trailing #t. * gnu/packages/tex.scm (texlive-babel)[arguments]: Remove trailing #t. --- gnu/packages/tex.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 647229bdb8..65a3f29a7f 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3862,14 +3862,13 @@ (define-public texlive-babel ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'chdir - (lambda _ (chdir "source/latex/babel/") #t)) + (lambda _ (chdir "source/latex/babel/"))) ;; This package tries to produce babel.aux twice but refuses to ;; overwrite the first one. (add-before 'build 'fix-ins (lambda _ (substitute* "babel.ins" - (("askonceonly") "askforoverwritefalse")) - #t)) + (("askonceonly") "askforoverwritefalse")))) (add-before 'copy-files 'unchdir (lambda _ (chdir "../../.."))) -- cgit v1.2.3 From 0f9d02f1685c1fdc654a52c544ca6d9b44cd2118 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 12:05:37 +0200 Subject: gnu: texlive-psnfss: Incorporate and remove replacement. * gnu/packages/tex.scm (texlive-psnfss)[replacement]: Remove. [arguments]: Add 'unchdir' and 'delete-extra-files' phases. (texlive-psnfss/fixed): Remove. --- gnu/packages/tex.scm | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 65a3f29a7f..96449a7492 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4139,8 +4139,6 @@ (define-public texlive-psnfss "11f14dzhwsy4pli21acccip43d36nf3pac33ihjffnps1i2mhqkd")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-psnfss/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) @@ -4149,7 +4147,15 @@ (define-public texlive-psnfss `(modify-phases ,phases (add-after 'unpack 'chdir (lambda _ - (chdir "source/latex/psnfss") #t)))))) + (chdir "source/latex/psnfss"))) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/latex/psnfss/build")))))))) (native-inputs (list texlive-cm)) (home-page "https://www.ctan.org/pkg/psnfss") @@ -4168,23 +4174,6 @@ (define-public texlive-psnfss part of the LaTeX required set of packages.") (license license:lppl1.2+)))) -(define-public texlive-psnfss/fixed - (package - (inherit texlive-psnfss) - (name "texlive-psnfss-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-psnfss) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/latex/psnfss/build")))))))))) - (define-deprecated-package texlive-latex-psnfss texlive-psnfss) ;; For user profiles -- cgit v1.2.3 From 8a340e032a9b04d2518b458c93e8569263267913 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 12:11:38 +0200 Subject: gnu: texlive-stmaryrd: Incorporate and remove replacement. * gnu/packages/tex.scm (texlive-stmaryrd)[replacement]: Remove. [arguments]: Add 'unchdir' and 'delete-extra-files' phases. (texlive-stmaryrd/fixed): Remove. --- gnu/packages/tex.scm | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 96449a7492..b214344667 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -6229,8 +6229,6 @@ (define-public texlive-stmaryrd "0yn0yl6x1z9ab5gb56lhvkqabd2agz3ggxifwxkiysrj5780j29z")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-stmaryrd/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) "latex/stmaryrd") @@ -6246,7 +6244,15 @@ (define-public texlive-stmaryrd (("^%% LaTeX2e.*") "\\input docstrip\n") (("fontdef\\}\\}" line) (string-append line "\n\\endbatchfile"))) - #t)))))) + #t)) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/fonts/stmaryrd/build")))))))) (home-page "https://www.ctan.org/pkg/stmaryrd") (synopsis "St Mary Road symbols for theoretical computer science") (description @@ -6257,25 +6263,6 @@ (define-public texlive-stmaryrd the whole font.") (license license:lppl)))) -(define-public texlive-stmaryrd/fixed - (package - (inherit texlive-stmaryrd) - (name "texlive-stmaryrd-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-stmaryrd) - ((#:tex-directory _ #t) - "latex/stmaryrd") - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/fonts/stmaryrd/build")))))))))) - (define-deprecated-package texlive-fonts-stmaryrd texlive-stmaryrd) (define-public texlive-latex-subfigure -- cgit v1.2.3 From f5fe0082abe4547f3fb9f29d8351473cfb3a387b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 May 2022 23:12:02 +0200 Subject: gnu: libgit2: Work around time-dependent unit test. Fixes . * gnu/packages/version-control.scm (libgit2)[source]: Augment 'snippet' to modify "tests/refs/revparse.c". --- gnu/packages/version-control.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 7574afda86..ca339b9285 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -802,7 +802,16 @@ (define-public libgit2 (base32 "0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd")) (modules '((guix build utils))) - (snippet '(delete-file-recursively "deps")))) + (snippet + '(begin + (delete-file-recursively "deps") + + ;; The "refs:revparse::date" test is time-dependent: it + ;; assumes "HEAD@{10 years ago}" doesn't match anything, + ;; which is no longer true. Adjust that test. + (substitute* "tests/refs/revparse.c" + (("10 years ago") + "100 years ago")))))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments -- cgit v1.2.3 From 32a87714f4507f853824d82d9c6ca10e1405c8eb Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 26 Mar 2022 13:21:17 +0000 Subject: gnu: mrustc: Update to 0.10. And enable rust for aarch64-linux! * gnu/packages/rust.scm (%mrustc-commit): Update hash. (%mrustc-source): Update to 0.10. (rust-1.39)[arguments]: Move and adapt the substitute* that prevent fetching sources. Patch /bin/sh in run_rustc/rustc_proxy.sh. [supported-systems]: Add aarch64-linux. Signed-off-by: Efraim Flashner --- gnu/packages/rust.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 26d6df7a94..67dc5cdaf3 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -121,12 +121,10 @@ (define* (rust-bootstrapped-package base-rust version checksum) (package-native-inputs base-rust)))))) ;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed -;;; to be used in source form. The latest support for bootstrapping from -;;; 1.39.0 is not yet released so use the latest commit (see: -;;; https://github.com/thepowersgang/mrustc/issues/185). -(define %mrustc-commit "c7066542f8e93d320323749216bf3c82aecb67c2") +;;; to be used in source form. +(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151") (define %mrustc-source - (let* ((version "0.9") + (let* ((version "0.10") (commit %mrustc-commit) (revision "1") (name "mrustc")) @@ -138,7 +136,7 @@ (define %mrustc-source (file-name (git-file-name name (git-version version revision commit))) (sha256 (base32 - "0zv1x6601s5fnnkcdlqkc4bknisqz569qb0iyb9rjsmaf1kh0na3"))))) + "0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))))) ;;; Rust 1.39 is special in that it is built with mrustc, which shortens the ;;; bootstrap path. @@ -237,10 +235,11 @@ (define rust-1.39 ,(string-take %mrustc-commit 7) "\\\"" " -D VERSION_BUILDTIME=" "\"\\\"Thu, 01 Jan 1970 00:00:01 +0000\\\"\"" - " -D VERSION_GIT_ISDIRTY=0\n")) + " -D VERSION_GIT_ISDIRTY=0\n"))) + (substitute* "minicargo.mk" ;; Do not try to fetch sources from the Internet. - ((": \\$\\(RUSTC_SRC_DL\\)") - ":")) + (("\\$\\(MINICARGO\\) \\$\\(RUSTC_SRC_DL\\)") + "$(MINICARGO)")) (substitute* "run_rustc/Makefile" (("[$]Vtime ") "$V ") @@ -248,6 +247,9 @@ (define rust-1.39 (("-j [[:digit:]]+ ") "") ;; Patch the shebang of a generated wrapper for rustc + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + (substitute* "run_rustc/rustc_proxy.sh" (("#!/bin/sh") (string-append "#!" (which "sh")))))))) (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums @@ -322,9 +324,9 @@ (define rust-1.39 safety and thread safety guarantees.") (home-page "https://github.com/thepowersgang/mrustc") - ;; So far mrustc is x86_64-only. It may support i686 soon: + ;; So far mrustc is (x86_64|aarch64)-only. It may support i686 soon: ;; . - (supported-systems '("x86_64-linux")) + (supported-systems '("x86_64-linux" "aarch64-linux")) ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -- cgit v1.2.3 From 69095cde82b2930ec9450f06aefcc7415524a615 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 May 2022 15:16:03 +0200 Subject: gnu: polkit: Incorporate security fix and remove replacement. * gnu/packages/polkit.scm (polkit-mozjs)[replacement]: Remove. [source]: Add "polkit-CVE-2021-4034.patch". (polkit-mozjs/fixed): Remove. --- gnu/packages/polkit.scm | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 1ae94be751..a544439fae 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -54,7 +54,6 @@ (define-public polkit-mozjs (package (name "polkit") (version "0.120") - (replacement polkit-mozjs/fixed) (source (origin (method url-fetch) (uri (string-append @@ -63,7 +62,8 @@ (define-public polkit-mozjs (sha256 (base32 "00zfg9b9ivkcj2jcf5b92cpvvyljz8cmfwj86lkvy5rihnd5jypf")) - (patches (search-patches "polkit-configure-elogind.patch")) + (patches (search-patches "polkit-configure-elogind.patch" + "polkit-CVE-2021-4034.patch")) (modules '((guix build utils))) (snippet '(begin @@ -147,16 +147,6 @@ (define-public polkit-mozjs for unprivileged applications.") (license lgpl2.0+))) -(define-public polkit-mozjs/fixed - (package - (inherit polkit-mozjs) - (version "0.121") - (source (origin - (inherit (package-source polkit-mozjs)) - (patches (cons (search-patch "polkit-CVE-2021-4034.patch") - (origin-patches - (package-source polkit-mozjs)))))))) - ;;; Variant of polkit built with Duktape, a lighter JavaScript engine compared ;;; to mozjs. (define-public polkit-duktape -- cgit v1.2.3 From c9fcfef3d4b843f2e0e15030f839cc894510b6ef Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 May 2022 15:19:45 +0200 Subject: gnu: polkit: Remove input labels. * gnu/packages/polkit.scm (polkit-mozjs)[native-inputs]: Remove labels. (polkit-duktape)[native-inputs, inputs]: Use 'modify-inputs'. --- gnu/packages/polkit.scm | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index a544439fae..1e2f7cc0d4 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -93,12 +93,12 @@ (define-public polkit-mozjs (propagated-inputs (list glib)) ; required by polkit-gobject-1.pc (native-inputs - `(("pkg-config" ,pkg-config) - ("glib:bin" ,glib "bin") ; for glib-mkenums - ("intltool" ,intltool) - ("gobject-introspection" ,gobject-introspection) - ("libxslt" ,libxslt) ; for man page generation - ("docbook-xsl" ,docbook-xsl))) ; for man page generation + (list pkg-config + `(,glib "bin") ;for glib-mkenums + intltool + gobject-introspection + libxslt ;for man page generation + docbook-xsl)) ;for man page generation (arguments `(#:configure-flags '("--sysconfdir=/etc" "--enable-man-pages" @@ -170,13 +170,11 @@ (define-public polkit-duktape (lambda _ (delete-file "configure"))))))) (native-inputs - (append `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config)) - (package-native-inputs base))) - (inputs (alist-replace "mozjs" `(,duktape) - (package-inputs base)))))) + (modify-inputs (package-native-inputs base) + (prepend autoconf automake libtool))) + (inputs + (modify-inputs (package-inputs base) + (replace "mozjs" duktape)))))) (define polkit-for-system (mlambda (system) -- cgit v1.2.3 From fabcbb5ff469ea0ebcabeda412008676dca7aa87 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 May 2022 15:56:44 +0200 Subject: gnu: rust-instant: Fix dependencies. Fixes a build failure introduced in bec6bf64bcbcf559eb0b91abcb7f3b2488916797. * gnu/packages/crates-io.scm (rust-instant-0.1)[arguments]: Adjust inputs as per "guix import crate rust@0.1.9". --- gnu/packages/crates-io.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 0449e4f3fe..54dfda90fa 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -29089,13 +29089,14 @@ (define-public rust-instant-0.1 (arguments `(#:tests? #f ; Issue during the wasm test. #:cargo-inputs - (("rust-js-sys" ,rust-js-sys-0.3) + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-js-sys" ,rust-js-sys-0.3) ("rust-stdweb" ,rust-stdweb-0.4) - ("rust-time" ,rust-time-0.1) + ("rust-time" ,rust-time-0.2) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-web-sys" ,rust-web-sys-0.3)) #:cargo-development-inputs - (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) + (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) (home-page "https://github.com/sebcrozet/instant") (synopsis "Partial replacement for std::time::Instant that works on WASM too") -- cgit v1.2.3 From 069733a848957de2917fe342ffecf93035fc1f4f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 May 2022 00:18:31 +0200 Subject: gnu: rust-thread-id: Add 4.0.0. * gnu/packages/crates-io.scm (rust-thread-id-4): New variable. (rust-thread-id-3): Inherit from it. --- gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 54dfda90fa..c5e02aa0ec 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -62368,24 +62368,23 @@ (define-public rust-thiserror-impl-1 @code{thiserror} crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-thread-id-3 +(define-public rust-thread-id-4 (package (name "rust-thread-id") - (version "3.3.0") + (version "4.0.0") (source (origin (method url-fetch) (uri (crate-uri "thread-id" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) + (base32 "0zvikdngp0950hi0jgiipr8l36rskk1wk7pc8cd43xr3g5if1psz")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-redox-syscall" ,rust-redox-syscall-0.1) - ("rust-winapi" ,rust-winapi-0.3)))) + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-redox-syscall" ,rust-redox-syscall-0.2) + ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/ruuda/thread-id") (synopsis "Get a unique ID for the current thread in Rust") (description @@ -62394,6 +62393,25 @@ (define-public rust-thread-id-3 (license (list license:asl2.0 license:expat)))) +(define-public rust-thread-id-3 + (package + (inherit rust-thread-id-4) + (name "rust-thread-id") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread-id" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-thread-id-2 (package (inherit rust-thread-id-3) -- cgit v1.2.3 From b36ce0275644055c2ee9cb2aa90a0253dd108633 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 May 2022 00:20:18 +0200 Subject: gnu: rust-parking-lot-core@0.8: Fix compilation. Fixes a build failure introduced in d16298196c23cf4d05c4010af399270a2dbbd831. * gnu/packages/crates-io.scm (rust-parking-lot-core-0.8): Update dependencies as reported by "guix import crate parking-lot-core@0.8.4". Add 'relax-dependencies' phase. --- gnu/packages/crates-io.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c5e02aa0ec..0893f28c0c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -40651,15 +40651,22 @@ (define-public rust-parking-lot-core-0.8 (arguments `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-cloudabi" ,rust-cloudabi-0.1) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-instant" ,rust-instant-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-petgraph" ,rust-petgraph-0.5) - ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-redox-syscall" ,rust-redox-syscall-0.2) ("rust-smallvec" ,rust-smallvec-1) - ("rust-thread-id" ,rust-thread-id-3) - ("rust-winapi" ,rust-winapi-0.3)))) + ("rust-thread-id" ,rust-thread-id-4) + ("rust-winapi" ,rust-winapi-0.3)) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-dependencies + (lambda _ + ;; XXX: The file demands 0.3.60; we have 0.3.56, but + ;; that works well, really. + (substitute* "Cargo.toml" + (("0\\.3\\.60") + ,(package-version rust-backtrace-0.3)))))))) (home-page "https://github.com/Amanieu/parking_lot") (synopsis "API for creating custom synchronization primitives") (description "This package provides an advanced API for creating custom -- cgit v1.2.3 From 666b29e729c12465eb8329130960118dff92a5bf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 May 2022 00:22:15 +0200 Subject: gnu: python-cryptography: Bump 'rust-redox-syscall' dependency. Fixes a build failure. * gnu/packages/python-crypto.scm (python-cryptography): Replace 'rust-redox-syscall-0.1' with 'rust-redox-syscall-0.2'. --- gnu/packages/python-crypto.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index d331601c66..bdaee71eb9 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -584,7 +584,7 @@ (define-public python-cryptography rust-pyo3-macros-0.15 rust-pyo3-macros-backend-0.15 rust-quote-1 - rust-redox-syscall-0.1 + rust-redox-syscall-0.2 rust-scopeguard-1 rust-smallvec-1 rust-stable-deref-trait-1 -- cgit v1.2.3 From 6c777feb3eb9fb594fe731b3da081faea28cf31c Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 2 May 2022 22:25:01 +0800 Subject: gnu: extra-cmake-modules: Update to 5.91.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/kde-frameworks.scm (extra-cmake-modules): Update to 5.91.0. Fix the indentation. [native-inputs]: Use label-less input style. [arguments]: Use G-expresssions. : In phase 'fix-lib-path', use QT_MAJOR_VERSION to determine the installation path, Fix the compatibility with different Qt version. Add phase 'fix-test' to workaround with the broken KDEFetchTranslations test. Signed-off-by: Ludovic Courtès --- gnu/packages/kde-frameworks.scm | 84 ++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 34 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e914499541..9f957692cb 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -87,7 +87,7 @@ (define-module (gnu packages kde-frameworks) (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.70.0") + (version "5.91.0") (source (origin (method url-fetch) (uri (string-append @@ -96,7 +96,7 @@ (define-public extra-cmake-modules name "-" version ".tar.xz")) (sha256 (base32 - "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3")))) + "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp")))) (build-system cmake-build-system) (native-inputs ;; Add test dependency, except on armhf where building it is too @@ -104,39 +104,55 @@ (define-public extra-cmake-modules (if (and (not (%current-target-system)) (string=? (%current-system) "armhf-linux")) '() - `(("qtbase" ,qtbase-5)))) ;for tests (needs qmake) + (list qtbase-5))) ;for tests (needs qmake) (arguments - `(#:tests? ,(and (not (%current-target-system)) - (not (null? (package-native-inputs this-package)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-lib-path - (lambda _ - ;; Always install into /lib and not into /lib64. - (substitute* "kde-modules/KDEInstallDirs.cmake" - (("\"lib64\"") "\"lib\"") - ;; TODO: Base the following on values taken from Qt - ;; Install plugins into lib/qt5/plugins - ;; TODO: Check if this is okay for Android, too - ;; (see comment in KDEInstallDirs.cmake) - (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") - "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"") - ;; Install imports into lib/qt5/imports - (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") - "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"") - ;; Install qml-files into lib/qt5/qml - (("_define_relative\\(QMLDIR LIBDIR \"qml\"") - "_define_relative(QMLDIR LIBDIR \"qt5/qml\"")) - (substitute* "modules/ECMGeneratePriFile.cmake" - ;; Install pri-files into lib/qt5/mkspecs - (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") - "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules")) - #t)) - ;; install and check phase are swapped to prevent install from failing - ;; after testsuire has run - (add-after 'install 'check-post-install - (assoc-ref %standard-phases 'check)) - (delete 'check)))) + (list + #:tests? (and (not (%current-target-system)) + (not (null? (package-native-inputs this-package)))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-lib-path + (lambda _ + ;; Always install into /lib and not into /lib64. + (substitute* "kde-modules/KDEInstallDirsCommon.cmake" + (("\"lib64\"") "\"lib\"")) + + ;; Determine the install path by the major version of Qt. + ;; TODO: Base the following on values taken from Qt + ;; Install plugins into lib/qt5/plugins + ;; TODO: Check if this is okay for Android, too + ;; (see comment in KDEInstallDirs.cmake) + (substitute* '("kde-modules/KDEInstallDirs5.cmake" + "kde-modules/KDEInstallDirs6.cmake") + ;; Fix the installation path of Qt plugins. + (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") + "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"") + ;; Fix the installation path of QML files. + (("_define_relative\\(QMLDIR LIBDIR \"qml\"") + "_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\"")) + + ;; Qt Quick Control 1 is no longer available in Qt 6. + (substitute* '("kde-modules/KDEInstallDirs5.cmake") + (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") + "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")) + + (substitute* "modules/ECMGeneratePriFile.cmake" + ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs + (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") + "set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules")))) + ;; Work around for the failed test KDEFetchTranslations. + ;; It complains that the cmake project name is not + ;; "frameworks/extra-cmake-modules". + ;; TODO: Fix it upstream. + (add-after 'unpack 'fix-test + (lambda _ + (substitute* "tests/KDEFetchTranslations/CMakeLists.txt" + (("frameworks/extra-cmake-modules") "extra-cmake-modules")))) + ;; install and check phase are swapped to prevent install from failing + ;; after testsuire has run + (add-after 'install 'check-post-install + (assoc-ref %standard-phases 'check)) + (delete 'check)))) ;; optional dependencies - to save space, we do not add these inputs. ;; Sphinx > 1.2: ;; Required to build Extra CMake Modules documentation in Qt Help format. -- cgit v1.2.3 From 99ec6b8e409cec93735e00dbea772fa848f43687 Mon Sep 17 00:00:00 2001 From: "Wamm K. D" Date: Mon, 9 May 2022 22:25:14 -0500 Subject: gnu: wayland: Update to 1.20.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/freedesktop.scm (wayland): Update to 1.20.0. Signed-off-by: Ludovic Courtès --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index f4b63cefe6..d1e10973f8 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -965,14 +965,14 @@ (define-public python2-pyxdg (define-public wayland (package (name "wayland") - (version "1.19.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s")))) + "09c7rpbwavjg4y16mrfa57gk5ix6rnzpvlnv1wp7fnbh9hak985q")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments -- cgit v1.2.3 From d0951c288b97db42c470506ec62f4e14a76774b1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 May 2022 15:33:22 +0200 Subject: gnu: mesa: Update to 21.3.8. * gnu/packages/gl.scm (mesa): Update to 21.3.8. --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 0ff39dc24d..1d39f1839d 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -260,7 +260,7 @@ (define libva-without-mesa (define-public mesa (package (name "mesa") - (version "21.3.2") + (version "21.3.8") (source (origin (method url-fetch) @@ -272,7 +272,7 @@ (define-public mesa version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2")) + "19wx5plk6z0hhi0zdzxjx8ynl3lhlc5mbd8vhwqyk92kvhxjf3g7")) (patches (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) -- cgit v1.2.3 From 0310517e6cf1de12ac39ec5ff92251146eb5da67 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 May 2022 15:52:24 +0200 Subject: gnu: mesa: Remove input labels. * gnu/packages/gl.scm (mesa)[inputs, native-inputs]: Remove labels. (mesa-opencl)[inputs-, native-inputs]: Likewise, and use 'modify-inputs'. --- gnu/packages/gl.scm | 64 ++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 1d39f1839d..ad0c1a20e3 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -287,36 +287,34 @@ (define-public mesa libxxf86vm xorgproto)) (inputs - `(("expat" ,expat) - ("libelf" ,elfutils) ;required for r600 when using llvm - ("libva" ,(force libva-without-mesa)) - ("libxml2" ,libxml2) - ("libxrandr" ,libxrandr) - ("libxvmc" ,libxvmc) - ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" - "powerpc-linux" "riscv64-linux") - ;; Note: update the 'clang' input of mesa-opencl when bumping this. - `(("llvm" ,llvm-11))) - (_ - `())) - ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) + (append (list expat + elfutils ;libelf required for r600 when using llvm + (force libva-without-mesa) + libxml2 + libxrandr + libxvmc + wayland + wayland-protocols) + (if (member (%current-system) + '("x86_64-linux" "i686-linux" "powerpc64le-linux" + "aarch64-linux" "powerpc-linux" "riscv64-linux")) + ;; Note: update the 'clang' input of mesa-opencl when bumping this. + (list llvm-11) + '()))) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ("gettext" ,gettext-minimal) - ,@(match (%current-system) - ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" - "powerpc-linux" "riscv64-linux") - `(("glslang" ,glslang))) - (_ - `())) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("python-libxml2", python-libxml2) ;for OpenGL ES 1.1 and 2.0 support - ("python-mako" ,python-mako) - ("which" ,(@ (gnu packages base) which)))) + (append (list bison + flex + gettext-minimal + pkg-config + python-wrapper + python-libxml2 ;for OpenGL ES 1.1 and 2.0 support + python-mako + (@ (gnu packages base) which)) + (if (member (%current-system) + '("x86_64-linux" "i686-linux" "powerpc64le-linux" + "aarch64-linux" "powerpc-linux" "riscv64-linux")) + (list glslang) + '()))) (outputs '("out" "bin")) (arguments `(#:configure-flags @@ -519,11 +517,11 @@ (define-public mesa-opencl ((#:configure-flags flags) `(cons "-Dgallium-opencl=standalone" ,flags)))) (inputs - `(("libclc" ,libclc) - ,@(package-inputs mesa))) + (modify-inputs (package-inputs mesa) + (prepend libclc))) (native-inputs - `(("clang" ,clang-11) - ,@(package-native-inputs mesa))))) + (modify-inputs (package-native-inputs mesa) + (prepend clang-11))))) (define-public mesa-opencl-icd (package/inherit mesa-opencl -- cgit v1.2.3 From c591bb681911a437e295e93f1d77ebcaa014a5bd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 May 2022 22:10:38 +0300 Subject: gnu: perl-net-ssleay: Update to 1.92. * gnu/packages/tls.scm (perl-net-ssleay): Update to 1.92. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 84ed0caa5d..80ad077598 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari -;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner ;;; Copyright © 2016, 2017, 2018 Nikita ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Ricardo Wurmus @@ -762,14 +762,14 @@ (define-public letsencrypt (define-public perl-net-ssleay (package (name "perl-net-ssleay") - (version "1.88") + (version "1.92") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHRISN/" "Net-SSLeay-" version ".tar.gz")) (sha256 (base32 - "1pfgh4h3szcpvqlcimc60pjbk9zwls99x5863sva0wc47i4dl010")))) + "1acnjd5180dca26dmjq0b9ib0dbavlrzd6fnf4nidrzj02rz5hj7")))) (build-system perl-build-system) (inputs (list openssl)) (arguments -- cgit v1.2.3 From 20eadd425e7d80dac73e54b33e41643942048aa8 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 21 Mar 2022 17:32:14 +0000 Subject: gnu: openblas: Update to 0.3.20 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (openblas): Update to 0.3.20. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 98e239d5bd..9bcf788c3c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4465,7 +4465,7 @@ (define-public muparser (define-public openblas (package (name "openblas") - (version "0.3.18") + (version "0.3.20") (source (origin (method git-fetch) @@ -4475,7 +4475,7 @@ (define-public openblas (file-name (git-file-name name version)) (sha256 (base32 - "17zdd8asylz2w71hczrz5y344p6d5ds1jn4901maw7zcp3dbk63g")))) + "0r4sz3rn68fyc2paq0a04pgfi7iszpm95f6ggbzxpvjzx9qxbcql")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit v1.2.3 From 1038f7d6812dc4b70958dc89dafa65ebdbbe0f68 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 May 2022 22:22:42 +0200 Subject: gnu: openblas: Remove input labels. * gnu/packages/maths.scm (openblas)[inputs, native-inputs]: Remove labels. [arguments]: In 'set-extralib' phase, use 'search-input-file'. --- gnu/packages/maths.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9bcf788c3c..732a7c0020 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4534,14 +4534,14 @@ (define-public openblas (lambda* (#:key inputs #:allow-other-keys) ;; Get libgfortran found when building in utest. (setenv "FEXTRALIB" - (string-append "-L" (assoc-ref inputs "fortran-lib") - "/lib"))))))) + (string-append + "-L" + (dirname + (search-input-file inputs "/lib/libgfortran.so"))))))))) (inputs - `(("fortran-lib" ,gfortran "lib"))) + (list `(,gfortran "lib"))) (native-inputs - `(("cunit" ,cunit) - ("fortran" ,gfortran) - ("perl" ,perl))) + (list cunit gfortran perl)) (home-page "https://www.openblas.net/") (synopsis "Optimized BLAS library based on GotoBLAS") (description -- cgit v1.2.3 From 8c7e4a969822af265d62c27c5f68050d06637563 Mon Sep 17 00:00:00 2001 From: Aurora Date: Thu, 24 Mar 2022 19:59:31 +0000 Subject: gnu: openfst: Add 1.7.3 for kaldi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kaldi is currently broken with openfst versions newer than 1.7.3 as it changed some of its function signatures. Once Kaldi is patched/fixed, this should be removed. Reference Issues: - https://github.com/kaldi-asr/kaldi/issues/4131 - https://github.com/kaldi-asr/kaldi/issues/4393 * gnu/packages/machine-learning.scm (openfst-1.7.3): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 7f082ee677..0adf971e20 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -585,6 +585,19 @@ (define-public openfst optimizing, and searching weighted finite-state transducers (FSTs).") (license license:asl2.0))) +;; This is a temporary addition to bypass upstream issues with the kaldi +;; package. +(define-public openfst-1.7.3 + (package (inherit openfst) + (version "1.7.3") + (source (origin + (method url-fetch) + (uri (string-append "http://www.openfst.org/twiki/pub/FST/" + "FstDownload/openfst-" version ".tar.gz")) + (sha256 + (base32 + "038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q")))))) + (define-public shogun (package (name "shogun") -- cgit v1.2.3 From d57a2c2b33f36df0582d306236fad3ce0768c346 Mon Sep 17 00:00:00 2001 From: Aurora Date: Thu, 24 Mar 2022 19:59:32 +0000 Subject: gnu: kaldi: Update to dd107fd, bypass tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Either kaldi's tests are broken or openblas has reintroduced a bug: - https://github.com/kaldi-asr/kaldi/pull/4421 More testing & fixes required upstream to re-enable the tests later. For now they'll just have to be ignored. * gnu/packages/machine-learning.scm (kaldi): Update to dd107fd. [arguments]: In 'configure' phase, modify "matrix/Makefile". Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 0adf971e20..4c049d51f8 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1549,8 +1549,9 @@ (define-public python-hyperopt ;; There have been no proper releases yet. (define-public kaldi - (let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e") - (revision "2")) + (let ((commit "dd107fd594ac58af962031c1689abfdc10f84452") + (revision "0") + (openfst openfst-1.7.3)) ;; Temporary bypass for upstream issues (package (name "kaldi") (version (git-version "0" revision commit)) @@ -1562,7 +1563,7 @@ (define-public kaldi (file-name (git-file-name name version)) (sha256 (base32 - "07k80my6f19mhrkwbzhjsnpf9871wmrwkl0ym468i830w67qyjrz")))) + "0iqbzgn7gzmgwvjfzifpbwwidxx887qmlgmsjkg7b1yzyfv00l21")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -1586,6 +1587,8 @@ (define-public kaldi "gst-plugin/Makefile") (("../../tools/portaudio/install") (assoc-ref inputs "portaudio"))) + (substitute* "matrix/Makefile" ;temporary test bypass + (("matrix-lib-test sparse-matrix-test") "")) ;; This `configure' script doesn't support variables passed as ;; arguments, nor does it support "prefix". -- cgit v1.2.3 From d60b9f8d0ffd19ab5c1da465eb332d299cf7a81b Mon Sep 17 00:00:00 2001 From: Aurora Date: Thu, 24 Mar 2022 19:59:33 +0000 Subject: gnu: openfst-1.7.3: Enable ngram-fst extension & C++14 build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The extension doesn't build in old versions of openfst such as 1.7.3 without manually setting CXXFLAGS. This package definition, including this workaround to build extensions successfully, will need to be removed once kaldi is fixed upstream and can be used with up-to-date versions of openfst. * gnu/packages/machine-learning.scm (openfst-1.7.3)[arguments]: New field. Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 4c049d51f8..5ca70bd3d5 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -596,7 +596,9 @@ (define-public openfst-1.7.3 "FstDownload/openfst-" version ".tar.gz")) (sha256 (base32 - "038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q")))))) + "038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q")))) + (arguments '(#:configure-flags '("--enable-ngram-fsts" "CXXFLAGS=-std=c++14") + #:make-flags '("CXXFLAGS=-std=c++14"))))) (define-public shogun (package -- cgit v1.2.3 From 7c204281ff0b57de59261cd7b68fab3df1c0f49c Mon Sep 17 00:00:00 2001 From: Aurora Date: Wed, 23 Mar 2022 15:53:43 +0000 Subject: gnu: openfst: Update to 1.8.2, enable ngram extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This extension is required by some programs that depend on openfst that aren't yet packaged. * gnu/packages/machine-learning.scm (openfst): Update to 1.8.2. [arguments]: New field. Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 5ca70bd3d5..9a3073d3dc 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -570,15 +570,16 @@ (define-public randomjungle (define-public openfst (package (name "openfst") - (version "1.7.9") + (version "1.8.2") (source (origin (method url-fetch) (uri (string-append "http://www.openfst.org/twiki/pub/FST/" "FstDownload/openfst-" version ".tar.gz")) (sha256 (base32 - "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck")))) + "0hlbdmjjf1jgsvi3d2hwni5lz3l9a5bzj6ijpbawa8a7cbrpp66y")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--enable-ngram-fsts"))) (home-page "http://www.openfst.org") (synopsis "Library for weighted finite-state transducers") (description "OpenFst is a library for constructing, combining, -- cgit v1.2.3 From fd5b7393a0d889836794b71e5b834884c00315b6 Mon Sep 17 00:00:00 2001 From: wednesday Date: Fri, 20 May 2022 21:46:37 -0400 Subject: gnu: emacs: Add lcms to inputs. * gnu/packages/emacs.scm (emacs)[inputs]: Add lcms. Signed-off-by: Maxim Cournoyer --- gnu/packages/emacs.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a5d246f7a5..63d574d8ea 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -272,6 +272,7 @@ (define* (emacs-byte-compile-directory dir) libxft libtiff giflib + lcms libjpeg-turbo acl jansson -- cgit v1.2.3 From 15870cc08d20501e3526fa892111a43ae9e3e02f Mon Sep 17 00:00:00 2001 From: wednesday Date: Tue, 30 Apr 2019 23:06:56 +0100 Subject: gnu: emacs: Add libselinux to inputs. * gnu/packages/emacs.scm (emacs)[inputs]: Add libselinux to support extended attributes. Signed-off-by: Maxim Cournoyer --- gnu/packages/emacs.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 63d574d8ea..1badb07392 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -68,6 +68,7 @@ (define-module (gnu packages emacs) #:use-module (gnu packages ncurses) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages selinux) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages web) ; for jansson @@ -262,7 +263,6 @@ (define* (emacs-byte-compile-directory dir) ;; This is not needed for (modern) IMAP. mailutils - ;; TODO: Add the optional dependencies. gpm libx11 gtk+ @@ -274,6 +274,7 @@ (define* (emacs-byte-compile-directory dir) giflib lcms libjpeg-turbo + libselinux acl jansson gmp -- cgit v1.2.3 From 048e05b7ef568dc5e29df774baaf69f7cc5ddaaa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 May 2022 17:56:05 +0300 Subject: gnu: python-cryptography: Downgrade to 3.4.8. Skip dealing with the rust version for now. * gnu/packages/python-crypto.scm (python-cryptography): Rename to python-cryptography-next. Replace with python-cryptography@3.4.8. (python-cryptography-vectors): Rename to python-cryptography-vectors-next. Replace with python-cryptography-vectors@3.4.8. --- gnu/packages/python-crypto.scm | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index c9bc19fbc9..c01692dfce 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -452,7 +452,7 @@ (define-public python-certifi (define-public python2-certifi (package-with-python2 python-certifi)) -(define-public python-cryptography-vectors +(define-public python-cryptography-vectors-next (package (name "python-cryptography-vectors") (version "36.0.1") @@ -471,7 +471,17 @@ (define-public python-cryptography-vectors ;; Distributed under either BSD-3 or ASL2.0 (license (list license:bsd-3 license:asl2.0)))) -(define-public python-cryptography +(define-public python-cryptography-vectors + (package + (inherit python-cryptography-vectors-next) + (version "3.4.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "cryptography_vectors" version)) + (sha256 + (base32 "1wl0ynh3lzhc6q59g8mybvijmnp195x7fjxlb3h3sgcraw14312c")))))) + +(define-public python-cryptography-next (package (name "python-cryptography") (version "36.0.1") @@ -571,7 +581,7 @@ (define-public python-cryptography (list python-asn1crypto python-cffi python-six python-idna python-iso8601)) (native-inputs - (list python-cryptography-vectors + (list python-cryptography-vectors-next python-hypothesis python-pretend python-pytz @@ -592,6 +602,30 @@ (define-public python-cryptography (license (list license:bsd-3 license:asl2.0)) (properties `((python2-variant . ,(delay python2-cryptography)))))) +(define-public python-cryptography + (package + (inherit python-cryptography-next) + (version "3.4.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "cryptography" version)) + (sha256 + (base32 "072awar70cwfd2hnx0pvp1dkc7gw45mbm3wcyddvxz5frva5xk4l")))) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-no-rust + (lambda _ + (setenv "CRYPTOGRAPHY_DONT_BUILD_RUST" "1")))))) + (inputs (list openssl)) + (native-inputs + (list python-cryptography-vectors + python-hypothesis + python-pretend + python-pytz + python-pytest + python-setuptools-rust)))) + (define-public python2-cryptography-vectors (package (inherit python-cryptography-vectors) -- cgit v1.2.3 From d500a58b42581bf803b3d58468ba2026a991046f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 May 2022 18:15:26 +0300 Subject: gnu: python2-cryptography: Update to 3.3.2. * gnu/packages/python-crypto.scm (python2-cryptography-vectors, python2-cryptography): Update to 3.3.2. --- gnu/packages/python-crypto.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index c01692dfce..625dc7a8fa 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -629,13 +629,14 @@ (define-public python-cryptography (define-public python2-cryptography-vectors (package (inherit python-cryptography-vectors) - (version "3.3.1") + (name "python2-cryptography-vectors") + (version "3.3.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03")))) + "1yhaps0f3h2yjb6lmz953z1l1d84y9swk4k3gj9nqyk4vbx5m7cc")))) (arguments (list #:python python-2)))) @@ -644,13 +645,13 @@ (define-public python2-cryptography (strip-python2-variant python-cryptography)))) (package (inherit crypto) - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy")))) + "1vcvw4lkw1spiq322pm1256kail8nck6bbgpdxx3pqa905wd6q2s")))) (arguments `(#:python ,python-2 #:phases -- cgit v1.2.3 From b1f763de54dc2b8e240d0f01f7948ce76f67243e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 31 May 2022 19:35:13 +0300 Subject: gnu: python-pyopenssl: Downgrade to 21.0.0. This is a follow-up to 048e05b7ef568dc5e29df774baaf69f7cc5ddaaa. * gnu/packages/python-crypto.scm (python-pyopenssl): Downgrade to 21.0.0. [source]: Add patch used by python2-pyopenssl. [properties]: Remove field. (python2-pyopenssl): Inherit from python-pyopenssl regularly. --- gnu/packages/python-crypto.scm | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 625dc7a8fa..6427dc7868 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -669,17 +669,19 @@ (define-public python2-cryptography python2-backport-ssl-match-hostname python2-enum34)))))) +;; This is the last version which is compatable with python-cryptography < 35. (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "22.0.0") + (version "21.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "1gzihw09sqi71lwx97c69hab7w4rbnl6hhfrl6za3i5a4la1n2v6")))) + "1cqcc20fwl521z3fxsc1c98gbnhb14q55vrvjfp6bn6h8rg8qbay")) + (patches (search-patches "python2-pyopenssl-openssl-compat.patch")))) (build-system python-build-system) (arguments (list @@ -714,22 +716,10 @@ (define-public python-pyopenssl (description "PyOpenSSL is a high-level wrapper around a subset of the OpenSSL library.") - (properties `((python2-variant . ,(delay python2-pyopenssl)))) (license license:asl2.0))) (define-public python2-pyopenssl - (let ((base (package-with-python2 (strip-python2-variant python-pyopenssl)))) - (package - (inherit base) - (version "21.0.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pyOpenSSL" version)) - (patches (search-patches "python2-pyopenssl-openssl-compat.patch")) - (sha256 - (base32 - "1cqcc20fwl521z3fxsc1c98gbnhb14q55vrvjfp6bn6h8rg8qbay"))))))) + (package-with-python2 python-pyopenssl)) (define-public python-ed25519 (package -- cgit v1.2.3 From 405019f590255da5138b9666339787e41d4c1d39 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 13:02:47 +0200 Subject: gnu: imlib2: Reintroduce 1.7.1. * gnu/packages/image.scm (imlib2-1.7): New variable. --- gnu/packages/image.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 27cb74d2a3..b3b211a856 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2017, 2019, 2021 Ludovic Courtès +;;; Copyright © 2013, 2017, 2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2013, 2015, 2016 Andreas Enge ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver ;;; Copyright © 2014, 2015 Alex Kost @@ -1024,6 +1024,19 @@ (define-public imlib2 more modular, simple, and flexible.") (license license:imlib2))) +(define-public imlib2-1.7 + (package + (inherit imlib2) + (version "1.7.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/enlightenment/imlib2-src/" version + "/imlib2-" version ".tar.bz2")) + (sha256 + (base32 + "01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3")))))) + (define-public giblib (package (name "giblib") -- cgit v1.2.3 From 355a08b999abe8aaff2c31590105da409e3400b5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 13:03:07 +0200 Subject: gnu: giblib: Depend on imlib2@1.7. * gnu/packages/image.scm (giblib)[inputs]: Depend on IMLIB2-1.7 instead of IMLIB2. --- gnu/packages/image.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b3b211a856..2f82524afd 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1059,7 +1059,9 @@ (define-public giblib "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp")))) (build-system gnu-build-system) (inputs - (list libx11 imlib2)) + (list libx11 + ;; Needs an old imlib2 with the 'imlib2-config' program. + imlib2-1.7)) (home-page ;; This vanished page is universally accepted as giblib's home despite not ;; mentioning the package once. -- cgit v1.2.3 From d776899e18a49a967f0cce6912754c8bb3968ea2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 13:04:59 +0200 Subject: gnu: idesk: Depend on imlib2@1.7. * gnu/packages/wm.scm (idesk)[inputs]: Depend on IMLIB2-1.7 instead of IMLIB2. --- 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 123e6ca7e7..acef5c5836 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016 Carlo Zancanaro -;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès +;;; Copyright © 2016 2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018, 2020 Nikita ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer @@ -2441,7 +2441,7 @@ (define-public idesk libxpm libpng freetype - imlib2 + imlib2-1.7 sed)) (native-inputs (list pkg-config)) -- cgit v1.2.3 From 0602444b7995358c404a2ff51a80f9f9a444e99a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 13:27:54 +0200 Subject: gnu: setroot: Depend on imlib2@1.7. * gnu/packages/xorg.scm (setroot)[inputs]: Use IMLIB2-1.7 instead of IMLIB2. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ee3e0b81d3..daf253a30f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2017, 2018, 2020 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2015-2022 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel @@ -6948,7 +6948,7 @@ (define-public setroot (modify-phases %standard-phases (delete 'configure)))) (inputs - (list imlib2 libx11 libxinerama)) + (list imlib2-1.7 libx11 libxinerama)) (home-page "https://github.com/ttzhou/setroot") (synopsis "Simple X background setter inspired by imlibsetroot and feh") (description "Setroot is a lightweight X background setter with feh's -- cgit v1.2.3 From 3fce3c2c7a24c387b3a2f05347b515d4933a21e4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 13:32:31 +0200 Subject: gnu: postgresql@11: Depend on docbook-xml@4.2. * gnu/packages/databases.scm (postgresql-11)[native-inputs]: New field. --- gnu/packages/databases.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4f2d7ef11c..2134a2c643 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès +;;; Copyright © 2012-2016, 2018, 2022 Ludovic Courtès ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2013, 2017 Cyril Roelandt ;;; Copyright © 2014, 2016 David Thompson @@ -1273,7 +1273,10 @@ (define-public postgresql-11 version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))))) + "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))) + (native-inputs + (modify-inputs (package-native-inputs postgresql-13) + (replace "docbook-xml" docbook-xml-4.2))))) (define-public postgresql-10 (package -- cgit v1.2.3 From 502e43aa45ddbce6504208ff70536e2e5dc88069 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 2 Jun 2022 15:29:39 +0300 Subject: gnu: ruby-rails-dom-testing: Fix build. * gnu/packages/rails.scm (ruby-rails-dom-testing)[arguments]: Add phase to delete the Gemfile.lock. --- gnu/packages/rails.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 45fa5d8606..8f5bda4638 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2021 Efraim Flashner +;;; Copyright © 2019, 2021, 2022 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +20,7 @@ (define-module (gnu packages rails) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -291,6 +292,13 @@ (define-public ruby-rails-dom-testing (base32 "17vdh273cmmfpzy5m546dd13zqmimv54jjx0f7sl0zi5lwz0gnck")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-gemfile.lock + (lambda _ + (delete-file "Gemfile.lock")))))) (native-inputs (list bundler)) (propagated-inputs -- cgit v1.2.3 From 525f1013d1825081e90afce8512550b26d032dcc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: cairomm: Update to 1.16.1. * gnu/packages/gtk.scm (cairomm): Update to 1.16.1. [arguments]: Don't explicitly return #t from phases. --- gnu/packages/gtk.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 3bf986403a..a71501d8a3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Patrick Hetu ;;; Copyright © 2016 Nikita ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2017–2021 Tobias Geerinckx-Rice +;;; Copyright © 2017–2022 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018, 2020 Arun Isaac @@ -1563,14 +1563,14 @@ (define-public guile-gnome (define-public cairomm (package (name "cairomm") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (string-append "https://www.cairographics.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y")))) + "1im2yjzvjfx8s7cal9kwq23z936kppfmyag2zsnbim4dx7c60q3g")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -1588,8 +1588,7 @@ (define-public cairomm (mkdir-p (string-append doc "/share")) (rename-file (string-append out "/share/doc") - (string-append doc "/share/doc")) - #t)))))) + (string-append doc "/share/doc")))))))) (native-inputs `(("boost" ,boost) ("dot" ,graphviz) -- cgit v1.2.3 From e31ab8c24848a7691a838af8df61d3e7097cddbc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: cairomm: Remove input labels. * gnu/packages/gtk.scm (cairomm)[native-inputs, inputs]: Remove input labels. --- gnu/packages/gtk.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a71501d8a3..4d6a690fbb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1590,15 +1590,15 @@ (define-public cairomm (string-append out "/share/doc") (string-append doc "/share/doc")))))))) (native-inputs - `(("boost" ,boost) - ("dot" ,graphviz) - ("doxygen" ,doxygen) - ("mm-common" ,mm-common) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("xsltproc" ,libxslt))) + (list boost + doxygen + graphviz + mm-common + perl + pkg-config + libxslt)) (inputs - `(("fontconfig" ,fontconfig))) + (list fontconfig)) (propagated-inputs (list libsigc++ cairo)) (home-page "https://cairographics.org/") -- cgit v1.2.3 From 0e0296af4e46f51e25ebe1c484c9b59c1085474e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: perl-dbi, timescaledb: Fix typo in description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/databases.scm (perl-dbi, timescaledb): Fix ‘an database’ typo. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 137627e8de..f97281e882 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1377,7 +1377,7 @@ (define-public timescaledb (home-page "https://www.timescale.com/") (synopsis "Time-series extension for PostgreSQL") (description - "TimescaleDB is an database designed to make SQL scalable for + "TimescaleDB is a database designed to make SQL scalable for time-series data. It is engineered up from PostgreSQL and packaged as a PostgreSQL extension, providing automatic partitioning across time and space (partitioning key), as well as full SQL support.") @@ -1882,7 +1882,7 @@ (define-public perl-dbi "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa")))) (build-system perl-build-system) (synopsis "Database independent interface for Perl") - (description "This package provides an database interface for Perl.") + (description "This package provides a database interface for Perl.") (home-page "https://metacpan.org/release/DBI") (license license:perl-license))) -- cgit v1.2.3 From 5011866692cb25fae2e33247b3a4a0603e223f51 Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Wed, 8 Jun 2022 11:58:41 +0200 Subject: guix: platform: Fix typo in lookup-platform-by-target. * guix/platform.scm (lookup-platform-by-target): Fix typo system -> target. Signed-off-by: Mathieu Othacehe --- guix/platform.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/platform.scm b/guix/platform.scm index 361241cb2e..19d4527e29 100644 --- a/guix/platform.scm +++ b/guix/platform.scm @@ -121,7 +121,7 @@ (define (platform-system->target system) (define (platform-target->system target) "Return the system matching the given TARGET if it exists or false otherwise." - (let ((platform (lookup-platform-by-target system))) + (let ((platform (lookup-platform-by-target target))) (and=> platform platform-system))) -- cgit v1.2.3 From 5124d0dbe0ab59c606d0d5b5837f8dcc14ba28ec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: sudo: Fix build on aarch64. * gnu/packages/admin.scm (sudo)[source]: Add patch. * gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/admin.scm | 1 + .../sudo-missing-sudo_pt_regs-aarch64.patch | 26 ++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch diff --git a/gnu/local.mk b/gnu/local.mk index 68b317b32a..bed213b87c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1806,6 +1806,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ + %D%/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 42ae928419..9a3ddab227 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1780,6 +1780,7 @@ (define-public sudo (sha256 (base32 "1gjingc1h7d6p17m0nn87yiwh8gbdchg4w4kv8s4g89wv0q6wixm")) + (patches (search-patches "sudo-missing-sudo_pt_regs-aarch64.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch b/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch new file mode 100644 index 0000000000..9caf607940 --- /dev/null +++ b/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch @@ -0,0 +1,26 @@ +From d549adf04bfde7936306203e2e8886ffd93d00ea Mon Sep 17 00:00:00 2001 +From: Pierre Bourdon +Date: Tue, 7 Jun 2022 17:14:39 +0200 +Subject: [PATCH] exec_ptrace: fix missing sudo_pt_regs on aarch64 + +AArch64 already had an existing "user_pt_regs" struct and didn't need a +struct alias before the renaming to "sudo_pt_regs". Make the code build +again by adding the now missing alias. + +Fixes: 2eb8ff17 +--- + src/exec_ptrace.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/exec_ptrace.h b/src/exec_ptrace.h +index 7f26283a8..4a5a86581 100644 +--- a/src/exec_ptrace.h ++++ b/src/exec_ptrace.h +@@ -76,6 +76,7 @@ + # define reg_arg4(x) (x).r10 + #elif defined(__aarch64__) + # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_AARCH64 ++# define sudo_pt_regs struct user_pt_regs + # define reg_syscall(x) (x).regs[8] /* w8 */ + # define reg_retval(x) (x).regs[0] /* x0 */ + # define reg_sp(x) (x).sp /* sp */ -- cgit v1.2.3 From e3873ed24182c39130160afc999b83944eb18827 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: emacs-org: Update to 9.5.4. * gnu/packages/emacs-xyz.scm (emacs-org): Update to 9.5.4. --- 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 4bc5e10624..2633b775a6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12826,7 +12826,7 @@ (define-public emacs-neotree (define-public emacs-org (package (name "emacs-org") - (version "9.5.3") + (version "9.5.4") (source (origin (method git-fetch) @@ -12835,7 +12835,7 @@ (define-public emacs-org (commit (string-append "release_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0h1n6gqxv3kj3y98n5547rhpw4qnp03lfar79npb4paqgpxf76wb")))) + (base32 "1an866kkn5r84933s04agm1c3197kza2pvk8lqp2xzpjd09ba394")))) (build-system emacs-build-system) (arguments `(#:tests? #t -- cgit v1.2.3 From 65f66245d4498949fbc8b9517885fa6471792eaa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:11 +0200 Subject: gnu: synthv1: Update to 0.9.26. * gnu/packages/music.scm (synthv1): Update to 0.9.26. [inputs]: Add qtsvg. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index afd7ff40cf..ccf6687750 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2281,7 +2281,7 @@ (define-public mixxx (define-public synthv1 (package (name "synthv1") - (version "0.9.25") + (version "0.9.26") (source (origin (method url-fetch) (uri @@ -2289,7 +2289,7 @@ (define-public synthv1 "/synthv1-" version ".tar.gz")) (sha256 (base32 - "1i16036f9wm52c5pxkllq7ir749jcknbh35i9wcxd5n88p6mzw02")))) + "1asikh341f3vblrl8l07yakza80ybs8sid3n2qpsrvigaz3iymcd")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2299,7 +2299,8 @@ (define-public synthv1 alsa-lib new-session-manager liblo - qtbase-5)) + qtbase-5 + qtsvg)) (native-inputs (list pkg-config qttools)) (home-page "https://synthv1.sourceforge.io") -- cgit v1.2.3 From b40d7fd001f87949f16c68e9b16c7f18ffd8fb42 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:04 +0200 Subject: gnu: drumkv1: Update to 0.9.26. * gnu/packages/music.scm (drumkv1): Update to 0.9.26. [inputs]: Add qtsvg. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ccf6687750..454923b43a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2313,7 +2313,7 @@ (define-public synthv1 (define-public drumkv1 (package (name "drumkv1") - (version "0.9.25") + (version "0.9.26") (source (origin (method url-fetch) (uri @@ -2321,7 +2321,7 @@ (define-public drumkv1 "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0p50b4k4zldagiwxs0micmdbqib46ysipdj8lkxqdv0pysmd72fc")))) + "0j05xqgcb7kwnnsgl6i7vbdsfq26chzs4zyq6pl0ipcmw4d82j8i")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2332,7 +2332,8 @@ (define-public drumkv1 alsa-lib new-session-manager liblo - qtbase-5)) + qtbase-5 + qtsvg)) (native-inputs (list pkg-config qttools)) (home-page "https://drumkv1.sourceforge.io") -- cgit v1.2.3 From a73f88499e2f9d06b593c426ed2972e9570bfea1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: samplv1: Update to 0.9.26. * gnu/packages/music.scm (samplv1): Update to 0.9.26. [inputs]: Add qtsvg. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 454923b43a..8ef38bfcdd 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2346,7 +2346,7 @@ (define-public drumkv1 (define-public samplv1 (package (name "samplv1") - (version "0.9.25") + (version "0.9.26") (source (origin (method url-fetch) (uri @@ -2354,7 +2354,7 @@ (define-public samplv1 "/samplv1-" version ".tar.gz")) (sha256 (base32 - "0d05b03knrwh1zr4p0kcyn58scy6a392f0xxm78cqf0gikd3bw5c")))) + "1rqz3hf39hk2m15ihrkn8f5cqgbkvz3rq6r2k35rvn7sgvcq1dli")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2365,7 +2365,8 @@ (define-public samplv1 alsa-lib new-session-manager liblo - qtbase-5)) + qtbase-5 + qtsvg)) (native-inputs (list pkg-config qttools)) (home-page "https://samplv1.sourceforge.io") -- cgit v1.2.3 From 424a14a3866c791f9f827e8920a299e9d971e593 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:05 +0200 Subject: gnu: padthv1: Update to 0.9.26. * gnu/packages/music.scm (padthv1): Update to 0.9.26. [inputs]: Add qtsvg. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 8ef38bfcdd..1c34ae621c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2379,7 +2379,7 @@ (define-public samplv1 (define-public padthv1 (package (name "padthv1") - (version "0.9.25") + (version "0.9.26") (source (origin (method url-fetch) (uri @@ -2387,7 +2387,7 @@ (define-public padthv1 "/padthv1-" version ".tar.gz")) (sha256 (base32 - "11fa2794g7dqsiw674wr2m4k0xdw89imqwa8mgms0igskxxbvjka")))) + "02pg0g4i65j46hirkc3xn7m2clm8krrafrkwjc1v8rkcdj6q2gw1")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2398,7 +2398,8 @@ (define-public padthv1 new-session-manager liblo fftwf - qtbase-5)) + qtbase-5 + qtsvg)) (native-inputs (list pkg-config qttools)) (home-page "https://padthv1.sourceforge.io") -- cgit v1.2.3 From 15f20984127fcbfce5cf1aaf37ab640917675205 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:04 +0200 Subject: gnu: libnftnl: Update to 1.2.2. * gnu/packages/linux.scm (libnftnl): Update to 1.2.2. --- 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 b47afea0c6..ee31ee95a3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7245,14 +7245,14 @@ (define-public libmnl (define-public libnftnl (package (name "libnftnl") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://netfilter.org/libnftnl/" "libnftnl-" version ".tar.bz2")) (sha256 - (base32 "0z4khm2mnys9mcl8ckwf19cw20jgrv8650nfncy3xcgs2k2aa23m")))) + (base32 "02kdxp4l1ds5lpkw6rxv6f7icc70am6ik3p9z5l8v48mkm7h1z4y")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) -- cgit v1.2.3 From 3783a7b8e47eec3ab60f5d4a6db47c4795e021f6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: nftables: Update to 1.0.4. * gnu/packages/linux.scm (nftables): Update to 1.0.4. [source]: Remove patch. * gnu/packages/patches/nftables-fix-makefile.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/linux.scm | 6 ++--- gnu/packages/patches/nftables-fix-makefile.patch | 34 ------------------------ 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 gnu/packages/patches/nftables-fix-makefile.patch diff --git a/gnu/local.mk b/gnu/local.mk index bed213b87c..26866bc807 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1527,7 +1527,6 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ - %D%/packages/patches/nftables-fix-makefile.patch \ %D%/packages/patches/nhc98-c-update.patch \ %D%/packages/patches/nix-dont-build-html-doc.diff \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ee31ee95a3..23a6088020 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7287,7 +7287,7 @@ (define-public libnftnl/fixed (define-public nftables (package (name "nftables") - (version "1.0.2") + (version "1.0.4") (source (origin (method url-fetch) @@ -7296,9 +7296,7 @@ (define-public nftables (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "00jcjn1pl7qyqpg8pd4yhlkys7wbj4vkzgg73n27nmplzips6a0b")) - (patches - (search-patches "nftables-fix-makefile.patch")))) + (base32 "0ddsdj6zs78hndffl3iikpa1wzjxcpmr3xqcq4la71gnl7zb2zwj")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" diff --git a/gnu/packages/patches/nftables-fix-makefile.patch b/gnu/packages/patches/nftables-fix-makefile.patch deleted file mode 100644 index 1660635874..0000000000 --- a/gnu/packages/patches/nftables-fix-makefile.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 18a08fb7f0443f8bde83393bd6f69e23a04246b3 Mon Sep 17 00:00:00 2001 -From: Pablo Neira Ayuso -Date: Tue, 22 Feb 2022 00:56:36 +0100 -Subject: examples: compile with `make check' and add AM_CPPFLAGS - -Compile examples via `make check' like libnftnl does. Use AM_CPPFLAGS to -specify local headers via -I. - -Unfortunately, `make distcheck' did not catch this compile time error in -my system, since it was using the nftables/libnftables.h file of the -previous nftables release. - -Fixes: 5b364657a35f ("build: missing SUBIRS update") -Fixes: caf2a6ad2d22 ("examples: add libnftables example program") -Signed-off-by: Pablo Neira Ayuso ---- - examples/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/examples/Makefile.am b/examples/Makefile.am -index c972170d..3b8b0b67 100644 ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -1,4 +1,6 @@ --noinst_PROGRAMS = nft-buffer \ -+check_PROGRAMS = nft-buffer \ - nft-json-file - -+AM_CPPFLAGS = -I$(top_srcdir)/include -+ - LDADD = $(top_builddir)/src/libnftables.la --- -cgit v1.2.3 - -- cgit v1.2.3 From 7fe382892af614940f70a0ac57ed5976ff4e3da6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 29 May 2022 02:00:00 +0200 Subject: doc: Expand ‘setuid-root’-only references. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Setuid Programs, Service Reference): Don't assume setuid-root as the only possibility. --- doc/guix.texi | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 96d545698f..ea133d519a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -339,7 +339,7 @@ System Configuration * Keyboard Layout:: How the system interprets key strokes. * Locales:: Language and cultural convention settings. * Services:: Specifying system services. -* Setuid Programs:: Programs running with root privileges. +* Setuid Programs:: Programs running with elevated privileges. * X.509 Certificates:: Authenticating HTTPS servers. * Name Service Switch:: Configuring libc's name service switch. * Initial RAM Disk:: Linux-Libre bootstrapping. @@ -15414,7 +15414,7 @@ instance to support new system services. * Keyboard Layout:: How the system interprets key strokes. * Locales:: Language and cultural convention settings. * Services:: Specifying system services. -* Setuid Programs:: Programs running with root privileges. +* Setuid Programs:: Programs running with elevated privileges. * X.509 Certificates:: Authenticating HTTPS servers. * Name Service Switch:: Configuring libc's name service switch. * Initial RAM Disk:: Linux-Libre bootstrapping. @@ -35755,22 +35755,23 @@ Extra command line options for @code{nix-service-type}. @section Setuid Programs @cindex setuid programs -Some programs need to run with ``root'' privileges, even when they are +@cindex setgid programs +Some programs need to run with elevated privileges, even when they are launched by unprivileged users. A notorious example is the @command{passwd} program, which users can run to change their password, and which needs to access the @file{/etc/passwd} and @file{/etc/shadow} files---something normally restricted to root, for -obvious security reasons. To address that, these executables are -@dfn{setuid-root}, meaning that they always run with root privileges +obvious security reasons. To address that, @command{passwd} should be +@dfn{setuid-root}, meaning that it always runs with root privileges (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, for more info about the setuid mechanism). The store itself @emph{cannot} contain setuid programs: that would be a security issue since any user on the system can write derivations that populate the store (@pxref{The Store}). Thus, a different mechanism is -used: instead of changing the setuid bit directly on files that are in -the store, we let the system administrator @emph{declare} which programs -should be setuid root. +used: instead of changing the setuid or setgid bits directly on files that +are in the store, we let the system administrator @emph{declare} which +programs should be entrusted with these additional privileges. The @code{setuid-programs} field of an @code{operating-system} declaration contains a list of @code{} denoting the @@ -38000,7 +38001,7 @@ pointing to the given file. @defvr {Scheme Variable} setuid-program-service-type Type for the ``setuid-program service''. This service collects lists of executable file names, passed as gexps, and adds them to the set of -setuid-root programs on the system (@pxref{Setuid Programs}). +setuid and setgid programs on the system (@pxref{Setuid Programs}). @end defvr @defvr {Scheme Variable} profile-service-type -- cgit v1.2.3 From ce21522706ce9603eab0da9eb568ceda9c19cd1a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: sudo: Update to 1.9.11p1. * gnu/packages/admin.scm (sudo): Update to 1.9.11p1. [source]: Remove patch again. * gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/admin.scm | 5 ++--- .../sudo-missing-sudo_pt_regs-aarch64.patch | 26 ---------------------- 3 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch diff --git a/gnu/local.mk b/gnu/local.mk index 26866bc807..453d3bb9a9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1805,7 +1805,6 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-display.patch \ - %D%/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch \ %D%/packages/patches/syslinux-gcc10.patch \ %D%/packages/patches/syslinux-strip-gnu-property.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 9a3ddab227..6acfff8881 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1769,7 +1769,7 @@ (define-public rottlog (define-public sudo (package (name "sudo") - (version "1.9.11") + (version "1.9.11p1") (source (origin (method url-fetch) (uri @@ -1779,8 +1779,7 @@ (define-public sudo version ".tar.gz"))) (sha256 (base32 - "1gjingc1h7d6p17m0nn87yiwh8gbdchg4w4kv8s4g89wv0q6wixm")) - (patches (search-patches "sudo-missing-sudo_pt_regs-aarch64.patch")) + "0jr52rmig9h367j0n6h3lp5xf54jsycnvdih42wg9bd9d4d6r2zb")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch b/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch deleted file mode 100644 index 9caf607940..0000000000 --- a/gnu/packages/patches/sudo-missing-sudo_pt_regs-aarch64.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d549adf04bfde7936306203e2e8886ffd93d00ea Mon Sep 17 00:00:00 2001 -From: Pierre Bourdon -Date: Tue, 7 Jun 2022 17:14:39 +0200 -Subject: [PATCH] exec_ptrace: fix missing sudo_pt_regs on aarch64 - -AArch64 already had an existing "user_pt_regs" struct and didn't need a -struct alias before the renaming to "sudo_pt_regs". Make the code build -again by adding the now missing alias. - -Fixes: 2eb8ff17 ---- - src/exec_ptrace.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/exec_ptrace.h b/src/exec_ptrace.h -index 7f26283a8..4a5a86581 100644 ---- a/src/exec_ptrace.h -+++ b/src/exec_ptrace.h -@@ -76,6 +76,7 @@ - # define reg_arg4(x) (x).r10 - #elif defined(__aarch64__) - # define SECCOMP_AUDIT_ARCH AUDIT_ARCH_AARCH64 -+# define sudo_pt_regs struct user_pt_regs - # define reg_syscall(x) (x).regs[8] /* w8 */ - # define reg_retval(x) (x).regs[0] /* x0 */ - # define reg_sp(x) (x).sp /* sp */ -- cgit v1.2.3 From 62b2d37e51018475a41270e25ed4823092f2cc68 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: retux: Update to 1.6.1. * gnu/packages/games.scm (retux): Update to 1.6.1. [arguments]: Don't explicitly return #t from phases. [inputs]: Remove python-six. I found no indication that it's used. --- gnu/packages/games.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c011622f8e..8e6ab03530 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2200,7 +2200,7 @@ (define-public prboom-plus (license license:gpl2+))) (define-public retux - (let ((release "1.5") + (let ((release "1.6.1") (revision 0)) (package (name "retux") @@ -2216,7 +2216,7 @@ (define-public retux release "-src.zip")) (sha256 (base32 - "1yima7s36hn2kh5h08lczc5iid8jbdxk7x1g5ms6knaznzj7rll3")))) + "1bkyfm0h4kys0x7c1340fnkhgnmcrf4j2xjm250r5w8q6l7v2wj4")))) (build-system python-build-system) (arguments `(#:tests? #f ; no check target @@ -2237,12 +2237,11 @@ (define-public retux (string-append "\"" data "\","))) (copy-file "retux.py" (string-append bin "/retux")) - (copy-recursively "data" data) - #t)))))) + (copy-recursively "data" data))))))) (native-inputs (list unzip)) (inputs - (list python-sge python-six python-xsge)) + (list python-sge python-xsge)) (home-page "https://retux-game.github.io/") (synopsis "Action platformer game") (description -- cgit v1.2.3 From 0a58c7c1c05dfe19b91d222b9fb6446b160dade7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: restinio: Update to 0.6.15. * gnu/packages/networking.scm (restinio): Update to 0.6.15. --- 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 19fd3b44fc..cd25ca3dce 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3359,7 +3359,7 @@ (define-public restbed (define-public restinio (package (name "restinio") - (version "0.6.14") + (version "0.6.15") (source (origin (method git-fetch) (uri (git-reference @@ -3368,7 +3368,7 @@ (define-public restinio (file-name (git-file-name name version)) (sha256 (base32 - "0j44mglsljwkw49583hcsrl5ck2g56n9srnm10kpbsz2dx5apx98")))) + "1f8d5nfm8jqhspzsslwb1b7j4glipz31i9vszrcnkx3clc39nj2n")))) (build-system cmake-build-system) (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. (list zlib -- cgit v1.2.3 From 48a191c15d52073185d4ca7e81c63517d779df27 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 4 Jun 2022 15:41:41 +0200 Subject: gnu: java-plexus-component-metadata: Fix package. * gnu/packages/java.scm (java-plexus-component-metadat): Apply fix for newer jdom. --- gnu/packages/java.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 336e84e3e5..f475f7c270 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4537,6 +4537,14 @@ (define-public java-plexus-component-metadata-1.7 (copy-recursively "src/main/resources" "build/classes/") #t)) + (add-before 'build 'fix-jdom + (lambda _ + ;; The newer version of jdom now sets multiple features by default + ;; that are not supported. + ;; Skip these features + (substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java" + (("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);") + "// skip")))) (add-before 'check 'fix-test-location (lambda _ (substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java" -- cgit v1.2.3 From 731f55aa8df4e5a7715681cfe168188b2e57feb6 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Wed, 8 Jun 2022 20:51:04 +0200 Subject: gnu: epiphany: Update to 42.2. * gnu/packages/gnome.scm (epiphany): Update to 42.2. [source]: Remove patches. * gnu/packages/patches/epiphany-update-libportal-usage.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 6 +-- .../patches/epiphany-update-libportal-usage.patch | 53 ---------------------- 3 files changed, 2 insertions(+), 58 deletions(-) delete mode 100644 gnu/packages/patches/epiphany-update-libportal-usage.patch diff --git a/gnu/local.mk b/gnu/local.mk index 453d3bb9a9..abd6a30d66 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1039,7 +1039,6 @@ dist_patch_DATA = \ %D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/eog-update-libportal-usage.patch \ - %D%/packages/patches/epiphany-update-libportal-usage.patch \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/esmtp-add-lesmtp.patch \ %D%/packages/patches/eudev-rules-directory.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 90ee724290..5c23d8b42e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6703,7 +6703,7 @@ (define-public eolie (define-public epiphany (package (name "epiphany") - (version "41.2") + (version "42.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" @@ -6711,9 +6711,7 @@ (define-public epiphany "epiphany-" version ".tar.xz")) (sha256 (base32 - "0k7b22zq3z1kllzqxgwsvwb1lp0j6rjb3k1hvhna3i573wc4mpji")) - (patches - (search-patches "epiphany-update-libportal-usage.patch")))) + "0b8rhns3b58f8dnp83mm1g933aqf88d8wrfyyp7jq3fihvw2rh4j")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/patches/epiphany-update-libportal-usage.patch b/gnu/packages/patches/epiphany-update-libportal-usage.patch deleted file mode 100644 index 0d8ea045fb..0000000000 --- a/gnu/packages/patches/epiphany-update-libportal-usage.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fix for epiphany with libportal-0.5. - -This patch was adapted from upstream -https://gitlab.gnome.org/GNOME/epiphany/-/commit/e4d259f614f75c26ad0d2094f4f569ffd1bc06d1 - -diff --git a/lib/ephy-flatpak-utils.c b/lib/ephy-flatpak-utils.c -index 6fc9a5dec17a63c0660cbc1d95103c8f77231d30..0fd90b3f178392930e812a8391fd81bf1371b8bf 100644 ---- a/lib/ephy-flatpak-utils.c -+++ b/lib/ephy-flatpak-utils.c -@@ -29,7 +29,7 @@ - #include - #include - #if USE_LIBPORTAL --#include -+#include - #endif - #include - #include -diff --git a/lib/meson.build b/lib/meson.build -index 264f9c5fb66268fc248f780b8d1c06c8291f856d..db0a0557f0ae634d7fb95e57aba0cd901ca4d6c1 100644 ---- a/lib/meson.build -+++ b/lib/meson.build -@@ -66,6 +66,7 @@ libephymisc_deps = [ - libxml_dep, - m_dep, - portal_dep, -+ portal_gtk_dep, - sqlite3_dep, - webkit2gtk_dep - ] -diff --git a/meson.build b/meson.build -index 0b9f862b22a23619289342ec39fa0a0274558c25..4285a975004e48366789a4e66f8b23f3af05a636 100644 ---- a/meson.build -+++ b/meson.build -@@ -95,7 +95,8 @@ libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0') - libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0') - libxml_dep = dependency('libxml-2.0', version: '>= 2.6.12') - nettle_dep = dependency('nettle', version: nettle_requirement) --portal_dep = dependency('libportal', version: '>= 0.0.2', required: get_option('libportal')) -+portal_dep = dependency('libportal', version: '>= 0.5', required: get_option('libportal')) -+portal_gtk_dep = dependency('libportal-gtk3', version: '>= 0.5', required: get_option('libportal')) - sqlite3_dep = dependency('sqlite3', version: '>= 3.22') - - if get_option('soup2').enabled() -@@ -108,7 +109,7 @@ else - webkit2gtk_web_extension_dep = dependency('webkit2gtk-web-extension-4.1', version: webkitgtk_requirement) - endif - --conf.set10('USE_LIBPORTAL', portal_dep.found()) -+conf.set10('USE_LIBPORTAL', portal_dep.found() and portal_gtk_dep.found()) - - webkit_revision = webkit2gtk_dep.get_variable(pkgconfig : 'revision', default_value : '') - if webkit_revision == 'tarball' -- cgit v1.2.3 From 3f922e229bcef03e5b0c5b1325d031c27371bcac Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Wed, 8 Jun 2022 20:57:18 +0200 Subject: gnu: epiphany: Use new coding style. * gnu/packages/gnome.scm (epiphany)[arguments]: Convert to list of G-Expressions. [propagated-inputs]: Reindent. [inputs, native-inputs]: Drop labels and reindent. --- gnu/packages/gnome.scm | 106 ++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5c23d8b42e..e6573894b4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6714,60 +6714,58 @@ (define-public epiphany "0b8rhns3b58f8dnp83mm1g933aqf88d8wrfyyp7jq3fihvw2rh4j")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - ;; Don't create 'icon-theme.cache'. - (lambda _ - (substitute* "post_install.py" - (("gtk-update-icon-cache") "true")))) - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "tests/meson.build" - ;; embed_shell fails, because webkitgtk apparently no longer - ;; supports overriding the ftp schema web_app_utils fails due - ;; to missing network access. - (("(embed_shell|web_app_utils)_test,") - "find_program('sh'), args: ['-c', 'exit 77'],")))) - (add-before 'check 'pre-check - (lambda _ - ;; Tests require a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))) - #:configure-flags - ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. - (list (string-append "-Dc_link_args=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib/epiphany")))) - (propagated-inputs - (list dconf)) - (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database - ("glib:bin" ,glib "bin") ; for glib-mkenums - ("intltool" ,intltool) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2) - ("xorg-server" ,xorg-server-for-tests))) - (inputs - `(("avahi" ,avahi) - ("gcr" ,gcr) - ("librsvg" ,librsvg) ; for loading SVG files - ("glib-networking" ,glib-networking) - ("gnome-desktop" ,gnome-desktop) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("json-glib" ,json-glib) - ("iso-codes" ,iso-codes) - ("libarchive" ,libarchive) - ("libdazzle" ,libdazzle) - ("libhandy" ,libhandy) - ("libnotify" ,libnotify) - ("libportal" ,libportal) - ("libsecret" ,libsecret) - ("libxslt" ,libxslt) - ("nettle" ,nettle) ; for hogweed - ("sqlite" ,sqlite) - ("webkitgtk" ,webkitgtk-with-libsoup2))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "post_install.py" + (("gtk-update-icon-cache") "true")))) + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "tests/meson.build" + ;; embed_shell fails, because webkitgtk apparently no longer + ;; supports overriding the ftp schema web_app_utils fails due + ;; to missing network access. + (("(embed_shell|web_app_utils)_test,") + "find_program('sh'), args: ['-c', 'exit 77'],")))) + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))) + #:configure-flags + ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. + #~(list (string-append "-Dc_link_args=-Wl,-rpath=" + #$output "/lib/epiphany")))) + (propagated-inputs (list dconf)) + (native-inputs (list desktop-file-utils ; for update-desktop-database + `(,glib "bin") ; for glib-mkenums + intltool + itstool + pkg-config + libxml2 + xorg-server-for-tests)) + (inputs (list avahi + gcr + librsvg ; for loading SVG files + glib-networking + gnome-desktop + gsettings-desktop-schemas + json-glib + iso-codes + libarchive + libdazzle + libhandy + libnotify + libportal + libsecret + libxslt + nettle ; for hogweed + sqlite + webkitgtk-with-libsoup2)) (home-page "https://wiki.gnome.org/Apps/Web") (synopsis "GNOME web browser") (description -- cgit v1.2.3 From 8ef651b44cd8803c5e22edcbe423eae365585e48 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 17:09:41 -0400 Subject: gnu: ngspice: Build with readline support. Fixes . * gnu/packages/engineering.scm (ngspice) [configure-flags]: Add '--with-readline=yes'. Reported-by: Christopher Howard --- gnu/packages/engineering.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 6b11fc54f0..a3a2ffe5e4 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1840,7 +1840,8 @@ (define-public ngspice (arguments (substitute-keyword-arguments (package-arguments libngspice) ((#:configure-flags flags) - `(delete "--with-ngshared" ,flags)) + `(cons "--with-readline=yes" + (delete "--with-ngshared" ,flags))) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'delete-include-files -- cgit v1.2.3 From 68db023498eb919f199db759a5a1c15601eba261 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 17:43:03 -0400 Subject: gnu: lightdm: Fix build. This is a follow-up to commit 26876b66001a1dc45ee6d05015fddd7f5a88676e, migrate the package from Python 2 to Python 3 (but left some commented inputs for tests, breaking the build). * gnu/packages/display-managers.scm (lightdm)[native-inputs]: Un-comment python-wrapper and python-pygobject. --- gnu/packages/display-managers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index d567f7d3fe..64375b8cfc 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -323,8 +323,8 @@ (define-public lightdm vala ;for Vala bindings ;; For tests dbus - ;; python-wrapper - ;; python-pygobject + python-wrapper + python-pygobject which yelp-tools)) ;; Required by liblightdm-gobject-1.pc. -- cgit v1.2.3 From 4d1fab45eeac6d55ca698d6e63f276a600dfbbe0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:08:19 -0400 Subject: gnu: linux-libre: Update to 5.17.13. * gnu/packages/linux.scm (linux-libre-5.17-version): Update to 5.17.13. (linux-libre-5.17-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 23a6088020..5e98246443 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,7 +350,7 @@ (define (%upstream-linux-source version hash) ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.17-version "5.17.12") +(define-public linux-libre-5.17-version "5.17.13") (define-public linux-libre-5.17-gnu-revision "gnu") (define deblob-scripts-5.17 (linux-libre-deblob-scripts @@ -360,7 +360,7 @@ (define deblob-scripts-5.17 (base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn"))) (define-public linux-libre-5.17-pristine-source (let ((version linux-libre-5.17-version) - (hash (base32 "0yr8xfds5l1s3lk8qk67mgy0l4yh2jfvjc7xwrfws3ci020ss9a2"))) + (hash (base32 "0lzgifk26s0bbrad0k9ngbc9nj5g4jyqmf68mhd01nbbl44gsiza"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.17))) -- cgit v1.2.3 From 3e372805e3fd8d6f7397e7b437d7eca743d50eab Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:08:42 -0400 Subject: gnu: linux-libre 5.14: Update to 5.14.45. * gnu/packages/linux.scm (linux-libre-5.14-version): Update to 5.14.45. (linux-libre-5.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 5e98246443..0ba2748a88 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -368,7 +368,7 @@ (define-public linux-libre-5.17-pristine-source ;; 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.44") +(define-public linux-libre-5.15-version "5.15.45") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -378,7 +378,7 @@ (define deblob-scripts-5.15 (base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1p1jz0lxmzyj0c51afqghylg9kblk8zmlw92zq6bsn37wlwbrylv"))) + (hash (base32 "0m47ilgvg10a9r7zzf7fvyvamggj13j99cnfy1p06rkwjxyhsfdj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -- cgit v1.2.3 From cd21924d929d8a12c3bf90d18edf3ae7e731854f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:09:04 -0400 Subject: gnu: linux-libre 5.10: Update to 5.10.120. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.120. (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 0ba2748a88..7e4d6263a9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,7 +383,7 @@ (define-public linux-libre-5.15-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.119") +(define-public linux-libre-5.10-version "5.10.120") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -393,7 +393,7 @@ (define deblob-scripts-5.10 (base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "04952zaz2kfwf7agy4laz50f9sl3mrnpqlbwbj84q1xpl9akwd9y"))) + (hash (base32 "12qfgmzif2dy3kj4rqrnlx1if87c4fjmnya1bqpwx3hm0ih7ayjv"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -- cgit v1.2.3 From ed258e3871b2823816af72e9fe6eb829e9e88a5c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:09:23 -0400 Subject: gnu: linux-libre 5.4: Update to 5.4.197. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.197. (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 7e4d6263a9..ee5f24c56f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -398,7 +398,7 @@ (define-public linux-libre-5.10-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.196") +(define-public linux-libre-5.4-version "5.4.197") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -408,7 +408,7 @@ (define deblob-scripts-5.4 (base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1x5irgki792f21hm5146xary0260cl9r475kvw8vm9w32vyx18ig"))) + (hash (base32 "1a1nzrx873vwlpm018l6rk19yh59badvwsknw3chbkbhzjrigbf2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -- cgit v1.2.3 From bde8e3c83aa82974ebcf3bf28919db2cb367e656 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:09:39 -0400 Subject: gnu: linux-libre 4.19: Update to 4.19.246. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.246. (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 ee5f24c56f..68d8d3c456 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -413,7 +413,7 @@ (define-public linux-libre-5.4-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.245") +(define-public linux-libre-4.19-version "4.19.246") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -423,7 +423,7 @@ (define deblob-scripts-4.19 (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1s58qci6xhmss12glzkqk41kp60pqmzh4d84kyz4m4nf4xhdvzcr"))) + (hash (base32 "0fmsglkvdgdmrkm53vyi9d4hvdl4py9qn1z0mni224n96rd2zb80"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From da5c1e8246e22574d4773eaf01c0350cb638251f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:09:57 -0400 Subject: gnu: linux-libre 4.14: Update to 4.14.282. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.282. (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 68d8d3c456..93562a573b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -428,7 +428,7 @@ (define-public linux-libre-4.19-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.281") +(define-public linux-libre-4.14-version "4.14.282") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -438,7 +438,7 @@ (define deblob-scripts-4.14 (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0pivb1m2cwqnlm8bhd4ccnlq9pwp2r5lmn77gp91k6vbjv3gkqis"))) + (hash (base32 "18sp2qvk8dkjrlxwf4d470282m9wyvhajvyys9vs94rh1i3whdv6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From e14918f402d6f61814d36463255a2be24ebbb352 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Jun 2022 23:10:15 -0400 Subject: gnu: linux-libre 4.9: Update to 4.9.317. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.317. (linux-libre-4.9-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 93562a573b..dacb29a6ac 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -443,7 +443,7 @@ (define-public linux-libre-4.14-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.316") +(define-public linux-libre-4.9-version "4.9.317") (define-public linux-libre-4.9-gnu-revision "gnu1") (define deblob-scripts-4.9 (linux-libre-deblob-scripts @@ -453,7 +453,7 @@ (define deblob-scripts-4.9 (base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "05yd7djm6dcxv3vaylhmj3p0yml421azv8qabmhv4ric1f99idjp"))) + (hash (base32 "06qdqcplslnp1ncaqvp5yjr294rz3x4qrxnv522v76awj6dkd8vy"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -- cgit v1.2.3 From b68c87f86a09d4d10f2f614ee92bfca570e42f4b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 May 2022 23:34:19 -0500 Subject: gnu: Add PyGLM. * gnu/packages/python-science.scm (python-pyglm): New variable. --- gnu/packages/python-science.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 855fe9a72c..0684826a6c 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Paul A. Patience ;;; Copyright © 2022 Wiktor Żelazny +;;; Copyright © 2022 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -858,6 +859,32 @@ (define-public python-pingouin @end itemize") (license license:gpl3))) +(define-public python-pyglm + (package + (name "python-pyglm") + (version "2.5.7") + (source + (origin + ;; Test files are not included in the archive in pypi. + (method git-fetch) + (uri (git-reference + (url "https://github.com/Zuzu-Typ/PyGLM") + (commit version) + ;; Checkout the bundled `glm` submodule. PyGLM uses the + ;; currently unreleased GLM_EXT_matrix_integer feature. Can + ;; maybe unbundle once glm@0.9.9.9 is released. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08v0cgkwsf8rxscx5g9c5p1dy38rvak2fy3q6hg985if1nj6d9ks")))) + (build-system python-build-system) + (home-page "https://github.com/Zuzu-Typ/PyGLM") + (synopsis "OpenGL Mathematics library for Python") + (description "PyGLM is a Python extension library which brings the OpenGL +Mathematics (GLM) library to Python.") + (license license:zlib))) + (define-public python-distributed (package (name "python-distributed") -- cgit v1.2.3 From 5f1f8a9374429cf66db4624635fde604c05a2049 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 7 Jun 2022 23:01:34 -0500 Subject: gnu: Add python-freetype-py. * gnu/packages/python-xyz.scm (python-freetype-py): New variable. --- gnu/packages/python-xyz.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f3d7fab973..5f9ce4fdfe 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013-2022 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2014, 2017, 2021 Eric Bavier +;;; Copyright © 2014, 2017, 2021, 2022 Eric Bavier ;;; Copyright © 2014, 2015 Federico Beffa ;;; Copyright © 2015 Omar Radwan ;;; Copyright © 2015 Pierre-Antoine Rault @@ -24700,6 +24700,38 @@ (define-public python-json5 dumping of JSON5 data structures.") (license license:asl2.0))) +(define-public python-freetype-py + (package + (name "python-freetype-py") + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "freetype-py" version ".zip")) + (sha256 + (base32 "1l55wzy21jmdayjna29ahzxrf2fp68580978rs6kap1a4zilrdpr")))) + (build-system python-build-system) + (native-inputs + (list python-setuptools-scm + unzip)) + (inputs (list freetype)) + (arguments + `(#:phases + ;; Note: the pypi archive does not contain tests, but running the check + ;; phase will at least test whether the module loads correctly. + (modify-phases %standard-phases + (add-before 'build 'embed-library-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "freetype/raw.py" + (("^(filename = ).*" _ >) + (string-append > "\"" (search-input-file inputs "/lib/libfreetype.so") + "\"\n")))))))) + (home-page "https://github.com/rougier/freetype-py") + (synopsis "Freetype python bindings") + (description "Freetype Python provides bindings for the FreeType +library. Only the high-level API is bound.") + (license license:bsd-3))) + (define-public python-frozendict (package (name "python-frozendict") -- cgit v1.2.3 From 7db8fe3e4092d888484e43e13ed3642ca58fc178 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 7 Jun 2022 23:19:29 -0500 Subject: gnu: Add GNOME Plots. * gnu/packages/gnome-xyz.scm (gnome-plots): New variable. --- gnu/packages/gnome-xyz.scm | 84 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index e143d5378c..465f81b78c 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2021, 2022 Justin Veilleux ;;; Copyright © 2021 Attila Lendvai ;;; Copyright © 2021 Charles Jackson +;;; Copyright © 2022 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ (define-module (gnu packages gnome-xyz) #:use-module (guix build-system gnu) #:use-module (guix build-system copy) #:use-module (guix build-system meson) + #:use-module (guix build-system python) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) @@ -50,6 +52,7 @@ (define-module (gnu packages gnome-xyz) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages build-tools) + #:use-module (gnu packages check) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -58,6 +61,7 @@ (define-module (gnu packages gnome-xyz) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) @@ -217,6 +221,86 @@ (define-public papirus-icon-theme and a few extra features.") (license license:gpl3))) +(define-public gnome-plots + (package + (name "gnome-plots") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexhuntley/Plots") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "168wcsrkmvq79xmwvbq615msd4q0rg7f57xqicidnr78jx4x37rd")))) + (build-system python-build-system) + (inputs + (list bash-minimal ; for wrap-program + gtk+ + pango + python-freetype-py + python-jinja2 + python-lark-parser + python-numpy + python-pycairo + python-pyglm + python-pygobject + python-pyopengl)) + (native-inputs + (list python-pytest)) + (arguments + (list + #:imported-modules `((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules '((guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils) + (ice-9 match)) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'adjust-lark-requirement + (lambda _ + (substitute* "setup.py" + (("lark") "lark-parser")))) + (add-after 'install 'install-more + (lambda _ + (let* ((datadir (string-append #$output "/share")) + (help (string-append datadir "/help")) + (icons (string-append datadir "/icons/hicolor"))) + (map (lambda (filename) + (match (string-split filename #\/) + ((_ lang dir ... name) + (install-file filename + (string-join (cons* help lang "plots" dir) + "/"))))) + (find-files "help")) + (install-file "res/com.github.alexhuntley.Plots.desktop" + (string-append datadir "/applications/")) + (install-file "res/com.github.alexhuntley.Plots.svg" + (string-append icons "/scalable/apps/")) + (install-file "res/com.github.alexhuntley.Plots-symbolic.svg" + (string-append icons "/symbolic/apps/"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv")))) + (add-after 'wrap 'gi-wrap + (lambda _ + (let ((prog (string-append #$output "/bin/plots"))) + (wrap-program prog + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))) + (add-after 'wrap 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (home-page "https://apps.gnome.org/app/com.github.alexhuntley.Plots/") + (synopsis "Simple graph plotting") + (description "Plots makes it easy to visualise mathematical formulae. In +addition to basic arithmetic operations, it supports trigonometric, +hyperbolic, exponential, and logarithmic functions, as well as arbitrary sums +and products. Plots is designed to integrate well with the GNOME desktop and +takes advantage of modern hardware using OpenGL.") + (license license:gpl3+))) + (define-public gnome-shell-extension-appindicator (package (name "gnome-shell-extension-appindicator") -- cgit v1.2.3 From 349f730e0e6154e2ed174a8745c768933d57ccb8 Mon Sep 17 00:00:00 2001 From: "André A. Gomes" Date: Wed, 8 Jun 2022 10:09:02 +0100 Subject: gnu: cl-quri: Update to 0.5.0. * gnu/packages/lisp-xyz.scm (sbcl-quri): Update to 0.5.0. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3b8591fb4a..c3b14135a3 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -4457,7 +4457,7 @@ (define-public ecl-map-set (define-public sbcl-quri (package (name "sbcl-quri") - (version "0.4.0") + (version "0.5.0") (source (origin (method git-fetch) @@ -4466,7 +4466,7 @@ (define-public sbcl-quri (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7")))) + (base32 "0zpwjhs2zz9832wsjs00kbkjjl4bcs96krlnq9y75gi4f34fxj1x")))) (build-system asdf-build-system/sbcl) (arguments ;; Test system must be loaded before, otherwise tests fail with: @@ -4481,7 +4481,7 @@ (define-public sbcl-quri (synopsis "Yet another URI library for Common Lisp") (description "QURI (pronounced \"Q-ree\") is yet another URI library for Common -Lisp. It is intended to be a replacement of PURI.") +Lisp. It is intended to be a replacement of PURI.") (license license:bsd-3))) (define-public cl-quri -- cgit v1.2.3 From e22b1725224527826c97cdd26d6cfbf7e9afa162 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 9 Jun 2022 12:42:58 +0300 Subject: gnu: vim-fugitive: Update to 3.7. * gnu/packages/vim.scm (vim-fugitive): Update to 3.7. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index f82f8498e1..7ef782f390 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -461,7 +461,7 @@ (define-public vim-context-filetype (define-public vim-fugitive (package (name "vim-fugitive") - (version "3.6") + (version "3.7") (source (origin (method git-fetch) @@ -470,7 +470,7 @@ (define-public vim-fugitive (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17c3wzqkbzbf0nmlxpgk90yyv3d09209fqxqysand8bzb1cbfwzn")))) + (base32 "138290g2aph1jjhaza6biky5qi4ka6435s01bwxivllgb53g3irc")))) (build-system copy-build-system) (arguments '(#:install-plan -- cgit v1.2.3 From 4856759ad405820377e3115023d1a56620d7eabb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 22:43:30 -0400 Subject: gnu: emacs-geiser: Update to 0.23.2. * gnu/packages/emacs-xyz.scm (emacs-geiser): Update to 0.23.2. [home-page]: Update URL. --- 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 2633b775a6..f9b512fbe1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -247,7 +247,7 @@ (define-module (gnu packages emacs-xyz) (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.23.1") + (version "0.23.2") (source (origin (method git-fetch) @@ -256,7 +256,7 @@ (define-public emacs-geiser (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr")))) + (base32 "0p5cwx0xwva4ajgj8hnrk8bx6n3hv1z7aqs4zivp81crnq4077yw")))) (build-system emacs-build-system) (arguments '(#:phases @@ -278,7 +278,7 @@ (define-public emacs-geiser (list texinfo)) (propagated-inputs (list emacs-project emacs-transient)) - (home-page "https://nongnu.org/geiser/") + (home-page "https://www.nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Scheme hacking") (description "Geiser is a collection of Emacs major and minor modes that conspire with -- cgit v1.2.3 From 70e30ff40b7e824d120dd4030ca42f0f0c6e95e9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 22:37:25 -0400 Subject: gnu: emacs-geiser-racket: Update to 1.0 and patch racket's path. * gnu/packages/emacs-xyz.scm (emacs-geiser-racket): Update to 1.0. [phases]{patch-geiser-racket-binary}: New phase. [home-page]: Update URL. --- gnu/packages/emacs-xyz.scm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f9b512fbe1..ae66755e3e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -385,7 +385,7 @@ (define-public emacs-geiser-gauche (define-public emacs-geiser-racket (package (name "emacs-geiser-racket") - (version "0.16") + (version "1.0") (source (origin (method git-fetch) @@ -394,13 +394,19 @@ (define-public emacs-geiser-racket (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx")))) + (base32 "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32")))) (build-system emacs-build-system) (arguments (list #:include #~(cons "^src/" %default-include) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-geiser-racket-binary + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "geiser-racket.el" + (("\\(t \"racket\")") + (format #f "(t ~s)" + (search-input-file inputs "bin/racket")))))) (add-after 'make-autoloads 'patch-autoloads (lambda _ (substitute* (string-append (elpa-directory #$output) @@ -410,14 +416,12 @@ (define-public emacs-geiser-racket (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")) - (("\\(geiser-implementation-extension .*\\)" all) + (("\\(geiser-implementation-extension .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) - (inputs - (list racket)) - (propagated-inputs - (list emacs-geiser)) - (home-page "https://nongnu.org/geiser/") + (inputs (list racket)) + (propagated-inputs (list emacs-geiser)) + (home-page "https://www.nongnu.org/geiser/") (synopsis "Racket support for Geiser") (description "This package adds support for the Racket implementation to Geiser, -- cgit v1.2.3 From 911da82edaa95b531f6444b9854e9ce8c371fd6a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 22:38:29 -0400 Subject: gnu: emacs-geiser-gauche: Update to 0.14-0.96fa06a and patch gauche's path. * gnu/packages/emacs-xyz.scm (emacs-geiser-gauche): Update to 0.14. [phases]: New argument. [native-inputs]: Delete field, moving emacs-geiser to... [propagated-inputs]: ... here. [inputs]: New field. --- gnu/packages/emacs-xyz.scm | 67 +++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ae66755e3e..32f2edb59f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -358,29 +358,52 @@ (define-public emacs-ac-geiser (home-page "https://github.com/xiaohanyu/ac-geiser")))) (define-public emacs-geiser-gauche - (package - (name "emacs-geiser-gauche") - (version "0.0.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/emacs-geiser/gauche.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg")))) - (build-system emacs-build-system) - (arguments - `(#:include (cons "^geiser-gauche\\.scm$" %default-include))) - (native-inputs - (list emacs-geiser)) - (home-page "https://gitlab.com/emacs-geiser/gauche") - (synopsis "Gauche Scheme support for Geiser") - (description - "This package adds support for the Gauche Scheme implementation to Geiser, + ;; The latest 0.14 release has an unbound variable (geiser-scheme-dir). + (let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07") + (revision "0")) + (package + (name "emacs-geiser-gauche") + (version (git-version "0.14" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/emacs-geiser/gauche.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r")))) + (build-system emacs-build-system) + (arguments + (list + #:include '(cons "^geiser-gauche\\.scm$" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-geiser-gauche-binary + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-sexps "geiser-gauche.el" + ("geiser-custom--defcustom geiser-gauche-binary" + (search-input-file inputs "bin/gosh"))))) + (add-after 'make-autoloads 'patch-autoloads + (lambda _ + (substitute* (string-append (elpa-directory #$output) + "/geiser-gauche-autoloads.el") + ;; Activating implementations fails when Geiser is not yet + ;; loaded, so let's defer that until it is. + (("\\(geiser-activate-implementation .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")) + (("\\(geiser-implementation-extension .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")))))))) + (inputs (list gauche)) + (propagated-inputs (list emacs-geiser)) + (home-page "https://gitlab.com/emacs-geiser/gauche") + (synopsis "Gauche Scheme support for Geiser") + (description + "This package adds support for the Gauche Scheme implementation to Geiser, a generic Scheme interaction mode for the GNU Emacs editor.") - (license license:expat))) + (license license:expat)))) (define-public emacs-geiser-racket (package -- cgit v1.2.3 From ad493a6fbad95e6a9094aa35c15d8ed1678c1653 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Jun 2022 22:40:05 -0400 Subject: gnu: emacs-geiser-guile: Update to 0.23.2 and patch guile's path. * gnu/packages/emacs-xyz.scm (emacs-geiser-guile): Update to 0.23.2. [phases]{patch-geiser-guile-binary}: New phase. [home-page]: Update URL. --- gnu/packages/emacs-xyz.scm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 32f2edb59f..792c261851 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -296,7 +296,7 @@ (define-public emacs-geiser (define-public emacs-geiser-guile (package (name "emacs-geiser-guile") - (version "0.23") + (version "0.23.2") (source (origin (method git-fetch) @@ -305,13 +305,19 @@ (define-public emacs-geiser-guile (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi")))) + (base32 "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06")))) (build-system emacs-build-system) (arguments (list #:include #~(cons "^src/" %default-include) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-geiser-guile-binary + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "geiser-guile.el" + (("\\(t \"guile\")") + (format #f "(t ~s)" + (search-input-file inputs "bin/guile")))))) (add-after 'make-autoloads 'patch-autoloads (lambda _ (substitute* (string-append (elpa-directory #$output) @@ -321,11 +327,9 @@ (define-public emacs-geiser-guile (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) - (inputs - (list guile-3.0)) - (propagated-inputs - (list emacs-geiser)) - (home-page "https://nongnu.org/geiser/") + (inputs (list guile-3.0)) + (propagated-inputs (list emacs-geiser)) + (home-page "https://www.nongnu.org/geiser/") (synopsis "Guile Scheme support for Geiser") (description "This package adds support for the Guile Scheme implementation to Geiser, -- cgit v1.2.3 From 8161c61ae4274a59bc0168b50f90cbe18194531a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 9 Jun 2022 16:11:06 +0300 Subject: gnu: packcc: Update to 1.7.2. * gnu/packages/c.scm (packcc): Update to 1.7.2. [arguments]: Remove trailing #t from phases. --- gnu/packages/c.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index e0623beec4..3e49539473 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus ;;; Copyright © 2018, 2020–2022 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Pierre Neidhardt -;;; Copyright © 2019, 2020 Efraim Flashner +;;; Copyright © 2019, 2020, 2022 Efraim Flashner ;;; Copyright © 2019, 2021 Guillaume Le Vaillant ;;; Copyright © 2019 Andreas Enge ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen @@ -399,7 +399,7 @@ (define-public libwuya (define-public packcc (package (name "packcc") - (version "1.5.0") + (version "1.7.2") (home-page "https://github.com/arithy/packcc") (source (origin (method git-fetch) @@ -409,7 +409,7 @@ (define-public packcc (file-name (git-file-name name version)) (sha256 (base32 - "1n9ivsa6b9ps2jbh34bycjqjpbwbk85l4jjg46pfhqxzz96793wy")))) + "1mb6ys5ylvjz0xpq6769ir98s80p98s9ahd0c9k8p2ra1w20vz33")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -433,8 +433,7 @@ (define-public packcc (install-file "release/bin/packcc" (string-append out "/bin")) (install-file "../../README.md" - (string-append out "/share/doc/packcc")) - #t)))))) + (string-append out "/share/doc/packcc")))))))) (native-inputs (list bats)) (synopsis "Packrat parser generator for C") -- cgit v1.2.3 From e3de5d6701eb9892f27ca7fc2c816ee3113737b3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 9 Jun 2022 20:07:33 +0300 Subject: gnu: pcre: Update with new source URI. * gnu/packages/pcre.scm (pcre)[source]: Download from sourceforge mirror. --- gnu/packages/pcre.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 10e29cf6ca..fdc86e5047 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Ludovic Courtès -;;; Copyright © 2017, 2021 Efraim Flashner +;;; Copyright © 2017, 2021, 2022 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2021 Jean-Baptiste Volatier ;;; Copyright © 2021 Simon Tournier @@ -42,8 +42,8 @@ (define-public pcre (version "8.45") (source (origin (method url-fetch) - (uri (string-append "https://ftp.pcre.org/pub/pcre/pcre-" - version ".tar.bz2")) + (uri (string-append "mirror://sourceforge/pcre/pcre/" + version "/pcre-" version ".tar.bz2")) (sha256 (base32 "1f7zichy6iimmkfrqdl575sdlm795cyc75szgg1vc2xvsbf6zbjd")))) -- cgit v1.2.3 From e1383bfa6a3ab69edaa3e05e7302b73e8d3c5aa5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 9 Jun 2022 20:39:13 +0300 Subject: gnu: universal-ctags: Update to 5.9.20220605.0. * gnu/packages/code.scm (universal-ctags): Update to 5.9.20220605.0. [source]: Adjust snippet to preserve newline. [inputs]: Add pcre2. --- gnu/packages/code.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 4432e0b851..b2959aafb2 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -390,7 +390,7 @@ (define-public trio (define-public universal-ctags (package (name "universal-ctags") - (version "5.9.20210509.0") + (version "5.9.20220605.0") (source (origin (method git-fetch) @@ -400,14 +400,14 @@ (define-public universal-ctags (file-name (git-file-name name version)) (sha256 (base32 - "1sq94bnbzr40zwihfnsna759bbak0lw27j0yn12iwpg4xgb4hhwp")) + "0mri7m2qsw5pyq1ajapawvxn2cdrzg1vi4w2bdq0z4ws4q03lj7k")) (modules '((guix build utils))) (snippet '(begin ;; Remove the bundled PackCC and associated build rules. (substitute* "Makefile.am" (("^PACKCC = .*") - "PACKCC = packcc") + "PACKCC = packcc\n") (("\\$\\(PACKCC_FILES\\)") "") (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)") @@ -437,7 +437,7 @@ (define-public universal-ctags (native-inputs (list autoconf automake packcc perl pkg-config)) (inputs - (list jansson libseccomp libxml2 libyaml)) + (list jansson libseccomp libxml2 libyaml pcre2)) (home-page "https://ctags.io/") (synopsis "Generate tag files for source code") (description -- cgit v1.2.3 From e92508baebebb4306779e6f4e2dff8c838b389cd Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Jun 2022 13:53:33 -0700 Subject: gnu: vtk@7: Do not embed running kernel version. * gnu/packages/image-processing.scm (vtk-7)[arguments]: Add 'remove-kernel-version phase. --- gnu/packages/image-processing.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index f4bf1724b4..0c7bae183c 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -435,7 +435,16 @@ (define-public vtk-7 ((#:configure-flags flags) ;; Otherwise, the build would fail with: "error: invalid conversion ;; from ‘const char*’ to ‘char*’ [-fpermissive]". - `(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)))))) + `(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'remove-kernel-version + ;; Avoid embedding the kernel version for reproducible builds + (lambda _ + (substitute* + "ThirdParty/hdf5/vtkhdf5/config/cmake/libhdf5.settings.cmake.in" + (("Host system: .CMAKE_HOST_SYSTEM.") + "Host system: @CMAKE_SYSTEM_NAME@")))))))))) (define-public opencv (package -- cgit v1.2.3 From e1b72334c8d44c862522abd3b4eb1d14c677d587 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Jun 2022 14:47:50 -0700 Subject: Revert "gnu: uim: Build reproducibly." The fix was ineffective. This reverts commit da115f9f7a7131143fe15f4aa7cdf435c10bfe46. --- gnu/packages/xorg.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1547fdb9f8..aa5d2a0be5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6485,8 +6485,6 @@ (define-public uim (guix build emacs-utils)) #:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils)) - #:parallel-build? #f ; for reproducible generation of - ; share/uim/installed-modules.scm #:configure-flags (list "--with-anthy-utf8" (string-append "--with-lispdir=" %output "/share/emacs") -- cgit v1.2.3 From fa924a97269c248dcdbeb526203c4290bcb0cc0c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:03 +0200 Subject: gnu: rsyslog: Update to 8.2204.1. * gnu/packages/logging.scm (rsyslog): Update to 8.2204.1. --- gnu/packages/logging.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 4391287d12..86e06d9ba3 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2017 Eric Bavier -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2020 Marius Bakke @@ -229,7 +229,7 @@ (define-public spdlog (define-public rsyslog (package (name "rsyslog") - (version "8.2112.0") + (version "8.2204.1") (source (origin (method git-fetch) @@ -238,8 +238,7 @@ (define-public rsyslog (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0bp124w2qv8hix5i0p04d8yvsipy18dhqm7zw8i6cwdgnhdadq96")))) + (base32 "0bsd1n3n4hvlkwf4g85g3fg37mnvkdmxsfdmg273gcachhyl5hbx")))) (build-system gnu-build-system) (arguments (list -- cgit v1.2.3 From 0648dc95721a6535cf5446fd2f47dc2e6f6823d9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:07 +0200 Subject: gnu: rsyslog: Include rscryutil. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/logging.scm (rsyslog)[arguments]: Add "--enable-usertools" and "--enable-generate-man-pages" to #:configure-flags. Move all ‘mm’ options to their own section. [native-inputs]: Add python-docutils. --- gnu/packages/logging.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 86e06d9ba3..0042e4f0ef 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -252,9 +252,8 @@ (define-public rsyslog ;; them for a full-featured build. '(list "--enable-kmsg" "--enable-liblogging_stdlog" - "--enable-mmanon" - "--enable-mmcount" "--enable-unlimited_select" + "--enable-usertools" ;; Input plugins "--enable-imbatchreport" @@ -296,7 +295,9 @@ (define-public rsyslog "--enable-pmsnare" ;; Message Modification Modules + "--enable-mmanon" "--enable-mmaudit" + "--enable-mmcount" "--enable-mmdarwin" "--enable-mmdblookup" "--enable-mmfields" @@ -323,9 +324,18 @@ (define-public rsyslog "--enable-snmp" ;; Function modules - "--enable-fmhash_xxhash"))) + "--enable-fmhash_xxhash" + + ;; Needed to build rscryutil.1.gz. + "--enable-generate-man-pages"))) (native-inputs - (list autoconf automake bison flex libtool pkg-config)) + (list autoconf + automake + bison + flex + libtool + pkg-config + python-docutils)) ; rst2man for man pages (inputs (list curl cyrus-sasl -- cgit v1.2.3 From f2e570ca8a9349d706828cee9012b75dbd87c257 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: vtk@7: Simplify regular expression. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/image-processing.scm (vtk-7)[arguments]: Replace ‘.’ wildcards with literal ‘@’ character matches. --- gnu/packages/image-processing.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 0c7bae183c..0c25b41dad 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -443,7 +443,7 @@ (define-public vtk-7 (lambda _ (substitute* "ThirdParty/hdf5/vtkhdf5/config/cmake/libhdf5.settings.cmake.in" - (("Host system: .CMAKE_HOST_SYSTEM.") + (("Host system: \\@CMAKE_HOST_SYSTEM\\@") "Host system: @CMAKE_SYSTEM_NAME@")))))))))) (define-public opencv -- cgit v1.2.3 From 8d8d6442774eb376d5cf835af22993e211e6f841 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: rng-tools: Remove input labels. * gnu/packages/linux.scm (rng-tools)[inputs]: Remove input labels. --- gnu/packages/linux.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dacb29a6ac..da04af8e30 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6361,8 +6361,7 @@ (define-public rng-tools (native-inputs (list autoconf automake pkg-config)) (inputs - `(("libsysfs" ,sysfsutils) - ("openssl" ,openssl))) + (list sysfsutils openssl)) (synopsis "Random number generator daemon") (description "Monitor a hardware random number generator, and supply entropy -- cgit v1.2.3 From 01596f40a994a2bb39dde5867ca66e9f7e9e67e0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: readstat: Update to 1.1.8. * gnu/packages/statistics.scm (readstat): Update to 1.1.8. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index bef9de16d1..62e801a964 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -6409,7 +6409,7 @@ (define-public emacs-poly-r (define-public readstat (package (name "readstat") - (version "1.1.5") + (version "1.1.8") (source (origin (method git-fetch) @@ -6418,7 +6418,7 @@ (define-public readstat (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "00sdmaq0qzp6kyv53fpfi6jf3iv4pd0ap0gmw3mbfip52bbnl55w")))) + (base32 "1r04lq45h1yn34v1mgfiqjfzyaqv4axqlby0nkandamcsqyhc7y4")))) (build-system gnu-build-system) (native-inputs (list autoconf automake gnu-gettext libtool)) -- cgit v1.2.3 From 7795a5dd6bb16ee5ec938ba26b91f69459639189 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Jun 2022 21:35:14 -0700 Subject: gnu: python-miniupnpc: Do not embed running kernel version. * gnu/packages/python-xyz.scm (python-miniupnpc)[arguments]: Add 'remove-kernel-version phase. --- gnu/packages/python-xyz.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5f9ce4fdfe..a6b412e799 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3086,7 +3086,13 @@ (define-public python-miniupnpc (chdir "miniupnpc") (setenv "CC" #$(cc-for-target)) (substitute* "Makefile" - (("/bin/sh") (search-input-file inputs "/bin/sh")))))))) + (("/bin/sh") (search-input-file inputs "/bin/sh"))))) + (add-before 'subdir 'remove-kernel-version + ;; Avoid embedding the running kernel version for reproducible builds + (lambda _ + (substitute* + "miniupnpc/updateminiupnpcstrings.sh" + (("^OS_VERSION=`uname -r`") "OS_VERSION=Guix"))))))) (inputs (list python)) ;we are building a Python extension (synopsis "UPnP client for Python") (description "Miniupnpc is a client library for Python programs to set up -- cgit v1.2.3 From b483ef1a889ad3f3b523d6f09f810a4618fc753e Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Jun 2022 23:03:03 -0700 Subject: gnu: python-pybedtools: Update to 0.9.0. * gnu/packages/bioinformatics.scm (python-pybedtools): Update to 0.9.0. [description]: Update to satisfy guix lint. [license]: Update to expat and lgpl2.1+. --- gnu/packages/bioinformatics.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c53a2920ac..87df6c3515 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -830,13 +830,13 @@ (define-public python-htsget (define-public python-pybedtools (package (name "python-pybedtools") - (version "0.8.2") + (version "0.9.0") (source (origin (method url-fetch) (uri (pypi-uri "pybedtools" version)) (sha256 (base32 - "0wc7z8g8prgdx7n5chjva2fdq03wiwhqisjjxzkjg1j5k5ha7151")))) + "18rhzk08d3rpxhi5xh6pqg64x6v5q3daw6y3v54k85v4swncjrwj")))) (build-system python-build-system) (arguments `(#:modules ((srfi srfi-26) @@ -896,11 +896,16 @@ (define (cythonized? c/c++-file) (home-page "https://pythonhosted.org/pybedtools/") (synopsis "Python wrapper for BEDtools programs") (description - "pybedtools is a Python wrapper for Aaron Quinlan's BEDtools programs, + "This package is a Python wrapper for Aaron Quinlan's BEDtools programs, which are widely used for genomic interval manipulation or \"genome algebra\". pybedtools extends BEDTools by offering feature-level manipulations from with Python.") - (license license:gpl2+))) + ;; pypi lists GPLv2 in the PKG-INFO and website, but was relicensed in + ;; version 0.9.0 and the LICENSE.txt is consistant with the source code. + ;; + ;; pybedtools/include/gzstream.cpp and pybedtools/include/gzstream.h are + ;; licensed lgpl2.1+ + (license (list license:expat license:lgpl2.1+)))) (define-public python-biom-format (package -- cgit v1.2.3 From 35eddb6ee44f905c2059e7d54fc662c1b8c96051 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 10:30:31 +0300 Subject: gnu: twm: Update to 1.0.12. * gnu/packages/xorg.scm (twm): Update to 1.0.12. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index aa5d2a0be5..a28e2d87c6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5680,7 +5680,7 @@ (define-public libxaw (define-public twm (package (name "twm") - (version "1.0.11") + (version "1.0.12") (source (origin (method url-fetch) @@ -5688,7 +5688,7 @@ (define-public twm version ".tar.xz")) (sha256 (base32 - "1iv8kdb18n9vk3is5fyh6l40ipq9mkgx8ppj86byf464vr1ais7l")))) + "1r5gfv1gvcjn39v7n6znpnvifwhlw2zf8gfrxq8vph84vva03wma")))) (build-system gnu-build-system) (inputs (list libxt libxmu libxext xorgproto)) -- cgit v1.2.3 From 50a0cb394da08fed1d35db78766f1b50ead628a8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 10:33:50 +0300 Subject: gnu: xorg-sgml-doctools: Update to 1.12. * gnu/packages/xorg.scm (xorg-sgml-doctools): Update to 1.12. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a28e2d87c6..c8a0c18b64 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4216,7 +4216,7 @@ (define-public xmodmap (define-public xorg-sgml-doctools (package (name "xorg-sgml-doctools") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) @@ -4226,7 +4226,7 @@ (define-public xorg-sgml-doctools ".tar.bz2")) (sha256 (base32 - "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777")))) + "01n8zqlkqjcxk1c59pk279y08gzhc14r03dhq3lxayy1xpfzvab5")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (home-page "https://www.x.org/wiki/") -- cgit v1.2.3 From 67c4b49654daf54e581a3014b924af567b4fe64c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 10:38:34 +0300 Subject: gnu: xlsfonts: Update to 1.0.7. * gnu/packages/xorg.scm (xlsfonts): Update to 1.0.7. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c8a0c18b64..c1943fba92 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4090,17 +4090,17 @@ (define-public xlsclients (define-public xlsfonts (package (name "xlsfonts") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/xlsfonts-" version - ".tar.bz2")) + ".tar.xz")) (sha256 (base32 - "0s6kxgv78chkwsqmhw929f4pf91gq63f4yvixxnan1h00cx0pf49")))) + "0r84wp4352hbfcaybqp2khipm40293byvrfyrlslrd37m52njwkv")))) (build-system gnu-build-system) (inputs (list xorgproto libx11)) -- cgit v1.2.3 From 6b71d6e808ac6927e136ae280fb859e0d6891472 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 10:46:24 +0300 Subject: gnu: xf86-video-dummy: Update to 0.4.0. * gnu/packages/xorg.scm (xf86-video-dummy): Update to 0.4.0. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c1943fba92..21d82dfe2e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2776,14 +2776,14 @@ (define-public xf86-video-cirrus (define-public xf86-video-dummy (package (name "xf86-video-dummy") - (version "0.3.8") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/driver/" - "xf86-video-dummy-" version ".tar.bz2")) + "xf86-video-dummy-" version ".tar.xz")) (sha256 - (base32 "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip")))) + (base32 "0nhy9sd49ig9z00mp9sjbdkfzjgsm71szwjqnry8qn60r3jym377")))) (build-system gnu-build-system) (inputs (list xorg-server)) (native-inputs (list pkg-config)) -- cgit v1.2.3 From e3734fa9b83987d5975a71450b9c9da65e9b8b10 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 10:48:14 +0300 Subject: gnu: xf86-video-amdgpu: Update to 22.0.0. * gnu/packages/xorg.scm (xf86-video-amdgpu): Update to 22.0.0. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 21d82dfe2e..b97ecc13b8 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2657,14 +2657,14 @@ (define-public xf86-input-void (define-public xf86-video-amdgpu (package (name "xf86-video-amdgpu") - (version "21.0.0") + (version "22.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/driver/" - "xf86-video-amdgpu-" version ".tar.bz2")) + "xf86-video-amdgpu-" version ".tar.xz")) (sha256 - (base32 "125dq85n46yqmnmr2hknxwcqicwlvz2b2phf0m963fpg9l1j6y30")))) + (base32 "0rl2fxhhgcjywn2z8h9gmvm58zjy93lx391ax76krp0m55hgn8wx")))) (build-system gnu-build-system) (inputs (list xorg-server)) (native-inputs (list pkg-config)) -- cgit v1.2.3 From 9015589a2224909932eddd8f259b9c4f8e962901 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 11:00:50 +0300 Subject: gnu: xf86-input-libinput: Update to 1.2.1. * gnu/packages/xorg.scm (xf86-input-libinput): Update to 1.2.1. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b97ecc13b8..f8f1864eaa 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2485,15 +2485,15 @@ (define-public xf86-input-evdev (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "1.1.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/driver/" - name "-" version ".tar.bz2")) + name "-" version ".tar.xz")) (sha256 (base32 - "05ldqr10f2rrnshyk3lc773rz0gp3ccdzwa8n7lsc94i850jl7g1")))) + "06wpgqga4kc5ph5bd5cabfg0gdcdkbd65jrdx467qcfvkmdxnlc1")))) (build-system gnu-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 8cc2c048c2bac7d318509ad914d953b075746fc9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 11:04:52 +0300 Subject: gnu: xdpyinfo: Update to 1.3.3. * gnu/packages/xorg.scm (xdpyinfo): Update to 1.3.3. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f8f1864eaa..601c7fd430 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2298,17 +2298,17 @@ (define-public xcursorgen (define-public xdpyinfo (package (name "xdpyinfo") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/xdpyinfo-" version - ".tar.bz2")) + ".tar.xz")) (sha256 (base32 - "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh")))) + "01n21ygbvzycjasv97rk33b14qdbshr1pkxysqvfx61y5zb5yv9m")))) (build-system gnu-build-system) (inputs (list xorgproto -- cgit v1.2.3 From 8e84eb0125a7b058fe2e4aaef2d36b1f1df55000 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 11:05:56 +0300 Subject: gnu: xcalc: Update to 1.1.1. * gnu/packages/xorg.scm (xcalc): Update to 1.1.1. --- gnu/packages/xorg.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 601c7fd430..18687a6d2d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2066,14 +2066,14 @@ (define-public xbitmaps (define-public xcalc (package (name "xcalc") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/" "xcalc-" version ".tar.gz")) (sha256 - (base32 "0c768lh0nh28ram9ldldhaf51024fngc589v4pjmf3lxmzcihr58")))) + (base32 "0fwgnva716ymnrf8f4lvnqlyikf5c837054sxxlf3l5jpy4wh6cj")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2083,8 +2083,7 @@ (define-public xcalc (substitute* "Makefile" (("^appdefaultdir = .*$") (string-append "appdefaultdir = " %output - ,%app-defaults-dir "\n"))) - #t))))) + ,%app-defaults-dir "\n")))))))) (inputs (list libxaw)) (native-inputs -- cgit v1.2.3 From b4186b7e185de97ba343a17898a2371dbe5d269b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 11:14:20 +0300 Subject: gnu: xauth: Update to 1.1.2. * gnu/packages/xorg.scm (xauth): Update to 1.1.2. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 18687a6d2d..a22688626c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1990,14 +1990,14 @@ (define-public x11perf (define-public xauth (package (name "xauth") - (version "1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/xauth-" version - ".tar.bz2")) + ".tar.xz")) (sha256 - (base32 "032klzzw8r09z36x1272ssd79bcisz8j5p8gbdy111fiknvx27bd")))) + (base32 "0072ivzn4z59ysanz838nh8s4mcmdsx6q9xkvlfysv2k37ynmfkq")))) (build-system gnu-build-system) (inputs (list libxmu libxext libxau libx11)) -- cgit v1.2.3 From d998f5ad86db748b85b4a2262da864e6ae4dfc7f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 10 Jun 2022 11:15:52 +0300 Subject: gnu: mkfontscale: Update to 1.2.2. * gnu/packages/xorg.scm (mkfontscale): Update to 1.2.2. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a22688626c..4c2d4cb29e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1589,16 +1589,16 @@ (define-public makedepend (define-public mkfontscale (package (name "mkfontscale") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/mkfontscale-" version - ".tar.bz2")) + ".tar.xz")) (sha256 - (base32 "1ixsnsm2mn0zy9ksdid0lj6irnhvasfik9mz8bbrs5sajzmra16a")))) + (base32 "1i6mw97r2s1rb6spjj8fbdsgw6197smaqq2haqgnwhz73xdzpqwa")))) (build-system gnu-build-system) (inputs (list zlib xorgproto freetype libfontenc)) -- cgit v1.2.3 From 9d2ef7344e340747640dc00413aa6a7b054f022a Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 9 Jun 2022 10:35:07 +0200 Subject: gnu: python-pydevd: Skip tests failing due to YAMA. * gnu/packages/python-xyz.scm (python-pydevd)[arguments]: Add skipped tests. --- gnu/packages/python-xyz.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a6b412e799..d93877e9a3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12357,7 +12357,11 @@ (define-public python-pydevd ;; This test validates that 'pydevd' is not in the ;; exception message, but it is due to being part ;; of the build file name present in the message. - "and not test_evaluate_exception_trace"))))) + "and not test_evaluate_exception_trace " + ;; These fail on systems with YAMA LSM’s ptrace + ;; scope > 0. Upstream issue: + ;; https://github.com/fabioz/PyDev.Debugger/issues/218 + "and not test_attach_to_pid"))))) (add-after 'install 'install-attach-binary (lambda _ (install-file "attach.so" -- cgit v1.2.3 From 3e6bc1edca0c7ee4e8bfe0d8e783db48d2bb647c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 9 Jun 2022 10:35:33 +0200 Subject: gnu: python-debugpy: Disable tests. * gnu/packages/python-xyz.scm (python-debugpy)[arguments]: Respect tests? in 'check phase and disable #:tests. --- gnu/packages/python-xyz.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d93877e9a3..92adf74393 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12406,6 +12406,7 @@ (define-public python-debugpy (build-system python-build-system) (arguments (list + #:tests? #f ; Fail on systems with YAMA LSM’s ptrace scope > 0. #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-sh-in-tests @@ -12426,17 +12427,18 @@ (define-public python-debugpy (setenv "DEBUGPY_BUNDLING_DISABLED" "1"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) - (invoke "pytest" "-vv" - "-n" (number->string (parallel-job-count)) - "-k" - (string-append - ;; These tests cannot be run in parallel because their - ;; test data would not be copied by xdist and lead to - ;; import errors. (see: - ;; https://github.com/microsoft/debugpy/issues/342 and - ;; https://github.com/microsoft/debugpy/issues/880). - "not test_custom_python_args " - "and not test_autokill "))))))) + (when tests? + (invoke "pytest" "-vv" + "-n" (number->string (parallel-job-count)) + "-k" + (string-append + ;; These tests cannot be run in parallel because their + ;; test data would not be copied by xdist and lead to + ;; import errors. (see: + ;; https://github.com/microsoft/debugpy/issues/342 and + ;; https://github.com/microsoft/debugpy/issues/880). + "not test_custom_python_args " + "and not test_autokill ")))))))) (native-inputs ;; See: https://raw.githubusercontent.com/microsoft/debugpy/ ;; main/tests/requirements.txt. -- cgit v1.2.3 From 0f04db3262cffeafce2861fde5ac30327b5222ab Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 10 Jun 2022 11:00:41 +0100 Subject: gnu: nar-herder: Update to 0-8.042f49e. * gnu/packages/package-management.scm (nar-herder): Update to 0-8.042f49e. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ad3a6db9af..79f7eec384 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1650,8 +1650,8 @@ (define-public guix-jupyter (license license:gpl3+))) (define-public nar-herder - (let ((commit "a24fbd108f75c8f27d2f68f2d1a051e2f3f3e191") - (revision "7")) + (let ((commit "042f49e5fb52ea844ed5d29c17b26fbc8ad49f0e") + (revision "8")) (package (name "nar-herder") (version (git-version "0" revision commit)) @@ -1662,7 +1662,7 @@ (define-public nar-herder (commit commit))) (sha256 (base32 - "1jm6ks2sjcwih7j4wnp252qd73n8pydg7sd000ismpvg5p21l7fg")) + "1i9vwjdvkchwndjikqq3j73x0mvp3ny63s62ixql70yhpdgz5l69")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 9ea5a66e30f709816e477dedfcfcfb1d8563917a Mon Sep 17 00:00:00 2001 From: Peter Polidoro Date: Wed, 8 Jun 2022 20:05:30 -0400 Subject: gnu: Add emacs-platformio-mode. * gnu/packages/emacs-xyz.scm (emacs-platformio-mode): New variable. Signed-off-by: Christopher Baines --- gnu/packages/emacs-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 792c261851..8388dfeae5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -568,6 +568,27 @@ (define-public emacs-hgignore-mode system.") (license license:gpl3+)))) +(define-public emacs-platformio-mode + (package + (name "emacs-platformio-mode") + (version "0.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZachMassia/PlatformIO-Mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ian50v9vaz7kqzn20bhqadq50h0l3zhjkmniinpz4q9klh7drh9")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-async emacs-projectile)) + (home-page "https://github.com/zachmassia/platformio-mode") + (synopsis "Minor mode for building and uploading PlatformIO projects") + (description "This package provices an Emacs minor mode for building and +uploading PlatformIO projects.") + (license license:gpl3+))) + (define-public emacs-hyperbole (package (name "emacs-hyperbole") -- cgit v1.2.3 From 888e2878a7315a05d9ea47ce175a91170d06125b Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Wed, 8 Jun 2022 18:04:33 +0300 Subject: gnu: emacs-modus-themes: Update to 2.4.1. * gnu/packages/emacs-xyz.scm (emacs-modus-themes): Update to 2.4.1. Signed-off-by: Christopher Baines --- 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 8388dfeae5..6077e52c4a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -27878,7 +27878,7 @@ (define-public emacs-doom-themes (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.4.0") + (version "2.4.1") (source (origin (method git-fetch) @@ -27887,7 +27887,7 @@ (define-public emacs-modus-themes (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1")))) + (base32 "0b4y8dzyc9qwwaf2ngqiwyfcnhwlr49kxhc96laqk20lvjlfsrnx")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments -- cgit v1.2.3 From 623f623209681317657396a1372728f93f70237f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: python-pkginfo: Update to 1.8.3. * gnu/packages/python-xyz.scm (python-pkginfo): Update to 1.8.3. [arguments]: Remove 'patch-tests phase. --- gnu/packages/python-xyz.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 92adf74393..344a1d9089 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19877,22 +19877,14 @@ (define-public python-tqdm (define-public python-pkginfo (package (name "python-pkginfo") - (version "1.8.2") + (version "1.8.3") (source (origin (method url-fetch) (uri (pypi-uri "pkginfo" version)) (sha256 - (base32 "1zrbn2gblb1q1rx0jlbd0vc9h1dm1bj0760p40ff5qjhcw5hsbjl")))) + (base32 "0z46w559hrl79gf7navgzimj21ma821wka27jh58fvyqilqs8kd8")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'patch-tests - (lambda _ - (substitute* "pkginfo/tests/test_installed.py" - (("test_ctor_w_package_no_PKG_INFO") - "_test_ctor_w_package_no_PKG_INFO"))))))) (native-inputs (list python-wheel)) (home-page "https://code.launchpad.net/~tseaver/pkginfo/trunk") -- cgit v1.2.3 From fb67ebca3e397d24c57f142825dfb64d75eed8a0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: reproc: Update to 14.2.4. * gnu/packages/cpp.scm (reproc): Update to 14.2.4. --- gnu/packages/cpp.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 87bd43356a..78e4f3bd8e 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -886,7 +886,7 @@ (define-public cpplint (define-public reproc (package (name "reproc") - (version "14.1.0") + (version "14.2.4") (source (origin (method git-fetch) @@ -895,13 +895,12 @@ (define-public reproc (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q")))) + (base32 "09xnf8hmld1fk8j33zwlz1qcxnjdx1ncbg62csic9va4m1wc2v1d")))) (build-system cmake-build-system) (arguments ;; No tests. `(#:tests? #f - ;; Enable building of shared library. + ;; Build the shared library instead of a static one. #:configure-flags `("-DBUILD_SHARED_LIBS=1"))) (native-inputs (list pkg-config)) -- cgit v1.2.3 From 211957705222ff3355f21fbb8f64458db71d32ca Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: inotify-tools: Update to 3.22.6.0. * gnu/packages/linux.scm (inotify-tools): Update to 3.22.6.0. --- 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 da04af8e30..c5af5f990c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3692,7 +3692,7 @@ (define-public loadkeys-static (define-public inotify-tools (package (name "inotify-tools") - (version "3.20.11.0") + (version "3.22.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -3701,7 +3701,7 @@ (define-public inotify-tools (file-name (git-file-name name version)) (sha256 (base32 - "1m8avqccrhm38krlhp88a7v949f3hrzx060bbrr5dp5qw2nmw9j2")))) + "1j9j8k5zjp8m4cl53zjncnll9z4dnvzr4ygmfcjk0ci81i59b18i")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool)) -- cgit v1.2.3 From d080adc41683ebbc4a5d4d1dbeed1ed32a8521de Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: multitail: Update to 6.5.2. * gnu/packages/logging.scm (multitail): Update to 6.5.2. [arguments]: Don't explicitly return #t from phases. [source]: Use GIT-FETCH and GIT-FILE-NAME. [arguments]: Add SYSCONFDIR to #:make-flags. Add a new 'fix-broken-build phase. Sanitise the old 'patch-curses-lib phase to 'patch-curses-headers. --- gnu/packages/logging.scm | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 0042e4f0ef..9e7cfe613a 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -164,29 +164,40 @@ (define-public tailon (define-public multitail (package (name "multitail") - (version "6.5.0") + (version "6.5.2") (source (origin - (method url-fetch) - (uri (string-append "https://vanheusden.com/multitail/multitail-" - version ".tgz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/halturin/multitail") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj")))) + (base32 "17hg5qpangyx4m7hp2x4h56mp6w3wsaslg1il39qcpwsffh1rihc")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" - (assoc-ref %outputs "out"))) + (string-append "PREFIX=" (assoc-ref %outputs "out")) + "SYSCONFDIR=$(PREFIX)/etc") #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-curses-lib - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "mt.h" - (("ncursesw\\/panel.h") "panel.h") - (("ncursesw\\/ncurses.h") "ncurses.h"))) - #t)) + (add-after 'unpack 'fix-broken-build + ;; With some luck, you might be able to remove this when updating… + (lambda _ + (substitute* "Makefile" + ((" \\*\\.txt") "") + ((".*CONFIG_DIR.*") "") + (("^install: .*" match) + (string-append match + "\t$(INSTALL_DIR) $(DESTDIR)$(SYSCONFDIR)\n"))) + (substitute* "version" + (("(VERSION=).*" _ assign) + (string-append assign ,version))))) + (add-after 'unpack 'patch-curses-headers + (lambda _ + (substitute* "mt.h" + (("ncursesw/") "")))) (delete 'configure)) ; no configure script #:tests? #f)) ; no test suite (make check just runs cppcheck) (inputs (list ncurses)) -- cgit v1.2.3 From 7b4361498619a91f8cab1c38e011a6a686956893 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: python-igraph: Update to 0.9.11. * gnu/packages/graph.scm (python-igraph): Update to 0.9.11. --- gnu/packages/graph.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 0b8e76f676..3dc6eac33a 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021, 2022 Efraim Flashner ;;; Copyright © 2019 Andreas Enge ;;; Copyright © 2020 Alexander Krotov @@ -143,7 +143,7 @@ (define-public python-igraph (package (inherit igraph) (name "python-igraph") - (version "0.9.10") + (version "0.9.11") (source (origin (method git-fetch) ;; The PyPI archive lacks tests. @@ -153,7 +153,7 @@ (define-public python-igraph (file-name (git-file-name name version)) (sha256 (base32 - "06qvwmiw2klk3bg8g5af0ppjwrm9kzy4595w5d06qh2v3gq0svbk")))) + "1xlr0cnf3a1vs9n2psvgrmjhld4n1xr79kkjqzby4pxxyzk1bydn")))) (build-system python-build-system) (arguments (list -- cgit v1.2.3 From 9ae55f84825a8bb1896f32a4a07ece0b0823fc28 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: notmuch: Update to 0.36. * gnu/packages/mail.scm (notmuch): Update to 0.36. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 53c7785020..8b58d5029f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1333,14 +1333,14 @@ (define-public notifymuch (define-public notmuch (package (name "notmuch") - (version "0.35") + (version "0.36") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.xz")) (sha256 - (base32 "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8")))) + (base32 "0h6f6mh9m9vrijm638x5sbsl321b74a25cdasbxhx67x62w320hk")))) (build-system gnu-build-system) (arguments (list -- cgit v1.2.3 From 4cb22c07d2141b118572704d28c35290c297696b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: python-notmuch: Remove trailing #t from phase. * gnu/packages/mail.scm (python-notmuch): [arguments]: Don't explicitly return #t from phase. --- gnu/packages/mail.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8b58d5029f..c9fa62a1f3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1474,8 +1474,7 @@ (define-public python-notmuch (let ((notmuch (assoc-ref inputs "notmuch"))) (substitute* "notmuch/globals.py" (("libnotmuch\\.so\\.") - (string-append notmuch "/lib/libnotmuch.so."))) - #t)))))) + (string-append notmuch "/lib/libnotmuch.so."))))))))) (home-page (package-home-page notmuch)) (synopsis "Python bindings of the Notmuch mail indexing library") (description -- cgit v1.2.3 From cb475aea08fd438935ab1cc7bc28e018ee3e080e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: alpine: Update to 2.26. * gnu/packages/mail.scm (alpine): Update to 2.26. [source]: Remove patch. * gnu/packages/patches/alpine-fix-privacy-policy-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/mail.scm | 8 ++--- .../patches/alpine-fix-privacy-policy-crash.patch | 39 ---------------------- 3 files changed, 3 insertions(+), 45 deletions(-) delete mode 100644 gnu/packages/patches/alpine-fix-privacy-policy-crash.patch diff --git a/gnu/local.mk b/gnu/local.mk index abd6a30d66..d49af0d898 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -848,7 +848,6 @@ dist_patch_DATA = \ %D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ - %D%/packages/patches/alpine-fix-privacy-policy-crash.patch \ %D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index c9fa62a1f3..1e2375c113 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3670,7 +3670,7 @@ (define-public swaks (define-public alpine (package (name "alpine") - (version "2.25") + (version "2.26") (source (origin (method git-fetch) @@ -3683,14 +3683,12 @@ (define-public alpine (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0z6dp3cpz1dmbxw41ravsx1bxychafp0ij8gvj96mzz7rm9pdnq3")) + (base32 "1padh9kgn9blzjf0016i2f15c615fk17m8vg8kx301jhmc2r973h")) (modules '((guix build utils))) (snippet '(begin ;; Remove pre-built binaries scattered across the source repository. - (for-each delete-file (find-files "." "\\.(dll|exe)")))) - (patches - (search-patches "alpine-fix-privacy-policy-crash.patch")))) + (for-each delete-file (find-files "." "\\.(dll|exe)")))))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch b/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch deleted file mode 100644 index d514ac33a0..0000000000 --- a/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch +++ /dev/null @@ -1,39 +0,0 @@ -X-Git-Url: https://repo.or.cz/alpine.git/blobdiff_plain/fb2217ac67706e4cbef69bea41041e2fb8b910e9..3ee981816abfb7d47ffc0ac522fff002b5749b72:/alpine/help.c - -diff --git a/alpine/help.c b/alpine/help.c -index 4f1bf46..e9c7b34 100644 ---- a/alpine/help.c -+++ b/alpine/help.c -@@ -36,6 +36,7 @@ static char rcsid[] = "$Id: help.c 1032 2008-04-11 00:30:04Z hubert@u.washington - #include "../pith/detoken.h" - #include "../pith/list.h" - #include "../pith/margin.h" -+#include "../pith/busy.h" - - - typedef struct _help_scroll { -@@ -135,10 +136,12 @@ helper_internal(HelpType text, char *frag, char *title, int flags) - is_external = 0; - - if(shown_text && *shown_text && !struncmp(*shown_text, "x-alpine-http:", 14)){ -- int status; -+ int status, we_cancel = 0; -+ -+ we_cancel = busy_cue(_("Retrieving help text"), NULL, 1); - HTTPSTREAM *stream = http_open(*shown_text + 14); - if(stream) help_text = http_get(stream, NULL); -- status = stream->status ? stream->status->code : -1; -+ status = stream && stream->status ? stream->status->code : -1; - if(stream) http_close(stream); - if(status != HTTP_OK){ - shown_text = NO_HELP; -@@ -165,7 +168,8 @@ helper_internal(HelpType text, char *frag, char *title, int flags) - *rv = NULL; - } - } -- -+ if(we_cancel) -+ cancel_busy_cue(-1); - } - - if(F_ON(F_BLANK_KEYMENU,ps_global)){ -- cgit v1.2.3 From b76a0cbe49ef8f63d72ab44c2f46cb1e348684b5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: claws-mail: Update to 4.1.0. * gnu/packages/mail.scm (claws-mail): Update to 4.1.0. --- gnu/packages/mail.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1e2375c113..8596d0808b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1631,7 +1631,7 @@ (define-public compface (define-public claws-mail (package (name "claws-mail") - (version "4.0.0") + (version "4.1.0") (source (origin (method url-fetch) @@ -1639,7 +1639,7 @@ (define-public claws-mail (string-append "https://www.claws-mail.org/releases/claws-mail-" version ".tar.xz")) (sha256 - (base32 "0xg41rxxq2q5vhjzbh8p12s248kcljk6g7y0m6raq7nrllkbvwja")))) + (base32 "13ksh4iwr23zi86fwmiwxha94xqrr5zxq373i82rwaldvfh9q6hf")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -1669,7 +1669,7 @@ (define-public claws-mail (search-input-file inputs "/share/mime/globs")))))))) (native-inputs (list bison - ;;("docbook-utils" ,docbook-utils) + ;;docbook-utils flex gettext-minimal gobject-introspection -- cgit v1.2.3 From 583a587ea3e573c8298fd25aef179242b7d01870 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Fri, 10 Jun 2022 14:50:36 +0200 Subject: gnu: foot: Update to 1.12.1. * gnu/packages/terminals.scm (foot): Update to 1.12.1. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/terminals.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 4ad21fd05a..4dfc51b283 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -835,7 +835,7 @@ (define-public cool-retro-term (define-public foot (package (name "foot") - (version "1.11.0") + (version "1.12.1") (home-page "https://codeberg.org/dnkl/foot") (source (origin (method git-fetch) @@ -843,7 +843,7 @@ (define-public foot (file-name (git-file-name name version)) (sha256 (base32 - "1d9bk8lhmw5lc8k0mw80g0vbwgxyh3gw5c7ppy3sir07s9y0y0fn")))) + "14jqs4sarxbrgi5pxz0afqa9jxq90cb5ayqd21qj2n65whqa5bpk")))) (build-system meson-build-system) (arguments `(;; Using a "release" build is recommended both for performance, and -- cgit v1.2.3 From 81cc8f1251fa46d058502695f53881a568d28a24 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 9 Jun 2022 14:26:53 +0200 Subject: gnu: r-prereg: Add TeXLive dependencies. * gnu/packages/cran.scm (r-prereg)[propagated-inputs]: Add texlive-amsfonts, texlive-amsmath, texlive-booktabs, texlive-etoolbox, texlive-generic-iftex, texlive-latex-fancyhdr, texlive-latex-fancyvrb, texlive-latex-geometry, texlive-latex-graphics, texlive-latex-threeparttable, texlive-latex-titlesec, texlive-latex-upquote, texlive-listings, texlive-lm, texlive-polyglossia, texlive-titling, texlive-tools, texlive-ulem. --- gnu/packages/cran.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0299e0041e..c1f0dc08b7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -104,6 +104,7 @@ (define-module (gnu packages cran) #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) #:use-module (gnu packages tcl) + #:use-module (gnu packages tex) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages uglifyjs) @@ -30466,7 +30467,26 @@ (define-public r-prereg (properties `((upstream-name . "prereg"))) (build-system r-build-system) (propagated-inputs - (list r-rmarkdown)) + (list r-rmarkdown + ;; The package provides a custom LaTex template in + ;; inst/rmd/prereg_form.tex, which depends on these packages: + texlive-amsmath + texlive-booktabs + texlive-etoolbox + texlive-generic-iftex + texlive-latex-fancyhdr + texlive-latex-fancyvrb + texlive-latex-geometry + texlive-latex-graphics + texlive-latex-threeparttable + texlive-latex-titlesec + texlive-latex-upquote + texlive-listings + texlive-polyglossia + texlive-titling + texlive-tools + texlive-ulem + (texlive-updmap.cfg (list texlive-amsfonts texlive-lm)))) (home-page "https://github.com/crsh/prereg") (synopsis "R Markdown Templates to preregister Scientific Studies") -- cgit v1.2.3 From 3724867bdbc1e380c0520a8ee1ef28efb1b4ba68 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 10 Jun 2022 17:50:41 +0200 Subject: gnu: slurm-drmaa: Update to 1.1.3. * gnu/packages/parallel.scm (slurm-drmaa): Update to 1.1.3. --- gnu/packages/parallel.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 5502b415a4..35be8e9ada 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner ;;; Copyright © 2016 Pjotr Prins ;;; Copyright © 2016 Andreas Enge -;;; Copyright © 2016, 2020, 2021 Ricardo Wurmus +;;; Copyright © 2016, 2020, 2021, 2022 Ricardo Wurmus ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice @@ -327,7 +327,7 @@ (define-public slurm-18.08 (define-public slurm-drmaa (package (name "slurm-drmaa") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append @@ -335,7 +335,7 @@ (define-public slurm-drmaa version "/slurm-drmaa-" version ".tar.gz")) (sha256 (base32 - "0dn8ypqxdaq3k4jqwwx7msckxnmr6n2z5j68yffp50yy07ajbzjv")))) + "1fn3p4wjj0sgvx0isy3hiwi35vhxa2n2ksq5cn9sq2hg7yyb2phl")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; The tests require "bats". (inputs -- cgit v1.2.3 From e89bfceed5150e50341bdf04b175b0ae7bd3ee88 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 9 Jun 2022 22:26:23 -0400 Subject: gnu: linux-libre: Update to 5.17.14. * gnu/packages/linux.scm (linux-libre-5.17-version): Update to 5.17.14. (linux-libre-5.17-pristine-source, deblob-scripts-5.17): 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 c5af5f990c..51412509bb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,17 +350,17 @@ (define (%upstream-linux-source version hash) ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.17-version "5.17.13") +(define-public linux-libre-5.17-version "5.17.14") (define-public linux-libre-5.17-gnu-revision "gnu") (define deblob-scripts-5.17 (linux-libre-deblob-scripts linux-libre-5.17-version linux-libre-5.17-gnu-revision (base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr") - (base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn"))) + (base32 "1654fibbwnbcgnikn1qqa5igd2j90kslbb3pshph5wpj052cvgjy"))) (define-public linux-libre-5.17-pristine-source (let ((version linux-libre-5.17-version) - (hash (base32 "0lzgifk26s0bbrad0k9ngbc9nj5g4jyqmf68mhd01nbbl44gsiza"))) + (hash (base32 "0r2skbgxzw42cn29mr7i9w7fczzxhc1lx3xvri44ljjyfdqn7r0b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.17))) -- cgit v1.2.3 From 84f999ae1b1f8fbc77f413c30a94a63ee259deb4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 9 Jun 2022 22:27:09 -0400 Subject: gnu: linux-libre 5.15: Update to 5.15.46. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.46. (linux-libre-5.15-pristine-source, deblob-scripts-5.15): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 51412509bb..0c9e29981a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -368,17 +368,17 @@ (define-public linux-libre-5.17-pristine-source ;; 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.45") +(define-public linux-libre-5.15-version "5.15.46") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts linux-libre-5.15-version linux-libre-5.15-gnu-revision (base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5") - (base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh"))) + (base32 "17xsn91h0c2d8igpzgmjm1g58nfpihlhgg9wm8zbfyd5g4airs8f"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "0m47ilgvg10a9r7zzf7fvyvamggj13j99cnfy1p06rkwjxyhsfdj"))) + (hash (base32 "0srp0wypl24gf5yz91mpk1c2kllabq6wvby1wqrrbdwvfx35figb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -- cgit v1.2.3 From 30967b0dc41742aac8e9ee965d2e21595c52c4dd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 9 Jun 2022 22:28:00 -0400 Subject: gnu: linux-libre 5.10: Update to 5.10.121. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.121. (linux-libre-5.10-pristine-source, deblob-scripts-5.10): Update hashes. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0c9e29981a..85447a5b76 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,17 +383,17 @@ (define-public linux-libre-5.15-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.120") +(define-public linux-libre-5.10-version "5.10.121") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version linux-libre-5.10-gnu-revision (base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf") - (base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp"))) + (base32 "1ryfc8fppigssrzz5lfbqgli49cgs3lmf0yh46lpi2k0j2x30qcc"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "12qfgmzif2dy3kj4rqrnlx1if87c4fjmnya1bqpwx3hm0ih7ayjv"))) + (hash (base32 "1iljaaiwqg30rqb9zxrxc4l1p56q75jf0zvsrmn67z2a12sffi4h"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -- cgit v1.2.3 From d859d8873ceb3c591210968cfd4c88e26fc89edc Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Fri, 10 Jun 2022 10:08:24 +0300 Subject: doc: Update example of a minimalistic home environment. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/he-config-bare-bones.scm: Adujst example according to changes in bash-service-type and home-files-service-type. Signed-off-by: Ludovic Courtès --- doc/he-config-bare-bones.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/he-config-bare-bones.scm b/doc/he-config-bare-bones.scm index d2e4736e29..f948d85277 100644 --- a/doc/he-config-bare-bones.scm +++ b/doc/he-config-bare-bones.scm @@ -13,12 +13,13 @@ (service home-bash-service-type (home-bash-configuration (guix-defaults? #t) - (bash-profile '("\ -export HISTFILE=$XDG_CACHE_HOME/.bash_history")))) + (bash-profile (list (plain-file "bash-profile" "\ +export HISTFILE=$XDG_CACHE_HOME/.bash_history"))))) (simple-service 'test-config - home-files-service-type - (list `("config/test.conf" + home-xdg-configuration-files-service-type + (list `("test.conf" ,(plain-file "tmp-file.txt" - "the content of ~/.config/test.conf"))))))) + "the content of + ~/.config/test.conf"))))))) -- cgit v1.2.3 From fa0ead00d970428c91be49d55102167c059a44a4 Mon Sep 17 00:00:00 2001 From: JOULAUD François Date: Sun, 29 May 2022 09:36:17 +0000 Subject: gnu: Add go-sigs-k8s-io-yaml. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-sigs-k8s-io-yaml): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 820e6b54ab..4c6e8e63f0 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9775,3 +9775,33 @@ (define-public go-github-com-go-chi-chi-v5 "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user decompose request handling into many smaller layers.") (license license:expat))) + +(define-public go-sigs-k8s-io-yaml + (package + (name "go-sigs-k8s-io-yaml") + (version "1.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kubernetes-sigs/yaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qxs0ppqwqrfqs4aywyn1h28xh1qlj5ds4drmygaz1plrxj02dqn")))) + (build-system go-build-system) + (arguments '(#:import-path "sigs.k8s.io/yaml")) + (propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-davecgh-go-spew)) + (home-page "https://sigs.k8s.io/yaml") + (synopsis "YAML marshaling and unmarshaling support for Go") + (description + "This package provides a Go library that first converts YAML to JSON +using @code{go-yaml} and then uses @code{json.Marshal} and +@code{json.Unmarshal} to convert to or from the struct. This means that +it effectively reuses the JSON struct tags as well as the custom JSON +methods @code{MarshalJSON} and @code{UnmarshalJSON} unlike +@code{go-yaml}. + +kubernetes-sigs/yaml is a permanent fork of +@url{https://github.com/ghodss/yaml,ghodss/yaml}.") + (license (list license:expat license:bsd-3)))) -- cgit v1.2.3 From 8d4a69eb90d38b74bac667476c7968d1d5ed9fad Mon Sep 17 00:00:00 2001 From: JOULAUD François Date: Fri, 10 Jun 2022 22:53:02 +0200 Subject: gnu: Add go-github-com-google-go-jsonnet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-google-go-jsonnet): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4c6e8e63f0..61c29be116 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9805,3 +9805,32 @@ (define-public go-sigs-k8s-io-yaml kubernetes-sigs/yaml is a permanent fork of @url{https://github.com/ghodss/yaml,ghodss/yaml}.") (license (list license:expat license:bsd-3)))) + +(define-public go-github-com-google-go-jsonnet + (package + (name "go-github-com-google-go-jsonnet") + (version "0.18.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/go-jsonnet") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dghqygag123zkgh2vrnq82cdag5z0p03v3489pwhs06r5g27wm3")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/google/go-jsonnet/cmd/jsonnet" + #:unpack-path "github.com/google/go-jsonnet")) + (propagated-inputs (list go-sigs-k8s-io-yaml go-gopkg-in-yaml-v2 + go-github-com-sergi-go-diff + go-github-com-fatih-color)) + (home-page "https://github.com/google/go-jsonnet") + (synopsis "Go implementation of Jsonnet") + (description + "This package provides an implementation of the @url{http://jsonnet.org/, +Jsonnet} data templating language in Go. It is a feature-complete, +production-ready implementation, compatible with the original Jsonnet C++ +implementation.") + (license license:asl2.0))) -- cgit v1.2.3 From c09cc71724dfa6b6528445ea44b6aa6149bd9fa3 Mon Sep 17 00:00:00 2001 From: jgart Date: Sun, 5 Jun 2022 22:14:15 -0500 Subject: gnu: direnv: Update to 2.31.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/shellutils.scm (direnv): Update to 2.31.0. [arguments]: Remove trailing boolean in lambda block. Signed-off-by: Ludovic Courtès --- gnu/packages/shellutils.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index d0f4068062..ad674a3989 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -368,7 +368,7 @@ (define-public trash-cli (define-public direnv (package (name "direnv") - (version "2.28.0") + (version "2.31.0") (source (origin (method git-fetch) (uri (git-reference @@ -377,7 +377,7 @@ (define-public direnv (file-name (git-file-name name version)) (sha256 (base32 - "0yk53jn7wafklixclka17wyjjs2g5giigjr2bd0xzy10nrzwp7c9")))) + "1c52izjzkdhmyrfx1gmbp34n0qpxyxw0s94f0vy3ldlg8xr36wmk")))) (build-system go-build-system) (arguments '(#:import-path "github.com/direnv/direnv" @@ -405,8 +405,7 @@ (define-public direnv (invoke "go" "test" "./...") ;; Clean up from the tests, especially so that the extra ;; direnv executable that's generated is removed. - (invoke "make" "clean"))) - #t))))) + (invoke "make" "clean")))))))) (native-inputs (list go-github-com-burntsushi-toml go-github-com-direnv-go-dotenv go-github-com-mattn-go-isatty go-golang-org-x-mod which)) -- cgit v1.2.3 From f2d9d283b67b2b01741b921514e6a4d9885e3667 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Mon, 6 Jun 2022 03:41:35 +0000 Subject: gnu: meshlab: Update to 2022.02. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note that the previous version no longer compiled (this one does). * gnu/packages/engineering.scm (meshlab): Update to 2022.02. [inputs]: Remove the no longer required qtscript and qtxmlpatterns. Add (uncomment) qhull. [arguments]: Use G-expressions. <#:configure-flags>: Set the rpath to fix missing libraries (presumably new since the previous version) detected during the 'validate-runpath' phase. <#:phases>: Remove trailing boolean from 'go-to-source-dir' phase. Remove the 'move-files' phase, which was made redundant by the manually provided rpath. [description]: Move a word and add some commas to improve the readability. Typeset a program name in @samp{}. Signed-off-by: Ludovic Courtès --- gnu/packages/engineering.scm | 53 +++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a3a2ffe5e4..f01c2ea71a 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2741,21 +2741,19 @@ (define-public lib3ds (define-public meshlab (package (name "meshlab") - (version "2020.06") + (version "2022.02") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/cnr-isti-vclab/meshlab") - (commit (string-append "Meshlab-" version)) + (commit (string-append "MeshLab-" version)) (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd")))) + (base32 "0dkh9qw9z2160s6gjiv0a601kp6hvl66cplvi8rfc892zcykgiwd")))) (build-system cmake-build-system) (inputs (list qtbase-5 - qtscript - qtxmlpatterns mesa glu glew @@ -2765,34 +2763,29 @@ (define-public meshlab libfreenect lib3ds openctm - ;; FIXME: Compilation fails with system qhull: - ;; https://github.com/cnr-isti-vclab/meshlab/issues/678 - ;; ("qhull" ,qhull) - )) + qhull)) (arguments - `(#:tests? #f ; Has no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'go-to-source-dir - (lambda _ (chdir "src") #t)) - (add-after 'install 'move-files - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib (string-append (assoc-ref outputs "out") - "/lib"))) - (rename-file - (string-append lib "/meshlab/libmeshlab-common.so") - (string-append lib "/libmeshlab-common.so")) - #t)))))) + (list #:tests? #f ; Has no tests + #:configure-flags + #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath=" + #$output "/lib/meshlab") + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath=" + #$output "/lib/meshlab") + (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath=" + #$output "/lib/meshlab")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'go-to-source-dir + (lambda _ (chdir "src")))))) (synopsis "3D triangular mesh processing and editing software") (home-page "https://www.meshlab.net/") - (description "MeshLab is a system for the processing and -editing of unstructured large 3D triangular meshes. It is aimed to help the -processing of the typical not-so-small unstructured models arising in 3D -scanning, providing a set of tools for editing, cleaning, healing, inspecting, -rendering and converting this kind of meshes. These tools include MeshLab -proper, a versatile program with a graphical user interface, and meshlabserver, -a program that can perform mesh processing tasks in batch mode, without a -GUI.") + (description "MeshLab is a system for the processing and editing of large, +unstructured, 3D triangular meshes. It is aimed to help the processing of the +typical, not-so-small unstructured models arising in 3D scanning, providing a +set of tools for editing, cleaning, healing, inspecting, rendering and +converting this kind of meshes. These tools include MeshLab proper, a +versatile program with a graphical user interface, and @samp{meshlabserver}, a +program that can perform mesh processing tasks in batch mode, without a GUI.") (license license:gpl3+))) (define-public poke -- cgit v1.2.3 From 010426e2c34428d69573cdfef88239303edcab2d Mon Sep 17 00:00:00 2001 From: Michael Rohleder Date: Sun, 5 Jun 2022 02:47:25 +0200 Subject: gnu: emacs-dimmer: Update to 0.4.2-1-2f915b1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To build with Emacs28. * gnu/packages/emacs-xyz.scm (emacs-dimmer): Update to 0.4.2-1-2f915b1. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6077e52c4a..791bb8a0ce 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -27989,28 +27989,30 @@ (define-public emacs-elixir-mode (license license:gpl3+))) (define-public emacs-dimmer - (package - (name "emacs-dimmer") - (version "0.4.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gonewest818/dimmer.el") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dw0qh5hm1x76s5cqxvylvmjgy0jwy11xm258g6kmx6w1k6r1d2l")))) - (build-system emacs-build-system) - (home-page "https://github.com/gonewest818/dimmer.el") - (synopsis "Visually highlights the selected buffer in Emacs") - (description "Dimmer provides a minor mode that indicates which buffer is + (let ((commit "2f915b100044e09dd647b22085e1696249c4b115") + (revision "1")) + (package + (name "emacs-dimmer") + (version (git-version "0.4.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gonewest818/dimmer.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00y6645zjary1sz7517qy5pjwfm5ipsc46sypmdygin65hbbc8wg")))) + (build-system emacs-build-system) + (home-page "https://github.com/gonewest818/dimmer.el") + (synopsis "Visually highlights the selected buffer in Emacs") + (description "Dimmer provides a minor mode that indicates which buffer is currently active by dimming the faces in the other buffers. It does this nondestructively, and computes the dimmed faces dynamically such that your overall color scheme is shown in a muted form without requiring you to define what is a \"dim\" version of every face.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-minibuffer-line (package -- cgit v1.2.3 From 2f3dec3de76011b2bd7b19e50a1b12b8d6697a34 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Fri, 10 Jun 2022 15:53:36 -0700 Subject: gnu: tch-ipv6: Build reproducibly. * gnu/packages/networking.scm (thc-ipv6)[arguments]: Add 'use-source-date-epoch-in-manpages phase. --- gnu/packages/networking.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index cd25ca3dce..bfb4e32296 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2772,6 +2772,12 @@ (define-public thc-ipv6 #:tests? #f ; No test suite. #:phases (modify-phases %standard-phases + (add-after 'unpack 'use-source-date-epoch-in-manpages + ;; For reproducible builds + (lambda _ + (substitute* "Makefile" + (("date --iso-8601") + "date --iso-8601 --utc --date=@$(SOURCE_DATE_EPOCH)")))) (delete 'configure) ; No ./configure script. (add-before 'build 'patch-paths (lambda _ -- cgit v1.2.3 From 9f01229c95d76458945451e7508fe5960784aa7a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:04 +0200 Subject: gnu: c-blosc: Update to 1.21.1. * gnu/packages/compression.scm (c-blosc): Update to 1.21.1. [arguments]: Remove obsolete PREFER_EXTERNAL_SNAPPY from #:configure-flags. --- gnu/packages/compression.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 382fe348a0..8428b6d973 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2575,7 +2575,7 @@ (define-public tarsplitter (define-public c-blosc (package (name "c-blosc") - (version "1.18.1") + (version "1.21.1") (source (origin (method git-fetch) (uri (git-reference @@ -2584,13 +2584,12 @@ (define-public c-blosc (file-name (git-file-name name version)) (sha256 (base32 - "1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70")))) + "0gy9a7wp7x71x5l3rprx8wpb3c5cn7wqc77gdiffq35hr34q88p9")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DDEACTIVATE_AVX2=ON" "-DPREFER_EXTERNAL_LZ4=ON" - "-DPREFER_EXTERNAL_SNAPPY=ON" "-DPREFER_EXTERNAL_ZLIB=ON" "-DPREFER_EXTERNAL_ZSTD=ON"))) (inputs -- cgit v1.2.3 From 495c248920eeff84146e0fb6ed73cd47661a28ec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: c-blosc: Omit static library. * gnu/packages/compression.scm (c-blosc)[arguments]: Add "-DBUILD_STATIC=OFF" to #:configure-flags. --- gnu/packages/compression.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 8428b6d973..9d8106b6d5 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2588,7 +2588,8 @@ (define-public c-blosc (build-system cmake-build-system) (arguments `(#:configure-flags - '("-DDEACTIVATE_AVX2=ON" + '("-DBUILD_STATIC=OFF" + "-DDEACTIVATE_AVX2=ON" "-DPREFER_EXTERNAL_LZ4=ON" "-DPREFER_EXTERNAL_ZLIB=ON" "-DPREFER_EXTERNAL_ZSTD=ON"))) -- cgit v1.2.3 From 2d80b869f0158b8b6d830cc9dbbaa78d3681ced1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: c-blosc: Remove bundled libraries from source. * gnu/packages/compression.scm (c-blosc)[source]: Add snippet. --- gnu/packages/compression.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 9d8106b6d5..d4a52ff111 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2576,15 +2576,19 @@ (define-public c-blosc (package (name "c-blosc") (version "1.21.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Blosc/c-blosc") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gy9a7wp7x71x5l3rprx8wpb3c5cn7wqc77gdiffq35hr34q88p9")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Blosc/c-blosc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gy9a7wp7x71x5l3rprx8wpb3c5cn7wqc77gdiffq35hr34q88p9")) + (modules '((guix build utils))) + (snippet + ;; In a rare victory, we may delete all bundled libs to no ill effect. + '(delete-file-recursively "internal-complibs")))) (build-system cmake-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 34c7c922f51b8988e7e1d943e56f7c6b3b2a7563 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: c-blosc: Remove input labels. * gnu/packages/compression.scm (c-blosc)[inputs]: Remove input labels. --- gnu/packages/compression.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index d4a52ff111..3ba8eea5e9 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2598,10 +2598,7 @@ (define-public c-blosc "-DPREFER_EXTERNAL_ZLIB=ON" "-DPREFER_EXTERNAL_ZSTD=ON"))) (inputs - `(("lz4" ,lz4) - ("snappy" ,snappy) - ("zlib" ,zlib) - ("zstd:lib" ,zstd "lib"))) + (list lz4 snappy zlib `(,zstd "lib"))) (home-page "https://blosc.org") (synopsis "Blocking, shuffling and lossless compression library") (description -- cgit v1.2.3 From 7c52cad0464175370c44bd4695e4c01a62b8268f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:05 +0200 Subject: pull: Fail if cache directory ownership is suspect. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New users frequently run ‘sudo guix pull’ which breaks subsequent unprivileged ‘guix pull’s until manually fixed with chmod -R. * guix/scripts/pull.scm (guix-pull): Fail if the cache directory (or its innermost extant parent) is not owned by the user pulling the Guix, with a hint about ‘sudo -i’. --- guix/scripts/pull.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index f01764637b..24151f7ed3 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -49,6 +49,7 @@ (define-module (guix scripts pull) #:autoload (gnu packages bootstrap) (%bootstrap-guile) #:autoload (gnu packages certs) (le-certs) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -810,6 +811,33 @@ (define (no-arguments arg _) ((assoc-ref opts 'generation) (process-generation-change opts profile)) (else + ;; Bail out early when users accidentally run, e.g., ’sudo guix pull’. + ;; If CACHE-DIRECTORY doesn't yet exist, test where it would end up. + (let-values (((stats dir) (let loop ((dir (cache-directory))) + (let ((stats (stat dir #f))) + (if stats + (values stats dir) + (loop (dirname dir))))))) + (let ((dir:uid (stat:uid stats)) + (our:uid (getuid))) + (unless (= dir:uid our:uid) + (let* ((user (lambda (uid) ; handle the unthinkable invalid UID + (or (false-if-exception (passwd:name + (getpwuid uid))) + uid))) + (our:user (user our:uid)) + (dir:user (user dir:uid))) + (raise + (condition + (&message + (message + (format #f (G_ "directory ‘~a’ is not owned by user ~a") + dir dir:user))) + (&fix-hint + (hint + (format #f (G_ "You should run this command as ~a; use ‘sudo -i’ or equivalent if you really want to pull as ~a.") + dir:user our:user))))))))) + (with-store store (with-status-verbosity (assoc-ref opts 'verbosity) (parameterize ((%current-system (assoc-ref opts 'system)) -- cgit v1.2.3 From a7255dd13fb6ecb382588ab0c45ffe52a01a9edb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:04 +0200 Subject: gnu: oneko: Remove trailing #t from phases. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/toys.scm (oneko)[source]: Don't explicitly return #t from snippet… [arguments]: …nor from phases. --- gnu/packages/toys.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 09426fe6fa..d80c37d5fb 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -57,8 +57,7 @@ (define-public oneko (for-each delete-file-recursively (cons* "bitmaps/bsd" "bitmaps/sakura" "bitmaps/tomoyo" "bitmasks/bsd" "bitmasks/sakura" "bitmasks/tomoyo" - (find-files "cursors" "(bsd|card|petal).*\\.xbm"))) - #t)))) + (find-files "cursors" "(bsd|card|petal).*\\.xbm"))))))) (build-system gnu-build-system) (native-inputs (list imake)) @@ -73,8 +72,7 @@ (define-public oneko (invoke "xmkmf") ;; Fix incorrectly generated compiler flags. (substitute* "Makefile" - (("(CDEBUGFLAGS = ).*" _ front) (string-append front "-O2\n"))) - #t)) + (("(CDEBUGFLAGS = ).*" _ front) (string-append front "-O2\n"))))) (replace 'install (lambda* (#:key outputs make-flags #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -89,8 +87,7 @@ (define-public oneko (copy-file "oneko.man" (string-append man6 "/oneko.6")) (copy-file "oneko.man.jp" (string-append man6-ja "/oneko.6")) (for-each (lambda (file) (install-file file doc)) - (find-files "." "README.*"))) - #t))))) + (find-files "." "README.*")))))))) (home-page "http://www.daidouji.com/oneko/") (synopsis "Cute cat chasing your mouse pointer") (description "Displays a cat or another animated character that chases the -- cgit v1.2.3 From 8c2c5c2c9c4a9a30f96d2e3baa0e78ad642e4e7e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: oneko: Edit description. * gnu/packages/toys.scm (oneko)[description]: Use full sentences. Name the only two species of animated character actually available. Add an unfortunate note about Wayland. --- gnu/packages/toys.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index d80c37d5fb..4fa6966ca9 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice ;;; Copyright © 2019 Jesse Gibbons ;;; Copyright © 2019, 2020, 2021 Timotej Lazar ;;; Copyright © 2020 Efraim Flashner @@ -90,8 +90,11 @@ (define-public oneko (find-files "." "README.*")))))))) (home-page "http://www.daidouji.com/oneko/") (synopsis "Cute cat chasing your mouse pointer") - (description "Displays a cat or another animated character that chases the -mouse pointer around the screen while you work.") + (description + "Oneko displays an animated cat or dog that chases the mouse pointer---now +an actual mouse or a bone---around the screen while you work. + +It was written for the X Window system and does not work well on Wayland.") (license license:public-domain))) ; see https://directory.fsf.org/wiki/Oneko (define-public sl -- cgit v1.2.3 From 1023bd85cc773a6949d6cd4f9b3fbcb07acef6fd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: Add nmon. * gnu/packages/admin.scm (nmon): New public variable. --- gnu/packages/admin.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6acfff8881..d19f90757a 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1127,6 +1127,77 @@ (define-public netcat-openbsd (license (list license:bsd-3 license:bsd-2)))) ; atomicio.*, socks.c +(define-public nmon + (package + (name "nmon") + (version "16n") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/nmon/lmon" version ".c")) + (sha256 + (base32 "1wpm2f30414b87kpbr9hbidblr5cmfby5skwqd0fkpi5v712q0f0")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ; no test suite + #:phases + #~(modify-phases %standard-phases + (replace 'unpack + (lambda _ + (copy-file #$(package-source this-package) "lmon.c"))) + (delete 'configure) ; no build system + (replace 'build + ;; There is an example ‘Makefile’ in the .c file. + (lambda _ + ;; These #defines aren't well-documented and, e.g., POWER was + ;; not actually tested on every possible TARGET-POWERPC?. + (let* ((system #$(cond ((target-x86-32?) "X86") + ((target-x86-64?) "X86") + ((target-arm?) "ARM") + ((target-powerpc?) "POWER") + (else "CROSS_FINGERS")))) + (format #t "Building for ~a~%" system) + (invoke #$(cc-for-target) "-o" "nmon" "lmon.c" + "-g" "-Wall" "-D" system + "-lncurses" "-lm")))) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (man1 (string-append #$output "/share/man/man1"))) + (install-file "nmon" bin) + (mkdir-p man1) + (copy-file #$(this-package-native-input "man-page") + (string-append man1 "/nmon.1")))))))) + (native-inputs + (list `("man-page" + ,(origin + ;; There is no man page upstream, so install Debian's. + (method url-fetch) + (uri (string-append "https://salsa.debian.org/carnil/nmon/" + "-/raw/debian/" version "+debian-1/" + "debian/nmon.1")) + (sha256 + (base32 + "1gpvd2kjyhs18sh6sga5bk9wj8s78blfd4c0m38r0wl92jx2yv1b")))))) + (inputs + (list ncurses)) + (home-page "http://nmon.sourceforge.net/") + (synopsis + "Monitor system performance in a terminal or to a @file{.csv} log file") + (description + "@acronym{Nmon, Nigel's performance monitor} is yet another system monitor +useful in systems administration, debugging, tuning, and benchmarking. + +The configurable ncurses interface displays all the classic resource usage +statistics (CPU, memory, network, disk, ...) as real-time graphs or numbers. +It can also list the processes responsible in a @command{top}-like table. + +A less common nmon feature is its ability to create highly detailed log files +in @acronym{CSV, comma-separated values} format. These can be imported into +spreadsheets or fed straight into an @acronym{RRD, round-robin database} using +@command{rrdtool} for further analyisis, or to create colourful graphs.") + (license license:gpl3+))) + (define-public sipcalc (package (name "sipcalc") -- cgit v1.2.3 From ddd265b0335bf8baa38497528172fbc56923a0d4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: galera: Update to 26.4.12. * gnu/packages/databases.scm (galera): Update to 26.4.12. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index f97281e882..9cb5491f22 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1158,7 +1158,7 @@ (define-public mariadb-connector-c (define-public galera (package (name "galera") - (version "26.4.10") + (version "26.4.12") (source (origin (method git-fetch) (uri (git-reference @@ -1167,7 +1167,7 @@ (define-public galera (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1n6zhzwj713ixyqvcjn4ldlq0y9fxqgvmqv3cj3h4207v9lwlxxz")))) + (base32 "0n4272mvr8a6h5prbhvl376asdp89ipix5yx5n6i1iiw9bs3v76l")))) (build-system cmake-build-system) (inputs (list check boost openssl)) -- cgit v1.2.3 From b8edfdb0083003f6bd8f2fa084743c9ffcf50909 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: qtox: Update to 1.17.6. * gnu/packages/messaging.scm (qtox): Update to 1.17.6. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index d361034721..4038ef0e49 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1713,7 +1713,7 @@ (define-public utox (define-public qtox (package (name "qtox") - (version "1.17.4") + (version "1.17.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/releases" @@ -1721,7 +1721,7 @@ (define-public qtox "/v" version ".tar.gz")) (sha256 (base32 - "086hvm0q2vl2lq8zlp8s9sivlic6sg7ga5ixz01hbsyrashvil63")) + "1ml8z1xpp3qhip4vkr375jf7y5kc18g0apm91n5am6ricx37c01r")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments -- cgit v1.2.3 From 85b4dabd94d53f8179f31a42046cd83fc3a352fc Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 29 May 2022 23:46:35 -0400 Subject: services: jami: Modernize to adjust to Shepherd 0.9+ changes. This partially fixes , allowing the 'jami' and 'jami-provisioning' system tests to pass again. In version 0.9.0, Shepherd constructors are now run concurrently, via cooperative scheduling (Guile Fibers). The Jami service previously relied on blocking sleeps while polling for D-Bus services to become ready after forking a process; this wouldn't work anymore since while blocking the service process wouldn't be given the chance to finish starting. The new reliance on Fibers in Shepherd's fork+exec-command in the helper 'send-dbus' procedure also meant that it wouldn't work outside of Shepherd anymore. Finally, the 'start-service' Shepherd procedure used in the test suite would cause the Jami daemon to be spawned multiple times (a bug introduced in Shepherd 0.9.0). To fix/simplify these problems, this change does the following: 1. Use the Guile AC/D-Bus library for D-Bus communication, which simplify things, such as avoiding the need to fork 'dbus-send' processes. 2. The non-blocking 'sleep' version of Fiber is used for the 'with-retries' waiting syntax. 3. A 'dbus' package variant is used to adjust the session bus configuration, tailoring it for the use case at hand. 4. Avoid start-service in the tests, preferring 'jami-service-available?' for now. * gnu/build/jami-service.scm (parse-dbus-reply, strip-quotes) (deserialize-item, serialize-boolean, dbus-dict->alist) (dbus-array->list, parse-account-ids, parse-account-details) (parse-contacts): Delete procedures. (%send-dbus-binary, %send-dbus-bus, %send-dbus-user, %send-dbus-group) (%send-dbus-debug): Delete parameters. (jami-service-running?): New procedure. (send-dbus/configuration-manager): Rename to... (call-configuration-manager-method): ... this. Turn METHOD into a positional argument. Turn ARGUMENTS into an optional argument. Invoke `call-dbus-method' instead of `send-dbus', adjusting callers accordingly. (get-account-ids, id->account-details, id->account-details) (id->volatile-account-details, username->id, add-account remove-account) (username->contacts, remove-contact, add-contact, set-account-details) (set-all-moderators, username->all-moderators?, username->moderators) (set-moderator): Adjust accordingly. (with-retries, send-dbus, dbus-available-services) (dbus-service-available?): Move to ... * gnu/build/dbus-service.scm: ... this new module. (send-dbus): Rewrite to use the Guile AC/D-Bus library. (%dbus-query-timeout, sleep*): New variables. (%current-dbus-connection): New parameter. (initialize-dbus-connection!, argument->signature-type) (call-dbus-method): New procedures. (dbus-available-services): Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Register new module. * gnu/packages/glib.scm (dbus-for-jami): New variable. * gnu/services/telephony.scm: (jami-configuration)[dbus]: Default to dbus-for-jami. (jami-dbus-session-activation): Write a D-Bus daemon configuration file at '/var/run/jami/session-local.conf'. (jami-shepherd-services): Add the closure of guile-ac-d-bus and guile-fibers as extensions. Adjust imported modules. Remove no longer used parameters. : Use a PID file, avoiding the need for the manual synchronization. : Set DBUS_SESSION_BUS_ADDRESS environment variable. Poll using 'jami-service-available?' instead of 'dbus-service-available?'. * gnu/tests/telephony.scm (run-jami-test): Add needed Guile extensions. Set DBUS_SESSION_BUS_ADDRESS environment variable. Adjust all tests to use 'jami-service-available?' to determine if the service is started rather than the now problematic Shepherd's 'start-service'. --- doc/guix.texi | 2 +- gnu/build/dbus-service.scm | 213 +++++++++++++++++++ gnu/build/jami-service.scm | 390 ++++++----------------------------- gnu/local.mk | 1 + gnu/packages/glib.scm | 19 +- gnu/services/telephony.scm | 500 +++++++++++++++++++++------------------------ gnu/tests/telephony.scm | 412 ++++++++++++++++++------------------- 7 files changed, 728 insertions(+), 809 deletions(-) create mode 100644 gnu/build/dbus-service.scm diff --git a/doc/guix.texi b/doc/guix.texi index ea133d519a..6811429cda 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25546,7 +25546,7 @@ Available @code{jami-configuration} fields are: @item @code{jamid} (default: @code{libjami}) (type: package) The Jami daemon package to use. -@item @code{dbus} (default: @code{dbus}) (type: package) +@item @code{dbus} (default: @code{dbus-for-jami}) (type: package) The D-Bus package to use to start the required D-Bus session. @item @code{nss-certs} (default: @code{nss-certs}) (type: package) diff --git a/gnu/build/dbus-service.scm b/gnu/build/dbus-service.scm new file mode 100644 index 0000000000..c5671396e2 --- /dev/null +++ b/gnu/build/dbus-service.scm @@ -0,0 +1,213 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;;; Commentary: +;;; +;;; This module contains procedures to interact with D-Bus via the 'dbus-send' +;;; command line utility. Before using any public procedure +;;; +;;; Code: + +(define-module (gnu build dbus-service) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) + #:autoload (d-bus protocol connections) (d-bus-conn? + d-bus-conn-flush + d-bus-connect + d-bus-disconnect + d-bus-session-bus-address + d-bus-system-bus-address) + #:autoload (d-bus protocol messages) (MESSAGE_TYPE_METHOD_CALL + d-bus-headers-ref + d-bus-message-body + d-bus-message-headers + d-bus-read-message + d-bus-write-message + header-PATH + header-DESTINATION + header-INTERFACE + header-MEMBER + header-SIGNATURE + make-d-bus-message) + #:export (%dbus-query-timeout + + initialize-dbus-connection! + %current-dbus-connection + send-dbus + call-dbus-method + + dbus-available-services + dbus-service-available? + + with-retries)) + +(define %dbus-query-timeout 2) ;in seconds + +;;; Use Fibers' sleep to enable cooperative scheduling in Shepherd >= 0.9.0, +;;; which is required at least for the Jami service. +(define sleep* + (lambda () ;delay execution + (if (resolve-module '(fibers) #f) + (module-ref (resolve-interface '(fibers)) 'sleep) + (begin + (format #f "fibers not available -- blocking 'sleep' in use") + sleep)))) + +;;; +;;; Utilities. +;;; + +(define-syntax-rule (with-retries n delay body ...) + "Retry the code in BODY up to N times until it doesn't raise an exception nor +return #f, else raise an error. A delay of DELAY seconds is inserted before +each retry." + (let loop ((attempts 0)) + (catch #t + (lambda () + (let ((result (begin body ...))) + (if (not result) + (error "failed attempt" attempts) + result))) + (lambda args + (if (< attempts n) + (begin + ((sleep*) delay) ;else wait and retry + (loop (+ 1 attempts))) + (error "maximum number of retry attempts reached" + body ... args)))))) + + +;;; +;;; Low level wrappers above AC/D-Bus. +;;; + +;; The active D-Bus connection (a parameter) used by the other procedures. +(define %current-dbus-connection (make-parameter #f)) + +(define* (initialize-dbus-connection! + #:key (address (or (d-bus-session-bus-address) + (d-bus-system-bus-address)))) + "Initialize the D-Bus connection. ADDRESS should be the address of the D-Bus +session, e.g. \"unix:path=/var/run/dbus/system_bus_socket\", the default value +if ADDRESS is not provided and DBUS_SESSION_BUS_ADDRESS is not set. Return +the initialized D-Bus connection." + ;; Clear current correction if already active. + (when (d-bus-conn? (%current-dbus-connection)) + (d-bus-disconnect (%current-dbus-connection))) + + (let ((connection (d-bus-connect address))) + (%current-dbus-connection connection) ;update connection parameter + (call-dbus-method "Hello")) ;initial handshake + + (%current-dbus-connection)) + +(define* (send-dbus message #:key + (connection (%current-dbus-connection)) + timeout) + "Send a D-Bus MESSAGE to CONNECTION and return the body of its reply. Up to +READ-RETRIES replies are read until a matching reply is found, else an error +is raised. MESSAGE is to be constructed with `make-d-bus-message'. When the +body contains a single element, it is returned directly, else the body +elements are returned as a list. TIMEOUT is a timeout value in seconds." + (let ((serial (d-bus-write-message connection message)) + (start-time (current-time time-monotonic)) + (timeout* (or timeout %dbus-query-timeout))) + (d-bus-conn-flush connection) + (let retry () + (when (> (time-second (time-difference (current-time time-monotonic) + start-time)) + timeout*) + (error 'dbus "fail to get reply in timeout" timeout*)) + (let* ((reply (d-bus-read-message connection)) + (reply-headers (d-bus-message-headers reply)) + (reply-serial (d-bus-headers-ref reply-headers 'REPLY_SERIAL)) + (error-name (d-bus-headers-ref reply-headers 'ERROR_NAME)) + (body (d-bus-message-body reply))) + ;; Validate the reply matches the message. + (when error-name + (error 'dbus "method failed with error" error-name body)) + ;; Some replies do not include a serial header, such as the for the + ;; org.freedesktop.DBus NameAcquired one. + (if (and reply-serial (= serial reply-serial)) + (match body + ((x x* ..1) ;contains 2 ore more elements + body) + ((x) + x) ;single element; return it directly + (#f #f)) + (retry)))))) + +(define (argument->signature-type argument) + "Infer the D-Bus signature type from ARGUMENT." + ;; XXX: avoid ..1 when using vectors due to a bug (?) in (ice-9 match). + (match argument + ((? boolean?) "b") + ((? string?) "s") + (#((? string?) (? string?) ...) "as") + (#(((? string?) . (? string?)) + ((? string?) . (? string?)) ...) "a{ss}") + (_ (error 'dbus "no rule to infer type from argument" argument)))) + +(define* (call-dbus-method method + #:key + (path "/org/freedesktop/DBus") + (destination "org.freedesktop.DBus") + (interface "org.freedesktop.DBus") + (connection (%current-dbus-connection)) + arguments + timeout) + "Call the D-Bus method specified by METHOD, PATH, DESTINATION and INTERFACE. +The currently active D-Bus CONNECTION is used unless explicitly provided. +Method arguments may be provided via ARGUMENTS sent as the message body. +TIMEOUT limit the maximum time to allow for the reply. Return the body of the +reply." + (let ((message (make-d-bus-message + MESSAGE_TYPE_METHOD_CALL 0 #f '() + `#(,(header-PATH path) + ,(header-DESTINATION destination) + ,(header-INTERFACE interface) + ,(header-MEMBER method) + ,@(if arguments + (list (header-SIGNATURE + (string-join + (map argument->signature-type arguments) + ""))) + '())) + arguments))) + (send-dbus message #:connection connection #:timeout timeout))) + + +;;; +;;; Higher-level, D-Bus procedures. +;;; + +(define (dbus-available-services) + "Return the list of available (acquired) D-Bus services." + (let ((names (vector->list (call-dbus-method "ListNames")))) + ;; Remove entries such as ":1.7". + (remove (cut string-prefix? ":" <>) names))) + +(define (dbus-service-available? service) + "Predicate to check for the D-Bus SERVICE availability." + (member service (dbus-available-services))) + +;; Local Variables: +;; eval: (put 'with-retries 'scheme-indent-function 2) +;; End: diff --git a/gnu/build/jami-service.scm b/gnu/build/jami-service.scm index ddfc8cf937..0ceb03eb02 100644 --- a/gnu/build/jami-service.scm +++ b/gnu/build/jami-service.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,16 +24,16 @@ ;;; Code: (define-module (gnu build jami-service) + #:use-module (gnu build dbus-service) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 peg) #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) - #:use-module (rnrs io ports) - #:autoload (shepherd service) (fork+exec-command) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) - #:export (account-fingerprint? + #:export (jami-service-available? + + account-fingerprint? account-details->recutil get-accounts get-usernames @@ -51,43 +51,12 @@ (define-module (gnu build jami-service) set-all-moderators set-moderator username->all-moderators? - username->moderators - - dbus-available-services - dbus-service-available? - - %send-dbus-binary - %send-dbus-bus - %send-dbus-user - %send-dbus-group - %send-dbus-debug - send-dbus - - with-retries)) + username->moderators)) ;;; ;;; Utilities. ;;; -(define-syntax-rule (with-retries n delay body ...) - "Retry the code in BODY up to N times until it doesn't raise an exception -nor return #f, else raise an error. A delay of DELAY seconds is inserted -before each retry." - (let loop ((attempts 0)) - (catch #t - (lambda () - (let ((result (begin body ...))) - (if (not result) - (error "failed attempt" attempts) - result))) - (lambda args - (if (< attempts n) - (begin - (sleep delay) ;else wait and retry - (loop (+ 1 attempts))) - (error "maximum number of retry attempts reached" - body ... args)))))) - (define (alist->list alist) "Flatten ALIST into a list." (append-map (match-lambda @@ -104,212 +73,34 @@ (define (account-fingerprint? val) (and (string? val) (regexp-exec account-fingerprint-rx val))) - -;;; -;;; D-Bus reply parser. -;;; - -(define (parse-dbus-reply reply) - "Return the parse tree of REPLY, a string returned by the 'dbus-send' -command." - ;; Refer to 'man 1 dbus-send' for the grammar reference. Note that the - ;; format of the replies doesn't match the format of the input, which is the - ;; one documented, but it gives an idea. For an even better reference, see - ;; the `print_iter' procedure of the 'dbus-print-message.c' file from the - ;; 'dbus' package sources. - (define-peg-string-patterns - "contents <- header (item / container (item / container*)?) - item <-- WS type WS value NL - container <- array / dict / variant - array <-- array-start (item / container)* array-end - dict <-- array-start dict-entry* array-end - dict-entry <-- dict-entry-start item item dict-entry-end - variant <-- variant-start item - type <-- 'string' / 'int16' / 'uint16' / 'int32' / 'uint32' / 'int64' / - 'uint64' / 'double' / 'byte' / 'boolean' / 'objpath' - value <-- (!NL .)* NL - header < (!NL .)* NL - variant-start < WS 'variant' - array-start < WS 'array [' NL - array-end < WS ']' NL - dict-entry-start < WS 'dict entry(' NL - dict-entry-end < WS ')' NL - DQ < '\"' - WS < ' '* - NL < '\n'*") - - (peg:tree (match-pattern contents reply))) - -(define (strip-quotes text) - "Strip the leading and trailing double quotes (\") characters from TEXT." - (let* ((text* (if (string-prefix? "\"" text) - (string-drop text 1) - text)) - (text** (if (string-suffix? "\"" text*) - (string-drop-right text* 1) - text*))) - text**)) - -(define (deserialize-item item) - "Return the value described by the ITEM parse tree as a Guile object." - ;; Strings are printed wrapped in double quotes (see the print_iter - ;; procedure in dbus-print-message.c). - (match item - (('item ('type "string") ('value value)) - (strip-quotes value)) - (('item ('type "boolean") ('value value)) - (if (string=? "true" value) - #t - #f)) - (('item _ ('value value)) - value))) - -(define (serialize-boolean bool) - "Return the serialized format expected by dbus-send for BOOL." - (format #f "boolean:~:[false~;true~]" bool)) - -(define (dict->alist dict-parse-tree) - "Translate a dict parse tree to an alist." - (define (tuples->alist tuples) - (map (lambda (x) (apply cons x)) tuples)) - - (match dict-parse-tree - ('dict - '()) - (('dict ('dict-entry keys values) ...) - (let ((keys* (map deserialize-item keys)) - (values* (map deserialize-item values))) - (tuples->alist (zip keys* values*)))))) - -(define (array->list array-parse-tree) - "Translate an array parse tree to a list." - (match array-parse-tree - ('array - '()) - (('array items ...) - (map deserialize-item items)))) - - -;;; -;;; Low-level, D-Bus-related procedures. -;;; +(define (validate-fingerprint fingerprint) + "Validate that fingerprint is 40 characters long." + (unless (account-fingerprint? fingerprint) + (error "Account fingerprint is not valid:" fingerprint))) -;;; The following parameters are used in the jami-service-type service -;;; definition to conveniently customize the behavior of the send-dbus helper, -;;; even when called indirectly. -(define %send-dbus-binary (make-parameter "dbus-send")) -(define %send-dbus-bus (make-parameter #f)) -(define %send-dbus-user (make-parameter #f)) -(define %send-dbus-group (make-parameter #f)) -(define %send-dbus-debug (make-parameter #f)) - -(define* (send-dbus #:key service path interface method - bus - dbus-send - user group - timeout - arguments) - "Return the response of DBUS-SEND, else raise an error. Unless explicitly -provided, DBUS-SEND takes the value of the %SEND-DBUS-BINARY parameter. BUS -can be used to specify the bus address, such as 'unix:path=/var/run/jami/bus'. -Alternatively, the %SEND-DBUS-BUS parameter can be used. ARGUMENTS can be -used to pass input values to a D-Bus method call. TIMEOUT is the amount of -time to wait for a reply in milliseconds before giving up with an error. USER -and GROUP allow choosing under which user/group the DBUS-SEND command is -executed. Alternatively, the %SEND-DBUS-USER and %SEND-DBUS-GROUP parameters -can be used instead." - (let* ((command `(,(if dbus-send - dbus-send - (%send-dbus-binary)) - ,@(if (or bus (%send-dbus-bus)) - (list (string-append "--bus=" - (or bus (%send-dbus-bus)))) - '()) - "--print-reply" - ,@(if timeout - (list (format #f "--reply-timeout=~d" timeout)) - '()) - ,(string-append "--dest=" service) ;e.g., cx.ring.Ring - ,path ;e.g., /cx/ring/Ring/ConfigurationManager - ,(string-append interface "." method) - ,@(or arguments '()))) - (temp-port (mkstemp! (string-copy "/tmp/dbus-send-output-XXXXXXX"))) - (temp-file (port-filename temp-port))) - (dynamic-wind - (lambda () - (let* ((uid (or (and=> (or user (%send-dbus-user)) - (compose passwd:uid getpwnam)) -1)) - (gid (or (and=> (or group (%send-dbus-group)) - (compose group:gid getgrnam)) -1))) - (chown temp-port uid gid))) - (lambda () - (let ((pid (fork+exec-command command - #:user (or user (%send-dbus-user)) - #:group (or group (%send-dbus-group)) - #:log-file temp-file))) - (match (waitpid pid) - ((_ . status) - (let ((exit-status (status:exit-val status)) - (output (call-with-port temp-port get-string-all))) - (if (= 0 exit-status) - output - (error "the send-dbus command exited with: " - command exit-status output))))))) - (lambda () - (false-if-exception (delete-file temp-file)))))) - -(define (parse-account-ids reply) - "Return the Jami account IDs from REPLY, which is assumed to be the output -of the Jami D-Bus `getAccountList' method." - (array->list (parse-dbus-reply reply))) - -(define (parse-account-details reply) - "Parse REPLY, which is assumed to be the output of the Jami D-Bus -`getAccountDetails' method, and return its content as an alist." - (dict->alist (parse-dbus-reply reply))) - -(define (parse-contacts reply) - "Parse REPLY, which is assumed to be the output of the Jamid D-Bus -`getContacts' method, and return its content as an alist." - (match (parse-dbus-reply reply) - ('array - '()) - (('array dicts ...) - (map dict->alist dicts)))) +(define (jami-service-available?) + "Whether the Jami D-Bus service was acquired by the D-Bus daemon." + (unless (%current-dbus-connection) + (initialize-dbus-connection!)) + (dbus-service-available? "cx.ring.Ring")) ;;; -;;; Higher-level, D-Bus-related procedures. +;;; Bindings for the Jami D-Bus API. ;;; -(define (validate-fingerprint fingerprint) - "Validate that fingerprint is 40 characters long." - (unless (account-fingerprint? fingerprint) - (error "Account fingerprint is not valid:" fingerprint))) - -(define (dbus-available-services) - "Return the list of available (acquired) D-Bus services." - (let ((reply (parse-dbus-reply - (send-dbus #:service "org.freedesktop.DBus" - #:path "/org/freedesktop/DBus" - #:interface "org.freedesktop.DBus" - #:method "ListNames")))) - ;; Remove entries such as ":1.7". - (remove (cut string-prefix? ":" <>) - (array->list reply)))) - -(define (dbus-service-available? service) - "Predicate to check for the D-Bus SERVICE availability." - (member service (dbus-available-services))) - -(define* (send-dbus/configuration-manager #:key method arguments timeout) - "Query the Jami D-Bus ConfigurationManager service." - (send-dbus #:service "cx.ring.Ring" - #:path "/cx/ring/Ring/ConfigurationManager" - #:interface "cx.ring.Ring.ConfigurationManager" - #:method method - #:arguments arguments - #:timeout timeout)) +(define* (call-configuration-manager-method method #:optional arguments + #:key timeout) + "Query the Jami D-Bus ConfigurationManager interface with METHOD applied to +ARGUMENTS. TIMEOUT can optionally be provided as a value in seconds." + (unless (%current-dbus-connection) + (initialize-dbus-connection!)) + (call-dbus-method method + #:path "/cx/ring/Ring/ConfigurationManager" + #:destination "cx.ring.Ring" + #:interface "cx.ring.Ring.ConfigurationManager" + #:arguments arguments + #:timeout timeout)) ;;; The following methods are for internal use; they make use of the account ;;; ID, an implementation detail of Jami the user should not need to be @@ -317,22 +108,17 @@ (define* (send-dbus/configuration-manager #:key method arguments timeout) (define (get-account-ids) "Return the available Jami account identifiers (IDs). Account IDs are an implementation detail used to identify the accounts in Jami." - (parse-account-ids - (send-dbus/configuration-manager #:method "getAccountList"))) + (vector->list (call-configuration-manager-method "getAccountList"))) (define (id->account-details id) "Retrieve the account data associated with the given account ID." - (parse-account-details - (send-dbus/configuration-manager - #:method "getAccountDetails" - #:arguments (list (string-append "string:" id))))) + (vector->list (call-configuration-manager-method "getAccountDetails" + (list id)))) (define (id->volatile-account-details id) "Retrieve the account data associated with the given account ID." - (parse-account-details - (send-dbus/configuration-manager - #:method "getVolatileAccountDetails" - #:arguments (list (string-append "string:" id))))) + (vector->list (call-configuration-manager-method "getVolatileAccountDetails" + (list id)))) (define (id->account id) "Retrieve the complete account data associated with the given account ID." @@ -362,8 +148,8 @@ (define (username->id username) '())))) (get-account-ids)))) (or (assoc-ref %username-to-id-cache username) - (let ((message (format #f "Could not retrieve a local account ID\ - for ~:[username~;fingerprint~]" (account-fingerprint? username)))) + (let ((message (format #f "no account ID for ~:[username~;fingerprint~]" + (account-fingerprint? username)))) (error message username)))) (define (account->username account) @@ -400,27 +186,21 @@ (define (add-account archive) should *not* be encrypted with a password. Return the username associated with the account." (invalidate-username-to-id-cache!) - (let ((reply (send-dbus/configuration-manager - #:method "addAccount" - #:arguments (list (string-append - "dict:string:string:Account.archivePath," - archive - ",Account.type,RING"))))) + (let ((id (call-configuration-manager-method + "addAccount" (list `#(("Account.archivePath" . ,archive) + ("Account.type" . "RING")))))) ;; The account information takes some time to be populated. - (let ((id (deserialize-item (parse-dbus-reply reply)))) - (with-retries 20 1 - (let ((username (id->username id))) - (if (string-null? username) - #f - username)))))) + (with-retries 20 1 + (let ((username (id->username id))) + (if (and=> username (negate string-null?)) + username + #f))))) (define (remove-account username) "Delete the Jami account associated with USERNAME, the account 40 characters fingerprint or a registered username." (let ((id (username->id username))) - (send-dbus/configuration-manager - #:method "removeAccount" - #:arguments (list (string-append "string:" id)))) + (call-configuration-manager-method "removeAccount" (list id))) (invalidate-username-to-id-cache!)) (define* (username->contacts username) @@ -430,15 +210,16 @@ (define* (username->contacts username) fingerprint or a registered username. The contacts returned are represented using their 40 characters fingerprint." (let* ((id (username->id username)) - (reply (send-dbus/configuration-manager - #:method "getContacts" - #:arguments (list (string-append "string:" id)))) - (all-contacts (parse-contacts reply)) + ;; The contacts are returned as "aa{ss}", that is, an array of arrays + ;; containing (string . string) pairs. + (contacts (map vector->list + (vector->list (call-configuration-manager-method + "getContacts" (list id))))) (banned? (lambda (contact) (and=> (assoc-ref contact "banned") (cut string=? "true" <>)))) - (banned (filter banned? all-contacts)) - (not-banned (filter (negate banned?) all-contacts)) + (banned (filter banned? contacts)) + (not-banned (filter (negate banned?) contacts)) (fingerprint (cut assoc-ref <> "id"))) (values (map fingerprint not-banned) (map fingerprint banned)))) @@ -449,27 +230,20 @@ (define* (remove-contact contact username #:key ban?) username). When BAN? is true, also mark the contact as banned." (validate-fingerprint contact) (let ((id (username->id username))) - (send-dbus/configuration-manager - #:method "removeContact" - #:arguments (list (string-append "string:" id) - (string-append "string:" contact) - (serialize-boolean ban?))))) + (call-configuration-manager-method "removeContact" (list id contact ban?)))) (define (add-contact contact username) "Add CONTACT, the 40 characters public key fingerprint of a contact, to the account of USERNAME (either a fingerprint or a registered username)." (validate-fingerprint contact) (let ((id (username->id username))) - (send-dbus/configuration-manager - #:method "addContact" - #:arguments (list (string-append "string:" id) - (string-append "string:" contact))))) + (call-configuration-manager-method "addContact" (list id contact)))) (define* (set-account-details details username #:key timeout) "Set DETAILS, an alist containing the key value pairs to set for the account of USERNAME, a registered username or account fingerprint. The value of the parameters not provided are unchanged. TIMEOUT is a value in milliseconds to -pass to the `send-dbus/configuration-manager' procedure." +pass to the `call-configuration-manager-method' procedure." (let* ((id (username->id username)) (current-details (id->account-details id)) (updated-details (map (match-lambda @@ -477,52 +251,29 @@ (define* (set-account-details details username #:key timeout) (or (and=> (assoc-ref details key) (cut cons key <>)) (cons key value)))) - current-details)) - ;; dbus-send does not permit sending null strings (it throws a - ;; "malformed dictionary" error). Luckily they seem to have the - ;; semantic of "default account value" in Jami; so simply drop them. - (updated-details* (remove (match-lambda - ((_ . value) - (string-null? value))) - updated-details))) - (send-dbus/configuration-manager - #:timeout timeout - #:method "setAccountDetails" - #:arguments - (list (string-append "string:" id) - (string-append "dict:string:string:" - (string-join (alist->list updated-details*) - ",")))))) + current-details))) + (call-configuration-manager-method + "setAccountDetails" (list id (list->vector updated-details)) + #:timeout timeout))) (define (set-all-moderators enabled? username) "Set the 'AllModerators' property to enabled? for the account of USERNAME, a registered username or account fingerprint." (let ((id (username->id username))) - (send-dbus/configuration-manager - #:method "setAllModerators" - #:arguments - (list (string-append "string:" id) - (serialize-boolean enabled?))))) + (call-configuration-manager-method "setAllModerators" (list id enabled?)))) (define (username->all-moderators? username) "Return the 'AllModerators' property for the account of USERNAME, a registered username or account fingerprint." - (let* ((id (username->id username)) - (reply (send-dbus/configuration-manager - #:method "isAllModerators" - #:arguments - (list (string-append "string:" id))))) - (deserialize-item (parse-dbus-reply reply)))) + (let ((id (username->id username))) + (call-configuration-manager-method "isAllModerators" (list id)))) (define (username->moderators username) "Return the moderators for the account of USERNAME, a registered username or account fingerprint." - (let* ((id (username->id username)) - (reply (send-dbus/configuration-manager - #:method "getDefaultModerators" - #:arguments - (list (string-append "string:" id))))) - (array->list (parse-dbus-reply reply)))) + (let* ((id (username->id username))) + (vector->list (call-configuration-manager-method "getDefaultModerators" + (list id))))) (define (set-moderator contact enabled? username) "Set the moderator flag to ENABLED? for CONTACT, the 40 characters public @@ -530,11 +281,8 @@ (define (set-moderator contact enabled? username) username or account fingerprint." (validate-fingerprint contact) (let* ((id (username->id username))) - (send-dbus/configuration-manager #:method "setDefaultModerator" - #:arguments - (list (string-append "string:" id) - (string-append "string:" contact) - (serialize-boolean enabled?))))) + (call-configuration-manager-method "setDefaultModerator" + (list id contact enabled?)))) (define (disable-account username) "Disable the account known by USERNAME, a registered username or account @@ -543,7 +291,7 @@ (define (disable-account username) ;; Waiting for the reply on this command takes a very ;; long time that trips the default D-Bus timeout value ;; (25 s), for some reason. - #:timeout 60000)) + #:timeout 60)) (define (enable-account username) "Enable the account known by USERNAME, a registered username or account @@ -581,7 +329,3 @@ (define sorted-account-details (fold alist-delete account-details first-items)))) (string-join (map pair->recutil-property sorted-account-details) "\n")) - -;; Local Variables: -;; eval: (put 'with-retries 'scheme-indent-function 2) -;; End: diff --git a/gnu/local.mk b/gnu/local.mk index d49af0d898..03e180cc85 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -715,6 +715,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/bootloader.scm \ %D%/build/chromium-extension.scm \ %D%/build/cross-toolchain.scm \ + %D%/build/dbus-service.scm \ %D%/build/image.scm \ %D%/build/jami-service.scm \ %D%/build/file-systems.scm \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 09d5a03555..732b1aea8a 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Petter ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong -;;; Copyright © 2019, 2021 Maxim Cournoyer +;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019, 2020, 2021 Marius Bakke ;;; Copyright © 2020 Nicolò Balzarotti @@ -176,6 +176,23 @@ (define dbus shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 +;;; This variant is used for the Jami service: it provides an entry point to +;;; further customize the configuration of the D-Bus instance run by the +;;; jami-dbus-session service. +(define-public dbus-for-jami + (hidden-package + (package/inherit dbus + (name "dbus-for-jami") + (arguments + (substitute-keyword-arguments (package-arguments dbus) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'customize-config + (lambda _ + (substitute* "bus/session.conf.in" + (("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf") + "/var/run/jami/session-local.conf"))))))))))) + (define glib (package (name "glib") diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index d8ebc7b39d..3b397054a8 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -26,6 +26,7 @@ (define-module (gnu services telephony) #:use-module (gnu packages admin) #:use-module (gnu packages certs) #:use-module (gnu packages glib) + #:use-module (gnu packages guile-xyz) #:use-module (gnu packages jami) #:use-module (gnu packages telephony) #:use-module (guix deprecation) @@ -231,7 +232,7 @@ (define-configuration/no-serialization jami-configuration (file-like libjami) "The Jami daemon package to use.") (dbus - (file-like dbus) + (file-like dbus-for-jami) "The D-Bus package to use to start the required D-Bus session.") (nss-certs (file-like nss-certs) @@ -284,7 +285,20 @@ (define (jami-dbus-session-activation config) #~(begin (use-modules (gnu build activation)) (let ((user (getpwnam "jami"))) - (mkdir-p/perms "/var/run/jami" user #o700))))) + (mkdir-p/perms "/var/run/jami" user #o700) + ;; Customize the D-Bus policy to allow 'root' to access other users' + ;; session bus. Also modify the location of the written PID file, + ;; from the default '/var/run/dbus/pid' location. This file is only + ;; honored by the 'dbus-for-jami' package variant. + (call-with-output-file "/var/run/jami/session-local.conf" + (lambda (port) + (format port "\ + + /var/run/jami/pid + + + +~%"))))))) (define (jami-shepherd-services config) "Return a running the Jami daemon." @@ -292,26 +306,27 @@ (define (jami-shepherd-services config) (nss-certs (jami-configuration-nss-certs config)) (dbus (jami-configuration-dbus config)) (dbus-daemon (file-append dbus "/bin/dbus-daemon")) - (dbus-send (file-append dbus "/bin/dbus-send")) (accounts (jami-configuration-accounts config)) (declarative-mode? (not (eq? 'disabled accounts)))) - (with-imported-modules (source-module-closure - '((gnu build jami-service) - (gnu build shepherd) - (gnu system file-systems))) - - (define list-accounts-action - (shepherd-action - (name 'list-accounts) - (documentation "List the available Jami accounts. Return the account + (with-extensions (list guile-packrat ;used by guile-ac-d-bus + guile-ac-d-bus + ;; Fibers is needed to provide the non-blocking + ;; variant of the 'sleep' procedure. + guile-fibers) + (with-imported-modules (source-module-closure + '((gnu build dbus-service) + (gnu build jami-service) + (gnu build shepherd) + (gnu system file-systems))) + + (define list-accounts-action + (shepherd-action + (name 'list-accounts) + (documentation "List the available Jami accounts. Return the account details alists keyed by their account username.") - (procedure - #~(lambda _ - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda _ ;; Print the accounts summary or long listing, according to ;; user-provided option. (let* ((usernames (get-usernames)) @@ -341,39 +356,31 @@ (define disabled? accounts) (display "\n"))) ;; Return the account-details-list alist. - (map cons usernames accounts))))))) + (map cons usernames accounts)))))) - (define list-account-details-action - (shepherd-action - (name 'list-account-details) - (documentation "Display the account details of the available Jami + (define list-account-details-action + (shepherd-action + (name 'list-account-details) + (documentation "Display the account details of the available Jami accounts in the @code{recutils} format. Return the account details alists keyed by their account username.") - (procedure - #~(lambda _ - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda _ (let* ((usernames (get-usernames)) (accounts (map-in-order username->account usernames))) (for-each (lambda (account) (display (account-details->recutil account)) (display "\n\n")) accounts) - (map cons usernames accounts))))))) + (map cons usernames accounts)))))) - (define list-contacts-action - (shepherd-action - (name 'list-contacts) - (documentation "Display the contacts for each Jami account. Return + (define list-contacts-action + (shepherd-action + (name 'list-contacts) + (documentation "Display the contacts for each Jami account. Return an alist containing the contacts keyed by the account usernames.") - (procedure - #~(lambda _ - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda _ (let* ((usernames (get-usernames)) (contacts (map-in-order username->contacts usernames))) (for-each (lambda (username contacts) @@ -381,19 +388,15 @@ (define list-contacts-action username) (format #t "~{ - ~a~%~}~%" contacts)) usernames contacts) - (map cons usernames contacts))))))) + (map cons usernames contacts)))))) - (define list-moderators-action - (shepherd-action - (name 'list-moderators) - (documentation "Display the moderators for each Jami account. Return + (define list-moderators-action + (shepherd-action + (name 'list-moderators) + (documentation "Display the moderators for each Jami account. Return an alist containing the moderators keyed by the account usernames.") - (procedure - #~(lambda _ - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda _ (let* ((usernames (get-usernames)) (moderators (map-in-order username->moderators usernames))) @@ -406,12 +409,12 @@ (define list-moderators-action (format #t "Moderators for account ~a:~%" username) (format #t "~{ - ~a~%~}~%" moderators)))) usernames moderators) - (map cons usernames moderators))))))) + (map cons usernames moderators)))))) - (define add-moderator-action - (shepherd-action - (name 'add-moderator) - (documentation "Add a moderator for a given Jami account. The + (define add-moderator-action + (shepherd-action + (name 'add-moderator) + (documentation "Add a moderator for a given Jami account. The MODERATOR contact must be given as its 40 characters fingerprint, while the Jami account can be provided as its registered USERNAME or fingerprint. @@ -420,21 +423,17 @@ (define add-moderator-action @end example Return the moderators for the account known by USERNAME.") - (procedure - #~(lambda (_ moderator username) - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda (_ moderator username) (set-all-moderators #f username) (add-contact moderator username) (set-moderator moderator #t username) - (username->moderators username)))))) + (username->moderators username))))) - (define ban-contact-action - (shepherd-action - (name 'ban-contact) - (documentation "Ban a contact for a given or all Jami accounts, and + (define ban-contact-action + (shepherd-action + (name 'ban-contact) + (documentation "Ban a contact for a given or all Jami accounts, and clear their moderator flag. The CONTACT must be given as its 40 characters fingerprint, while the Jami account can be provided as its registered USERNAME or fingerprint, or omitted. When the account is omitted, CONTACT is banned @@ -443,31 +442,22 @@ (define ban-contact-action @example herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f [username] @end example") - (procedure - #~(lambda* (_ contact #:optional username) - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda* (_ contact #:optional username) (let ((usernames (or (and=> username list) (get-usernames)))) (for-each (lambda (username) (set-moderator contact #f username) (remove-contact contact username #:ban? #t)) - usernames))))))) + usernames)))))) - (define list-banned-contacts-action - (shepherd-action - (name 'list-banned-contacts) - (documentation "List the banned contacts for each accounts. Return + (define list-banned-contacts-action + (shepherd-action + (name 'list-banned-contacts) + (documentation "List the banned contacts for each accounts. Return an alist of the banned contacts, keyed by the account usernames.") - (procedure - #~(lambda _ - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) - + (procedure + #~(lambda _ (define banned-contacts (let ((usernames (get-usernames))) (map cons usernames @@ -484,183 +474,157 @@ (define banned-contacts username) (format #t "~{ - ~a~%~}~%" banned)))) banned-contacts) - banned-contacts))))) + banned-contacts)))) - (define enable-account-action - (shepherd-action - (name 'enable-account) - (documentation "Enable an account. It takes USERNAME as an argument, + (define enable-account-action + (shepherd-action + (name 'enable-account) + (documentation "Enable an account. It takes USERNAME as an argument, either a registered username or the fingerprint of the account.") - (procedure - #~(lambda (_ username) - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) - (enable-account username)))))) - - (define disable-account-action - (shepherd-action - (name 'disable-account) - (documentation "Disable an account. It takes USERNAME as an + (procedure + #~(lambda (_ username) + (enable-account username))))) + + (define disable-account-action + (shepherd-action + (name 'disable-account) + (documentation "Disable an account. It takes USERNAME as an argument, either a registered username or the fingerprint of the account.") - (procedure - #~(lambda (_ username) - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) - (disable-account username)))))) - - (list (shepherd-service - (documentation "Run a D-Bus session for the Jami daemon.") - (provision '(jami-dbus-session)) - (modules `((gnu build shepherd) - (gnu build jami-service) - (gnu system file-systems) - ,@%default-modules)) - ;; The requirement on dbus-system is to ensure other required - ;; activation for D-Bus, such as a /etc/machine-id file. - (requirement '(dbus-system syslogd)) - (start - #~(lambda args - (define pid - ((make-forkexec-constructor/container - (list #$dbus-daemon "--session" - "--address=unix:path=/var/run/jami/bus" - "--nofork" "--syslog-only" "--nopidfile") - #:mappings (list (file-system-mapping - (source "/dev/log") ;for syslog - (target source)) - (file-system-mapping - (source "/var/run/jami") - (target source) - (writable? #t))) - #:user "jami" - #:group "jami" - #:environment-variables - ;; This is so that the cx.ring.Ring service D-Bus - ;; definition is found by dbus-send. - (list (string-append "XDG_DATA_DIRS=" - #$jamid "/share"))))) - - ;; XXX: This manual synchronization probably wouldn't be - ;; needed if we were using a PID file, but providing it via a - ;; customized config file with would not override - ;; the one inherited from the base config of D-Bus. - (let ((sock (socket PF_UNIX SOCK_STREAM 0))) - (with-retries 20 1 (catch 'system-error - (lambda () - (connect sock AF_UNIX - "/var/run/jami/bus") - (close-port sock) - #t) - (lambda args - #f)))) - - pid)) - (stop #~(make-kill-destructor))) - - (shepherd-service - (documentation "Run the Jami daemon.") - (provision '(jami)) - (actions (list list-accounts-action - list-account-details-action - list-contacts-action - list-moderators-action - add-moderator-action - ban-contact-action - list-banned-contacts-action - enable-account-action - disable-account-action)) - (requirement '(jami-dbus-session)) - (modules `((ice-9 format) - (ice-9 ftw) - (ice-9 match) - (ice-9 receive) - (srfi srfi-1) - (srfi srfi-26) - (gnu build jami-service) - (gnu build shepherd) - (gnu system file-systems) - ,@%default-modules)) - (start - #~(lambda args - (define (delete-file-recursively/safe file) - ;; Ensure we're not deleting things outside of - ;; /var/lib/jami. This prevents a possible attack in case - ;; the daemon is compromised and an attacker gains write - ;; access to /var/lib/jami. - (let ((parent-directory (dirname file))) - (if (eq? 'symlink (stat:type (stat parent-directory))) - (error "abnormality detected; unexpected symlink found at" - parent-directory) - (delete-file-recursively file)))) - - (when #$declarative-mode? - ;; Clear the Jami configuration and accounts, to enforce the - ;; declared state. - (catch #t - (lambda () - (for-each (cut delete-file-recursively/safe <>) - '("/var/lib/jami/.cache/jami" - "/var/lib/jami/.config/jami" - "/var/lib/jami/.local/share/jami" - "/var/lib/jami/accounts"))) - (lambda args - #t)) - ;; Copy the Jami account archives from somewhere readable - ;; by root to a place only the jami user can read. - (let* ((accounts-dir "/var/lib/jami/accounts/") - (pwd (getpwnam "jami")) - (user (passwd:uid pwd)) - (group (passwd:gid pwd))) - (mkdir-p accounts-dir) - (chown accounts-dir user group) - (for-each (lambda (f) - (let ((dest (string-append accounts-dir - (basename f)))) - (copy-file f dest) - (chown dest user group))) - '#$(and declarative-mode? - (map jami-account-archive accounts))))) - - ;; Start the daemon. - (define daemon-pid - ((make-forkexec-constructor/container - '#$(jami-configuration->command-line-arguments config) - #:mappings - (list (file-system-mapping - (source "/dev/log") ;for syslog - (target source)) - (file-system-mapping - (source "/var/lib/jami") - (target source) - (writable? #t)) - (file-system-mapping - (source "/var/run/jami") - (target source) - (writable? #t)) - ;; Expose TLS certificates for GnuTLS. - (file-system-mapping - (source #$(file-append nss-certs "/etc/ssl/certs")) - (target "/etc/ssl/certs"))) - #:user "jami" - #:group "jami" - #:environment-variables - (list (string-append "DBUS_SESSION_BUS_ADDRESS=" - "unix:path=/var/run/jami/bus") - ;; Expose TLS certificates for OpenSSL. - "SSL_CERT_DIR=/etc/ssl/certs")))) - - (parameterize ((%send-dbus-binary #$dbus-send) - (%send-dbus-bus "unix:path=/var/run/jami/bus") - (%send-dbus-user "jami") - (%send-dbus-group "jami")) + (procedure + #~(lambda (_ username) + (disable-account username))))) + + (list (shepherd-service + (documentation "Run a D-Bus session for the Jami daemon.") + (provision '(jami-dbus-session)) + (modules `((gnu build shepherd) + (gnu build dbus-service) + (gnu build jami-service) + (gnu system file-systems) + ,@%default-modules)) + ;; The requirement on dbus-system is to ensure other required + ;; activation for D-Bus, such as a /etc/machine-id file. + (requirement '(dbus-system syslogd)) + (start + #~(make-forkexec-constructor/container + (list #$dbus-daemon "--session" + "--address=unix:path=/var/run/jami/bus" + "--syslog-only") + #:pid-file "/var/run/jami/pid" + #:mappings + (list (file-system-mapping + (source "/dev/log") ;for syslog + (target source)) + (file-system-mapping + (source "/var/run/jami") + (target source) + (writable? #t))) + #:user "jami" + #:group "jami" + #:environment-variables + ;; This is so that the cx.ring.Ring service D-Bus + ;; definition is found by dbus-daemon. + (list (string-append "XDG_DATA_DIRS=" #$jamid "/share")))) + (stop #~(make-kill-destructor))) + + (shepherd-service + (documentation "Run the Jami daemon.") + (provision '(jami)) + (actions (list list-accounts-action + list-account-details-action + list-contacts-action + list-moderators-action + add-moderator-action + ban-contact-action + list-banned-contacts-action + enable-account-action + disable-account-action)) + (requirement '(jami-dbus-session)) + (modules `((ice-9 format) + (ice-9 ftw) + (ice-9 match) + (ice-9 receive) + (srfi srfi-1) + (srfi srfi-26) + (gnu build dbus-service) + (gnu build jami-service) + (gnu build shepherd) + (gnu system file-systems) + ,@%default-modules)) + (start + #~(lambda args + (define (delete-file-recursively/safe file) + ;; Ensure we're not deleting things outside of + ;; /var/lib/jami. This prevents a possible attack in case + ;; the daemon is compromised and an attacker gains write + ;; access to /var/lib/jami. + (let ((parent-directory (dirname file))) + (if (eq? 'symlink (stat:type (stat parent-directory))) + (error "abnormality detected; unexpected symlink found at" + parent-directory) + (delete-file-recursively file)))) + + (when #$declarative-mode? + ;; Clear the Jami configuration and accounts, to enforce the + ;; declared state. + (catch #t + (lambda () + (for-each (cut delete-file-recursively/safe <>) + '("/var/lib/jami/.cache/jami" + "/var/lib/jami/.config/jami" + "/var/lib/jami/.local/share/jami" + "/var/lib/jami/accounts"))) + (lambda args + #t)) + ;; Copy the Jami account archives from somewhere readable + ;; by root to a place only the jami user can read. + (let* ((accounts-dir "/var/lib/jami/accounts/") + (pwd (getpwnam "jami")) + (user (passwd:uid pwd)) + (group (passwd:gid pwd))) + (mkdir-p accounts-dir) + (chown accounts-dir user group) + (for-each (lambda (f) + (let ((dest (string-append accounts-dir + (basename f)))) + (copy-file f dest) + (chown dest user group))) + '#$(and declarative-mode? + (map jami-account-archive accounts))))) + + ;; Start the daemon. + (define daemon-pid + ((make-forkexec-constructor/container + '#$(jami-configuration->command-line-arguments config) + #:mappings + (list (file-system-mapping + (source "/dev/log") ;for syslog + (target source)) + (file-system-mapping + (source "/var/lib/jami") + (target source) + (writable? #t)) + (file-system-mapping + (source "/var/run/jami") + (target source) + (writable? #t)) + ;; Expose TLS certificates for GnuTLS. + (file-system-mapping + (source #$(file-append nss-certs "/etc/ssl/certs")) + (target "/etc/ssl/certs"))) + #:user "jami" + #:group "jami" + #:environment-variables + (list (string-append "DBUS_SESSION_BUS_ADDRESS=" + "unix:path=/var/run/jami/bus") + ;; Expose TLS certificates for OpenSSL. + "SSL_CERT_DIR=/etc/ssl/certs")))) + + (setenv "DBUS_SESSION_BUS_ADDRESS" + "unix:path=/var/run/jami/bus") ;; Wait until the service name has been acquired by D-Bus. - (with-retries 20 1 - (dbus-service-available? "cx.ring.Ring")) + (with-retries 20 1 (jami-service-available?)) (when #$declarative-mode? ;; Provision the accounts via the D-Bus API of the daemon. @@ -717,17 +681,17 @@ (define (archive-name->username archive) (map-in-order (cut jami-account-moderators <>) accounts)) '#$(and declarative-mode? - (map-in-order jami-account->alist accounts)))))) - - ;; Finally, return the PID of the daemon process. - daemon-pid)) - (stop - #~(lambda (pid . args) - (kill pid SIGKILL) - ;; Wait for the process to exit; this prevents overlapping - ;; processes when issuing 'herd restart'. - (waitpid pid) - #f))))))) + (map-in-order jami-account->alist accounts))))) + + ;; Finally, return the PID of the daemon process. + daemon-pid)) + (stop + #~(lambda (pid . args) + (kill pid SIGKILL) + ;; Wait for the process to exit; this prevents overlapping + ;; processes when issuing 'herd restart'. + (waitpid pid) + #f)))))))) (define jami-service-type (service-type diff --git a/gnu/tests/telephony.scm b/gnu/tests/telephony.scm index bc464a431a..16ee313f69 100644 --- a/gnu/tests/telephony.scm +++ b/gnu/tests/telephony.scm @@ -20,6 +20,7 @@ (define-module (gnu tests telephony) #:use-module (gnu) #:use-module (gnu packages) #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) #:use-module (gnu tests) #:use-module (gnu system vm) #:use-module (gnu services) @@ -125,221 +126,204 @@ (define username (assoc-ref %jami-account-content-sexp "Account.username")) (define test - (with-imported-modules (source-module-closure - '((gnu build marionette) - (gnu build jami-service))) - #~(begin - (use-modules (rnrs base) - (srfi srfi-11) - (srfi srfi-64) - (gnu build marionette) - (gnu build jami-service)) - - (define marionette - (make-marionette (list #$vm))) - - (test-runner-current (system-test-runner #$output)) - (test-begin "jami") - - (test-assert "service is running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (match (start-service 'jami) - (#f #f) - (('service response-parts ...) - (match (assq-ref response-parts 'running) - ((pid) (number? pid)))))) - marionette)) - - (test-assert "service can be stopped" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base)) - (setenv "PATH" "/run/current-system/profile/bin") - (let ((pid (match (start-service 'jami) - (#f #f) - (('service response-parts ...) - (match (assq-ref response-parts 'running) - ((pid) pid)))))) - - (assert (number? pid)) - - (match (stop-service 'jami) - (services ;a list of service symbols - (member 'jami services))) - ;; Sometimes, the process still appear in pgrep, even - ;; though we are using waitpid after sending it SIGTERM - ;; in the service; use retries. + (with-extensions (list guile-packrat ;used by guile-ac-d-bus + guile-ac-d-bus + ;; Fibers is needed to provide the non-blocking + ;; variant of the 'sleep' procedure. + guile-fibers) + (with-imported-modules (source-module-closure + '((gnu build marionette) + (gnu build dbus-service) + (gnu build jami-service))) + #~(begin + (use-modules (rnrs base) + (srfi srfi-11) + (srfi srfi-64) + (gnu build marionette) + (gnu build dbus-service) + (gnu build jami-service)) + + (setenv "DBUS_SESSION_BUS_ADDRESS" "unix:path=/var/run/jami/bus") + + (define marionette + (make-marionette (list #$vm))) + + (test-runner-current (system-test-runner #$output)) + (test-begin "jami") + + (test-assert "service is running" + (marionette-eval + '(begin + (use-modules (gnu build jami-service)) + (jami-service-available?)) + marionette)) + + (test-assert "service can be stopped" + (marionette-eval + '(begin + (use-modules (gnu build jami-service) + (gnu services herd) + (rnrs base)) + (assert (jami-service-available?)) + + (stop-service 'jami) + + (with-retries 20 1 (not (jami-service-available?)))) + marionette)) + + (test-assert "service can be restarted" + (marionette-eval + '(begin + (use-modules (gnu build dbus-service) + (gnu build jami-service) + (gnu services herd) + (rnrs base) ) + ;; Start the service. + (start-service 'jami) + (with-retries 20 1 (jami-service-available?)) + ;; Restart the service. + (restart-service 'jami) + (with-retries 20 1 (jami-service-available?))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, account present" + (marionette-eval + '(begin + (use-modules (gnu build dbus-service) + (gnu services herd) + (rnrs base)) + ;; Accounts take some time to appear after being added. (with-retries 20 1 - (not (zero? (status:exit-val - (system* "pgrep" "jamid"))))))) - marionette)) - - (test-assert "service can be restarted" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base)) - ;; Start and retrieve the current PID. - (define pid (match (start-service 'jami) - (#f #f) - (('service response-parts ...) - (match (assq-ref response-parts 'running) - ((pid) pid))))) - (assert (number? pid)) - - ;; Restart the service. - (restart-service 'jami) - - (define new-pid (match (start-service 'jami) - (#f #f) - (('service response-parts ...) - (match (assq-ref response-parts 'running) - ((pid) pid))))) - (assert (number? new-pid)) - - (not (eq? pid new-pid))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami accounts provisioning, account present" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base)) - ;; Accounts take some time to appear after being added. - (with-retries 20 1 - (with-shepherd-action 'jami ('list-accounts) results + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string=? #$username + (assoc-ref account + "Account.username"))))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, allowed-contacts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Public mode is disabled. + (with-shepherd-action 'jami ('list-account-details) + results (let ((account (assoc-ref (car results) #$username))) - (assert (string=? #$username + (assert (string=? "false" (assoc-ref account - "Account.username"))))))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami accounts provisioning, allowed-contacts" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base) - (srfi srfi-1)) - - ;; Public mode is disabled. - (with-shepherd-action 'jami ('list-account-details) - results - (let ((account (assoc-ref (car results) #$username))) - (assert (string=? "false" - (assoc-ref account - "DHT.PublicInCalls"))))) - - ;; Allowed contacts match those declared in the configuration. - (with-shepherd-action 'jami ('list-contacts) results - (let ((contacts (assoc-ref (car results) #$username))) - (assert (lset= string-ci=? contacts '#$%allowed-contacts))))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami accounts provisioning, moderators" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base) - (srfi srfi-1)) - - ;; Moderators match those declared in the configuration. - (with-shepherd-action 'jami ('list-moderators) results - (let ((moderators (assoc-ref (car results) #$username))) - (assert (lset= string-ci=? moderators '#$%moderators)))) - - ;; Moderators can be added via the Shepherd action. - (with-shepherd-action 'jami - ('add-moderator "cccccccccccccccccccccccccccccccccccccccc" - #$username) results - (let ((moderators (car results))) - (assert (lset= string-ci=? moderators - (cons "cccccccccccccccccccccccccccccccccccccccc" - '#$%moderators)))))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami service actions, ban/unban contacts" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base) - (srfi srfi-1)) - - ;; Globally ban a contact. - (with-shepherd-action 'jami - ('ban-contact "1dbcb0f5f37324228235564b79f2b9737e9a008f") _ - (with-shepherd-action 'jami ('list-banned-contacts) results - (every (match-lambda - ((username . banned-contacts) - (member "1dbcb0f5f37324228235564b79f2b9737e9a008f" - banned-contacts))) - (car results)))) - - ;; Ban a contact for a single account. - (with-shepherd-action 'jami - ('ban-contact "dddddddddddddddddddddddddddddddddddddddd" - #$username) _ - (with-shepherd-action 'jami ('list-banned-contacts) results - (every (match-lambda - ((username . banned-contacts) - (let ((found? (member "dddddddddddddddddddddddddddddddddddddddd" - banned-contacts))) - (if (string=? #$username username) - found? - (not found?))))) - (car results))))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami service actions, enable/disable accounts" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base)) - - (with-shepherd-action 'jami - ('disable-account #$username) _ - (with-shepherd-action 'jami ('list-accounts) results - (let ((account (assoc-ref (car results) #$username))) - (assert (string= "false" - (assoc-ref account "Account.enable")))))) - - (with-shepherd-action 'jami - ('enable-account #$username) _ - (with-shepherd-action 'jami ('list-accounts) results - (let ((account (assoc-ref (car results) #$username))) - (assert (string= "true" - (assoc-ref account "Account.enable"))))))) - marionette)) - - (unless #$provisioning? (test-skip 1)) - (test-assert "jami account parameters" - (marionette-eval - '(begin - (use-modules (gnu services herd) - (rnrs base) - (srfi srfi-1)) - - (with-shepherd-action 'jami ('list-account-details) results - (let ((account-details (assoc-ref (car results) - #$username))) - (assert (lset<= - equal? - '(("Account.hostname" . - "bootstrap.me;fallback.another.host") - ("Account.peerDiscovery" . "false") - ("Account.rendezVous" . "true") - ("RingNS.uri" . "https://my.name.server")) - account-details))))) - marionette)) - - (test-end)))) + "DHT.PublicInCalls"))))) + + ;; Allowed contacts match those declared in the configuration. + (with-shepherd-action 'jami ('list-contacts) results + (let ((contacts (assoc-ref (car results) #$username))) + (assert (lset= string-ci=? contacts '#$%allowed-contacts))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, moderators" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Moderators match those declared in the configuration. + (with-shepherd-action 'jami ('list-moderators) results + (let ((moderators (assoc-ref (car results) #$username))) + (assert (lset= string-ci=? moderators '#$%moderators)))) + + ;; Moderators can be added via the Shepherd action. + (with-shepherd-action 'jami + ('add-moderator "cccccccccccccccccccccccccccccccccccccccc" + #$username) results + (let ((moderators (car results))) + (assert (lset= string-ci=? moderators + (cons "cccccccccccccccccccccccccccccccccccccccc" + '#$%moderators)))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami service actions, ban/unban contacts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Globally ban a contact. + (with-shepherd-action 'jami + ('ban-contact "1dbcb0f5f37324228235564b79f2b9737e9a008f") _ + (with-shepherd-action 'jami ('list-banned-contacts) results + (every (match-lambda + ((username . banned-contacts) + (member "1dbcb0f5f37324228235564b79f2b9737e9a008f" + banned-contacts))) + (car results)))) + + ;; Ban a contact for a single account. + (with-shepherd-action 'jami + ('ban-contact "dddddddddddddddddddddddddddddddddddddddd" + #$username) _ + (with-shepherd-action 'jami ('list-banned-contacts) results + (every (match-lambda + ((username . banned-contacts) + (let ((found? (member "dddddddddddddddddddddddddddddddddddddddd" + banned-contacts))) + (if (string=? #$username username) + found? + (not found?))))) + (car results))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami service actions, enable/disable accounts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base)) + + (with-shepherd-action 'jami + ('disable-account #$username) _ + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string= "false" + (assoc-ref account "Account.enable")))))) + + (with-shepherd-action 'jami + ('enable-account #$username) _ + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string= "true" + (assoc-ref account "Account.enable"))))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami account parameters" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + (with-shepherd-action 'jami ('list-account-details) results + (let ((account-details (assoc-ref (car results) + #$username))) + (assert (lset<= + equal? + '(("Account.hostname" . + "bootstrap.me;fallback.another.host") + ("Account.peerDiscovery" . "false") + ("Account.rendezVous" . "true") + ("RingNS.uri" . "https://my.name.server")) + account-details))))) + marionette)) + + (test-end))))) (gexp->derivation (if provisioning? "jami-provisioning-test" @@ -357,7 +341,3 @@ (define %test-jami-provisioning (name "jami-provisioning") (description "Provisioning test for the jami service.") (value (run-jami-test #:provisioning? #t)))) - -;; Local Variables: -;; eval: (put 'with-retries 'scheme-indent-function 2) -;; End: -- cgit v1.2.3 From 8994e13b9f7bd5c444f3dcf0d5ba94f6e658771a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Jun 2022 12:50:25 -0400 Subject: least-authority: Fix typo. * guix/least-authority.scm (least-authority-wrapper): Fix typo in doc. --- guix/least-authority.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/least-authority.scm b/guix/least-authority.scm index d871816fca..bfd7275e7c 100644 --- a/guix/least-authority.scm +++ b/guix/least-authority.scm @@ -51,7 +51,7 @@ (define* (least-authority-wrapper program "Return a wrapper of PROGRAM that executes it with the least authority. PROGRAM is executed in separate namespaces according to NAMESPACES, a list of -symbols; it turns with GUEST-UID and GUEST-GID. MAPPINGS is a list of +symbols; it runs with GUEST-UID and GUEST-GID. MAPPINGS is a list of records indicating directories mirrored inside the execution environment of PROGRAM. DIRECTORY is the working directory of the wrapped process. Each environment listed in PRESERVED-ENVIRONMENT-VARIABLES -- cgit v1.2.3 From 8649ac5eaa0447a766b18550787b60639e57a7fb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Jun 2022 09:53:32 -0400 Subject: services: jami-configuration: Rename 'jamid' field to 'libjami'. * gnu/services/telephony.scm (gnu): (jami-configuration)[jamid]: Rename field to... [libjami]: ... this. (jami-configuration->command-line-arguments): Adjust accordingly. (jami-shepherd-services): Likewise. --- doc/guix.texi | 2 +- gnu/services/telephony.scm | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6811429cda..2961cf3608 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25543,7 +25543,7 @@ The complete set of available configuration options is detailed below. Available @code{jami-configuration} fields are: @table @asis -@item @code{jamid} (default: @code{libjami}) (type: package) +@item @code{libjami} (default: @code{libjami}) (type: package) The Jami daemon package to use. @item @code{dbus} (default: @code{dbus-for-jami}) (type: package) diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 3b397054a8..0a11e283a0 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -49,7 +49,7 @@ (define-module (gnu services telephony) jami-account-name-server-uri jami-configuration - jami-configuration-jamid + jami-configuration-libjami jami-configuration-dbus jami-configuration-enable-logging? jami-configuration-debug? @@ -228,7 +228,7 @@ (define (jami-account-list? val) (define-maybe/no-serialization jami-account-list) (define-configuration/no-serialization jami-configuration - (jamid + (libjami (file-like libjami) "The Jami daemon package to use.") (dbus @@ -266,8 +266,8 @@ (define (jami-configuration->command-line-arguments config) "Derive the command line arguments to used to launch the Jami daemon from CONFIG, a object." (match-record config - (jamid dbus enable-logging? debug? auto-answer?) - `(,(file-append jamid "/libexec/jamid") + (libjami dbus enable-logging? debug? auto-answer?) + `(,(file-append libjami "/libexec/jamid") "--persistent" ;stay alive after client quits ,@(if enable-logging? '() ;logs go to syslog by default @@ -302,7 +302,7 @@ (define (jami-dbus-session-activation config) (define (jami-shepherd-services config) "Return a running the Jami daemon." - (let* ((jamid (jami-configuration-jamid config)) + (let* ((libjami (jami-configuration-libjami config)) (nss-certs (jami-configuration-nss-certs config)) (dbus (jami-configuration-dbus config)) (dbus-daemon (file-append dbus "/bin/dbus-daemon")) @@ -524,7 +524,7 @@ (define disable-account-action #:environment-variables ;; This is so that the cx.ring.Ring service D-Bus ;; definition is found by dbus-daemon. - (list (string-append "XDG_DATA_DIRS=" #$jamid "/share")))) + (list (string-append "XDG_DATA_DIRS=" #$libjami "/share")))) (stop #~(make-kill-destructor))) (shepherd-service -- cgit v1.2.3 From a99015c8783eb5281618173779a0550b15a79617 Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Tue, 24 May 2022 19:16:30 +0200 Subject: system: Align zram priority with swap-space spec to clarify. Fixes . * gnu/services/linux.scm (zram-device-configuration) [priority]: Adapt to use #f or an integer from 0 to 32767. Add sanitizer to warn for the change and delay the field. (zram-device-configuration->udev-string): Adapt as above. * doc/guix.texi (Zram Device Service): Remove double copyright line. Change priority description to refer to the Swap Space one, and suggest not leaving the default #f on to properly use zram. Reported-by: Stefan Baums Modified-by: Maxim Cournoyer Signed-off-by: Maxim Cournoyer --- doc/guix.texi | 11 +++++------ gnu/services/linux.scm | 29 +++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2961cf3608..2aef0380fb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -96,10 +96,9 @@ Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* -Copyright @copyright{} 2021 Josselin Poiret@* +Copyright @copyright{} 2021, 2022 Josselin Poiret@* Copyright @copyright{} 2021 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* -Copyright @copyright{} 2021 Josselin Poiret@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* @@ -35202,11 +35201,11 @@ that compression will be 2:1, it is possible that uncompressable data can be written to swap and this is a method to limit how much memory can be used. It accepts a string and can be a number of bytes or use a suffix, eg.: @code{"2G"}. -@item @code{priority} (default @code{-1}) +@item @code{priority} (default @code{#f}) This is the priority of the swap device created from the zram device. -@code{swapon} accepts values between -1 and 32767, with higher values -indicating higher priority. Higher priority swap will generally be used -first. +@xref{Swap Space} for a description of swap priorities. You might want +to set a specific priority for the zram device, otherwise it could end +up not being used much for the reasons described there. @end table @end deftp diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index 2eb02ac5a3..60e2093e1d 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 raid5atemyhomework ;;; Copyright © 2021 B. Wilson +;;; Copyright © 2022 Josselin Poiret ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,9 +22,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu services linux) + #:use-module (guix diagnostics) #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix i18n) + #:use-module (guix ui) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services shepherd) @@ -252,7 +256,21 @@ (define-record-type* (memory-limit zram-device-configuration-memory-limit (default 0)) ; string or integer (priority zram-device-configuration-priority - (default -1))) ; integer + (default #f) ; integer | #f + (delayed) ; to avoid printing the deprecation + ; warning multiple times + (sanitize warn-zram-priority-change))) + +(define-with-syntax-properties + (warn-zram-priority-change (priority properties)) + (if (eqv? priority -1) + (begin + (warning (source-properties->location properties) + (G_ "using -1 for zram priority is deprecated~%")) + (display-hint (G_ "Use #f or leave as default instead (@pxref{Linux \ +Services}).")) + #f) + priority)) (define (zram-device-configuration->udev-string config) "Translate a into a string which can be @@ -278,9 +296,12 @@ (define (zram-device-configuration->udev-string config) "") "RUN+=\"/run/current-system/profile/sbin/mkswap /dev/zram0\" " "RUN+=\"/run/current-system/profile/sbin/swapon " - (if (not (equal? -1 priority)) - (string-append "--priority " (number->string priority) " ") - "") + ;; TODO: Revert to simply use 'priority' after removing the deprecation + ;; warning and the delayed property of the field. + (let ((priority* (force priority))) + (if priority* + (format #f "--priority ~a " priority*) + "")) "/dev/zram0\"\n")))) (define %zram-device-config -- cgit v1.2.3 From 2d7548f0cf0d4e2908bc25510d736865a4e83436 Mon Sep 17 00:00:00 2001 From: Haider Mirza Date: Fri, 10 Jun 2022 20:08:19 +0100 Subject: gnu: Add emacs-org-auto-tangle. * gnu/packages/emacs-xyz.scm (emacs-org-auto-tangle): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 791bb8a0ce..2f9de403af 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -113,6 +113,7 @@ ;;; Copyright © 2022 Peter Polidoro ;;; Copyright © 2022 Luis Felipe López Acevedo ;;; Copyright © 2022 Thomas Albers Raviola +;;; Copyright © 2022 Haider Mirza ;;; ;;; This file is part of GNU Guix. ;;; @@ -18639,6 +18640,28 @@ (define-public emacs-bing-dict Chinese to English.") (license license:gpl3+))) +(define-public emacs-org-auto-tangle + (package + (name "emacs-org-auto-tangle") + (version "0.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yilkalargaw/org-auto-tangle") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zb7vcmhmjiqpbbhqrqci689rnpn10p985cs5jk9sgg66xsbrgs3")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-async)) + (home-page "https://github.com/yilkalargaw/org-auto-tangle") + (synopsis "Automatically tangle code blocks on save") + (description + "@code{org-auto-tangle} allows you to automatically tangle code blocks +whenever saving an @code{org-mode} file.") + (license license:bsd-2))) + (define-public emacs-org-auto-expand (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62") (revision "1")) -- cgit v1.2.3 From f0fa2b25ba9d98644af3e79f025716c46fbed29a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: python-pyodbc: Remove precompiled .pyc files from source. * gnu/packages/databases.scm (python-pyodbc)[source]: Add a snippet. Remove no-op file-name. --- gnu/packages/databases.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9cb5491f22..8ae9c674fb 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3050,7 +3050,10 @@ (define-public python-pyodbc (uri (pypi-uri "pyodbc" version)) (sha256 (base32 "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5")) - (file-name (string-append name "-" version ".tar.gz")))) + (modules '((guix build utils))) + (snippet + ;; Delete precompiled binaries. The corresponding source is included. + #~(for-each delete-file (find-files "." "\\.pyc$"))))) (build-system python-build-system) (inputs (list unixodbc)) -- cgit v1.2.3 From 07edc13f0431401071f29ddb1982d92f00b63327 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: python-pyodbc: Document the test situation. * gnu/packages/databases.scm (python-pyodbc)[arguments]: Replace counterfactual comment with one that isn't. Add a custom 'check phase, which doesn't run. --- gnu/packages/databases.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8ae9c674fb..9bf4dc6bf0 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3058,7 +3058,15 @@ (define-public python-pyodbc (inputs (list unixodbc)) (arguments - `(#:tests? #f)) ; no unit tests exist + ;; XXX Tests fail with ‘Can't open lib 'SQL Server Native Client 10.0' : + ;; file not found (0) (SQLDriverConnect)")’. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python3" "tests3/test.py"))))))) (home-page "https://github.com/mkleehammer/pyodbc") (synopsis "Python ODBC Library") (description "@code{python-pyodbc} provides a Python DB-API driver -- cgit v1.2.3 From 64b12a1abfd7562c6d0652d05aad8cedf5400d9c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:02 +0200 Subject: gnu: python-pyodbc: Update to 4.0.32. * gnu/packages/databases.scm (python-pyodbc): Update to 4.0.32. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9bf4dc6bf0..fd8cc5187c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3043,13 +3043,13 @@ (define-public python-pyodbc-c (define-public python-pyodbc (package (name "python-pyodbc") - (version "4.0.30") + (version "4.0.32") (source (origin (method url-fetch) (uri (pypi-uri "pyodbc" version)) (sha256 - (base32 "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5")) + (base32 "0sqs0x2l5mk3yv0wwz3ya8yh5f4babihyhc8hjbf2m86b71z1rcv")) (modules '((guix build utils))) (snippet ;; Delete precompiled binaries. The corresponding source is included. -- cgit v1.2.3 From 289b521584abc587140cfa047984e73eac119903 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: python-pyodbc-c: Don't use unstable tarball. * gnu/packages/databases.scm (python-pyodbc-c)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/databases.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fd8cc5187c..ce7723b45f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3021,13 +3021,13 @@ (define-public python-pyodbc-c (version "3.1.4") (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/daym/pyodbc-c/repository/" - "archive.tar.gz?ref=v" version)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/daym/pyodbc-c/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "05aq2297k779xidmxcwkrrxjvj1bh2q7d9a1rcjv6zr15y764ga9")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "1mm2vif3b5yq0j6x3idl748w37n2i6j0clah3h967jyrl4p2c7vi")))) (build-system python-build-system) (inputs (list unixodbc)) -- cgit v1.2.3 From 89c7a2c891ec82ed3d9c2fbec677adc67736dd94 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: python-pyodbc-c: Update to 3.1.5. * gnu/packages/databases.scm (python-pyodbc-c): Update to 3.1.5. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ce7723b45f..41cca7184b 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3018,7 +3018,7 @@ (define-public sqlcipher (define-public python-pyodbc-c (package (name "python-pyodbc-c") - (version "3.1.4") + (version "3.1.5") (source (origin (method git-fetch) @@ -3027,7 +3027,7 @@ (define-public python-pyodbc-c (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mm2vif3b5yq0j6x3idl748w37n2i6j0clah3h967jyrl4p2c7vi")))) + (base32 "08y60c5sx0k953zfx0s2a155l8py968sb17ap9a9fg8bjnj783k8")))) (build-system python-build-system) (inputs (list unixodbc)) -- cgit v1.2.3 From c794df84907cbfff85ecd8c0b054583ffbeae38f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:04 +0200 Subject: gnu: python-pyodbc-c: Fix metadata. It appears to have been copied from python-pyodbc, a different project. * gnu/packages/databases.scm (python-pyodbc-c)[synopsis, description]: Describe this project instead, and how it differs. [home-page]: Point elsewhere. --- gnu/packages/databases.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 41cca7184b..bf00c9d23d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3034,10 +3034,13 @@ (define-public python-pyodbc-c (arguments `(;; No unit tests exist. #:tests? #f)) - (home-page "https://github.com/mkleehammer/pyodbc") - (synopsis "Python ODBC Library") + (home-page "https://gitlab.com/daym/pyodbc-c") + (synopsis "Python ODBC Library written in C") (description "@code{python-pyodbc-c} provides a Python DB-API driver -for ODBC.") +for ODBC, similar to python-pyodbc but written in C. + +It's designed to stand alone and not have other dependencies on other packages +or languages. It uses only Python's built-in data types.") (license (license:x11-style "file://LICENSE.TXT")))) (define-public python-pyodbc -- cgit v1.2.3 From c23d4871a609018b16ce27f2a131f9a20bf075c2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:05 +0200 Subject: gnu: irssi: Update to 1.4.1. * gnu/packages/irc.scm (irssi): Update to 1.4.1. [arguments]: Remove unmaintained "--with-bot". --- gnu/packages/irc.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 37d58f5d6b..27c8f40555 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -151,7 +151,7 @@ (define-public quassel (define-public irssi (package (name "irssi") - (version "1.2.3") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -159,7 +159,7 @@ (define-public irssi version ".tar.xz")) (sha256 (base32 - "17vninwcdfxw39xl2q55qircckckjk2xlvkvlwgj5lhlxppvyix6")))) + "00bmwkpzhqqnsajakk7dviap1i8s89375kwpdyxg65ms3ds94xka")))) (build-system gnu-build-system) (arguments `(#:phases @@ -172,8 +172,7 @@ (define-public irssi (string-append "--prefix=" out) (string-append "--enable-true-color") (string-append "--with-proxy") - (string-append "--with-socks") - (string-append "--with-bot"))))) + (string-append "--with-socks"))))) (add-before 'check 'set-home (lambda _ (setenv "HOME" (getcwd))))))) -- cgit v1.2.3 From 1643402950b2d2384ec74fb69e059cc6a4c4ebed Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 11 Jun 2022 22:54:32 +0200 Subject: gnu: offlate: Update to 0.6.1. * gnu/packages/python-xyz.scm (offlate): Update to 0.6.1. --- gnu/packages/python-xyz.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 344a1d9089..17d77972e5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -24331,7 +24331,7 @@ (define-public python-wget (define-public offlate (package (name "offlate") - (version "0.5") + (version "0.6.1") (source (origin (method git-fetch) @@ -24341,33 +24341,37 @@ (define-public offlate (file-name (git-file-name name version)) (sha256 (base32 - "13pqnbl05wcyldfvl75fp89vjgwsvxyc69vhnb17kkha2rc2k1h7")))) + "1sx5cv8pamyw1m089b6x8ykaxdkx26jk9cblhbzlf0m3ckz52jik")))) (build-system python-build-system) (arguments ;; No tests `(#:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-for-pygit2 - (lambda _ - (substitute* "offlate/systems/git.py" - (("pygit2.remote.RemoteCallbacks") - "pygit2.RemoteCallbacks"))))))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-fonts + (lambda _ + (invoke "make" "fonts"))) + (add-before 'build 'generate-translations + (lambda _ + (invoke "make" "update-langs")))))) (propagated-inputs (list python-android-stringslib python-dateutil python-gitlab python-lxml python-polib + python-pycountry python-pyenchant python-pygit2 python-pygithub python-pyqt python-requests python-ruamel.yaml + python-translate-toolkit python-translation-finder python-watchdog)) (native-inputs - (list qttools)) + (list qttools fontforge)) (home-page "https://framagit.org/tyreunom/offlate") (synopsis "Offline translation interface for online translation tools") (description "Offlate offers a unified interface for different translation -- cgit v1.2.3 From 898511205cb8e2f3e6f522c779b0cd9fc42fdfbf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: irssi: Edit description. * gnu/packages/irc.scm (irssi)[synopsis, description]: Expound. --- gnu/packages/irc.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 27c8f40555..fb786ce5ab 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -181,10 +181,14 @@ (define-public irssi (native-inputs (list pkg-config)) (home-page "https://irssi.org/") - (synopsis "Terminal-based IRC client") + (synopsis "Extensible terminal-based IRC client") (description - "Irssi is a terminal based IRC client for UNIX systems. It also supports -SILC and ICB protocols via plugins.") + "Irssi is a text terminal-based @acronym{IRC, Internet relay chat} client. +It is completely themable and extensible through Perl scripts, of which many +have already been written by the community. + +Plug-ins add support for other protocols like @acronym{SILC, Secure Internet Live +Conferencing} and @acronym{ICB, Internet Citizen's Band}.") (license license:gpl2+))) (define-public weechat -- cgit v1.2.3 From b8686f1bfca19816b75d376df52966386a48f082 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: python-pyodbc-c: Fix comment. * gnu/packages/databases.scm (python-pyodbc-c): Fix comment about tests. --- gnu/packages/databases.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bf00c9d23d..9980cbe9aa 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3032,7 +3032,7 @@ (define-public python-pyodbc-c (inputs (list unixodbc)) (arguments - `(;; No unit tests exist. + `(;; The tests require a running SQL server that they don't help set up. #:tests? #f)) (home-page "https://gitlab.com/daym/pyodbc-c") (synopsis "Python ODBC Library written in C") -- cgit v1.2.3 From 7d00cdf44deefbf8cd4c6df7d05a4a32c82815a6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: diffoscope: Update to 216. * gnu/packages/diffoscope.scm (diffoscope): Update to 216. --- gnu/packages/diffoscope.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 1cb0a7ad76..2b12471228 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -74,7 +74,7 @@ (define-module (gnu packages diffoscope) (define-public diffoscope (package (name "diffoscope") - (version "215") + (version "216") (source (origin (method git-fetch) @@ -83,7 +83,7 @@ (define-public diffoscope (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "16pyqbyrfsxjnpmr9913x2brz3mxplhz62rxwix1c0p7afwjw835")) + (base32 "066w4mcrjvymwii5j5hylcslpz18wgd5afl11z1n3588j8c1zw15")) (patches (search-patches "diffoscope-fix-llvm-test.patch")))) (build-system python-build-system) -- cgit v1.2.3 From cd81b3bdfdace23809bea022b0540fe432116a72 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: memkind: Update to 1.13.0. * gnu/packages/disk.scm (memkind): Update to 1.13.0. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 974467d72c..6fb3880f76 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1253,7 +1253,7 @@ (define-public hddtemp (define-public memkind (package (name "memkind") - (version "1.12.0") + (version "1.13.0") (source (origin (method git-fetch) (uri (git-reference @@ -1261,7 +1261,7 @@ (define-public memkind (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1s52vl2jlrdc8nxnvf993x9mcag56qxcaniiijhmsv42a26hvjk4")))) + (base32 "0zbil6xqmsrnh773ihxyfna6pvvxv3kczdb3g863ssflwwvv7h4w")))) (build-system gnu-build-system) (inputs (list ;; memkind patched jemalloc to add je_arenalookupx, -- cgit v1.2.3 From 67a78c0ad60e523362c5dd70731828c28d34e7f5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:06 +0200 Subject: gnu: ndctl: Update to 73. * gnu/packages/disk.scm (ndctl): Update to 73. [build-system]: Switch to Meson. [arguments]: Adjust #:configure-flags accordingly. Remove #:make-flags. [native-inputs]: Remove automake, autoconf, and libtool. --- gnu/packages/disk.scm | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 6fb3880f76..8886d1c2a2 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -93,6 +93,7 @@ (define-module (gnu packages disk) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system scons) @@ -883,7 +884,7 @@ (define-public volume-key (define-public ndctl (package (name "ndctl") - (version "72.1") + (version "73") (source (origin (method git-fetch) (uri (git-reference @@ -892,12 +893,16 @@ (define-public ndctl (file-name (git-file-name name version)) (sha256 (base32 - "1lvrhlad5n43bal053ihgbwr1k4ka2kscrjwr9rs5xnf2vy7204v")))) - (build-system gnu-build-system) + "19kp1ly74bj7gavs03q7caci0lqr0rsi5y45zx5m8in4h19xk1kb")))) + (build-system meson-build-system) (arguments (list #:configure-flags - #~(list "--disable-asciidoctor" ; use docbook-xsl instead - "--without-systemd") + #~(list (string-append "-Drootprefix=" #$output) + (string-append "-Dbashcompletiondir=" #$output + "/share/bash-completion/completions") + (string-append "-Dsysconfdir=" #$output "/etc") + "-Dasciidoctor=disabled" ; use docbook-xsl instead + "-Dsystemd=disabled") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-version @@ -910,17 +915,11 @@ (define-public ndctl (substitute* "git-version-gen" (("/bin/sh") (which "sh"))) (substitute* "git-version" - (("/bin/bash") (which "bash")))))) - #:make-flags - #~(list (string-append "BASH_COMPLETION_DIR=" #$output - "/share/bash-completion/completions")))) + (("/bin/bash") (which "bash")))))))) (native-inputs (list asciidoc - automake - autoconf bash-completion docbook-xsl - libtool libxml2 pkg-config xmlto @@ -940,7 +939,7 @@ (define-public ndctl libnvdimm (non-volatile memory device) sub-system in the Linux kernel.") ;; COPYING says LGPL2.1, but many source files are GPL2 so that's ;; the effective license. Note that some files under ccan/ are - ;; covered by BSD-3 or public domain, see the individual folders. + ;; covered by BSD-3 or public domain, see the individual directories. (license license:gpl2))) (define-public dmraid -- cgit v1.2.3 From aef64b9c45a5e59994db4577812bc0eb44ec2305 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: emacs-kind-icon: Update to 0.1.5. * gnu/packages/emacs-xyz.scm (emacs-kind-icon): Update to 0.1.5. --- gnu/packages/emacs-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2f9de403af..72ab9fa44f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -19569,16 +19569,14 @@ (define-public emacs-svg-tag-mode (define-public emacs-kind-icon (package (name "emacs-kind-icon") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/kind-icon-" - version - ".tar")) + (uri (string-append "https://elpa.gnu.org/packages/kind-icon-" + version ".tar")) (sha256 - (base32 "00pyvnq4dx51l2wbhvm6k6cx5xmy32j4h1lkr5kr8s3j5w83ip25")))) + (base32 "0qajj89vkgc9gbgff6akzll53jy0kgkv6c9jvwpl32rbg8v0wp63")))) (build-system emacs-build-system) (propagated-inputs (list emacs-svg-lib)) (home-page "https://github.com/jdtsmith/kind-icon") -- cgit v1.2.3 From 66c5e40762cb43277915453d9615d2fe80fd4a6f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:01 +0200 Subject: gnu: emacs-d-mode: Update to 2.0.12. * gnu/packages/emacs-xyz.scm (emacs-d-mode): Update to 2.0.12. --- 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 72ab9fa44f..ef0b5bb7b7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3969,7 +3969,7 @@ (define-public emacs-build-farm (define-public emacs-d-mode (package (name "emacs-d-mode") - (version "2.0.11") + (version "2.0.12") (source (origin (method git-fetch) @@ -3978,7 +3978,7 @@ (define-public emacs-d-mode (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vkl470vvmxap8ca773a0jvjvalmvdbbax3qvgjdclp54ml75al4")))) + (base32 "0mwd412d2kha8avkyhvvkh8r7an859xk18f7phgx7kj989pr3xkr")))) (build-system emacs-build-system) (propagated-inputs (list emacs-undercover)) -- cgit v1.2.3 From 4fc248ada260cad72af9c2527857dd68e12c0d3e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: emacs-ghub: Update to 3.5.6. * gnu/packages/emacs-xyz.scm (emacs-ghub): Update to 3.5.6. --- 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 ef0b5bb7b7..9d9d40aca1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1430,7 +1430,7 @@ (define-public emacs-ghq (define-public emacs-ghub (package (name "emacs-ghub") - (version "3.5.5") + (version "3.5.6") (source (origin (method git-fetch) @@ -1439,7 +1439,7 @@ (define-public emacs-ghub (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0")))) + (base32 "1pw1rjrvvanlcxv3rb64s2p646zfaipp7h7v8djlrrnlgy6mwbqd")))) (build-system emacs-build-system) (arguments (list -- cgit v1.2.3 From 1dc22f19e813383de446ef0f0cd84ae5fc446bb4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: emacs-undo-tree: Update to 0.8.2. * gnu/packages/emacs-xyz.scm (emacs-undo-tree): Update to 0.8.2. --- 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 9d9d40aca1..6c794a0ead 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4189,16 +4189,16 @@ (define-public emacs-olivetti (define-public emacs-undo-tree (package (name "emacs-undo-tree") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/tsc25/undo-tree") - (commit (string-append "release/" version)))) + (commit "42aab056e37e033816b2d192f9121b89410b958e"))) ; no 0.8.2 tag (file-name (git-file-name name version)) (sha256 - (base32 "1khkwrrbwaimspc013n4k9mpv8g302r0zkrsqnza2x1d3qznn08y")))) + (base32 "1xvkxc078b4z5zqwndz6jcv4ga8yd2ci32v7l8pdvqjmz7fq7bfz")))) (build-system emacs-build-system) (propagated-inputs (list emacs-queue)) -- cgit v1.2.3 From 75eae3fd78abe3037b0e831958cfa667cc87f0b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: emacs-rainbow-mode: Update to 1.0.6. * gnu/packages/emacs-xyz.scm (emacs-rainbow-mode): Update to 1.0.6. --- 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 6c794a0ead..26a970bb54 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11286,14 +11286,14 @@ (define-public emacs-rainbow-identifiers (define-public emacs-rainbow-mode (package (name "emacs-rainbow-mode") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "rainbow-mode-" version ".el")) + "rainbow-mode-" version ".tar")) (sha256 - (base32 "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9")))) + (base32 "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/rainbow-mode.html") (synopsis "Colorize color names in buffers") -- cgit v1.2.3 From fb21085d25f6f4f97a17f86a5af392581cd900bd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 14:32:24 +0200 Subject: gnu: go-std: Make public. * gnu/packages/golang.scm (go-std-1.14, go-std-1.16, go-std-1.17): New variables. --- gnu/packages/golang.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 5cf925f199..b274e5f838 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -870,6 +870,11 @@ (define-public (make-go-std go) (description (package-description go)) (license (package-license go)))) +;; Make those public so they have a corresponding Cuirass job. +(define-public go-std-1.14 (make-go-std go-1.14)) +(define-public go-std-1.16 (make-go-std go-1.16)) +(define-public go-std-1.17 (make-go-std go-1.17)) + (define-public go-0xacab-org-leap-shapeshifter (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474") (revision "12")) -- cgit v1.2.3 From 5b6b4ade7c48ced765a7b91bfbe07dfafcb5e702 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Jun 2022 14:40:57 +0200 Subject: gnu: go: Make 'make-go-std' memoizing. * gnu/packages/golang.scm (make-go-std): Use 'mlambdaq'. --- gnu/packages/golang.scm | 62 ++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index b274e5f838..cac4b7316a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -53,6 +53,7 @@ (define-module (gnu packages golang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) + #:use-module (guix memoization) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix download) #:use-module (guix git-download) @@ -840,35 +841,38 @@ (define-public go-1.17 (define-public go go-1.17) -(define-public (make-go-std go) - "Return a package which builds the standard library for Go compiler GO." - (package - (name (string-append (package-name go) "-std")) - (version (package-version go)) - (source #f) - (build-system go-build-system) - (arguments - `(#:import-path "std" - #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory. - #:allow-go-reference? #t - #:substitutable? #f ; Faster to build than download. - #:tests? #f ; Already tested in the main Go build. - #:go ,go - #:phases - (modify-phases %standard-phases - (delete 'unpack) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (out-cache (string-append out "/var/cache/go/build"))) - (copy-recursively (getenv "GOCACHE") out-cache) - (delete-file (string-append out-cache "/trim.txt")) - (delete-file (string-append out-cache "/README"))))) - (delete 'install-license-files)))) - (home-page (package-home-page go)) - (synopsis "Cached standard library build for Go") - (description (package-description go)) - (license (package-license go)))) +(define make-go-std + (mlambdaq (go) + "Return a package which builds the standard library for Go compiler GO." + (package + (name (string-append (package-name go) "-std")) + (version (package-version go)) + (source #f) + (build-system go-build-system) + (arguments + `(#:import-path "std" + #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory. + #:allow-go-reference? #t + #:substitutable? #f ; Faster to build than download. + #:tests? #f ; Already tested in the main Go build. + #:go ,go + #:phases + (modify-phases %standard-phases + (delete 'unpack) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-cache (string-append out "/var/cache/go/build"))) + (copy-recursively (getenv "GOCACHE") out-cache) + (delete-file (string-append out-cache "/trim.txt")) + (delete-file (string-append out-cache "/README"))))) + (delete 'install-license-files)))) + (home-page (package-home-page go)) + (synopsis "Cached standard library build for Go") + (description (package-description go)) + (license (package-license go))))) + +(export make-go-std) ;; Make those public so they have a corresponding Cuirass job. (define-public go-std-1.14 (make-go-std go-1.14)) -- cgit v1.2.3 From 5035be651ae20717bfb73a59c37c255a30b3f400 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 5 Jun 2022 16:26:01 +0200 Subject: gnu: docbook-sgml: Add 4.2. * gnu/packages/docbook.scm (docbook-sgml-4.2, docbook-sgml-4.1): New variables. (docbook-sgml): Make an alias to 'docbook-sgml-4.1'. --- gnu/packages/docbook.scm | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 6575bf2d75..dcaac3b8d2 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -362,17 +362,18 @@ (define docbook-dsssl-doc (description "Documentation for the DocBook DSSSL style sheets.") (license (license:non-copyleft "file://doc/LEGALNOTICE.htm")))) -(define-public docbook-sgml +(define-public docbook-sgml-4.2 (package (name "docbook-sgml") - (version "4.1") + (version "4.2") (source (origin (method url-fetch) - (uri (string-append "https://www.oasis-open.org/docbook/sgml/" - version "/docbk41.zip")) + (uri (string-append + "https://www.oasis-open.org/docbook/sgml/4.2/docbook-" + version ".zip")) (sha256 (base32 - "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))) + "1hrm4qmmzi285bkxkc74lxvjvw2gbl7ycbaxhv31h9rl9g4x5sv7")))) (build-system trivial-build-system) (arguments '(#:modules ((guix build utils)) @@ -393,8 +394,8 @@ (define-public docbook-sgml ;; Reference the ISO 8879 character entities. ;; e.g. "iso-lat1.gml" --> "/ISOlat1" (substitute* "docbook.cat" - (("(.*ISO 8879.*)\"iso-(.*)\\.gml\"" _ head name) - (string-append head "\"" iso-entities-dir "/ISO" name "\""))))))) + (("\"iso-(.*)\\.gml\"" _ name) + (string-append "\"" iso-entities-dir "/ISO" name "\""))))))) (native-inputs (list unzip)) (inputs @@ -404,6 +405,20 @@ (define-public docbook-sgml (description "This package provides SGML style sheets for DocBook.") (license (license:x11-style "" "See file headers.")))) +(define-public docbook-sgml-4.1 + (package + (inherit docbook-sgml-4.2) + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.oasis-open.org/docbook/sgml/" + version "/docbk41.zip")) + (sha256 + (base32 + "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))))) + +(define-public docbook-sgml docbook-sgml-4.1) + (define-public docbook-sgml-3.1 (package (inherit docbook-sgml) -- cgit v1.2.3 From b422687cbd29652d21ffcb7b5b202ab9b37dd5d3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 5 Jun 2022 16:27:15 +0200 Subject: gnu: postgresql@10: Fix manual compilation. This is a followup to f0227a18c2394d3403d0265f3c700cfd9d1ee5b4. * gnu/packages/databases.scm (postgresql-10)[native-inputs]: New field. --- gnu/packages/databases.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2134a2c643..df0532a0ea 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1288,7 +1288,11 @@ (define-public postgresql-10 version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))))) + "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))) + (native-inputs + (modify-inputs (package-native-inputs postgresql-11) + (append opensp docbook-sgml-4.2) + (delete "docbook-xml"))))) (define-public postgresql postgresql-13) -- cgit v1.2.3 From 05fef7bfc60058763f5a64ec0feaf3876b56281d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Jun 2022 23:58:16 +0200 Subject: gnu: timescaledb: Adjust test preparation to PostgreSQL 13.6. The previous method of making a union with symlinks would work with 13.4 but not with 13.6, which has an extra 'canonicalize_path' call in 'find_my_exec'. * gnu/packages/databases.scm (timescaledb)[arguments]: In 'prepare-tests', pass #:symlink argument to 'union-build'. --- gnu/packages/databases.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index df0532a0ea..4556ef4590 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1353,12 +1353,26 @@ (define-public timescaledb (pg-union (string-append (getcwd) "/../pg-union"))) (match inputs (((names . directories) ...) - (union-build pg-union (cons #$output directories)))) + ;; PG will only load extensions from its own $libdir, + ;; which it calculates based on argv[0]. As of + ;; PostgreSQL 13.6, it calls 'canonicalize_path' on + ;; argv[0] so a merge symlink is not enough to trick + ;; it; thus, the code below makes a full copy of PG + ;; and friends such that 'pg_config --libdir', for + ;; instance, points to PG-UNION, allowing it to load + ;; the timescaledb extension. + (union-build pg-union (cons #$output directories) + #:symlink + (lambda (old new) + (if (file-is-directory? old) + (copy-recursively old new) + (copy-file old new)))))) (setenv "PATH" (string-append pg-union "/bin:" (getenv "PATH"))) (invoke "initdb" "-D" pg-data) (copy-file "test/postgresql.conf" (string-append pg-data "/postgresql.conf")) + (invoke "pg_ctl" "-D" pg-data "-o" (string-append "-k " pg-data) "-l" (string-append pg-data "/db.log") -- cgit v1.2.3 From 965d54e344dcd19adf3c32f8b9d2dcab62b91e6a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 12 Jun 2022 09:05:20 +0200 Subject: gnu: java-plexus-component-metadata: Fix package. * gnu/packages/java.scm (java-plexus-component-metadata): Apply fix for newer jdom. --- gnu/packages/java.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f475f7c270..fcac0c2367 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Roel Janssen ;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro -;;; Copyright © 2017-2021 Julien Lepiller +;;; Copyright © 2017-2022 Julien Lepiller ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2016, 2017, 2018 Alex Vong ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice @@ -4371,6 +4371,14 @@ (define-public java-plexus-component-metadata (copy-recursively "src/main/resources" "build/classes/") #t)) + (add-before 'build 'fix-jdom + (lambda _ + ;; The newer version of jdom now sets multiple features by default + ;; that are not supported. + ;; Skip these features + (substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java" + (("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);") + "// skip")))) (add-before 'build 'reinstate-cli ;; The CLI was removed in 2.1.0, but we still need it to build some ;; maven dependencies, and some parts of maven itself. We can't use -- cgit v1.2.3 From f5899fe58b6e7b2faf037ad3c44490682602dba6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:23 +0200 Subject: gnu: r-deepsnv: Update to 1.42.1. * gnu/packages/bioconductor.scm (r-deepsnv): Update to 1.42.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 176f7ecc6d..a1831d73d5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2232,13 +2232,13 @@ (define-public r-decoupler (define-public r-deepsnv (package (name "r-deepsnv") - (version "1.42.0") + (version "1.42.1") (source (origin (method url-fetch) (uri (bioconductor-uri "deepSNV" version)) (sha256 (base32 - "0si1x2bi5pff1dicpqg7hv4ziq46vm7lic72724ljsclpz9bfv6q")))) + "0bgj1grv3a5bqhcdsw445x49kl3pz367svy6fnrzfsk9bmj46kgn")))) (properties `((upstream-name . "deepSNV"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 15e26f97d93f545de3778472468b4a6f8dc26e9d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:28 +0200 Subject: gnu: r-biocparallel: Update to 1.30.3. * gnu/packages/bioconductor.scm (r-biocparallel): Update to 1.30.3. [propagated-inputs]: Add r-codetools. --- gnu/packages/bioconductor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a1831d73d5..5ef2bc98c5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3103,13 +3103,13 @@ (define-public r-biomart (define-public r-biocparallel (package (name "r-biocparallel") - (version "1.30.2") + (version "1.30.3") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocParallel" version)) (sha256 (base32 - "0rqvwhs6d8ls1rq7j5ywl5k0qgblxpzimilyw335bi1yad5s10h3")))) + "1rs3wmasl9mx7f399iclvm0bnvggvjj2a88zbi294r5m8wxqlc92")))) (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) @@ -3142,7 +3142,7 @@ (define-public r-biocparallel (string-append m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n")))))))) (propagated-inputs - (list r-futile-logger r-snow r-bh)) + (list r-bh r-codetools r-futile-logger r-snow)) (native-inputs (list r-knitr)) (home-page "https://bioconductor.org/packages/BiocParallel") -- cgit v1.2.3 From 1ecac84c73e9c966c38045aac5783ee54ed9a263 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:28 +0200 Subject: gnu: r-genomicfeatures: Update to 1.48.3. * gnu/packages/bioconductor.scm (r-genomicfeatures): Update to 1.48.3. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 5ef2bc98c5..8fb7b77f71 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3934,13 +3934,13 @@ (define-public r-genomicalignments (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.48.1") + (version "1.48.3") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "18ain5s0ry6w0ki4c0czvwax2ncigrldyac30a6mlbzyaga6i54h")))) + "0f14p1ma2y8l60p9sxmh5j0axws9by1cznczb2jxipphpb4slpl1")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) -- cgit v1.2.3 From 7a344aa9e2beb9ca30c82039495cad5c4298770b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:28 +0200 Subject: gnu: r-keggrest: Update to 1.36.2. * gnu/packages/bioconductor.scm (r-keggrest): Update to 1.36.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 8fb7b77f71..4ce755128d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4193,14 +4193,14 @@ (define-public r-interactivedisplaybase (define-public r-keggrest (package (name "r-keggrest") - (version "1.36.0") + (version "1.36.2") (source (origin (method url-fetch) (uri (bioconductor-uri "KEGGREST" version)) (sha256 (base32 - "0hzlm6nzmx0iyjh063512a3ghc1xqb58g5z2bnd2wl4y42iww7bg")))) + "1rn03w8y80prbvzahkvf8275haiymnjj1ijcgn55p3d0sb54yzgw")))) (properties `((upstream-name . "KEGGREST"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 46aab4d33d6718e2877b16ca465ca4a3b7a200bc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:28 +0200 Subject: gnu: r-zellkonverter: Update to 1.6.2. * gnu/packages/bioconductor.scm (r-zellkonverter): Update to 1.6.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4ce755128d..04dc0b478b 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -5909,13 +5909,13 @@ (define-public r-zlibbioc (define-public r-zellkonverter (package (name "r-zellkonverter") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (bioconductor-uri "zellkonverter" version)) (sha256 - (base32 "1w3qi35vk289cpky1pb0wgg1hr55s5kdw7np98i9c1vmwi3gvwr7")))) + (base32 "0s1n3impm4k55pac8mr18czylsc30yqcvdfdki4sawk74b2rkx8c")))) (properties `((upstream-name . "zellkonverter"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 8ed8c8b8da52d842c4a3a3f592e0cdac7598aafc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:29 +0200 Subject: gnu: r-chippeakanno: Update to 3.30.1. * gnu/packages/bioconductor.scm (r-chippeakanno): Update to 3.30.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 04dc0b478b..e513b550aa 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6383,14 +6383,14 @@ (define-public r-codedepends (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.30.0") + (version "3.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "1ch636j3zd6hcfnl455vjs36wffrdhwzyvkbikcwjg7idiknjdkf")))) + "0a26glldxczcfymjvd45gv5m4hympziivm6wwx4ab9wld7n43l8y")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 640b45d73c24ecafbbec14eafe62c470239049e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:29 +0200 Subject: gnu: r-monocle: Update to 2.24.1. * gnu/packages/bioconductor.scm (r-monocle): Update to 2.24.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index e513b550aa..f7367e4b7e 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7652,14 +7652,14 @@ (define-public r-mast (define-public r-monocle (package (name "r-monocle") - (version "2.24.0") + (version "2.24.1") (source (origin (method url-fetch) (uri (bioconductor-uri "monocle" version)) (sha256 (base32 - "1fyqd7qhij2iyx9vdmgnx2qf0w3kwbkmg805539zrmxry8cwfldb")))) + "11g1wx0f1yzhg3x1aa3d5l7pqlzxj16s0gha21skxkgld8k2x8xn")))) (build-system r-build-system) (propagated-inputs (list r-biobase -- cgit v1.2.3 From 41435e0e1c008f07144767ed4676c1147a68d174 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:29 +0200 Subject: gnu: r-clusterprofiler: Update to 4.4.2. * gnu/packages/bioconductor.scm (r-clusterprofiler): Update to 4.4.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f7367e4b7e..4c280e42cd 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8699,14 +8699,14 @@ (define-public r-enrichplot (define-public r-clusterprofiler (package (name "r-clusterprofiler") - (version "4.4.1") + (version "4.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "clusterProfiler" version)) (sha256 (base32 - "03bg3agisrm4q10gg57dksvd1ws37if6a1gwcxaybb4c50zadm8p")))) + "07fbc3d06990qy1qcaqqgm5ma2l0h08bwfkqrnlfd9f2xcppdywd")))) (properties `((upstream-name . "clusterProfiler"))) (build-system r-build-system) -- cgit v1.2.3 From a76b657d9387fa984859db3ca170e0415e246f24 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:30 +0200 Subject: gnu: r-rsubread: Update to 2.10.2. * gnu/packages/bioconductor.scm (r-rsubread): Update to 2.10.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4c280e42cd..aa0b366e97 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -10768,14 +10768,14 @@ (define-public r-annotatr (define-public r-rsubread (package (name "r-rsubread") - (version "2.10.1") + (version "2.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsubread" version)) (sha256 (base32 - "1cf80gmzz4c1pvif3350ifsmsbfplyl2na39n8g3x0zkwpl6ijdc")))) + "1pvyx8nxv10s816hgxrnw60hp9rlqjdgjq3ajpzqxgxmmlhnk0v0")))) (properties `((upstream-name . "Rsubread"))) (build-system r-build-system) (inputs (list zlib)) -- cgit v1.2.3 From a12ec47cbd1c56774f3145120ee9e48e76c90032 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:30 +0200 Subject: gnu: r-universalmotif: Update to 1.14.1. * gnu/packages/bioconductor.scm (r-universalmotif): Update to 1.14.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index aa0b366e97..8466a66fad 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -12235,14 +12235,14 @@ (define-public r-unifiedwmwqpcr (define-public r-universalmotif (package (name "r-universalmotif") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "universalmotif" version)) (sha256 (base32 - "0n2msyyy1xhapkd66j4xwabg4qfd62l01p1nmafjwifnjsx45xvp")))) + "1sm54z8aq3534qjsa19wychhwcvwnjlkydmiqqvidiiwcxwqpjsr")))) (properties `((upstream-name . "universalmotif"))) (build-system r-build-system) -- cgit v1.2.3 From 541823b31867d9a6e05f9dcdfe15c2cd1a2c5f58 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 11:16:30 +0200 Subject: gnu: r-hdf5array: Update to 1.24.1. * gnu/packages/bioconductor.scm (r-hdf5array): Update to 1.24.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 8466a66fad..75d2b97bba 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -13806,14 +13806,14 @@ (define-public r-hitc (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.24.0") + (version "1.24.1") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "0s9vj74359ckmwl8r951jxrzkidslwdl9qamkhz8ilw8b5awxyw4")))) + "1r1lg7k60qgb489xkypd4gvm1fmdlihvylb5va6xj58ipndbfday")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (inputs -- cgit v1.2.3 From 2a34333d0c238fa0983659ea71f0e1af4ff0ac7b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 22 Feb 2022 13:11:41 +0200 Subject: guix: packages: Add %32bit-supported-systems, %64bit-supported-systems. * guix/packages.scm (%32bit-supported-systems, %64bit-supported-systems): New variables. (%supported-systems): Rewrite using %32bit-supported-systems, %64bit-supported-systems. --- guix/packages.scm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index 7425389618..715a6397ed 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Alex Kost -;;; Copyright © 2017, 2019, 2020 Efraim Flashner +;;; Copyright © 2017, 2019, 2020, 2022 Efraim Flashner ;;; Copyright © 2019 Marius Bakke ;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich @@ -149,6 +149,8 @@ (define-module (guix packages) transitive-input-references + %32bit-supported-systems + %64bit-supported-systems %supported-systems %hurd-systems %cuirass-supported-systems @@ -400,11 +402,19 @@ (define* (computed-origin-method gexp-promise hash-algo hash #:guile-for-build guile))) +(define %32bit-supported-systems + ;; This is the list of 32-bit system types that are supported. + '("i686-linux" "armhf-linux" "i586-gnu" "powerpc-linux")) + +(define %64bit-supported-systems + ;; This is the list of 64-bit system types that are supported. + '("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" + "riscv64-linux")) + (define %supported-systems ;; This is the list of system types that are supported. By default, we ;; expect all packages to build successfully here. - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu" - "powerpc64le-linux" "powerpc-linux" "riscv64-linux")) + (append %32bit-supported-systems %64bit-supported-systems)) (define %hurd-systems ;; The GNU/Hurd systems for which support is being developed. -- cgit v1.2.3 From 3cbef19a90b2cf82040a9e0c1428cf842044538b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 12 Jun 2022 10:59:45 +0300 Subject: gnu: zig: Limit to 64bit systems. * gnu/packages/zig.scm (zig)[supported-systems]: New field. --- gnu/packages/zig.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm index 9e99fdb857..cda93bed2e 100644 --- a/gnu/packages/zig.scm +++ b/gnu/packages/zig.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2021 Liliana Marie Prikler ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Calum Irwin +;;; Copyright © 2022 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,4 +100,7 @@ (define-public zig @item concurrency via async functions. @end itemize") (home-page "https://github.com/ziglang/zig") + ;; Currently building zig can take up to 10GB of RAM for linking stage1: + ;; https://github.com/ziglang/zig/issues/6485 + (supported-systems %64bit-supported-systems) (license license:expat))) -- cgit v1.2.3 From e22b55f0b9ef468d9c03460a00434a3e94645d1f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 12 Jun 2022 11:50:14 +0300 Subject: gnu: llvm-14: Fix configure-flags for cross-compiling. * gnu/packages/llvm.scm (llvm-14)[arguments]: Fix syntax error in configure-flags when cross-compiling llvm. --- gnu/packages/llvm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 88b582d85b..8bc9e8904c 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -577,9 +577,9 @@ (define-public llvm-14 ;; These options are required for cross-compiling LLVM according ;; to . #$@(if (%current-target-system) - #~(,(string-append "-DLLVM_TABLEGEN=" - #+(file-append this-package - "/bin/llvm-tblgen")) + #~((string-append "-DLLVM_TABLEGEN=" + #+(file-append this-package + "/bin/llvm-tblgen")) #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" (%current-target-system)) #$(string-append "-DLLVM_TARGET_ARCH=" -- cgit v1.2.3 From a473d74ff1fb462394cf93d882b14139ccd01ce1 Mon Sep 17 00:00:00 2001 From: jgart Date: Sat, 11 Jun 2022 20:08:15 -0500 Subject: gnu: Add emacs-corfu-terminal. * gnu/packages/emacs-xyz.scm (emacs-corfu-terminal): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 26a970bb54..9839e464cf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31587,6 +31587,32 @@ (define-public emacs-osm parallel fetching of tiles with cURL, and more.") (license license:gpl3+))) +(define-public emacs-corfu-terminal + ;; Upstream does not tag releases, version taken from package header. + (let ((commit "7c5a8a1c07b6c1a41b358b083d5bf7773701d26b") + (revision "0")) + (package + (name "emacs-corfu-terminal") + (version (git-version "0.4" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://codeberg.org/akib/emacs-corfu-terminal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pk5vfcz8w4hiqrwzwpxdjzlbhla0bw7a1h6v0mqxad0j9y7v3nw")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-corfu emacs-popon)) + (home-page "https://codeberg.org/akib/emacs-corfu-terminal/") + (synopsis "Replace corfu child frames with popups") + (description + "This package replaces the child frames @code{emacs-corfu} uses +with popups, which also work in the terminal.") + (license license:gpl3+)))) + (define-public emacs-popon ;; Upstream does not tag releases. The commit below matches the version ;; bump. -- cgit v1.2.3 From 9c036f2dfb8f25b7eb40bc6946845183e0a54d2e Mon Sep 17 00:00:00 2001 From: jgart Date: Sat, 11 Jun 2022 20:08:16 -0500 Subject: gnu: Add emacs-corfu-doc-terminal. * gnu/packages/emacs-xyz.scm (emacs-corfu-doc-terminal): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/emacs-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9839e464cf..06f35d79e4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31613,6 +31613,33 @@ (define-public emacs-corfu-terminal with popups, which also work in the terminal.") (license license:gpl3+)))) +(define-public emacs-corfu-doc-terminal + ;; Upstream does not tag releases, version taken from package header. + (let ((commit "d8945c64b52d76e864b767b3048674f222daf80b") + (revision "0")) + (package + (name "emacs-corfu-doc-terminal") + (version (git-version "0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://codeberg.org/akib/emacs-corfu-doc-terminal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j0dd8np5x93wic22bc5i9h7bq2gj700n4fh11dzzgsj14lv2r5k")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-corfu emacs-corfu-doc emacs-corfu-terminal emacs-popon)) + (home-page "https://codeberg.org/akib/emacs-corfu-doc-terminal/") + (synopsis "Replace corfu docmentation child frames with popups") + (description + "This package replaces the child frames @code{emacs-corfu-doc} uses +with popups, which also work in the terminal.") + (license license:gpl3+)))) + (define-public emacs-popon ;; Upstream does not tag releases. The commit below matches the version ;; bump. -- cgit v1.2.3 From eec1724ea6cf47027d408e13e59f268b4530877f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 22:50:47 +0200 Subject: gnu: Add r-rsq. * gnu/packages/cran.scm (r-rsq): New variable. --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c1f0dc08b7..179616b43d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -31617,6 +31617,32 @@ (define-public r-rmisc utility operations.") (license license:gpl3))) +(define-public r-rsq + (package + (name "r-rsq") + (version "2.5") + (source (origin + (method url-fetch) + (uri (cran-uri "rsq" version)) + (sha256 + (base32 + "1r628srxhhf7b51lnj4qrzgbqajkm0ls47a9rzjkvmfq4ax5i73f")))) + (properties `((upstream-name . "rsq"))) + (build-system r-build-system) + (propagated-inputs + (list r-deriv + r-lme4 + r-mass + r-matrix + r-nlme)) + (home-page "https://cran.r-project.org/package=rsq") + (synopsis "R-squared and related measures") + (description + "Calculate generalized R-squared, partial R-squared, and partial correlation +coefficients for generalized linear (mixed) models (including quasi models +with well defined variance functions).") + (license license:gpl2))) + (define-public r-webutils (package (name "r-webutils") -- cgit v1.2.3 From 0006a9a83a568715f7f30fbb9abb4c78da06a886 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 22:50:29 +0200 Subject: gnu: Add r-deconvr. * gnu/packages/bioconductor.scm (r-deconvr): New variable. --- gnu/packages/bioconductor.scm | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 75d2b97bba..9788285707 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2188,6 +2188,50 @@ (define-public r-decipher biological sequences.") (license license:gpl3))) +(define-public r-deconvr + (package + (name "r-deconvr") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "deconvR" version)) + (sha256 + (base32 + "091z3lncamscsvzj63zzbw7dr7vnkn0jwfkm5ljq4112w4rxgrm3")))) + (properties `((upstream-name . "deconvR"))) + (build-system r-build-system) + (propagated-inputs + (list r-assertthat + r-biocgenerics + r-data-table + r-dplyr + r-e1071 + r-foreach + r-genomicranges + r-iranges + r-magrittr + r-mass + r-matrixstats + r-methylkit + r-nnls + r-quadprog + r-rsq + r-s4vectors + r-tidyr)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/BIMSBbioinfo/deconvR") + (synopsis "Simulation and deconvolution of omic profiles") + (description + "This package provides a collection of functions designed for analyzing +deconvolution of the bulk sample(s) using an atlas of reference omic signature +profiles and a user-selected model. Users are given the option to create or +extend a reference atlas and,also simulate the desired size of the bulk +signature profile of the reference cell types. The package includes the +cell-type-specific methylation atlas and, Illumina Epic B5 probe ids that can +be used in deconvolution. Additionally, we included @code{BSmeth2Probe}, to +make mapping WGBS data to their probe IDs easier.") + (license license:artistic2.0))) + (define-public r-decoupler (package (name "r-decoupler") -- cgit v1.2.3 From d3d00b1b4f2875675999919fa7e892c36bfff4c6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Jun 2022 00:41:20 +0200 Subject: gnu: uBlock Origin: Update to 1.43.0. * gnu/packages/browser-extensions.scm (ublock-origin): Update to 1.43.0. --- gnu/packages/browser-extensions.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index f305552076..1012e4b643 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -51,7 +51,7 @@ (define-public play-to-kodi/chromium (define ublock-origin (package (name "ublock-origin") - (version "1.42.4") + (version "1.43.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -62,7 +62,7 @@ (define ublock-origin (file-name (git-file-name name version)) (sha256 (base32 - "1is55pxnlylcr1pfigwgfn7kcx1rapy1cafdh6g83bdhscgh75g3")))) + "0w0by41v1s1cbd3bfjlb7kxr2bl6r5z3jvizlx02x14hqlppma9k")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments -- cgit v1.2.3 From bcd9866eb4434949d81b8b0c3f7c2b61935ff8fa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Jun 2022 00:42:02 +0200 Subject: gnu: LLVM, Clang, LLD: Update to 14.0.5. * gnu/packages/llvm.scm (llvm-14, clang-14, lld-14): Update to 14.0.5. (%llvm-monorepo-hashes, %llvm-patches): Adjust accordingly. --- gnu/packages/llvm.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 8bc9e8904c..c66714a097 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -541,10 +541,10 @@ (define (make-clang-toolchain clang) ("libc-static" ,glibc "static"))))) (define %llvm-monorepo-hashes - '(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q"))) + '(("14.0.5" . "1hdv020x4k5fp38hik3bxz8k2sr3gnyj9iym3yhjhwygzgwgxjh9"))) (define %llvm-patches - '(("14.0.4" . ("clang-14.0-libc-search-path.patch")))) + '(("14.0.5" . ("clang-14.0-libc-search-path.patch")))) (define (llvm-monorepo version) (origin @@ -559,7 +559,7 @@ (define (llvm-monorepo version) (define-public llvm-14 (package (name "llvm") - (version "14.0.4") + (version "14.0.5") (source (llvm-monorepo version)) (build-system cmake-build-system) (outputs '("out" "opt-viewer")) @@ -647,7 +647,7 @@ (define-public clang-14 (package-version llvm-14))) (sha256 (base32 - "1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8")))))) + "1p9y5fbcw3ynb79nzyadirwdla03bq38k6d9nhv9x8z2q4ypsga4")))))) (package (inherit template) (arguments @@ -1176,7 +1176,7 @@ (define-public libunwind-headers (define-public lld-14 (package (name "lld") - (version "14.0.4") + (version "14.0.5") (source (llvm-monorepo version)) (build-system cmake-build-system) (inputs -- cgit v1.2.3 From d4482e9a9ebe61197a0756ce9048fcb895e6f552 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Jun 2022 00:43:07 +0200 Subject: gnu: ungoogled-chromium: Update to 102.0.5005.115-1. * gnu/packages/chromium.scm (%chromium-version): Set to 102.0.5005.115. (%ungoogled-revision): Set to 1. (%ungoogled-origin, ungoogled-chromium): Update hash. --- gnu/packages/chromium.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 5936ab23c3..bdfebed99e 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -312,8 +312,8 @@ (define %blacklisted-files ;; run the Blink performance tests, just remove everything to save ~70MiB. '("third_party/blink/perf_tests")) -(define %chromium-version "102.0.5005.61") -(define %ungoogled-revision (string-append %chromium-version "-3")) +(define %chromium-version "102.0.5005.115") +(define %ungoogled-revision (string-append %chromium-version "-1")) (define %debian-revision "debian/102.0.5005.61-1") (define %ungoogled-origin @@ -324,7 +324,7 @@ (define %ungoogled-origin (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "19i4ygxjm503dmck3bdqv3fcpda3dp9wr7z306pi6i1k989rbs8l")))) + "1z2xkxxviggyyksga74cqa4v73gynlgzi22ckg8yv84qxrklik6p")))) (define %debian-origin (origin @@ -477,7 +477,7 @@ (define-public ungoogled-chromium %chromium-version ".tar.xz")) (sha256 (base32 - "07vbi3gn9g4n04b2qi2hm34r122snrqaifa46yk3pyh1d79rfdqs")) + "1rj7vy824vn513hiivc90lnxvxyi2s0qkdmfqsdssv9v6zjl079h")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) -- cgit v1.2.3 From c318f4fcb190adaab4de491014f59eb79a28efc5 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 13 Jun 2022 11:06:57 +0200 Subject: gnu: txr: Update to 277. * gnu/packages/lisp.scm (txr): Update to 277. [inputs]: Add zlib. --- gnu/packages/lisp.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index ca85cab2b9..c26da670ac 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -923,7 +923,7 @@ (define man-for-txr (define-public txr (package (name "txr") - (version "274") + (version "277") (source (origin (method git-fetch) @@ -932,7 +932,7 @@ (define-public txr (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sz5wqqhmj2b9h9q95s8x4gb4cia6qddqp2mg29a5dpdh6jh3qyp")))) + (base32 "1w6q5inydz0cf4g3y8954msxfb2clf4nj4aqiiayp0z2y96b7bhk")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -991,7 +991,8 @@ (define-public txr man-for-txr)) (inputs (list bash-minimal - libffi)) + libffi + zlib)) (synopsis "General-purpose, multi-paradigm programming language") (description "TXR is a general-purpose, multi-paradigm programming language. It -- cgit v1.2.3 From 2a2856d5ccd9a9b7df8a94333a277b971a39b150 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 13 Jun 2022 09:51:56 +0200 Subject: challenge: Actually delete nars that have been extracted. Fixes . Reported by Vagrant Cascadian . * guix/scripts/challenge.scm (make-directory-writable): New procedure. (call-with-mismatches)[restore-file*]: New procedure. Use it instead of 'restore-file'. --- guix/scripts/challenge.scm | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index c29d5105ae..72d3e850f2 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2015-2017, 2019-2022 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +32,7 @@ (define-module (guix scripts challenge) #:use-module (rnrs bytevectors) #:autoload (guix http-client) (http-fetch) #:use-module ((guix build syscalls) #:select (terminal-columns)) + #:autoload (guix build utils) (make-file-writable) #:use-module (gcrypt hash) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -310,6 +311,22 @@ (define (report-differing-files comparison-report) (length files))) (format #t "~{ ~a~%~}" files)))) +(define (make-directory-writable directory) + "Recurse into DIRECTORY and make each entry writable, similar to +'chmod -R +w DIRECTORY'." + (file-system-fold (const #t) + (lambda (file stat _) ;leaf + (make-file-writable file)) + (lambda (directory stat _) ;down + (make-file-writable directory)) + (const #t) ;up + (const #f) ;skip + (lambda (file stat errno _) ;error + (leave (G_ "failed to delete '~a': ~a~%") + file (strerror errno))) + #t + directory)) + (define (call-with-mismatches comparison-report proc) "Call PROC with two directories containing the mismatching store items." (define local-hash @@ -318,6 +335,13 @@ (define local-hash (define narinfos (comparison-report-narinfos comparison-report)) + (define (restore-file* port directory) + ;; Since 'restore-file' sets "canonical" file permissions (read-only), + ;; make an extra traversal to make DIRECTORY writable so it can be deleted + ;; when the dynamic extent of 'call-with-temporary-directory' is left. + (restore-file port directory) + (make-directory-writable directory)) + (call-with-temporary-directory (lambda (directory1) (call-with-temporary-directory @@ -338,10 +362,10 @@ (define narinfo2 narinfos))) (rmdir directory1) - (call-with-nar narinfo1 (cut restore-file <> directory1)) + (call-with-nar narinfo1 (cut restore-file* <> directory1)) (when narinfo2 (rmdir directory2) - (call-with-nar narinfo2 (cut restore-file <> directory2))) + (call-with-nar narinfo2 (cut restore-file* <> directory2))) (proc directory1 (if local-hash (comparison-report-item comparison-report) -- cgit v1.2.3 From 8918ce6d1622303465e716ae491b8e5124c7aece Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 13 Jun 2022 11:49:15 +0200 Subject: gnu: racket: Avoid use of (ice-9 exceptions). Fixes . Reported by Giovanni Biscuolo and Michael Chirillo . * gnu/packages/racket.scm (racket): Rewrite in terms of SRFI-34/35 instead of (ice-9 exceptions). --- gnu/packages/racket.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index d60a749d91..3399bcc3fe 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013-2016, 2018, 2020-2022 Ludovic Courtès ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2021, 2022 Philip McGrath @@ -28,10 +28,12 @@ (define-module (gnu packages racket) #:use-module (guix gexp) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) + #:use-module (guix diagnostics) + #:use-module (guix i18n) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (ice-9 match) - #:use-module (ice-9 exceptions) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) @@ -925,13 +927,10 @@ (define-public racket ((this-package-input name) => (cut file-append <> "/lib")) (else - (raise-exception - (make-exception - (make-assertion-failure) - (make-exception-with-message - "missing input to the 'racket' package") - (make-exception-with-irritants - (list name))))))) + (raise + (formatted-message + (G_ "missing input '~a' to the 'racket' package") + name))))) '("cairo" "fontconfig-minimal" ;; aka fontconfig "glib" -- cgit v1.2.3 From fcad6226486b52e5d45531f60811d35eac34fa67 Mon Sep 17 00:00:00 2001 From: terramorpha Date: Mon, 11 Apr 2022 00:30:07 -0400 Subject: services: guix: Generalize extensions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/base.scm (): New record type. (guix-extension-merge): New procedure. (guix-service-type): Honor extensions. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 20 ++++++++++++++++++++ gnu/services/base.scm | 43 +++++++++++++++++++++++++++++++++++++------ 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2aef0380fb..967145a627 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -103,6 +103,7 @@ Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* +Copyright @copyright{} 2022 Justin Veilleux@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -17729,6 +17730,25 @@ A directory path where the @command{guix-daemon} will perform builds. @end table @end deftp +@deftp {Data Type} guix-extension + +This data type represents the parameters of the Guix build daemon that +are extendable. This is the type of the object that must be used within +a guix service extension. +@xref{Service Composition}, for more information. + +@table @asis +@item @code{authorized-keys} (default: @code{'()}) +A list of file-like objects where each element contains a public key. + +@item @code{substitute-urls} (default: @code{'()}) +A list of strings where each element is a substitute URL. + +@item @code{chroot-directories} (default: @code{'()}) +A list of file-like objects or strings pointing to additional directories the build daemon can use. +@end table +@end deftp + @deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}] Run @var{udev}, which populates the @file{/dev} directory dynamically. udev rules can be provided as a list of files through the @var{rules} diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 6865d03f25..ebbe4e128d 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Hui Lu ;;; Copyright © 2021, 2022 Maxim Cournoyer ;;; Copyright © 2022 Guillaume Le Vaillant +;;; Copyright © 2022 Justin Veilleux ;;; ;;; This file is part of GNU Guix. ;;; @@ -187,6 +188,12 @@ (define-module (gnu services base) guix-configuration-extra-options guix-configuration-log-file + guix-extension + guix-extension? + guix-extension-authorized-keys + guix-extension-substitute-urls + guix-extension-chroot-directories + guix-service-type guix-publish-configuration guix-publish-configuration? @@ -1768,6 +1775,25 @@ (define (guix-activation config) (substitute-key-authorization authorized-keys guix) #~#f)))) +(define-record-type* + guix-extension make-guix-extension + guix-extension? + (authorized-keys guix-extension-authorized-keys ;list of file-like + (default '())) + (substitute-urls guix-extension-substitute-urls ;list of strings + (default '())) + (chroot-directories guix-extension-chroot-directories ;list of file-like/strings + (default '()))) + +(define (guix-extension-merge a b) + (guix-extension + (authorized-keys (append (guix-extension-authorized-keys a) + (guix-extension-authorized-keys b))) + (substitute-urls (append (guix-extension-substitute-urls a) + (guix-extension-substitute-urls b))) + (chroot-directories (append (guix-extension-chroot-directories a) + (guix-extension-chroot-directories b))))) + (define guix-service-type (service-type (name 'guix) @@ -1778,14 +1804,19 @@ (define guix-service-type (service-extension profile-service-type (compose list guix-configuration-guix)))) - ;; Extensions can specify extra directories to add to the build chroot. - (compose concatenate) - (extend (lambda (config directories) + ;; Extensions can specify extra directories to add to the build chroot, + ;; extra substitute urls and extra authorized keys + (compose (lambda (args) (fold guix-extension-merge (guix-extension) args))) + (extend (lambda (config extension) (guix-configuration (inherit config) + (authorized-keys (append (guix-extension-authorized-keys extension) + (guix-configuration-authorized-keys config))) + (substitute-urls (append (guix-extension-substitute-urls extension) + (guix-configuration-substitute-urls config))) (chroot-directories - (append (guix-configuration-chroot-directories config) - directories))))) + (append (guix-extension-chroot-directories extension) + (guix-configuration-chroot-directories config)))))) (default-value (guix-configuration)) (description @@ -1801,7 +1832,7 @@ (define-record-type* (default 80)) (host guix-publish-configuration-host ;string (default "localhost")) - (advertise? guix-publish-advertise? ;boolean + (advertise? guix-publish-advertise? ;boolean (default #f)) (compression guix-publish-configuration-compression (thunked) -- cgit v1.2.3 From b40761ca9d7107361cf3995d2cee34c0fb3ba39b Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 22 May 2022 21:50:37 +0300 Subject: gnu: Add python-langcodes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-langcodes): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5b808b710a..f37ca731d5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29479,3 +29479,32 @@ (define-public python-musical-scales @url{https://en.wikipedia.org/wiki/List_of_musical_scales_and_modes, found on Wikipedia}.") (license license:expat))) + +(define-public python-langcodes + (package + (name "python-langcodes") + (version "3.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "langcodes" version)) + (sha256 + (base32 + "1xkyh3qdcigb18qiimbwl2669y22hhdmd89mqcd270c7lbahfkbr")))) + (build-system python-build-system) + (native-inputs (list python-pytest)) + (home-page "https://github.com/rspeer/langcodes") + (synopsis "Python library for working with language codes") + (description + "This package provides a Python library for working with and comparing +language codes. + +@code{python-langcodes} implements @url{http://tools.ietf.org/html/bcp47, BCP +47}, the IETF Best Current Practices on Tags for Identifying Languages. BCP +47 is also known as RFC 5646. It subsumes ISO 639 and is backward compatible +with it, and it also implements recommendations from the +@url{http://cldr.unicode.org/, Unicode CLDR}. + +@code{python-langcodes} can also refer to a database of language properties +and names, built from Unicode CLDR and the IANA subtag registry, if you +install @code{python-language-data}.") + (license license:expat))) -- cgit v1.2.3 From 97ebfc8f5c829b1a069f73395d6ffaf2d8096f5f Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 10 Jun 2022 13:56:21 +0200 Subject: gnu: python-asyncssh: Update to 2.11.0. * gnu/packages/ssh.scm (python-asyncssh)[version]: Update to 2.11.0. [propagated-inputs]: Add python-typing-extensions. [native-inputs]: Add python-fido2, python-aiofiles, netcat and python-pytest. [arguments]: Disable netcat autodetection. Replace 'check with call to pytest. --- gnu/packages/ssh.scm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 2e2be68770..ab537b56d1 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -35,9 +35,11 @@ (define-module (gnu packages ssh) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages elf) @@ -785,31 +787,38 @@ (define-public pdsh (define-public python-asyncssh (package (name "python-asyncssh") - (version "2.7.1") + (version "2.11.0") (source (origin (method url-fetch) (uri (pypi-uri "asyncssh" version)) (sha256 (base32 - "0lnhh2h1mj79j66ni883s9f3xldnbjb10vh80g24b7m003mm524c")))) + "0mkvyv2fmbdfnfdh7g2im0gxnp8hwxv5g1xdazfsipd9ggknrhsr")))) (build-system python-build-system) (propagated-inputs (list python-cryptography python-pyopenssl python-gssapi - python-bcrypt)) + python-bcrypt python-typing-extensions)) (native-inputs - (list openssh openssl)) + (list openssh openssl python-fido2 python-aiofiles netcat + python-pytest)) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'disable-tests (lambda* _ + (substitute* "tests/test_connection.py" + ;; nc is always available. + (("which nc") "true")) (substitute* "tests/test_agent.py" ;; TODO Test fails for unknown reason (("(.+)async def test_confirm" all indent) (string-append indent "@unittest.skip('disabled by guix')\n" - indent "async def test_confirm"))) - #t))))) + indent "async def test_confirm"))))) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (home-page "https://asyncssh.readthedocs.io/") (synopsis "Asynchronous SSHv2 client and server library for Python") (description -- cgit v1.2.3 From 7846896156da7ec45a3a3f5566b2a12c8ed3472b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 12:41:33 +0200 Subject: gnu: Add js-mathjax-for-r-mathjaxr. * gnu/packages/patches/mathjax-3.1.2-no-a11y.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/javascript.scm (js-mathjax-for-r-mathjaxr): New variable. --- gnu/local.mk | 1 + gnu/packages/javascript.scm | 57 +++++ gnu/packages/patches/mathjax-3.1.2-no-a11y.patch | 281 +++++++++++++++++++++++ 3 files changed, 339 insertions(+) create mode 100644 gnu/packages/patches/mathjax-3.1.2-no-a11y.patch diff --git a/gnu/local.mk b/gnu/local.mk index f7f7084b4e..a3760fbd47 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1475,6 +1475,7 @@ dist_patch_DATA = \ %D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/mathjax-disable-webpack.patch \ %D%/packages/patches/mathjax-no-a11y.patch \ + %D%/packages/patches/mathjax-3.1.2-no-a11y.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ %D%/packages/patches/maven-generate-component-xml.patch \ %D%/packages/patches/maven-generate-javax-inject-named.patch \ diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 028b5c4391..5598341e5c 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -313,6 +313,63 @@ (define-public js-mathjax-3 (description (package-description js-mathjax)) (license license:asl2.0))) +(define-public js-mathjax-for-r-mathjaxr + (package + (inherit js-mathjax-3) + (name "js-mathjax") + (version "3.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mathjax/MathJax-src") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kqcb6pl0zfs4hf8zqb4l50kkfq7isv35vpy05m0lg0yr9w0w4ai")) + (patches (search-patches "mathjax-disable-webpack.patch" + "mathjax-3.1.2-no-a11y.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments js-mathjax-3) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (replace 'prepare-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; All a11y components depend on speech-rule-engine, which cannot be + ;; built from source. Since this only affects accessibility, remove them. + (delete-file-recursively "ts/a11y") + (delete-file-recursively "components/src/a11y") + (delete-file-recursively "components/src/sre") + (delete-file-recursively "components/src/node-main") + + ;; Copy sources of dependencies, so we can create symlinks. + (mkdir-p "node_modules") + (with-directory-excursion "node_modules" + (for-each + (lambda (p) + (copy-recursively (assoc-ref inputs (string-append "node-" p)) p)) + '("mj-context-menu"))) + + ;; Make sure esbuild can find imports. This way we don’t have to rewrite files. + (symlink "ts" "js") + (symlink "ts" "node_modules/mj-context-menu/js"))))))) + (native-inputs + `(("esbuild" ,esbuild) + ("node" ,node-lts) + ("node-mj-context-menu" + ,(let ((name "context-menu") + (version "0.6.1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zorkow/context-menu.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q063l6477z285j6h5wvccp6iswvlp0jmb96sgk32sh0lf7nhknh"))))))))) + (define-public js-commander (package (name "js-commander") diff --git a/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch b/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch new file mode 100644 index 0000000000..97bd82c536 --- /dev/null +++ b/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch @@ -0,0 +1,281 @@ +commit 9bb6f1e11264fb075bfa70fa3684f10a32414594 +Author: Lars-Dominik Braun +Date: Wed Dec 1 14:28:06 2021 +0100 + + guix: Remove accessibility. + + We cannot build speech-rule-engine from source and thus all dependents + must be removed. This affects all a11y modules and menu items, which + may try to load components. + +diff --git a/components/src/dependencies.js b/components/src/dependencies.js +index f9be6f93..822f8fb6 100644 +--- a/components/src/dependencies.js ++++ b/components/src/dependencies.js +@@ -16,6 +16,3 @@ + export const dependencies = { +- 'a11y/semantic-enrich': ['input/mml', '[sre]'], +- 'a11y/complexity': ['a11y/semantic-enrich'], +- 'a11y/explorer': ['a11y/semantic-enrich', 'ui/menu'], + '[tex]/all-packages': ['input/tex-base'], + '[tex]/action': ['input/tex-base', '[tex]/newcommand'], +@@ -58,6 +55,5 @@ export const dependencies = { + export const paths = { + tex: '[mathjax]/input/tex/extensions', +- sre: '[mathjax]/sre/' + (typeof window === 'undefined' ? 'sre-node' : 'sre_browser') + }; + + const allPackages = [ +diff --git a/components/src/mml-chtml/mml-chtml.js b/components/src/mml-chtml/mml-chtml.js +index c0bd18ee..a283a1ab 100644 +--- a/components/src/mml-chtml/mml-chtml.js ++++ b/components/src/mml-chtml/mml-chtml.js +@@ -5,5 +5,4 @@ import '../input/mml/mml.js'; + import '../output/chtml/chtml.js'; + import '../output/chtml/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/mml-chtml/preload.js b/components/src/mml-chtml/preload.js +index e3f202f7..3699570e 100644 +--- a/components/src/mml-chtml/preload.js ++++ b/components/src/mml-chtml/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/mml', + 'output/chtml', 'output/chtml/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/mml-svg/mml-svg.js b/components/src/mml-svg/mml-svg.js +index 172b2433..23b66e69 100644 +--- a/components/src/mml-svg/mml-svg.js ++++ b/components/src/mml-svg/mml-svg.js +@@ -5,5 +5,4 @@ import '../input/mml/mml.js'; + import '../output/svg/svg.js'; + import '../output/svg/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/mml-svg/preload.js b/components/src/mml-svg/preload.js +index 3cb47d42..89f6b9f9 100644 +--- a/components/src/mml-svg/preload.js ++++ b/components/src/mml-svg/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/mml', + 'output/svg', 'output/svg/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/source.js b/components/src/source.js +index ba6d6835..02ecf18d 100644 +--- a/components/src/source.js ++++ b/components/src/source.js +@@ -62,11 +62,5 @@ export const source = { + 'output/chtml/fonts/tex': `${src}/output/chtml/fonts/tex/tex.js`, + 'output/svg': `${src}/output/svg/svg.js`, + 'output/svg/fonts/tex': `${src}/output/svg/fonts/tex/tex.js`, +- 'a11y/assistive-mml': `${src}/a11y/assistive-mml/assistive-mml.js`, +- 'a11y/semantic-enrich': `${src}/a11y/semantic-enrich/semantic-enrich.js`, +- 'a11y/complexity': `${src}/a11y/complexity/complexity.js`, +- 'a11y/explorer': `${src}/a11y/explorer/explorer.js`, +- '[sre]': (typeof window === 'undefined' ? `${src}/../../js/a11y/sre-node.js` : +- `${src}/../../node_modules/speech-rule-engine/lib/sre_browser.js`), + 'ui/menu': `${src}/ui/menu/menu.js`, + 'ui/safe': `${src}/ui/safe/safe.js`, +diff --git a/components/src/tex-chtml-full/preload.js b/components/src/tex-chtml-full/preload.js +index 76c81c92..0eb3a8e2 100644 +--- a/components/src/tex-chtml-full/preload.js ++++ b/components/src/tex-chtml-full/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex-full', + 'output/chtml', 'output/chtml/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-chtml-full/tex-chtml-full.js b/components/src/tex-chtml-full/tex-chtml-full.js +index 12291be9..c3f59e6b 100644 +--- a/components/src/tex-chtml-full/tex-chtml-full.js ++++ b/components/src/tex-chtml-full/tex-chtml-full.js +@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js'; + import '../output/chtml/chtml.js'; + import '../output/chtml/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/tex-chtml/preload.js b/components/src/tex-chtml/preload.js +index 89f110c5..5dae092f 100644 +--- a/components/src/tex-chtml/preload.js ++++ b/components/src/tex-chtml/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex', + 'output/chtml', 'output/chtml/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-chtml/tex-chtml.js b/components/src/tex-chtml/tex-chtml.js +index 8d98865e..4d100a48 100644 +--- a/components/src/tex-chtml/tex-chtml.js ++++ b/components/src/tex-chtml/tex-chtml.js +@@ -5,5 +5,4 @@ import '../input/tex/tex.js'; + import '../output/chtml/chtml.js'; + import '../output/chtml/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/tex-mml-chtml/preload.js b/components/src/tex-mml-chtml/preload.js +index 7adb6a3b..3945370f 100644 +--- a/components/src/tex-mml-chtml/preload.js ++++ b/components/src/tex-mml-chtml/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex', 'input/mml', + 'output/chtml', 'output/chtml/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-mml-chtml/tex-mml-chtml.js b/components/src/tex-mml-chtml/tex-mml-chtml.js +index 4167bd59..0b068dc6 100644 +--- a/components/src/tex-mml-chtml/tex-mml-chtml.js ++++ b/components/src/tex-mml-chtml/tex-mml-chtml.js +@@ -6,5 +6,4 @@ import '../input/mml/mml.js'; + import '../output/chtml/chtml.js'; + import '../output/chtml/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/tex-mml-svg/preload.js b/components/src/tex-mml-svg/preload.js +index 69d6a2c5..bad39af1 100644 +--- a/components/src/tex-mml-svg/preload.js ++++ b/components/src/tex-mml-svg/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex', 'input/mml', + 'output/svg', 'output/svg/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-mml-svg/tex-mml-svg.js b/components/src/tex-mml-svg/tex-mml-svg.js +index acff78dd..3ca4e6cf 100644 +--- a/components/src/tex-mml-svg/tex-mml-svg.js ++++ b/components/src/tex-mml-svg/tex-mml-svg.js +@@ -6,5 +6,4 @@ import '../input/mml/mml.js'; + import '../output/svg/svg.js'; + import '../output/svg/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/tex-svg-full/preload.js b/components/src/tex-svg-full/preload.js +index d4165cf8..8871781a 100644 +--- a/components/src/tex-svg-full/preload.js ++++ b/components/src/tex-svg-full/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex-full', + 'output/svg', 'output/svg/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-svg-full/tex-svg-full.js b/components/src/tex-svg-full/tex-svg-full.js +index 55ce32f2..09c7e65c 100644 +--- a/components/src/tex-svg-full/tex-svg-full.js ++++ b/components/src/tex-svg-full/tex-svg-full.js +@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js'; + import '../output/svg/svg.js'; + import '../output/svg/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/components/src/tex-svg/preload.js b/components/src/tex-svg/preload.js +index 284ce317..3eb02665 100644 +--- a/components/src/tex-svg/preload.js ++++ b/components/src/tex-svg/preload.js +@@ -5,5 +5,5 @@ Loader.preLoad( + 'core', + 'input/tex', + 'output/svg', 'output/svg/fonts/tex.js', +- 'ui/menu', 'a11y/assistive-mml' ++ 'ui/menu' + ); +diff --git a/components/src/tex-svg/tex-svg.js b/components/src/tex-svg/tex-svg.js +index f4ce644e..5d8caa5c 100644 +--- a/components/src/tex-svg/tex-svg.js ++++ b/components/src/tex-svg/tex-svg.js +@@ -5,5 +5,4 @@ import '../input/tex/tex.js'; + import '../output/svg/svg.js'; + import '../output/svg/fonts/tex/tex.js'; + import '../ui/menu/menu.js'; +-import '../a11y/assistive-mml/assistive-mml.js'; + import '../startup/startup.js'; +diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts +index 7553aafc..ca0b9780 100644 +--- a/ts/ui/menu/Menu.ts ++++ b/ts/ui/menu/Menu.ts +@@ -135,7 +135,7 @@ export class Menu { + autocollapse: false, + collapsible: false, + inTabOrder: true, +- assistiveMml: true, ++ assistiveMml: false, + explorer: false + }, + jax: { +@@ -475,7 +475,7 @@ export class Menu { + this.command('Reset', 'Reset to defaults', () => this.resetDefaults()) + ]), + this.submenu('Accessibility', 'Accessibility', [ +- this.checkbox('Activate', 'Activate', 'explorer'), ++ this.checkbox('Activate', 'Activate', 'explorer', {disabled: true}), + this.submenu('Speech', 'Speech', [ + this.checkbox('Speech', 'Speech Output', 'speech'), + this.checkbox('Subtitles', 'Speech Subtitles', 'subtitles'), +@@ -534,11 +534,11 @@ export class Menu { + this.checkbox('Prefix', 'Prefix', 'infoPrefix') + ], true), + this.rule(), +- this.checkbox('Collapsible', 'Collapsible Math', 'collapsible'), ++ this.checkbox('Collapsible', 'Collapsible Math', 'collapsible', {disabled: true}), + this.checkbox('AutoCollapse', 'Auto Collapse', 'autocollapse', {disabled: true}), + this.rule(), + this.checkbox('InTabOrder', 'Include in Tab Order', 'inTabOrder'), +- this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml') ++ this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml', {disabled: true}) + ]), + this.submenu('Language', 'Language'), + this.rule(), +@@ -722,6 +722,7 @@ export class Menu { + * @param {boolean} mml True to output hidden Mathml, false to not + */ + protected setAssistiveMml(mml: boolean) { ++ mml = false; + this.document.options.enableAssistiveMml = mml; + if (!mml || (MathJax._.a11y && MathJax._.a11y['assistive-mml'])) { + this.rerender(); +@@ -734,6 +735,7 @@ export class Menu { + * @param {boolean} explore True to enable the explorer, false to not + */ + protected setExplorer(explore: boolean) { ++ explore = false; + this.enableExplorerItems(explore); + this.document.options.enableExplorer = explore; + if (!explore || (MathJax._.a11y && MathJax._.a11y.explorer)) { +@@ -747,6 +749,7 @@ export class Menu { + * @param {boolean} collapse True to enable collapsible math, false to not + */ + protected setCollapsible(collapse: boolean) { ++ collapse = false; + this.document.options.enableComplexity = collapse; + if (!collapse || (MathJax._.a11y && MathJax._.a11y.complexity)) { + this.rerender(STATE.COMPILED); +@@ -845,6 +848,8 @@ export class Menu { + * @param {string} component The name of the a11y component to load + */ + public loadA11y(component: string) { ++ console.log ('ignoring load for', component); ++ return; + const noEnrich = !STATE.ENRICHED; + this.loadComponent('a11y/' + component, () => { + const startup = MathJax.startup; -- cgit v1.2.3 From 37378829bcaee94a38d723b6a281f2067ee6e2d1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:42 +0200 Subject: gnu: r-restfulr: Update to 0.0.14. * gnu/packages/bioconductor.scm (r-restfulr): Update to 0.0.14. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 9788285707..91fb838dab 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4976,14 +4976,14 @@ (define-public r-rsamtools (define-public r-restfulr (package (name "r-restfulr") - (version "0.0.13") + (version "0.0.14") (source (origin (method url-fetch) (uri (cran-uri "restfulr" version)) (sha256 (base32 - "1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv")))) + "1sdlz8zl4xvd7cpn1gm86q7jv9v7561gg4wk6y7zybiw37pxghq6")))) (properties `((upstream-name . "restfulr"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From fce6aeba7ee2d8ae2ea806502401e8df99985f79 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:46 +0200 Subject: gnu: r-nbpseq: Update to 0.3.1. * gnu/packages/bioconductor.scm (r-nbpseq): Update to 0.3.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 91fb838dab..1e87b190c2 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7412,14 +7412,14 @@ (define-public r-deds (define-public r-nbpseq (package (name "r-nbpseq") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "NBPSeq" version)) (sha256 (base32 - "0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by")))) + "07mnnk4n0cyksp1mw36y6369is62kxsfg3wb8d3dwswycdmj8m14")))) (properties `((upstream-name . "NBPSeq"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 1917b1f63ec5bfd08ac80eb7900a65ad9baadab9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:46 +0200 Subject: gnu: r-afpt: Update to 1.1.0.2. * gnu/packages/cran.scm (r-afpt): Update to 1.1.0.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 179616b43d..609c4cc719 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -117,13 +117,13 @@ (define-module (gnu packages cran) (define-public r-afpt (package (name "r-afpt") - (version "1.1.0.1") + (version "1.1.0.2") (source (origin (method url-fetch) (uri (cran-uri "afpt" version)) (sha256 (base32 - "0cg5cdm9nl1hs6f3j0ljpw4bkqvh3ksyj615b9nnbqs5k28lyds9")))) + "1z0r4r7prxbhadmkdg6345g0b5vq9dqyyw9hh3fpad9zkc7k6xbc")))) (properties `((upstream-name . "afpt"))) (build-system r-build-system) (native-inputs (list r-knitr)) -- cgit v1.2.3 From ae4c1cb0b3754a4089837094e0bed5d7df062a47 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:46 +0200 Subject: gnu: r-benchmarkme: Update to 1.0.8. * gnu/packages/cran.scm (r-benchmarkme): Update to 1.0.8. [propagated-inputs]: Add r-stringr. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 609c4cc719..8a531de9ab 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -636,13 +636,13 @@ (define-public r-benchmarkmedata (define-public r-benchmarkme (package (name "r-benchmarkme") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) (uri (cran-uri "benchmarkme" version)) (sha256 (base32 - "0ymgsxzrvnpyvs0cff09d3lrkl12qyqx5bwammsc4vgl5ng9p69p")))) + "0qaz8wy3n08k9lr8qljk5i8z8db18scbdc8m734aymd307h00w8x")))) (build-system r-build-system) (native-inputs (list r-knitr)) @@ -653,6 +653,7 @@ (define-public r-benchmarkme r-foreach r-httr r-matrix + r-stringr r-tibble)) (home-page "https://csgillespie.github.io/benchmarkme/") (synopsis "Crowd-sourced system benchmarks") -- cgit v1.2.3 From 65464d90270cd54cbdd80a5da4a64c0f8f916d28 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:47 +0200 Subject: gnu: r-restrserve: Update to 1.2.0. * gnu/packages/cran.scm (r-restrserve): Update to 1.2.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8a531de9ab..95282c742d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4351,13 +4351,13 @@ (define-public r-reshape (define-public r-restrserve (package (name "r-restrserve") - (version "1.1.1") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "RestRserve" version)) (sha256 - (base32 "1ydsdgy6mxl0zqk7xqf4v6if5nf2qv7k48q340fhaqyjk2gd60p7")))) + (base32 "03mlzhs2k728kwy6csp60m7qy8n9ma5dd37j87rzh07fcdlx8wim")))) (build-system r-build-system) (propagated-inputs (list r-checkmate -- cgit v1.2.3 From 6ffd58142cb41b28a7b6b8c0bb3bbc5b5fa9bc7e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:47 +0200 Subject: gnu: r-proxy: Update to 0.4-27. * gnu/packages/cran.scm (r-proxy): Update to 0.4-27. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 95282c742d..6881beb85b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4444,14 +4444,14 @@ (define-public r-ggally (define-public r-proxy (package (name "r-proxy") - (version "0.4-26") + (version "0.4-27") (source (origin (method url-fetch) (uri (cran-uri "proxy" version)) (sha256 (base32 - "0k8sr24mjfvxp12sf1j9228ah3ngy15nqmm0jw14x5s32f1assv7")))) + "0gsng2aggnljl4z82la9hpnd26hngzhj8fizx4wx22npqjj93694")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/proxy") (synopsis "Distance and similarity measures") -- cgit v1.2.3 From c992406b5ab2557eb679799bbc3297bbe88c7a65 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:48 +0200 Subject: gnu: r-sp: Update to 1.5-0. * gnu/packages/cran.scm (r-sp): Update to 1.5-0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6881beb85b..98d187ea61 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4464,13 +4464,13 @@ (define-public r-proxy (define-public r-sp (package (name "r-sp") - (version "1.4-7") + (version "1.5-0") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 "1bdi06n5zkjnnyh0rallf04s0vlcx9rg9p5q7s6vfqvkf19nk501")))) + (base32 "077q1wh9ihhcn1338xspnd90hy16ljxsav1xcrxdxj4fyynhd6lk")))) (build-system r-build-system) (propagated-inputs (list r-lattice)) -- cgit v1.2.3 From 38dde27cb3ce13988037b82d5a888b0c1824c5f3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:48 +0200 Subject: gnu: r-bdsmatrix: Update to 1.3-6. * gnu/packages/cran.scm (r-bdsmatrix): Update to 1.3-6. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 98d187ea61..d3b22a3173 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4796,14 +4796,14 @@ (define-public r-invgamma (define-public r-bdsmatrix (package (name "r-bdsmatrix") - (version "1.3-4") + (version "1.3-6") (source (origin (method url-fetch) (uri (cran-uri "bdsmatrix" version)) (sha256 (base32 - "1sh6pg43rgqvips4fx0k4vmp5i9lmniix0bqwj2yq5m06gs227i5")))) + "1g300x11rv56f826mbv7mbb67a5xz3dv74hpjc18jh3q8gap3j7r")))) (properties `((upstream-name . "bdsmatrix"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/bdsmatrix/") -- cgit v1.2.3 From 8221425e3e4f251947f81e8ccf534701c8871852 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:48 +0200 Subject: gnu: r-progressr: Update to 0.10.1. * gnu/packages/cran.scm (r-progressr): Update to 0.10.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d3b22a3173..d044af986f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5085,13 +5085,13 @@ (define-public r-squarem (define-public r-progressr (package (name "r-progressr") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (cran-uri "progressr" version)) (sha256 - (base32 "1p5s35rzh28n2id2lipgyqmh3wzib66m7x0pz9028y8cql8xr5ac")))) + (base32 "1ldf7hqsz8vbjggz31990sqqyhrbiilzcnyla1krjlkg595h50wg")))) (properties `((upstream-name . "progressr"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 9ccb6b4bee495117bffcf29cf1702a7ccd094dd9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:49 +0200 Subject: gnu: r-ipred: Update to 0.9-13. * gnu/packages/cran.scm (r-ipred): Update to 0.9-13. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d044af986f..6680f30e68 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5427,14 +5427,14 @@ (define-public r-rcpproll (define-public r-ipred (package (name "r-ipred") - (version "0.9-12") + (version "0.9-13") (source (origin (method url-fetch) (uri (cran-uri "ipred" version)) (sha256 (base32 - "0hsq00382pfd9hzpcgphjxazbxm4zx0k2r6pk6kib56k0ibm7qfn")))) + "162ckhqn24l0l5ih7qi2k3lxw5iprm1g5a34q1ik0b9wv5ia0s31")))) (build-system r-build-system) (propagated-inputs (list r-class -- cgit v1.2.3 From 18fd4e7d70b5071d3fd712849c848851266339ea Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:49 +0200 Subject: gnu: r-vcd: Update to 1.4-10. * gnu/packages/cran.scm (r-vcd): Update to 1.4-10. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6680f30e68..552ab81115 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6154,14 +6154,14 @@ (define-public r-laeken (define-public r-vcd (package (name "r-vcd") - (version "1.4-9") + (version "1.4-10") (source (origin (method url-fetch) (uri (cran-uri "vcd" version)) (sha256 (base32 - "13sn77qdcyll9lz7nab0bxzfvpgj8f5rl2cq5ylpz8pibynj1d55")))) + "0nxkl1x39xf8l0apgvlbr30i8lasix7hyyc93g6514r8z8m1k23i")))) (build-system r-build-system) (propagated-inputs (list r-colorspace r-lmtest r-mass)) -- cgit v1.2.3 From d72d39eaafc2a7dc8d81baeeb5900fc6be18c8b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:49 +0200 Subject: gnu: r-processx: Update to 3.6.0. * gnu/packages/cran.scm (r-processx): Update to 3.6.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 552ab81115..93a8a0e8bf 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6408,13 +6408,13 @@ (define-public r-debugme (define-public r-processx (package (name "r-processx") - (version "3.5.3") + (version "3.6.0") (source (origin (method url-fetch) (uri (cran-uri "processx" version)) (sha256 - (base32 "0ail3w8n5g1ibdamgpxcfpla18kqkilmppiasm7ms67cavx2k5k7")))) + (base32 "0kx6hvkkj6lh8lrdh819hvkx8nyq5aac53mkvpqyskwkmmlnf63m")))) (build-system r-build-system) (propagated-inputs (list r-ps r-r6)) -- cgit v1.2.3 From c3bbdd4a5b4ea9aab691a491818f259b85a87f21 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:50 +0200 Subject: gnu: r-sna: Update to 2.7. * gnu/packages/cran.scm (r-sna): Update to 2.7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 93a8a0e8bf..2e0b32db97 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6915,14 +6915,14 @@ (define-public r-statcheck (define-public r-sna (package (name "r-sna") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) (uri (cran-uri "sna" version)) (sha256 (base32 - "0ai0v4538d30m4wks5s3lch1yfmx1ml0nnrz7ihs097lv586a09s")))) + "0ka319s1w857fj28ja1i1ljgv2h6ji4d69riqy9pwhvvghsa83s4")))) (build-system r-build-system) (propagated-inputs (list r-network r-statnet-common)) -- cgit v1.2.3 From ba881471ac8617cbefc21cb142bd191a884b4136 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:50 +0200 Subject: gnu: r-ellipse: Update to 0.4.3. * gnu/packages/cran.scm (r-ellipse): Update to 0.4.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2e0b32db97..0ce582cb5d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9289,14 +9289,14 @@ (define-public r-ggpubr (define-public r-ellipse (package (name "r-ellipse") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "ellipse" version)) (sha256 (base32 - "1wm5v7zdv2drgdba7z96jwsx74mqhlq80qgrvdb4vb5r02dcw68p")))) + "0im9d36dixpksms52v6nsb3l0z2c7wc25r9j0f08naj6qc8jpvq2")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/ellipse/") (synopsis "Functions for drawing ellipses and ellipse-like confidence regions") -- cgit v1.2.3 From 7edac5cd0a94daaa77eeaf57993ae917b4fa03ab Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:51 +0200 Subject: gnu: r-rdpack: Update to 2.3.1. * gnu/packages/cran.scm (r-rdpack): Update to 2.3.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0ce582cb5d..9df597d77c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9650,14 +9650,14 @@ (define-public r-rbibutils (define-public r-rdpack (package (name "r-rdpack") - (version "2.3") + (version "2.3.1") (source (origin (method url-fetch) (uri (cran-uri "Rdpack" version)) (sha256 (base32 - "1igpa4hnpiykbdnq57mglby5jsbind6izkkfy81wx4ib6nw1lpn4")))) + "12j45n4srs987s9mqvp3524cviqbl2pnpx7yw8agac9ynnfmwgmm")))) (properties `((upstream-name . "Rdpack"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 9d0ce9aaf4ec1fd37c1a429582ae81200f8ba11f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:51 +0200 Subject: gnu: r-officer: Update to 0.4.3. * gnu/packages/cran.scm (r-officer): Update to 0.4.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9df597d77c..c538816ae8 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9676,14 +9676,14 @@ (define-public r-rdpack (define-public r-officer (package (name "r-officer") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "0qmn62srh9zicgizyblanirbdva7f09g967yb86kfrn05ckh5y10")))) + "1ksfmwqb91j8n8x4vchpqr848scvf817mgiknwac7n8lfz79synk")))) (build-system r-build-system) (propagated-inputs (list r-r6 r-uuid r-xml2 r-zip)) -- cgit v1.2.3 From 739a195622f23255a3f44d9739ea57e78f8fb35f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:51 +0200 Subject: gnu: r-flextable: Update to 0.7.2. * gnu/packages/cran.scm (r-flextable): Update to 0.7.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c538816ae8..190f14efa5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10028,14 +10028,14 @@ (define-public r-moonbook (define-public r-flextable (package (name "r-flextable") - (version "0.7.0") + (version "0.7.2") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "15vr5lb87712mymsvv01kz9s1fb54sx5kybsa2x547k5g10dbrbm")))) + "03nxh9a9q0jgqz05i7kgp8zjncpq9m4f54dx3bvqgpds4hcqxli9")))) (build-system r-build-system) (propagated-inputs (list r-base64enc -- cgit v1.2.3 From 58e256383fc94a58718aa5e2c9f9651eb6456915 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:52 +0200 Subject: gnu: r-rgl: Update to 0.109.2. * gnu/packages/cran.scm (r-rgl): Update to 0.109.2. [propagated-inputs]: Add r-base64enc and r-mime. [native-inputs]: Add r-rmarkdown. --- gnu/packages/cran.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 190f14efa5..2705d8ec97 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13446,17 +13446,19 @@ (define-public r-biocmanager (define-public r-rgl (package (name "r-rgl") - (version "0.108.3.2") + (version "0.109.2") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "0r9wzhjzl346i37ngs6hqzmizhi53kzqz582lv822v6yxang6fh3")))) + "15rckpi2vzjc45glqk1mibxw1vja9y08hj9id2qd1si2bb708x8i")))) (build-system r-build-system) (native-inputs - (list pkg-config r-knitr)) + (list pkg-config + r-knitr + r-rmarkdown)) ;for vignettes (inputs (list freetype libpng @@ -13465,11 +13467,13 @@ (define-public r-rgl pandoc zlib)) (propagated-inputs - (list r-htmltools + (list r-base64enc + r-htmltools r-htmlwidgets r-jsonlite r-knitr r-magrittr + r-mime r-r6)) (home-page "https://r-forge.r-project.org/projects/rgl/") (synopsis "3D visualization using OpenGL") -- cgit v1.2.3 From b3dca70aa1ef955b74c4902ce96ed71b02f4ecae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:52 +0200 Subject: gnu: r-admisc: Update to 0.28. * gnu/packages/cran.scm (r-admisc): Update to 0.28. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2705d8ec97..0e977f0f01 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13768,13 +13768,13 @@ (define-public r-adgoftest (define-public r-admisc (package (name "r-admisc") - (version "0.27") + (version "0.28") (source (origin (method url-fetch) (uri (cran-uri "admisc" version)) (sha256 - (base32 "07hfrhv3pcldsffnyfzpa1q3x32gxr1386r8fik1nhql2w46mm13")))) + (base32 "0cfx4g64mybd69xm595zzv79j4fbzn7vihpvzcvicggs3immppha")))) (properties `((upstream-name . "admisc"))) (build-system r-build-system) (home-page "https://github.com/dusadrian/admisc") -- cgit v1.2.3 From cac7de2fc520c0149fc3b32988dc0ecdff82dca7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:53 +0200 Subject: gnu: r-sodium: Update to 1.2.1. * gnu/packages/cran.scm (r-sodium): Update to 1.2.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0e977f0f01..a4d4d55f82 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13793,14 +13793,14 @@ (define-public r-admisc (define-public r-sodium (package (name "r-sodium") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "sodium" version)) (sha256 (base32 - "0x4jb3cf1nv1spz1jc9xp8hly2b4a7nj48xr4s33jnfcpdjkmn5q")))) + "1a03z2asvmalnmsn89lapzp8a4fr0qvzdv3xgin8pbqhjyb9hvpp")))) (properties `((upstream-name . "sodium"))) (build-system r-build-system) (inputs -- cgit v1.2.3 From 313c4234a0801dd02367daffcecf7817fc72d870 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:53 +0200 Subject: gnu: r-rmpfr: Update to 0.8-9. * gnu/packages/cran.scm (r-rmpfr): Update to 0.8-9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a4d4d55f82..99a29de0fb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14937,14 +14937,14 @@ (define-public r-gmp (define-public r-rmpfr (package (name "r-rmpfr") - (version "0.8-7") + (version "0.8-9") (source (origin (method url-fetch) (uri (cran-uri "Rmpfr" version)) (sha256 (base32 - "1ljpbxvm4agbxnab5dfffbpw5k964hy3gw57dzydq1gpbxwdphlk")))) + "12mwvgyalzh4zf5d002fm1hpr3wwhiypy9ia6wy47ij9gns5mvng")))) (properties `((upstream-name . "Rmpfr"))) (build-system r-build-system) (inputs -- cgit v1.2.3 From 0f94dd778ced665de4a8ad680bf3269626b10cb9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:54 +0200 Subject: gnu: r-parallelly: Update to 1.32.0. * gnu/packages/cran.scm (r-parallelly): Update to 1.32.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 99a29de0fb..428b4cd7b7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15905,14 +15905,14 @@ (define-public r-globals (define-public r-parallelly (package (name "r-parallelly") - (version "1.31.1") + (version "1.32.0") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "1nhp66psk3m79is5qm4ppxkj7bdy46jr2h2pir22ia9ghhyzris0")))) + "0yg1hmgkp81ihgwqaynqh0jgki2mkdy78j4fgjmqvc1ig5ga774h")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") -- cgit v1.2.3 From 68c151029560232217161b596c3d098aaaec8ce5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:54 +0200 Subject: gnu: r-apcluster: Update to 1.4.10. * gnu/packages/cran.scm (r-apcluster): Update to 1.4.10. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 428b4cd7b7..a276bc1c26 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16962,14 +16962,14 @@ (define-public r-gmodels (define-public r-apcluster (package (name "r-apcluster") - (version "1.4.9") + (version "1.4.10") (source (origin (method url-fetch) (uri (cran-uri "apcluster" version)) (sha256 (base32 - "0wnbb3kj9m7rfq63xr43jjf6n8jxm1r2wvvx6g0qkss0wvipbb1s")))) + "1820j1xjlbmw6j2fwwv2g806dqpk5qrbbaqsrbrn6igql8pzf552")))) (build-system r-build-system) (propagated-inputs (list r-matrix r-rcpp)) -- cgit v1.2.3 From 3e38a5167d75ae5fc2847208ee99a6111568ee39 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:55 +0200 Subject: gnu: r-classint: Update to 0.4-7. * gnu/packages/cran.scm (r-classint): Update to 0.4-7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a276bc1c26..4bb89da683 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17370,14 +17370,14 @@ (define-public r-udunits2 (define-public r-classint (package (name "r-classint") - (version "0.4-3") + (version "0.4-7") (source (origin (method url-fetch) (uri (cran-uri "classInt" version)) (sha256 (base32 - "1b1lqhpzxm6b8pza8l3s0cxy74mm9y45lcd3354i2v3bg8m7mply")))) + "0vk06k10mxcm6wn4b74njzc1kc1ividsn03ii523j4yfhy4kl3m3")))) (properties `((upstream-name . "classInt"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 1821a127e7beece09c67ba237c7e74086117a161 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:55 +0200 Subject: gnu: r-adegenet: Update to 2.1.7. * gnu/packages/cran.scm (r-adegenet): Update to 2.1.7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4bb89da683..f3b4875e8a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17599,14 +17599,14 @@ (define-public r-spdep (define-public r-adegenet (package (name "r-adegenet") - (version "2.1.6") + (version "2.1.7") (source (origin (method url-fetch) (uri (cran-uri "adegenet" version)) (sha256 (base32 - "0sx25p7bgz0h9mc3jsdnnjhvmb7sy8nb3r0z923vhk336d4xw8vq")))) + "0zkbxw9w0fcb4s3zv2a8nxcsihzkfz49psaipxw99nwgm7l9jrh9")))) (build-system r-build-system) (propagated-inputs (list r-ade4 -- cgit v1.2.3 From bee70949b9956ea2c2ca0dac10a426bdf0b494c2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:55 +0200 Subject: gnu: r-haplo-stats: Update to 1.8.9. * gnu/packages/cran.scm (r-haplo-stats): Update to 1.8.9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f3b4875e8a..74ceb1f0ce 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17841,14 +17841,14 @@ (define-public r-arsenal (define-public r-haplo-stats (package (name "r-haplo-stats") - (version "1.8.7") + (version "1.8.9") (source (origin (method url-fetch) (uri (cran-uri "haplo.stats" version)) (sha256 (base32 - "1q2zn72j92bwhcdswk4qqfgzch56p9pcy2xhkd3safvqp3l9rzpw")))) + "0np9kw4f30xbvwr4f79g909ilis5n273ridmlwyzjxiskiry6mx0")))) (properties `((upstream-name . "haplo.stats"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 58ec67948cf6a4d92b101e6f1478183e2177a03a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:56 +0200 Subject: gnu: r-kernlab: Update to 0.9-31. * gnu/packages/cran.scm (r-kernlab): Update to 0.9-31. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 74ceb1f0ce..21ce8f8ef5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -18057,13 +18057,13 @@ (define-public r-optparse (define-public r-kernlab (package (name "r-kernlab") - (version "0.9-30") + (version "0.9-31") (source (origin (method url-fetch) (uri (cran-uri "kernlab" version)) (sha256 - (base32 "10gfb542nbl1d5pfy6r7gcg3j1ikra9l18r6xjv8lzp5ka1kmz28")))) + (base32 "12i7ffc1aacyy7bpjc0w60wwivn88wri8jz43h77irn5q5jwcnbk")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/kernlab") (synopsis "Kernel-based machine learning tools") -- cgit v1.2.3 From f85842a8e2cdcf083f2e0bfa47487e37859f8ab3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:56 +0200 Subject: gnu: r-aplot: Update to 0.1.6. * gnu/packages/cran.scm (r-aplot): Update to 0.1.6. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 21ce8f8ef5..a5c6acc056 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -19323,14 +19323,14 @@ (define-public r-downloader (define-public r-aplot (package (name "r-aplot") - (version "0.1.4") + (version "0.1.6") (source (origin (method url-fetch) (uri (cran-uri "aplot" version)) (sha256 (base32 - "1b4jjj05a602dgn6yr1bsmbzlzkj6wf6af3k3w63g3mkqv0xzsfd")))) + "0310z9db2r8vr4053vy6w4rbcqhg5cv56p60rk7dh4y6ifbd2sbx")))) (properties `((upstream-name . "aplot"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 2327b15d316319df20e3c05ca2615b1cf6316fa2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:57 +0200 Subject: gnu: r-terra: Update to 1.5-34. * gnu/packages/cran.scm (r-terra): Update to 1.5-34. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a5c6acc056..4542d4464d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20681,14 +20681,14 @@ (define-public r-graphlayouts (define-public r-terra (package (name "r-terra") - (version "1.5-21") + (version "1.5-34") (source (origin (method url-fetch) (uri (cran-uri "terra" version)) (sha256 (base32 - "0gzl0ka19jjw0dmaghjk2sgwi78kkz4w3rlfkym62rdarhlfj7h9")))) + "075azi23gi1b1jxm3s1f1hpc6in7qz4fp38shq9pflfnzbs8ib9w")))) (properties `((upstream-name . "terra"))) (build-system r-build-system) (inputs -- cgit v1.2.3 From 17f70b73632a6de9dd20795c9487d53c6239b438 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:57 +0200 Subject: gnu: r-randtoolbox: Update to 2.0.1. * gnu/packages/cran.scm (r-randtoolbox): Update to 2.0.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4542d4464d..1ce49080f4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -21986,14 +21986,14 @@ (define-public r-rnmf (define-public r-randtoolbox (package (name "r-randtoolbox") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "randtoolbox" version)) (sha256 (base32 - "005x2igljc6vm0nsmkld9aqjqz1ccwapc8z3aw5c3ivh4n2bghf9")))) + "1p2jsn0hpihc49zk605z82mhhvma0ji2f5b94wa85g2xzriqkwn4")))) (properties `((upstream-name . "randtoolbox"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From e0a7f404ebaf8739c2642f5df5a0fcc5f25f59ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:57 +0200 Subject: gnu: r-univoutl: Update to 0.4. * gnu/packages/cran.scm (r-univoutl): Update to 0.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1ce49080f4..e4420dc693 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23541,14 +23541,14 @@ (define-public r-adagio (define-public r-univoutl (package (name "r-univoutl") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) (uri (cran-uri "univOutl" version)) (sha256 (base32 - "1hhpxrpmp2wbrynx9xjndnp2sccirgky2x6ksd6yk6phmk0rbzjp")))) + "1kp014bhs8v02fp7misrj4fpfp2na9lg45p5zqvlfaypnm5imsr9")))) (properties `((upstream-name . "univOutl"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From ea5377a641d566d7e07af0ffb95ff3dca8db7cdc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:58 +0200 Subject: gnu: r-torch: Update to 0.8.0. * gnu/packages/cran.scm (r-torch): Update to 0.8.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e4420dc693..cce88a2962 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23597,13 +23597,13 @@ (define-public r-tolerance (define-public r-torch (package (name "r-torch") - (version "0.7.2") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "torch" version)) (sha256 - (base32 "163pvl3gyz7l2fmqhgg4k6pw4dmvfir71yp9l5ra2k4zc32lz166")))) + (base32 "0n2rmv2mwfp4y002x46fd278kssmhi54zcyj37558k4r1kazzfxp")))) (properties `((upstream-name . "torch"))) (build-system r-build-system) (arguments -- cgit v1.2.3 From 4cc33ce2b24334f84b75eeb135ecb946b054c3e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:58 +0200 Subject: gnu: r-gghighlight: Update to 0.3.3. * gnu/packages/cran.scm (r-gghighlight): Update to 0.3.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cce88a2962..be1398f42c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23967,13 +23967,13 @@ (define-public r-qqman (define-public r-gghighlight (package (name "r-gghighlight") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "gghighlight" version)) (sha256 - (base32 "0bxgn4srxz1qhawqa8ck57p8hg5ikwfa9ll03zmnn8fb19akwm2v")))) + (base32 "0isfp5n0ijqpy3z5d7l75mlq15nbkjppv6812lcya6097ar2d381")))) (properties `((upstream-name . "gghighlight"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From bc0b78bf32055eb651fecd21b0a67d2b88a8a230 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:59 +0200 Subject: gnu: r-mi: Update to 1.1. * gnu/packages/cran.scm (r-mi): Update to 1.1. [native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index be1398f42c..22d7ff0fa6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24821,18 +24821,20 @@ (define-public r-ltm (define-public r-mi (package (name "r-mi") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (cran-uri "mi" version)) (sha256 (base32 - "1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l")))) + "11f75ivnax6p48mp2pasprws488cm2daym87sw2mcrywvf89fyjd")))) (properties `((upstream-name . "mi"))) (build-system r-build-system) (propagated-inputs (list r-arm r-matrix)) + (native-inputs + (list r-knitr)) (home-page "http://www.stat.columbia.edu/~gelman/") (synopsis "Missing data imputation and model checking") (description -- cgit v1.2.3 From 694eabcc17edd5969612f14b53222398c6d36a6b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:21:59 +0200 Subject: gnu: r-rsconnect: Update to 0.8.26. * gnu/packages/cran.scm (r-rsconnect): Update to 0.8.26. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 22d7ff0fa6..9e1113d063 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25465,14 +25465,14 @@ (define-public r-packrat (define-public r-rsconnect (package (name "r-rsconnect") - (version "0.8.25") + (version "0.8.26") (source (origin (method url-fetch) (uri (cran-uri "rsconnect" version)) (sha256 (base32 - "1kyr4v7vds2yw3xmkk2yr56ylz1h95944brylwvwmwj5yxvm419w")))) + "1vazdgpha7545h4riz11njbl8azg38i1y1a5nfckfx03v2zapbzs")))) (properties `((upstream-name . "rsconnect"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 2e0e58863a33b9c877f65edded61d2b005f680be Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:00 +0200 Subject: gnu: r-posterior: Update to 1.2.2. * gnu/packages/cran.scm (r-posterior): Update to 1.2.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9e1113d063..de6497c8f2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26704,14 +26704,14 @@ (define-public r-distributional (define-public r-posterior (package (name "r-posterior") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "posterior" version)) (sha256 (base32 - "1qdg22l868daqg2axr36szl1m9z0rfpgx8zmv1x1xwm1hmlf0mxp")))) + "0frm7p6cjkjfl4gviixaa7448qaac8n9ilkr5c02fa9vnisys5fn")))) (properties `((upstream-name . "posterior"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 839ec236e4473f23ea420963b3d66647a21daf97 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:00 +0200 Subject: gnu: r-hardhat: Update to 1.1.0. * gnu/packages/cran.scm (r-hardhat): Update to 1.1.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index de6497c8f2..c71001a8b3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27001,14 +27001,14 @@ (define-public r-kmer (define-public r-hardhat (package (name "r-hardhat") - (version "0.2.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "hardhat" version)) (sha256 (base32 - "0a4nq93cmps5xy8h0qsv6xyzrbsz9ka4iwkrvb8m8v10wq7wm5wl")))) + "1cdl52lzv3wffq8fzrb6sk85i4i8lm8skgad1c8az3ifmzssjx03")))) (properties `((upstream-name . "hardhat"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From fa3f80e44f598ce45e0bfa2eb44bb14577f6d49e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:00 +0200 Subject: gnu: r-yardstick: Update to 1.0.0. * gnu/packages/cran.scm (r-yardstick): Update to 1.0.0. [propagated-inputs]: Remove r-proc; add r-hardhat. --- gnu/packages/cran.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c71001a8b3..555ea677bc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28436,20 +28436,20 @@ (define-public r-gpfit (define-public r-yardstick (package (name "r-yardstick") - (version "0.0.9") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "yardstick" version)) (sha256 (base32 - "00hv4gk1ba4dab8i3dcq7lim4bll7l572rgc8km9x4ja8by95j8h")))) + "0mnpvwbzybxp47w4yibmjb7xppwinbjcqcyqfn8qn38l5liwy8yd")))) (properties `((upstream-name . "yardstick"))) (build-system r-build-system) (propagated-inputs (list r-dplyr r-generics - r-proc + r-hardhat r-rlang r-tidyselect r-vctrs)) -- cgit v1.2.3 From b7b5e7d4f2333a93ff6207a506c4a09ba0de0821 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:01 +0200 Subject: gnu: r-infer: Update to 1.0.2. * gnu/packages/cran.scm (r-infer): Update to 1.0.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 555ea677bc..5886f83d20 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28971,14 +28971,14 @@ (define-public r-parsnip (define-public r-infer (package (name "r-infer") - (version "1.0.0") + (version "1.0.2") (source (origin (method url-fetch) (uri (cran-uri "infer" version)) (sha256 (base32 - "1qbpcn7jqbvgwnpiyylj021j8m33p58a204yd1pfkpzd3x2lbsm6")))) + "0qfrxljvwpa8d1k66ii80irarlv593wr6rmcsmi4flc7adgydrnp")))) (properties `((upstream-name . "infer"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 23c6a87e5dda98cad45c77751ad819c9a0c91e20 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:01 +0200 Subject: gnu: r-pkgdown: Update to 2.0.4. * gnu/packages/cran.scm (r-pkgdown): Update to 2.0.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5886f83d20..84b59fca43 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -30417,14 +30417,14 @@ (define-public r-downlit (define-public r-pkgdown (package (name "r-pkgdown") - (version "2.0.3") + (version "2.0.4") (source (origin (method url-fetch) (uri (cran-uri "pkgdown" version)) (sha256 (base32 - "0wqga9bcl7wmvkwpkkmf5hx1cl7rjq5ddvqmxhl4p1dczys3adnr")))) + "02lwr53xvxybcsg8md8qbq1wq833ap7ssn5v92cd4qqay5iya374")))) (properties `((upstream-name . "pkgdown"))) (build-system r-build-system) (inputs (list pandoc)) -- cgit v1.2.3 From d7d62bcd61d14eb0a38797f9a1187bed58aff9ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:01 +0200 Subject: gnu: r-zoom: Update to 2.0.6. * gnu/packages/cran.scm (r-zoom): Update to 2.0.6. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 84b59fca43..b326332bf6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -32635,14 +32635,14 @@ (define-public r-zoomgroupstats (define-public r-zoom (package (name "r-zoom") - (version "2.0.4") + (version "2.0.6") (source (origin (method url-fetch) (uri (cran-uri "zoom" version)) (sha256 (base32 - "03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5")))) + "05ikad4j1qi5y8mn77n9bw7d6ic3api9d7mbcn855w8xcc69ja4q")))) (properties `((upstream-name . "zoom"))) (build-system r-build-system) (home-page "https://github.com/cbarbu/R-package-zoom") -- cgit v1.2.3 From e1297b31c1a4dcfcef0292546e80fbe820babbb9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:02 +0200 Subject: gnu: r-sendmailr: Update to 1.2-1.1. * gnu/packages/statistics.scm (r-sendmailr): Update to 1.2-1.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 62e801a964..9839863c92 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1137,14 +1137,14 @@ (define-public r-rcolorbrewer (define-public r-sendmailr (package (name "r-sendmailr") - (version "1.2-1") + (version "1.2-1.1") (source (origin (method url-fetch) (uri (cran-uri "sendmailR" version)) (sha256 (base32 - "0z7ipywnzgkhfvl4zb2fjwl1xq7b5wib296vn9c9qgbndj6b1zh4")))) + "1dgxl6wnadlw5b3m4has5zalpk3pd5j70hfps92b9lbx4i7xbmr0")))) (properties `((upstream-name . "sendmailR"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From ebcb0aa3213684b8219c09c13622f351af95cf2b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:02 +0200 Subject: gnu: r-dbplyr: Update to 2.2.0. * gnu/packages/statistics.scm (r-dbplyr): Update to 2.2.0. [propagated-inputs]: Remove r-ellipsis; add r-cli and r-pillar. --- gnu/packages/statistics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9839863c92..900b88ebf2 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1840,24 +1840,25 @@ (define-public r-dplyr (define-public r-dbplyr (package (name "r-dbplyr") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "025wqpmxdhzblb0pf58m3qh5h6bf5x8qvkf47vyl1cjsp13wz95b")))) + "1qfwk8g8z5l9vbh4pj53pippsqsiqmn8qbvm1h1v7y29jcn0jvja")))) (build-system r-build-system) (propagated-inputs (list r-assertthat r-blob + r-cli r-dbi r-dplyr - r-ellipsis r-glue r-lifecycle r-magrittr + r-pillar r-purrr r-r6 r-rlang -- cgit v1.2.3 From 912792320a6e6f997a883e2690df99a3f5a43cba Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:02 +0200 Subject: gnu: r-rcurl: Update to 1.98-1.7. * gnu/packages/statistics.scm (r-rcurl): Update to 1.98-1.7. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 900b88ebf2..ee2dd3b301 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2953,13 +2953,13 @@ (define-public r-rsqlite (define-public r-rcurl (package (name "r-rcurl") - (version "1.98-1.6") + (version "1.98-1.7") (source (origin (method url-fetch) (uri (cran-uri "RCurl" version)) (sha256 (base32 - "18nif4phr5vfhri07mnchiym0qfm31ak9nxvb2v9ac84mij6idbc")))) + "138qfkw03j0g5wby24811w9f3virz1fxlgkgnavf6gv3c00jvhia")))) (properties `((upstream-name . "RCurl"))) (build-system r-build-system) (arguments -- cgit v1.2.3 From 944b4224e87d3a4ccb64d8a05a65335d0fabc12d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:03 +0200 Subject: gnu: r-xml: Update to 3.99-0.10. * gnu/packages/statistics.scm (r-xml): Update to 3.99-0.10. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ee2dd3b301..bce0336d69 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2995,13 +2995,13 @@ (define-public r-rcurl (define-public r-xml (package (name "r-xml") - (version "3.99-0.9") + (version "3.99-0.10") (source (origin (method url-fetch) (uri (cran-uri "XML" version)) (sha256 (base32 - "02ba407ddgil4jbjzrbw756hlxzy3mihc5dk1ngcbvsp67gxw5cw")))) + "0nzkgylnqnnvsh27007np8klwv2xi9wqxhw05mzczhxdxnsr2nf4")))) (properties `((upstream-name . "XML"))) (build-system r-build-system) -- cgit v1.2.3 From 03aba541856513a6f1ca2a80480f9ec2be06bc58 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:03 +0200 Subject: gnu: r-segmented: Update to 1.6-0. * gnu/packages/statistics.scm (r-segmented): Update to 1.6-0. [propagated-inputs]: Add r-nlme. --- gnu/packages/statistics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index bce0336d69..8d597c52ea 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3116,16 +3116,16 @@ (define-public r-futile-logger (define-public r-segmented (package (name "r-segmented") - (version "1.5-0") + (version "1.6-0") (source (origin (method url-fetch) (uri (cran-uri "segmented" version)) (sha256 (base32 - "1d8np6psnmqyq3bxxd17ivp6pq6p8rx5hal4bgz8ckc4d1i9lp6n")))) + "0sg59j59kz3zrwl3mi4ps1qw3hvwljygqa1d652vjdsx9w57zbvb")))) (build-system r-build-system) - (propagated-inputs (list r-mass)) + (propagated-inputs (list r-mass r-nlme)) (home-page "https://cran.r-project.org/web/packages/segmented") (synopsis "Regression models with breakpoints estimation") (description -- cgit v1.2.3 From ed945c7732ae131539d330d83f8ca6e2d89c368d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:03 +0200 Subject: gnu: r-e1071: Update to 1.7-11. * gnu/packages/statistics.scm (r-e1071): Update to 1.7-11. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8d597c52ea..85acad51ed 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3835,14 +3835,14 @@ (define-public r-rtsne (define-public r-e1071 (package (name "r-e1071") - (version "1.7-9") + (version "1.7-11") (source (origin (method url-fetch) (uri (cran-uri "e1071" version)) (sha256 (base32 - "09i2hmyf1bxansqp24p9n9djlzzarclqs173gjjv3fg0giga3ycv")))) + "0byr92csnydycdarxdkq4cghddnx5qp6fqxm6wnp9g6aww88xha8")))) (build-system r-build-system) (propagated-inputs (list r-class r-proxy)) -- cgit v1.2.3 From 5fe57da316c5c44cb978a68b7e7cc8d1aacdc777 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:03 +0200 Subject: gnu: r-r-oo: Update to 1.25.0. * gnu/packages/statistics.scm (r-r-oo): Update to 1.25.0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 85acad51ed..d8eb215ecb 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3947,13 +3947,13 @@ (define-public r-r-methodss3 (define-public r-r-oo (package (name "r-r-oo") - (version "1.24.0") + (version "1.25.0") (source (origin (method url-fetch) (uri (cran-uri "R.oo" version)) (sha256 (base32 - "1divisff26fmiqg6vmabnwlrx079c066r8qvkakfp336vnwdm89p")))) + "1vxy8yw4yblb3vgl64yh0b6zf1d51rnc2c23kmyyw629fxhr1cdq")))) (properties `((upstream-name . "R.oo"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 3d7adc9b21acd566cbd66a447c737c523689a32c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:03 +0200 Subject: gnu: r-flexmix: Update to 2.3-18. * gnu/packages/statistics.scm (r-flexmix): Update to 2.3-18. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d8eb215ecb..0bfe0097c7 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5102,14 +5102,14 @@ (define-public r-modeltools (define-public r-flexmix (package (name "r-flexmix") - (version "2.3-17") + (version "2.3-18") (source (origin (method url-fetch) (uri (cran-uri "flexmix" version)) (sha256 (base32 - "0jangf89174p0idh9afbicfiln2sz8jxc3bjc6n0j9036dw9n09n")))) + "0lcvsvmhkbwac50l109an6prl1ng4mkyvr436344b20897ph28j6")))) (build-system r-build-system) (propagated-inputs (list r-lattice r-modeltools r-nnet)) -- cgit v1.2.3 From 789c7ab5058e90acdb0fb2c19b56df142f5bab12 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:04 +0200 Subject: gnu: r-mnormt: Update to 2.1.0. * gnu/packages/statistics.scm (r-mnormt): Update to 2.1.0. [propagated-inputs]: Remove r-tmvnsim. --- gnu/packages/statistics.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 0bfe0097c7..5254c8b445 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5725,17 +5725,15 @@ (define-public r-tmvnsim (define-public r-mnormt (package (name "r-mnormt") - (version "2.0.2") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "mnormt" version)) (sha256 (base32 - "0d7ka4l4fl1wi77r2r81dc91n6cbj2xrb3lsizz5y0ziscva0sjw")))) + "1f07ngi89px437az030anbh8afmf6n635ax1akxak2idwc2qaj9d")))) (build-system r-build-system) - (propagated-inputs - (list r-tmvnsim)) (native-inputs (list gfortran)) (home-page "http://azzalini.stat.unipd.it/SW/Pkg-mnormt") -- cgit v1.2.3 From 35124d00873e58eb3fbdf0fc07fff807c9f76aa0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 13 Jun 2022 14:22:04 +0200 Subject: gnu: r-quantpsyc: Update to 1.6. * gnu/packages/statistics.scm (r-quantpsyc): Update to 1.6. [propagated-inputs]: Add r-dplyr and r-purrr. --- gnu/packages/statistics.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5254c8b445..8823150222 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -6432,18 +6432,21 @@ (define-public readstat (define-public r-quantpsyc (package (name "r-quantpsyc") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (cran-uri "QuantPsyc" version)) (sha256 (base32 - "1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93")))) + "1dbj830p5837fiwa800nzsaf19lf95vc3n7jmds2q9v06mrz6syq")))) (properties `((upstream-name . "QuantPsyc"))) (build-system r-build-system) (propagated-inputs - (list r-boot r-mass)) + (list r-boot + r-dplyr + r-mass + r-purrr)) (home-page "https://cran.r-project.org/web/packages/QuantPsyc/") (synopsis "Quantitative Psychology Tools") (description -- cgit v1.2.3 From 5dec5f65ec3c7371dde309a101b85b930e423a46 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 13 Jun 2022 17:16:54 +0200 Subject: gnu: fplll: Update to 5.4.2. * gnu/packages/algebra.scm (fplll): Update to 5.4.2. [source]: Remove patch; for unknown reasons the package now compiles without it. * gnu/packages/patches/fplll-std-fenv.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Unregister patch. --- gnu/local.mk | 3 +-- gnu/packages/algebra.scm | 7 +++---- gnu/packages/patches/fplll-std-fenv.patch | 18 ------------------ 3 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 gnu/packages/patches/fplll-std-fenv.patch diff --git a/gnu/local.mk b/gnu/local.mk index a3760fbd47..ad6b5591a3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1,6 +1,6 @@ # GNU Guix --- Functional package management for GNU # Copyright © 2012-2021, 2021-2022 Ludovic Courtès -# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Andreas Enge +# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022 Andreas Enge # Copyright © 2016 Mathieu Lirzin # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver # Copyright © 2016 Chris Marusich @@ -1073,7 +1073,6 @@ dist_patch_DATA = \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/fp16-system-libraries.patch \ %D%/packages/patches/fpc-reproducibility.patch \ - %D%/packages/patches/fplll-std-fenv.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freeglut-gcc-compat.patch \ %D%/packages/patches/freeimage-unbundle.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 869a1373e5..5903b76664 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022 Andreas Enge ;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès ;;; Copyright © 2016-2022 Nicolas Goaziou ;;; Copyright © 2014, 2018 Mark H Weaver @@ -154,7 +154,7 @@ (define-public cm (define-public fplll (package (name "fplll") - (version "5.3.3") + (version "5.4.2") (source (origin (method git-fetch) (uri (git-reference @@ -163,8 +163,7 @@ (define-public fplll (file-name (git-file-name name version)) (sha256 (base32 - "06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj")) - (patches (search-patches "fplll-std-fenv.patch")))) + "0044nyfnwzgyfrsikbcbh00f54dd61hwn3fb6711rrskkfnw977a")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool pkg-config)) diff --git a/gnu/packages/patches/fplll-std-fenv.patch b/gnu/packages/patches/fplll-std-fenv.patch deleted file mode 100644 index aa2438f0c9..0000000000 --- a/gnu/packages/patches/fplll-std-fenv.patch +++ /dev/null @@ -1,18 +0,0 @@ -See https://github.com/fplll/fplll/issues/444 - ---- fplll-5.3.3-checkout.old/fplll/enum/enumerate_base.h 2020-09-23 13:55:27.833769823 +0200 -+++ fplll-5.3.3-checkout/fplll/enum/enumerate_base.h 2020-09-23 13:56:14.313771769 +0200 -@@ -127,10 +127,10 @@ - int rounding_backup; - void save_rounding() - { -- rounding_backup = std::fegetround(); -- std::fesetround(FE_TONEAREST); -+ rounding_backup = fegetround(); -+ fesetround(FE_TONEAREST); - } -- void restore_rounding() { std::fesetround(rounding_backup); } -+ void restore_rounding() { fesetround(rounding_backup); } - - inline bool next_pos_up() - { -- cgit v1.2.3 From 89fefe2fd4c7f5448bac6fffa09d55a342cd5d22 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 13 Jun 2022 17:40:30 +0200 Subject: gnu: python-fpylll: Update to 0.5.7. * gnu/packages/algebra.scm (python-fpylll): Update to 0.5.7. [source]: Revert from git to pypi. --- gnu/packages/algebra.scm | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 5903b76664..c2e167f443 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -198,19 +198,14 @@ (define-public fplll (define-public python-fpylll (package (name "python-fpylll") - (version "0.5.2") + (version "0.5.7") (source (origin - ;; Pypi contains and older release, so we use a tagged release from - ;; Github instead. - (method git-fetch) - (uri (git-reference - (url "https://github.com/fplll/fpylll") - (commit (string-append version "dev")))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (pypi-uri "fpylll" version)) (sha256 (base32 - "1a25iibihph626jl4wbs4b77xc4a2c4nfc2ypscf9wpani3dnhjf")))) + "1xjqcwq90blgzvnbkbzdys8mdhi2b4li6faywm6yi8shxvz8iz0s")))) (build-system python-build-system) (inputs (list fplll gmp mpfr pari-gp)) -- cgit v1.2.3 From f2ed82eb53b5b34078e1e7746d5ba01cf569f2ad Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 13 Jun 2022 17:50:28 +0200 Subject: gnu: sollya: Update to 8.0. * gnu/packages/algebra.scm (sollya): Update to 8.0. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index c2e167f443..921b07f1b0 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1728,14 +1728,14 @@ (define-public r-dtt (define-public sollya (package (name "sollya") - (version "7.0") + (version "8.0") (source (origin (method url-fetch) (uri (string-append "https://www.sollya.org/releases/" "sollya-" version "/sollya-" version ".tar.bz2")) (sha256 (base32 - "11290ivi9h665cxi8f1shlavhy10vzb8s28m57hrcgnxyxqmhx0m")))) + "1sf1cjcr6x035n97l64ppzb9pzq5568h7waz0zfc3120894gcnjz")))) (build-system gnu-build-system) (inputs (list fplll -- cgit v1.2.3 From 4ff9f1689d0d8f3c7555c472ce67aaa928af564d Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 12 Jun 2022 22:34:28 +0300 Subject: gnu: java-commons-lang3: Update to 3.12.0 * gnu/packages/java.scm (java-commons-lang3): Update to 3.12.0. * gnu/packages/patches/java-commons-lang-fix-dependency.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Julien Lepiller --- gnu/local.mk | 1 + gnu/packages/java.scm | 7 ++-- .../patches/java-commons-lang-fix-dependency.patch | 38 ++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/java-commons-lang-fix-dependency.patch diff --git a/gnu/local.mk b/gnu/local.mk index ad6b5591a3..0176585485 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1317,6 +1317,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ + %D%/packages/patches/java-commons-lang-fix-dependency.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fcac0c2367..d2fbf840a0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Mike Gerwitz ;;; Copyright © 2021 Pierre Langlois ;;; Copyright © 2021 Guillaume Le Vaillant +;;; Copyright © 2022 Artyom V. Poptsov ;;; ;;; This file is part of GNU Guix. ;;; @@ -6206,14 +6207,16 @@ (define-public java-commons-lang (define-public java-commons-lang3 (package (name "java-commons-lang3") - (version "3.9") + (version "3.12.0") (source (origin (method url-fetch) (uri (string-append "mirror://apache/commons/lang/source/" "commons-lang3-" version "-src.tar.gz")) (sha256 - (base32 "0s4ffbvsyl16c90l45ximsg4dwd8hmz7wsza3p308fw43h6mwhb6")))) + (base32 "09dcv1pkdx3hpf06py8p9511f1wkin6jpacdll0c8vxpbi3yfwzv")) + (patches + (search-patches "java-commons-lang-fix-dependency.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "commons-lang3.jar" diff --git a/gnu/packages/patches/java-commons-lang-fix-dependency.patch b/gnu/packages/patches/java-commons-lang-fix-dependency.patch new file mode 100644 index 0000000000..4e0d42d2ed --- /dev/null +++ b/gnu/packages/patches/java-commons-lang-fix-dependency.patch @@ -0,0 +1,38 @@ +Prevent java-commons-lang3 from depending on junit-bom when used with +maven. + +From 5c15b04ff9d05235460ea58f303fcf3502a943f2 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" +Date: Mon, 13 Jun 2022 09:25:42 +0300 +Subject: [PATCH] pom.xml: Remove dependency on 'junit-bom' + +--- + pom.xml | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/pom.xml b/pom.xml +index 167a85a47..6cd9be57b 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -513,18 +513,6 @@ + + + +- +- +- +- org.junit +- junit-bom +- 5.7.1 +- pom +- import +- +- +- +- + + + +-- +2.25.1 + -- cgit v1.2.3 From 3691e37eb14c5871d213646154b98f5aaa5dd2f1 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Sun, 5 Jun 2022 16:05:02 -0700 Subject: gnu: autogen: Build with guile 3.0. * gnu/packages/autogen.scm (autogen)[arguments]: Add 'support-guile-3.0 phase. [inputs]: Remove guile-2.2 and add guile-3.0. --- gnu/packages/autogen.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm index d0c8df17ec..d0e4f2f34c 100644 --- a/gnu/packages/autogen.scm +++ b/gnu/packages/autogen.scm @@ -49,7 +49,7 @@ (define-public autogen "def_bf[MAXNAMELEN + 10]"))))) (build-system gnu-build-system) (native-inputs (list pkg-config which)) - (inputs (list guile-2.2 perl)) ; for doc generator mdoc + (inputs (list guile-3.0 perl)) ; for doc generator mdoc (arguments '(#:configure-flags ;; XXX Needed to build 5.18.16. ./configure fails without it: @@ -62,6 +62,17 @@ (define-public autogen #:phases (modify-phases %standard-phases + (add-after 'unpack 'support-guile-3.0 + ;; Upstream bug: + ;; https://sourceforge.net/p/autogen/bugs/196/ + ;; + ;; Supported in Debian and openSUSE: + ;; https://salsa.debian.org/debian/autogen/-/blob/master/debian/patches/40_suse_04-guile-version.patch + (lambda _ + (substitute* "agen5/guile-iface.h" + (("#elif GUILE_VERSION < 203000") "#elif GUILE_VERSION < 301000")) + (substitute* "configure" + (("2.2 2.0 1.8") "3.0 2.2 2.0 1.8")))) (add-before 'build 'set-man-page-date ;; Avoid embedding the current date for reproducible builds (lambda _ -- cgit v1.2.3 From 824f2afcf0ffa7d515b04e360fa49a6b0c4a7753 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 13 Jun 2022 18:51:00 -0700 Subject: gnu: autogen: Build reproducibly. * gnu/packages/autogen.scm (autogen)[arguments]: Add 'use-numeric-ids-in-tarball phase. --- gnu/packages/autogen.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm index d0e4f2f34c..9751e11a64 100644 --- a/gnu/packages/autogen.scm +++ b/gnu/packages/autogen.scm @@ -73,6 +73,13 @@ (define-public autogen (("#elif GUILE_VERSION < 203000") "#elif GUILE_VERSION < 301000")) (substitute* "configure" (("2.2 2.0 1.8") "3.0 2.2 2.0 1.8")))) + (add-after 'unpack 'use-numeric-ids-in-tarball + ;; Pass arguments to tar to generate tarball with consistent uid + ;; and gid to ensure reproducible build + (lambda _ + (substitute* "pkg/libopts/mklibsrc.sh" + (("--sort=name --format=gnu") + "--sort=name --format=gnu --owner=0 --group=0 --numeric-owner")))) (add-before 'build 'set-man-page-date ;; Avoid embedding the current date for reproducible builds (lambda _ -- cgit v1.2.3 From 67ff6767925d35c9d3a3c83cd21083ca8f930f02 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:05 +0200 Subject: gnu: python-parted: Update to 3.12.0. * gnu/packages/disk.scm (python-parted): Update to 3.12.0. [arguments]: Run the default 'check phase at the default time. --- gnu/packages/disk.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 8886d1c2a2..5524792188 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -718,7 +718,7 @@ (define-public f3 (define-public python-parted (package (name "python-parted") - (version "3.11.7") + (version "3.12.0") (source (origin (method git-fetch) @@ -727,20 +727,8 @@ (define-public python-parted (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01193fmkss9icjvqpw85szpk8ld1pnha7p9kqm7mpwk6rc6gi2m3")))) + (base32 "0jxc1i1g3lz32wvqvdbb9ng2ypin783004kjnp0pghiz813lpw1d")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs inputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - ;; See . - (substitute* "tests/test__ped_ped.py" - (("\"/tmp/temp-device-\"") "self.path")) - (invoke "python" "-m" "unittest" "discover" "-v") - #t))))) (native-inputs (list e2fsprogs pkg-config)) (propagated-inputs -- cgit v1.2.3 From 88b098d9ba523b41fac813ae6ee296579ceab659 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: python-parted: Rename to python-pyparted. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/disk.scm (python-pyparted): New variable renamed from… (python-parted): …this, to better follow the package naming guidelines. Redefine it using DEPRECATED-PACKAGE. --- gnu/packages/disk.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 5524792188..47b15e588f 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -715,9 +715,9 @@ (define-public f3 a card with a smaller capacity than stated.") (license license:gpl3+))) -(define-public python-parted +(define-public python-pyparted (package - (name "python-parted") + (name "python-pyparted") (version "3.12.0") (source (origin @@ -740,6 +740,9 @@ (define-public python-parted (description "This package provides @code{parted} bindings for Python.") (license license:gpl2+))) +(define-public python-parted + (deprecated-package "python-parted" python-pyparted)) + (define-public duperemove (package (name "duperemove") -- cgit v1.2.3 From 998d9a6183e7967e10833d5c0d5f36322bfa83a9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:03 +0200 Subject: pull: Fix typo in error message. * guix/scripts/pull.scm (guix-pull): Report the right user name/ID. --- guix/scripts/pull.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 24151f7ed3..df683b61c4 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -832,7 +832,7 @@ (define (no-arguments arg _) (&message (message (format #f (G_ "directory ‘~a’ is not owned by user ~a") - dir dir:user))) + dir our:user))) (&fix-hint (hint (format #f (G_ "You should run this command as ~a; use ‘sudo -i’ or equivalent if you really want to pull as ~a.") -- cgit v1.2.3 From e1b647fdf64b7d94e92216815cfb5981c6e3e294 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 Jun 2022 02:00:00 +0200 Subject: gnu: sudo: Update to 1.9.11p2. * gnu/packages/admin.scm (sudo): Update to 1.9.11p2. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d19f90757a..d25d0b3916 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1840,7 +1840,7 @@ (define-public rottlog (define-public sudo (package (name "sudo") - (version "1.9.11p1") + (version "1.9.11p2") (source (origin (method url-fetch) (uri @@ -1850,7 +1850,7 @@ (define-public sudo version ".tar.gz"))) (sha256 (base32 - "0jr52rmig9h367j0n6h3lp5xf54jsycnvdih42wg9bd9d4d6r2zb")) + "1lli4z10b5j238cn7471jb8vcjlj5px68x48ysa3f1n0kzmih6d2")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 2682b12ca47e9d1adb0b862c6540b9ec2cc53ce4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: dovecot: Update to 2.3.19.1. * gnu/packages/mail.scm (dovecot): Update to 2.3.19.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8596d0808b..b94faea136 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1889,7 +1889,7 @@ (define-public dovecot (package (name "dovecot") ;; Also update dovecot-pigeonhole when updating to a new minor version. - (version "2.3.19") + (version "2.3.19.1") (source (origin (method url-fetch) @@ -1897,7 +1897,7 @@ (define-public dovecot (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1")))) + (base32 "0lawd8grwxass1frlw9bdd49fpwwxsv2qnxllsg6a2bkgpcbqnnv")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) -- cgit v1.2.3 From 2ac81f482a4d6d5b9fb41655818f01ffd3166f6f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 14 Jun 2022 16:41:34 +0530 Subject: gnu: python-httpcore: Update to 0.15.0. * gnu/packages/python-web.scm (python-httpcore): Update to 0.15.0. [arguments]: Override asyncio_mode when invoking pytest in check phase. --- gnu/packages/python-web.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 0182679acd..f94061ebe6 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -44,7 +44,7 @@ ;;; Copyright © 2021 Greg Hogan ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Pradana Aumars -;;; Copyright © 2021 Arun Isaac +;;; Copyright © 2021, 2022 Arun Isaac ;;; Copyright © 2021 jgart ;;; Copyright © 2021 Alice Brenon ;;; Copyright © 2022 John Kehayias @@ -5295,7 +5295,7 @@ (define-public python-vf-1 (define-public python-httpcore (package (name "python-httpcore") - (version "0.14.7") + (version "0.15.0") (source (origin ;; PyPI tarball does not contain tests. @@ -5305,7 +5305,7 @@ (define-public python-httpcore (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0wdr28vf03l6yxhk8nrvhh7y7x18rqdcfzv1sb6jgzk9zmycrvc7")))) + (base32 "0skj8f85l52gl6x449wzaixcwsyayvn59iwn0df4b7ixlz6xhp8l")))) (build-system python-build-system) (arguments `(#:phases @@ -5313,7 +5313,8 @@ (define-public python-httpcore (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "pytest" "-vv" "tests"))))))) + (invoke "pytest" "-vv" "tests" + "--override-ini=asyncio_mode=auto"))))))) (native-inputs (list python-pytest python-pytest-asyncio -- cgit v1.2.3 From 6f75565b4ec3b8a7247699c327a3b3196c787f76 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 14 Jun 2022 16:45:11 +0530 Subject: gnu: python-httpx: Update to 0.23.0. * gnu/packages/python-web.scm (python-httpx): Update to 0.23.0. --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f94061ebe6..30c461f247 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5361,7 +5361,7 @@ (define-public python-httpcore-bootstrap (define-public python-httpx (package (name "python-httpx") - (version "0.22.0") + (version "0.23.0") (source (origin ;; PyPI tarball does not contain tests. @@ -5371,7 +5371,7 @@ (define-public python-httpx (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1awr56488b66zyl3cx1f03lq2n07xdg5kb4l46vnsm59s6hr02c5")))) + (base32 "0bihm7ylq9ajxz8qyba0xp9qkwm7n06hk01ywkq2vpz65ix5hpdk")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 240ac3b75cb5b3140f5d0c917884e6dedee863be Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Mon, 13 Jun 2022 12:25:10 +0000 Subject: gnu: cl-serapeum: Remove input labels. * gnu/packages/lisp-xyz.scm (sbcl-serapeum)[inputs, native-inputs]: Remove labels. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index c3b14135a3..e2c8e06f92 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -7521,22 +7521,22 @@ (define-public sbcl-serapeum (base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd")))) (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria) - ("trivia" ,sbcl-trivia) - ("split-sequence" ,sbcl-split-sequence) - ("string-case" ,sbcl-string-case) - ("parse-number" ,sbcl-parse-number) - ("trivial-garbage" ,sbcl-trivial-garbage) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("named-readtables" ,sbcl-named-readtables) - ("fare-quasiquote" ,sbcl-fare-quasiquote) - ("parse-declarations-1.0" ,sbcl-parse-declarations) - ("global-vars" ,sbcl-global-vars) - ("trivial-file-size" ,sbcl-trivial-file-size) - ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all))) + (list sbcl-alexandria + sbcl-trivia + sbcl-split-sequence + sbcl-string-case + sbcl-parse-number + sbcl-trivial-garbage + sbcl-bordeaux-threads + sbcl-named-readtables + sbcl-fare-quasiquote + sbcl-parse-declarations + sbcl-global-vars + sbcl-trivial-file-size + sbcl-trivial-macroexpand-all)) (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("local-time" ,sbcl-local-time))) + (list sbcl-fiveam + sbcl-local-time)) (arguments '(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From f11b6ac9acfa246d008343f43145a60bb47ec099 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Mon, 13 Jun 2022 12:26:54 +0000 Subject: gnu: cl-serapeum: Use G-expressions. * gnu/packages/lisp-xyz.scm (sbcl-serapeum)[arguments]: Use G-expressions and simplify the 'disable-failing-tests' phase. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e2c8e06f92..cf8af2fc89 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -7538,14 +7538,13 @@ (define-public sbcl-serapeum (list sbcl-fiveam sbcl-local-time)) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "serapeum.asd" - ;; Guix does not have Quicklisp, and probably never will. - (("\\(:file \"quicklisp\"\\)") "")) - #t))))) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "serapeum.asd" + ;; Guix does not have Quicklisp, and probably never will. + (("\\(:file \"quicklisp\"\\)") ""))))))) (synopsis "Common Lisp utility library beyond Alexandria") (description "Serapeum is a conservative library of Common Lisp utilities. It is a -- cgit v1.2.3 From 50b6377bc4ef9722286f42735129fb5473486dfb Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Mon, 13 Jun 2022 12:27:00 +0000 Subject: gnu: cl-serapeum: Update to 0.0.0-7.d2150c6. * gnu/packages/lisp-xyz.scm (sbcl-serapeum): Update to 0.0.0-7.d2150c6. [inputs]: Remove sbcl-named-readtables and sbcl-fare-quasiquote. Add sbcl-introspect-environment and sbcl-trivial-cltl2. [native-inputs]: Add sbcl-atomics. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index cf8af2fc89..8ebb66b212 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -7504,8 +7504,8 @@ (define-public ecl-trivial-macroexpand-all (sbcl-package->ecl-package sbcl-trivial-macroexpand-all)) (define-public sbcl-serapeum - (let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9") - (revision "6")) + (let ((commit "d2150c6fb75c16f2ee0abd145a1089d0019e7f7e") + (revision "7")) (package (name "sbcl-serapeum") (version (git-version "0.0.0" revision commit)) @@ -7518,7 +7518,7 @@ (define-public sbcl-serapeum (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd")))) + (base32 "1czs771nyqz45ndd09iiva2swvazy1b2z0k6h4qqdd839vnjcs06")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria @@ -7528,14 +7528,15 @@ (define-public sbcl-serapeum sbcl-parse-number sbcl-trivial-garbage sbcl-bordeaux-threads - sbcl-named-readtables - sbcl-fare-quasiquote sbcl-parse-declarations + sbcl-introspect-environment + sbcl-trivial-cltl2 sbcl-global-vars sbcl-trivial-file-size sbcl-trivial-macroexpand-all)) (native-inputs - (list sbcl-fiveam + (list sbcl-atomics + sbcl-fiveam sbcl-local-time)) (arguments (list #:phases -- cgit v1.2.3 From 0fd660a2b29e3bd6102740504892830010472885 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 14 Jun 2022 15:38:21 +0200 Subject: gnu: cl-fof: Fix build with recent cl-serapeum. * gnu/packages/lisp-xyz.scm (sbcl-fof)[inputs]: Remove labels and add sbcl-named-readtables. [arguments]: Add 'fix-build' phase. --- gnu/packages/lisp-xyz.scm | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 8ebb66b212..44790bc98b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15404,20 +15404,25 @@ (define-public sbcl-fof (substitute* "ffprobe.lisp" (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)") (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")" - (assoc-ref inputs "ffmpeg") ))) - #t))))) + (assoc-ref inputs "ffmpeg")))))) + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "file.lisp" + (("\\(:import-from #:magicffi\\)" all) + (string-append all "(:import-from #:named-readtables)")))))))) (inputs - `(("alexandria" ,sbcl-alexandria) - ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star) - ("local-time" ,sbcl-local-time) - ("magicffi" ,sbcl-magicffi) - ("osicat" ,sbcl-osicat) - ("serapeum" ,sbcl-serapeum) - ("str" ,sbcl-cl-str) - ("trivia" ,sbcl-trivia) - ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames) - ;; Non-CL deps: - ("ffmpeg" ,ffmpeg))) + (list sbcl-alexandria + sbcl-hu.dwim.defclass-star + sbcl-local-time + sbcl-magicffi + sbcl-named-readtables + sbcl-osicat + sbcl-serapeum + sbcl-cl-str + sbcl-trivia + sbcl-trivial-package-local-nicknames + ;; Non-CL deps: + ffmpeg)) (home-page "https://gitlab.com/ambrevar/fof") (synopsis "File object finder library for Common Lisp") (description -- cgit v1.2.3 From 893fc788fb0ca28d596317258dec668be314602c Mon Sep 17 00:00:00 2001 From: "André A. Gomes" Date: Tue, 14 Jun 2022 09:46:23 +0100 Subject: gnu: cl-dexador: Update to 0.9.15-1.74a233e. * gnu/packages/lisp-xyz.scm (sbcl-dexador): Update to 0.9.15-1.74a233e. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 44790bc98b..f44b17af17 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6056,12 +6056,12 @@ (define-public ecl-cl-cookie (sbcl-package->ecl-package sbcl-cl-cookie)) (define-public sbcl-dexador - (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc") + (let ((commit "74a233edb0ebf2b8c696fb8db984ac568fbcc4e5") (revision "1")) (package (name "sbcl-dexador") (build-system asdf-build-system/sbcl) - (version "0.9.14" ) + (version (git-version "0.9.15" revision commit)) (home-page "https://github.com/fukamachi/dexador") (source (origin @@ -6069,10 +6069,9 @@ (define-public sbcl-dexador (uri (git-reference (url home-page) (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-dexador" version)) (sha256 - (base32 - "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn")))) + (base32 "14cbykd9j8klm8sz3siq5zk78a0ljd6rdwfq12fi4h1ih50apyfi")))) (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams) ("babel" ,sbcl-babel) -- cgit v1.2.3 From d1f3bba66cc4c1763c7391755d884aaa723c9bb7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 14 Jun 2022 15:54:09 +0200 Subject: gnu: cl-dexador: Remove input labels. * gnu/packages/lisp-xyz.scm (sbcl-dexador)[inputs, native-inputs]: Remove labels and sort inputs. --- gnu/packages/lisp-xyz.scm | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f44b17af17..633206abde 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6073,31 +6073,31 @@ (define-public sbcl-dexador (sha256 (base32 "14cbykd9j8klm8sz3siq5zk78a0ljd6rdwfq12fi4h1ih50apyfi")))) (inputs - `(("trivial-gray-streams" ,sbcl-trivial-gray-streams) - ("babel" ,sbcl-babel) - ("usocket" ,sbcl-usocket) - ("fast-http" ,sbcl-fast-http) - ("quri" ,sbcl-quri) - ("fast-io" ,sbcl-fast-io) - ("chunga" ,sbcl-chunga) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("cl-cookie" ,sbcl-cl-cookie) - ("trivial-mimes" ,sbcl-trivial-mimes) - ("chipz" ,sbcl-chipz) - ("cl-base64" ,sbcl-cl-base64) - ("cl-reexport" ,sbcl-cl-reexport) - ("cl+ssl" ,sbcl-cl+ssl) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("alexandria" ,sbcl-alexandria))) + (list sbcl-alexandria + sbcl-babel + sbcl-bordeaux-threads + sbcl-chipz + sbcl-chunga + sbcl-cl+ssl + sbcl-cl-base64 + sbcl-cl-cookie + sbcl-cl-ppcre + sbcl-cl-reexport + sbcl-fast-http + sbcl-fast-io + sbcl-quri + sbcl-trivial-gray-streams + sbcl-trivial-mimes + sbcl-usocket)) (native-inputs - `(("prove" ,sbcl-prove) - ("lack" ,sbcl-lack) - ("clack" ,sbcl-clack) - ("babel" ,sbcl-babel) - ("alexandria" ,sbcl-alexandria) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("local-time" ,sbcl-local-time) - ("trivial-features" ,sbcl-trivial-features))) + (list sbcl-alexandria + sbcl-babel + sbcl-cl-ppcre + sbcl-clack + sbcl-lack + sbcl-local-time + sbcl-prove + sbcl-trivial-features)) (arguments ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador. `(#:tests? #f -- cgit v1.2.3 From 99c43cf344b8cd8eccfa76dff26c85aace2512b0 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 14 Jun 2022 16:18:07 +0200 Subject: gnu: cl-fof: Update to 0.2.0-1.522879e. * gnu/packages/lisp-xyz.scm (sbcl-fof): Update to 0.2.0-1.522879e. [inputs]: Sort inputs. [arguments]: Remove 'fix-build' phase. --- gnu/packages/lisp-xyz.scm | 87 +++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 633206abde..7d937c460f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15382,56 +15382,53 @@ (define-public cl-cpus (sbcl-package->cl-source-package sbcl-cl-cpus)) (define-public sbcl-fof - (package - (name "sbcl-fof") - (version "0.2.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/ambrevar/fof") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m")))) - (build-system asdf-build-system/sbcl) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "ffprobe.lisp" - (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)") - (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")" - (assoc-ref inputs "ffmpeg")))))) - (add-after 'unpack 'fix-build - (lambda _ - (substitute* "file.lisp" - (("\\(:import-from #:magicffi\\)" all) - (string-append all "(:import-from #:named-readtables)")))))))) - (inputs - (list sbcl-alexandria - sbcl-hu.dwim.defclass-star - sbcl-local-time - sbcl-magicffi - sbcl-named-readtables - sbcl-osicat - sbcl-serapeum - sbcl-cl-str - sbcl-trivia - sbcl-trivial-package-local-nicknames - ;; Non-CL deps: - ffmpeg)) - (home-page "https://gitlab.com/ambrevar/fof") - (synopsis "File object finder library for Common Lisp") - (description - "This library enable rapid file search, inspection and manipulation + (let ((commit "522879e7da110ecf2e841998b197b34062c54b29") + (revision "1")) + (package + (name "sbcl-fof") + (version (git-version "0.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ambrevar/fof") + (commit commit))) + (file-name (git-file-name "cl-fof" version)) + (sha256 + (base32 "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ffprobe.lisp" + (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)") + (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")" + (assoc-ref inputs "ffmpeg"))))))))) + (inputs + (list sbcl-alexandria + sbcl-cl-str + sbcl-hu.dwim.defclass-star + sbcl-local-time + sbcl-magicffi + sbcl-named-readtables + sbcl-osicat + sbcl-serapeum + sbcl-trivia + sbcl-trivial-package-local-nicknames + ;; Non-CL deps: + ffmpeg)) + (home-page "https://gitlab.com/ambrevar/fof") + (synopsis "File object finder library for Common Lisp") + (description + "This library enable rapid file search, inspection and manipulation straight from the REPL. It aims at replacing Unix tools such as @code{find} or @code{du}. It also offers a replacement to the @code{pathname} Common Lisp API. Slot writers which commit changes to disk, e.g. permissions, modification time, etc.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public ecl-fof (sbcl-package->ecl-package sbcl-fof)) -- cgit v1.2.3 From 3dd32e76b05f6cfed68304d286101a37cc928b1a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Jun 2022 00:35:06 -0400 Subject: gnu: h-client: Fetch source from Savannah again. * gnu/packages/hardware.scm (h-client)[source]: Update URL and associated comment. --- gnu/packages/hardware.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index d4e43feb06..1471c28fa2 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -377,8 +377,10 @@ (define-public edid-decode (license license:expat)))) (define-public h-client - (let ((commit "63ff4a3bf9c3c3b6297091e08192d34991465431") - (revision "0")) + ;; The Python 3 port hasn't yet been integrated into the main branch + ;; (currently lives in the 'python3-port' branch). + (let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc") + (revision "1")) (package (name "h-client") (version (git-version "0.0a0" revision commit)) @@ -386,14 +388,11 @@ (define-public h-client (origin (method git-fetch) (uri (git-reference - ;; Use this Python 3 fork until the changes have been reviewed - ;; and integrated into the official Savannah repository (in - ;; progress). - (url "https://git.sr.ht/~apteryx/h-client") + (url "https://git.savannah.gnu.org/git/h-client.git") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0c6s96a1zmsnn7bnfhm790c1fr8sid0zdyh9mwig4y6ffn83czh5")))) + (base32 "0hm86d51kj5r3yxq4c23aa57cs8igz3wrkbjn20z4frx75rpf46m")))) (build-system python-build-system) (inputs (list gdk-pixbuf -- cgit v1.2.3 From 391544a596e5e8366391a30bc14614cfa75144d3 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 13 Jun 2022 06:18:27 +0200 Subject: gnu: webkitgtk: Update to 2.36.3. * gnu/packages/webkit.scm (webkitgtk): Update to 2.36.3. --- gnu/packages/webkit.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 476c33a1cd..42a2893a38 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -123,7 +123,7 @@ (define-public wpebackend-fdo engine that uses Wayland for graphics output.") (license license:bsd-2))) -(define %webkit-version "2.36.0") +(define %webkit-version "2.36.3") (define-public webkitgtk (package @@ -134,7 +134,7 @@ (define-public webkitgtk (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq")) + (base32 "1lbqqjpqc9yiwpsvvagy1ag9vazbq7bvnvml53nvhi669s6cybvk")) (patches (search-patches "webkitgtk-adjust-bubblewrap-paths.patch")))) (build-system cmake-build-system) @@ -300,7 +300,7 @@ (define-public wpewebkit (uri (string-append "https://wpewebkit.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "0nkdx6pckbkhs85z3pidnh4cbp0wfa38lf2qyn0grywvgpwajsh9")))) + (base32 "1j1gijb8jz15vz65sv5pml3shqk2sm6769kq7bzxm5vlrbmms9v6")))) (arguments (substitute-keyword-arguments (package-arguments webkitgtk) ((#:configure-flags flags) -- cgit v1.2.3 From 330d2778a93a2f9618a3dec0846eaa04b240e4db Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 13 Jun 2022 06:20:32 +0200 Subject: gnu: komikku: Update to 0.39.0. * gnu/packages/gnome.scm (komikku): Update to 0.39.0. --- 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 a938453dd4..dce98a4b26 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -12306,7 +12306,7 @@ (define-public gnome-builder (define-public komikku (package (name "komikku") - (version "0.38.0") + (version "0.39.0") (source (origin (method git-fetch) @@ -12316,7 +12316,7 @@ (define-public komikku (file-name (git-file-name name version)) (sha256 (base32 - "1khf51r8001j0cvjja5rkqi07v08nqyz97hx8fjyi7p3l5b5vkwc")))) + "1g765kbgimfpvma67j1gscj046n2q9a9nr2pczlw65qwlm0418c5")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t -- cgit v1.2.3 From 3aaf52a129ccf1d42aefd31322d21f697ce026b4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Dec 2021 22:20:02 -0500 Subject: gnu: Add dbus-verbose. * gnu/packages/glib.scm (dbus-verbose): New variable. --- gnu/packages/glib.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 732b1aea8a..98267fcee5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -193,6 +193,21 @@ (define-public dbus-for-jami (("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf") "/var/run/jami/session-local.conf"))))))))))) +;;; The reason this is not enabled in the regular dbus package is because it +;;; impacts the performance of D-Bus (including its library) as a whole, even +;;; when the DBUS_VERBOSE environment variable is not set. +(define-public dbus-verbose + (package/inherit dbus + (name "dbus-verbose") + (arguments (substitute-keyword-arguments (package-arguments dbus) + ((#:configure-flags flags '()) + `(cons "--enable-verbose-mode" ,flags)))) + (synopsis "D-Bus with verbose mode enabled for debugging") + (description "This variant D-Bus package is built with verbose mode, which +eases debugging of D-Bus services by printing various debug information when +the @code{DBUS_VERBOSE} environment variable is set to @samp{1}. For more +information, refer to the @samp{dbus-daemon(1)} man page."))) + (define glib (package (name "glib") -- cgit v1.2.3 From a860a5fa95a743093cbda5540fb5be7800439a9f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Dec 2021 22:48:39 -0500 Subject: services: dbus: Add a VERBOSE? configuration option. * gnu/services/dbus.scm ()[verbose?]: New field. (dbus-shepherd-service): Use it. (dbus-service)[verbose?]: Add argument and update doc. * doc/guix.texi (Desktop Services): Document it. --- doc/guix.texi | 9 +++++++-- gnu/services/dbus.scm | 22 +++++++++++++++++----- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 967145a627..4c2c856c79 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -21767,9 +21767,14 @@ The actual service definitions included in @code{%desktop-services} and provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are described below. -@deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] +@deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] @ + [#:verbose?] Return a service that runs the ``system bus'', using @var{dbus}, with -support for @var{services}. +support for @var{services}. When @var{verbose?} is true, it causes the +@samp{DBUS_VERBOSE} environment variable to be set to @samp{1}; a +verbose-enabled D-Bus package such as @code{dbus-verbose} should be +provided as @var{dbus} in this scenario. The verbose output is logged +to @file{/var/log/dbus-daemon.log}. @uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process communication facility. Its system bus is used to allow system services to communicate diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index ef6b82c572..52cb1e3a51 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -53,7 +53,9 @@ (define-record-type* (dbus dbus-configuration-dbus ;file-like (default dbus)) (services dbus-configuration-services ;list of - (default '()))) + (default '())) + (verbose? dbus-configuration-verbose? ;boolean + (default #f))) (define (system-service-directory services) "Return the system service directory, containing @code{.service} files for @@ -191,7 +193,7 @@ (define (dbus-activation config) (define dbus-shepherd-service (match-lambda - (($ dbus) + (($ dbus _ verbose?) (list (shepherd-service (documentation "Run the D-Bus system daemon.") (provision '(dbus-system)) @@ -199,6 +201,12 @@ (define dbus-shepherd-service (start #~(make-forkexec-constructor (list (string-append #$dbus "/bin/dbus-daemon") "--nofork" "--system" "--syslog-only") + #$@(if verbose? + ;; Since the verbose output goes to the console, + ;; not syslog, add a log file to capture it. + '(#:environment-variables '("DBUS_VERBOSE=1") + #:log-file "/var/log/dbus-daemon.log") + '()) #:pid-file "/var/run/dbus/pid")) (stop #~(make-kill-destructor))))))) @@ -234,9 +242,12 @@ (define dbus-root-service-type bus. It allows programs and daemons to communicate and is also responsible for spawning (@dfn{activating}) D-Bus services on demand."))) -(define* (dbus-service #:key (dbus dbus) (services '())) +(define* (dbus-service #:key (dbus dbus) (services '()) verbose?) "Return a service that runs the \"system bus\", using @var{dbus}, with -support for @var{services}. +support for @var{services}. When @var{verbose?} is true, it causes the +@samp{DBUS_VERBOSE} environment variable to be set to @samp{1}; a +verbose-enabled D-Bus package such as @code{dbus-verbose} should be provided +as @var{dbus} in this scenario. @uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication facility. Its system bus is used to allow system services to communicate and @@ -248,7 +259,8 @@ (define* (dbus-service #:key (dbus dbus) (services '())) @var{services} must be equal to @code{(list avahi)}." (service dbus-root-service-type (dbus-configuration (dbus dbus) - (services services)))) + (services services) + (verbose? verbose?)))) (define (wrapped-dbus-service service program variables) "Return a wrapper for @var{service}, a package containing a D-Bus service, -- cgit v1.2.3 From 4e93ca70da55b4faf14219009cc96ea403277f2e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 24 May 2022 10:35:47 -0400 Subject: doc: Document how to repair Guix System from a chroot. * doc/guix.texi (System Troubleshooting Tips): New chapter. --- doc/guix.texi | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 4c2c856c79..de19d4aaba 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -169,6 +169,7 @@ Weblate} (@pxref{Translating Guix}). * Introduction:: What is Guix about? * Installation:: Installing Guix. * System Installation:: Installing the whole operating system. +* System Troubleshooting Tips:: When things don't go as planned. * Getting Started:: Your first steps. * Package Management:: Package installation, upgrade, etc. * Channels:: Customizing the package collection. @@ -227,6 +228,10 @@ System Installation * Installing Guix in a VM:: Guix System playground. * Building the Installation Image:: How this comes to be. +System Troubleshooting Tips + +* Chrooting into an existing system:: Fixing things from a chroot + Manual Installation * Keyboard Layout and Networking and Partitioning:: Initial setup. @@ -2368,6 +2373,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for a list of available keyboard layouts. Run @command{man loadkeys} for more information. +@anchor{manual-installation-networking} @subsubsection Networking Run the following command to see what your network interfaces are called: @@ -2821,6 +2827,119 @@ guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-b @code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid board, a list of possible boards will be printed. +@c ********************************************************************* +@cindex troubleshooting, guix system +@cindex guix system troubleshooting +@node System Troubleshooting Tips +@chapter System Troubleshooting Tips + +Guix System allows rebooting into a previous generation should the last +one be malfunctioning, which makes it quite robust against being broken +irreversibly. This feature depends on GRUB being correctly functioning +though, which means that if for whatever reasons your GRUB installation +becomes corrupted during a system reconfiguration, you may not be able +to easily boot into a previous generation. A technique that can be used +in this case is to @i{chroot} into your broken system and reconfigure it +from there. Such technique is explained below. + +@cindex chroot, guix system +@cindex chrooting, guix system +@cindex repairing GRUB, via chroot +@node Chrooting into an existing system +@section Chrooting into an existing system + +This section details how to @i{chroot} to an already installed Guix +System with the aim of reconfiguring it, for example to fix a broken +GRUB installation. The process is similar to how it would be done on +other GNU/Linux systems, but there are some Guix System particularities +such as the daemon and profiles that make it worthy of explaining here. + +@enumerate +@item +Obtain a bootable image of Guix System. It is recommended the latest +development snapshot so the kernel and the tools used are at least as as +new as those of your installed system; it can be retrieved from the +@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso, +https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD +Installation} section for copying it to a bootable media. + +@item +Boot the image, and proceed with the graphical text-based installer +until your network is configured. Alternatively, you could configure +the network manually by following the +@ref{manual-installation-networking} section. If you get the error +@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try +@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0} +is your device identifier (ID). + +@item +Switch to a virtual console (tty) if you haven't already by pressing +simultaneously the @kbd{Control + Alt + F4} keys. Mount your file +system at @file{/mnt}. Assuming your root partition is +@file{/dev/sda2}, you would do: + +@example sh +mount /dev/sda2 /mnt +@end example + +@item +Mount special block devices and Linux-specific directories: + +@example sh +mount --bind /proc /mnt/proc +mount --bind /sys /mnt/sys +mount --bind /dev /mnt/dev +@end example + +If your system is EFI-based, you must also mount the ESP partition. +Assuming it is @file{/dev/sda1}, you can do so with: + +@example sh +mount /dev/sda1 /mnt/boot/efi +@end example + +@item +Enter your system via chroot: + +@example sh +chroot /mnt /bin/sh +@end example + +@item +Source your @var{user} profile to setup the environment, where +@var{user} is the user name used for the Guix System you are attempting +to repair: + +@example sh +source /home/@var{user}/.guix-profile/etc/profile +@end example + +To ensure you are working with the Guix revision you normally would as +your normal user, also source your current Guix profile: + +@example sh +source /home/@var{user}/.config/guix/current/etc/profile +@end example + +@item +Start a minimal @command{guix-daemon} in the background: + +@example sh +guix-daemon --build-users-group=guixbuild --disable-chroot & +@end example + +@item +Edit your Guix System configuration if needed, then reconfigure with: + +@example sh +guix system reconfigure your-config.scm +@end example + +@item +Finally, you should be good to reboot the system to test your fix. + +@end enumerate + @c ********************************************************************* @node Getting Started @chapter Getting Started -- cgit v1.2.3 From ad05cb6a3ce084e68d97fa0e2492510a0c9ac232 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 14 Jun 2022 15:23:19 +0000 Subject: gnu: ccache: Update to 4.6.1. * gnu/packages/ccache.scm (ccache): Update to 4.6.1. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/ccache.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index d359e30f81..3ce44766fa 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -32,14 +32,14 @@ (define-module (gnu packages ccache) (define-public ccache (package (name "ccache") - (version "4.6") + (version "4.6.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/ccache/ccache/releases/download/v" version "/ccache-" version ".tar.xz")) (sha256 - (base32 "1sa576ff8hc1swq55mdfp5gsnpys276gf37n83k6k49myihbharx")))) + (base32 "1lgk6fbfsnh2fscjmhpak8gwp3njq3kr0ihjcjlas15mrg9ppm75")))) (build-system cmake-build-system) (native-inputs (list perl ; for test/run (@ (gnu packages base) which))) -- cgit v1.2.3 From 142d136abd21b22ac1f54de7f782042b95ddfd7d Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 14 Jun 2022 14:15:01 +0000 Subject: gnu: htop: Update to 3.2.1. * gnu/packages/admin.scm (htop): Update to 3.2.1. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d25d0b3916..f08f389762 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -680,7 +680,7 @@ (define-public ttyload (define-public htop (package (name "htop") - (version "3.2.0") + (version "3.2.1") (source (origin (method git-fetch) @@ -688,7 +688,7 @@ (define-public htop (url "https://github.com/htop-dev/htop") (commit version))) (sha256 - (base32 "16l1r2ixzs640ybqp2x8bfyvk98kiywy7k3sjmp5j5npdzn5ryd7")) + (base32 "0yfmkw3y4qyd42svhpiijif7krvmnb8z88y6h9g4fwf7sfynq2rk")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From 8e974912775615f6dd233e60d53d7ee60047fd7e Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 14 Jun 2022 15:16:16 +0000 Subject: gnu: dos2unix: Update to 7.4.3. * gnu/packages/textutils.scm (dos2unix): Update to 7.4.3. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/textutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index cbc657172d..fb4f52025c 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -76,14 +76,14 @@ (define-module (gnu packages textutils) (define-public dos2unix (package (name "dos2unix") - (version "7.4.2") + (version "7.4.3") (source (origin (method url-fetch) (uri (string-append "https://waterlan.home.xs4all.nl/dos2unix/" "dos2unix-" version ".tar.gz")) (sha256 - (base32 "00dfsf4rfyjb5j12gan8xjiirm0asshdz6dmd3l34a7ays6wadb0")))) + (base32 "0wnacvz99rnlx0ayf5jrxwljvh801r8k1ai3hj137yfsaqcv93dn")))) (build-system gnu-build-system) (arguments `(#:make-flags -- cgit v1.2.3 From e03b450c363a0591301b6a190d393b9c51e69bd7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 14:20:59 +0200 Subject: gnu: PostgreSQL: Permit loading plugins from symlink unions again. ...this fixes a regression since 49b350fafc2c3 where the patch to disable symlink resolving went missing from versions < 14. * gnu/packages/databases.scm (postgresql-13/replacement): New variable. (postgresql-13)[replacement]: New field. (postgresql-11)[source](patches): Add 'postgresql-disable-resolve_symlinks.patch'. --- gnu/packages/databases.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6052b53158..31efb87e37 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1247,6 +1247,7 @@ (define-public postgresql-13 (package (inherit postgresql-14) (version "13.6") + (replacement postgresql-13/replacement) (source (origin (inherit (package-source postgresql-14)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" @@ -1256,6 +1257,24 @@ (define-public postgresql-13 "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s")) (patches (search-patches "postgresql-riscv-spinlocks.patch")))))) +;; The merge of commit ... +;; 781dd2de230e3 gnu: postgresql-13: Fix building on riscv64-linux. +;; ... in ... +;; 49b350fafc2c3 Merge branch 'master' into staging. +;; ... lost the inherited patch from postgresql-14, causing problems such as ... +;; 05fef7bfc6005 gnu: timescaledb: Adjust test preparation to PostgreSQL 13.6. +;; +;; While at it, remove the RISC-V spinlock patch, which has been upstreamed +;; in a different form (so the old patch still applies). +;; TODO: Remove in the next rebuild cycle. +(define postgresql-13/replacement + (package + (inherit postgresql-13) + (source + (origin + (inherit (package-source postgresql-13)) + (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))))) + (define-public postgresql-11 (package (inherit postgresql-13) @@ -1267,7 +1286,9 @@ (define-public postgresql-11 version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))) + "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")) + (patches (search-patches + "postgresql-disable-resolve_symlinks.patch")))) (native-inputs (modify-inputs (package-native-inputs postgresql-13) (replace "docbook-xml" docbook-xml-4.2))))) @@ -1362,6 +1383,8 @@ (define-public timescaledb ;; and friends such that 'pg_config --libdir', for ;; instance, points to PG-UNION, allowing it to load ;; the timescaledb extension. + ;; TODO: The above comment and the #:symlink trick can + ;; be removed in the next rebuild cycle. (union-build pg-union (cons #$output directories) #:symlink (lambda (old new) -- cgit v1.2.3 From f4f31bb99c64b48d90e6ea4ca0fb93331fc325a6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 14:21:20 +0200 Subject: gnu: PostgreSQL@14: Update to 14.3 [fixes CVE-2022-1552]. * gnu/packages/databases.scm (postgresql-14): Update to 14.3. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 31efb87e37..63205c08e8 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1184,14 +1184,14 @@ (define-public galera (define-public postgresql-14 (package (name "postgresql") - (version "14.2") + (version "14.3") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0ylpka64wli72jvjyqcayvlw44zk1hsbapb93l8gh4l98qp8pxrc")) + "0f5gm43hx8j67nfad8mrfhzb9aq4brfgka5d0nf936pmicv5g417")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From a18f937b565cd8894fed7a020fff73eb87d3f50e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 14:21:38 +0200 Subject: gnu: PostgreSQL@11: Update to 11.16 [fixes CVE-2022-1552]. * gnu/packages/databases.scm (postgresql-11): Update to 11.16. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 63205c08e8..25b7ee22ed 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1279,14 +1279,14 @@ (define-public postgresql-11 (package (inherit postgresql-13) (name "postgresql") - (version "11.15") + (version "11.16") (source (origin (inherit (package-source postgresql-13)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")) + "1983a7y4y6zhbgh0qcdfkf99445j1zm5q1ncrbkrx555y08y3n9d")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (native-inputs -- cgit v1.2.3 From 3787f56734d6dac8e06301805b3cfd5d4e4ec73d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 14:22:01 +0200 Subject: gnu: PostgreSQL@10: Update to 10.21 [fixes CVE-2022-1552]. * gnu/packages/databases.scm (postgresql-10): Update to 10.21. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 25b7ee22ed..7582cf3b7c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1296,14 +1296,14 @@ (define-public postgresql-11 (define-public postgresql-10 (package (inherit postgresql-11) - (version "10.20") + (version "10.21") (source (origin (inherit (package-source postgresql-11)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))) + "1la5dx4hhy5yaznwk9gwdsymih3sd23fyhh6spssdaajdn2rh8fk")))) (native-inputs (modify-inputs (package-native-inputs postgresql-11) (append opensp docbook-sgml-4.2) -- cgit v1.2.3 From 4601dccb36510440793cfe1a4baba2d4d6e6c1b6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 14:23:20 +0200 Subject: gnu: PostgreSQL@13: Update replacement to 13.7 [fixes CVE-2022-1552]. * gnu/packages/databases.scm (postgresql-13/replacement): Update to 13.7. --- gnu/packages/databases.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7582cf3b7c..7d9f44c79c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1270,9 +1270,15 @@ (define-public postgresql-13 (define postgresql-13/replacement (package (inherit postgresql-13) + (version "13.7") (source (origin (inherit (package-source postgresql-13)) + (uri (string-append "https://ftp.postgresql.org/pub/source/v" + version "/postgresql-" version ".tar.bz2")) + (sha256 + (base32 + "16b3ljid7zd1v5l4l4pmwihx43wi8p9izidkjfii8dnqygs5p40v")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))))) (define-public postgresql-11 -- cgit v1.2.3 From b98a61a8f87c6b0cdca8816157b58c7d58be90ee Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 17:56:10 +0200 Subject: gnu: ruby-pg: Update to 1.3.5. * gnu/packages/ruby.scm (ruby-pg): Update to 1.3.5. [home-page]: Change to current. [source]: Switch to GIT-FETCH. [arguments]: Add #:phases. --- gnu/packages/ruby.scm | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 54dcae9089..800ab194fe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft ;;; Copyright © 2017 Nikita -;;; Copyright © 2017, 2019, 2020, 2021 Marius Bakke +;;; Copyright © 2017, 2019-2022 Marius Bakke ;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner ;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur @@ -6500,17 +6500,49 @@ (define-public ruby-redcloth (define-public ruby-pg (package (name "ruby-pg") - (version "1.2.3") + (version "1.3.5") + (home-page "https://github.com/ged/ruby-pg") (source (origin - (method url-fetch) - (uri (rubygems-uri "pg" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj")))) + "0c2k2cibd5wwdhva68j5hhfpybm3wmvn2ym4ppn5mqmddwkjkvnk")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; These tests fail because DNS is unavailable, giving an + ;; unexpected fallback executable in the connection string. + (substitute* "spec/pg/connection_spec.rb" + (("it (\"accepts an URI and adds( proper)? hostaddr\")" test) + (string-append "xit " test)) + (("it \"can create a connection option string from an option\ + string and a hash\"" test) + (string-append "xit " test))))) + (add-before 'build 'compile + (lambda _ + (invoke "rake" "compile"))) + ;; Some tests rely on postgresql_lib_path.rb, but it is not + ;; available until the gem is installed. Run tests after + ;; installing to work around it. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (let ((new-gem (string-append #$output + "/lib/ruby/vendor_ruby"))) + (setenv "GEM_PATH" + (string-append (getenv "GEM_PATH") ":" new-gem)) + (when tests? + (invoke "rspec")))))))) (native-inputs (list ruby-rake-compiler ruby-hoe ruby-rspec)) (inputs @@ -6518,7 +6550,6 @@ (define-public ruby-pg (synopsis "Ruby interface to PostgreSQL") (description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL 9.0 and later.") - (home-page "https://bitbucket.org/ged/ruby-pg") (license license:ruby))) (define-public ruby-byebug -- cgit v1.2.3 From d73b88d82650f8e38327dcd1c7a0c9da4fc96e0f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 17:58:08 +0200 Subject: gnu: TimescaleDB: Update to 2.7.0. * gnu/packages/databases.scm (timescaledb): Update to 2.7.0. [source](snippet): Remove more files. [source](patches): New field. * gnu/packages/patches/timescaledb-flaky-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 + gnu/packages/databases.scm | 10 +- gnu/packages/patches/timescaledb-flaky-test.patch | 107 ++++++++++++++++++++++ 3 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/timescaledb-flaky-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0176585485..d08a11ac89 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1844,6 +1844,7 @@ dist_patch_DATA = \ %D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ + %D%/packages/patches/timescaledb-flaky-test.patch \ %D%/packages/patches/tinyxml-use-stl.patch \ %D%/packages/patches/tipp10-disable-downloader.patch \ %D%/packages/patches/tipp10-fix-compiling.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7d9f44c79c..6507dc8b8a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1320,7 +1320,7 @@ (define-public postgresql postgresql-13) (define-public timescaledb (package (name "timescaledb") - (version "2.5.1") + (version "2.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -1329,14 +1329,18 @@ (define-public timescaledb (file-name (git-file-name name version)) (sha256 (base32 - "174dm3higa0i7al9r2hdv5hk36pd0d5fnqj57w5a350kxshxyvyw")) + "18wszj8ia5rs4y4zkyfb0f5z4y1g7ac3jym748nbkbszhxmq7nc7")) + (patches (search-patches "timescaledb-flaky-test.patch")) (modules '((guix build utils))) (snippet ;; Remove files carrying the proprietary TIMESCALE license. '(begin (delete-file-recursively "tsl") (for-each delete-file - '("test/perl/AccessNode.pm" + '("scripts/c_license_header-timescale.h" + "scripts/license_tsl.spec" + "scripts/sql_license_tsl.sql" + "test/perl/AccessNode.pm" "test/perl/DataNode.pm" "test/perl/TimescaleNode.pm")))))) (build-system cmake-build-system) diff --git a/gnu/packages/patches/timescaledb-flaky-test.patch b/gnu/packages/patches/timescaledb-flaky-test.patch new file mode 100644 index 0000000000..6268bcecad --- /dev/null +++ b/gnu/packages/patches/timescaledb-flaky-test.patch @@ -0,0 +1,107 @@ +Use fixed dates in test for consistent results. + +Taken from upstream: + + https://github.com/timescale/timescaledb/commit/1d0670e703862b284c241ab797404f851b25b5df + +diff --git a/test/expected/copy-12.out b/test/expected/copy-12.out +index 5cb28a45a2..37abf6f6ff 100644 +--- a/test/expected/copy-12.out ++++ b/test/expected/copy-12.out +@@ -324,13 +324,12 @@ INSERT INTO hyper_copy_large + SELECT time, + random() AS value + FROM +-generate_series(now() - INTERVAL '1 months', now() - INTERVAL '1 day', +- INTERVAL '1 hour') AS g1(time) ++generate_series('2022-01-01', '2022-01-31', INTERVAL '1 hour') AS g1(time) + ORDER BY time; + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + -- Migrate data to chunks by using copy +@@ -345,7 +344,7 @@ NOTICE: migrating data to chunks + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + ---------------------------------------------------------------- +diff --git a/test/expected/copy-13.out b/test/expected/copy-13.out +index 02bf913eff..89e16fe8e2 100644 +--- a/test/expected/copy-13.out ++++ b/test/expected/copy-13.out +@@ -324,13 +324,12 @@ INSERT INTO hyper_copy_large + SELECT time, + random() AS value + FROM +-generate_series(now() - INTERVAL '1 months', now() - INTERVAL '1 day', +- INTERVAL '1 hour') AS g1(time) ++generate_series('2022-01-01', '2022-01-31', INTERVAL '1 hour') AS g1(time) + ORDER BY time; + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + -- Migrate data to chunks by using copy +@@ -345,7 +344,7 @@ NOTICE: migrating data to chunks + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + ---------------------------------------------------------------- +diff --git a/test/expected/copy-14.out b/test/expected/copy-14.out +index 02bf913eff..89e16fe8e2 100644 +--- a/test/expected/copy-14.out ++++ b/test/expected/copy-14.out +@@ -324,13 +324,12 @@ INSERT INTO hyper_copy_large + SELECT time, + random() AS value + FROM +-generate_series(now() - INTERVAL '1 months', now() - INTERVAL '1 day', +- INTERVAL '1 hour') AS g1(time) ++generate_series('2022-01-01', '2022-01-31', INTERVAL '1 hour') AS g1(time) + ORDER BY time; + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + -- Migrate data to chunks by using copy +@@ -345,7 +344,7 @@ NOTICE: migrating data to chunks + SELECT COUNT(*) FROM hyper_copy_large; + count + ------- +- 697 ++ 721 + (1 row) + + ---------------------------------------------------------------- +diff --git a/test/sql/copy.sql.in b/test/sql/copy.sql.in +index 91402c2ab8..bba4265064 100644 +--- a/test/sql/copy.sql.in ++++ b/test/sql/copy.sql.in +@@ -276,8 +276,7 @@ INSERT INTO hyper_copy_large + SELECT time, + random() AS value + FROM +-generate_series(now() - INTERVAL '1 months', now() - INTERVAL '1 day', +- INTERVAL '1 hour') AS g1(time) ++generate_series('2022-01-01', '2022-01-31', INTERVAL '1 hour') AS g1(time) + ORDER BY time; + + SELECT COUNT(*) FROM hyper_copy_large; -- cgit v1.2.3 From 73e0063888db5ecfa74f16dccde0632b4ff1b95e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 18:08:46 +0200 Subject: gnu: python-josepy: Update to 1.13.0. * gnu/packages/python-crypto.scm (python-josepy): Update to 1.13.0. [propagated-inputs]: Remove PYTHON-SIX. --- gnu/packages/python-crypto.scm | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 84e9102bee..f2059dbbf5 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -871,29 +871,19 @@ (define-public python-ecpy (define-public python-josepy (package (name "python-josepy") - (version "1.1.0") + (version "1.13.0") (source (origin (method url-fetch) (uri (pypi-uri "josepy" version)) (sha256 (base32 - "11khz8malzrv375b27jjkv66z6z6khdx1v5mkkr4vq16gp3n4p7v")))) + "1jaxqyp53paks2z8zyzr50gqvzfxbar7r2qf98kqak4aizrxlcc9")))) (build-system python-build-system) (arguments - ;; The tests require flake8 >= 3.5, which is not yet packaged. + ;; TODO: some test dependencies are missing (see pyproject.toml). '(#:tests? #f)) (propagated-inputs - (list python-cryptography python-pyopenssl python-six)) -;; TODO Enable when we have flake8 >= 3.5. -; (native-inputs -; `(("python-coverage" ,python-coverage) -; ("python-flake8" ,python-flake8) -; ("python-isort" ,python-isort) -; ("python-mock" ,python-mock) -; ("python-pytest" ,python-pytest) -; ("python-pytest-cov" ,python-pytest-cov) -; ("python-pytest-cache" ,python-pytest-cache) -; ("python-pytest-flake8" ,python-pytest-flake8))) + (list python-cryptography python-pyopenssl)) (home-page "https://github.com/certbot/josepy") (synopsis "JOSE protocol implementation in Python") (description "This package provides a Python implementation of the JOSE -- cgit v1.2.3 From 334c849ba10d96174b38942262b81c37540abff7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 18:10:03 +0200 Subject: gnu: python-acme, certbot: Update to 1.28.0. * gnu/packages/tls.scm (python-acme): Update to 1.28.0. [arguments]: Override check phase. (certbot)[source]: Update hash. --- gnu/packages/tls.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 59514f9357..6fa128ecc8 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -646,13 +646,13 @@ (define-public python-acme (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.18.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1bv2swaqmzpcx2nq1nbhrc6b825d5sxkdv0al972sjfcpcqn1q4s")))) + "12fmw4g63pzbrmmrkk6hgg0k5px6jyx3scv9fmn60h21387jv0hz")))) (build-system python-build-system) (arguments `(#:phases @@ -666,8 +666,11 @@ (define-public python-acme (man (string-append out "/share/man/man1")) (info (string-append out "/info"))) (install-file "docs/_build/texinfo/acme-python.info" info) - (install-file "docs/_build/man/acme-python.1" man) - #t)))))) + (install-file "docs/_build/man/acme-python.1" man)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (native-inputs (list python-pytest ;; For documentation @@ -700,7 +703,7 @@ (define-public certbot (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0yr8sxfg5zspal04l9lpd9xis6gp8il20bhka54xr9bb4hc6xrgk")))) + "0p4cpakx1kc8lczlgxqryr2asnyrvw6p5wmkamkjqdsf3z7xhm2b")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) -- cgit v1.2.3 From ec4515389a73c93395413021a56173da6926667c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 18:50:27 +0200 Subject: gnu: perl-dbd-pg: Update to 3.15.1. * gnu/packages/databases.scm (perl-dbd-pg): Update to 3.15.1. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6507dc8b8a..ee0f255e9c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2089,7 +2089,7 @@ (define-public perl-dbix-class-schema-loader (define-public perl-dbd-pg (package (name "perl-dbd-pg") - (version "3.14.2") + (version "3.15.1") (source (origin (method url-fetch) @@ -2097,7 +2097,7 @@ (define-public perl-dbd-pg "DBD-Pg-" version ".tar.gz")) (sha256 (base32 - "0kcfqq7g3832wiix0sbyvlc885qghjrp2ah3akn7h2lnb22fjwy9")))) + "0zn17xb6bmixkmv53p576igzw1jd43cwql35r19m56jwahxm9iqk")))) (build-system perl-build-system) (native-inputs (list perl-dbi)) -- cgit v1.2.3 From 9f1713f219c61dc3d5d92200041d22b74d986aab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 20:15:35 +0200 Subject: gnu: gplates: Update to 2.3.01-beta.3. * gnu/packages/geo.scm (gplates): Update to 2.3.01-beta.3. [source](uri): Adjust for beta releases. [source](file-name): Adjust for zipball. [native-inputs]: Add UNZIP. [inputs]: Simplify. --- gnu/packages/geo.scm | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index ea7483f16f..7b29c55088 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2019, 2021 Wiktor Żelazny ;;; Copyright © 2019, 2020 Hartmut Goebel -;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020, 2022 Marius Bakke ;;; Copyright © 2020 Christopher Baines ;;; Copyright © 2020, 2021, 2022 Felix Gruber ;;; Copyright © 2021 Sharlatan Hellseher @@ -2715,35 +2715,40 @@ (define-public python-geopy (define-public gplates (package (name "gplates") - (version "2.3.0") + ;; Note: use a pre-release to cope with newer Boost, ref + ;; https://discourse.gplates.org/t/compilation-error-with-boost-1-77/452/3 + (version "2.3.01-beta.3") (source (origin (method url-fetch) - (uri "https://www.earthbyte.org/download/8421/") - (file-name (string-append name "-" version ".tar.bz2")) + (uri "https://cloudstor.aarnet.edu.au/plus/s\ +/ojsYNOyUYE3evNp/download?path=%2F&files=gplates_2.3.1-beta.3_src.zip") + (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96")))) + "06i87dfab0cq9gdi5mh6sf9wigawpp0d05zbyslv910443i26gwv")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON") - #:tests? #f)) ;no test target + #:tests? #f)) ;no test target + (native-inputs + (list unzip)) ;for the beta (inputs - `(("boost" ,boost) - ("cgal" ,cgal) - ("gdal" ,gdal) - ("glew" ,glew) - ("glu" ,glu) - ("gmp" ,gmp) - ("mesa" ,mesa) - ("mpfr" ,mpfr) - ("proj" ,proj) - ("python-3" ,python-3) - ("python-numpy" ,python-numpy) - ("qt" ,qtbase-5) - ("qtsvg" ,qtsvg) - ("qtxmlpatterns" ,qtxmlpatterns) - ("qwt" ,qwt) - ("zlib" ,zlib))) + (list boost + cgal + gdal + glew + glu + gmp + mesa + mpfr + proj + python-3 + python-numpy + qtbase-5 + qtsvg + qtxmlpatterns + qwt + zlib)) (home-page "https://www.gplates.org") (synopsis "Plate tectonics simulation program") (description "GPlates is a plate tectonics program. Manipulate -- cgit v1.2.3 From 3f033b6d9e2209091d3a98078d96713cfda52e17 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 21:34:02 +0200 Subject: gnu: python-pypika-tortoise: Update to 0.1.5. * gnu/packages/databases.scm (python-pypika-tortoise): Update to 0.1.5. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ee0f255e9c..8e7c67d5c7 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2868,13 +2868,13 @@ (define-public python-peewee (define-public python-pypika-tortoise (package (name "python-pypika-tortoise") - (version "0.1.1") + (version "0.1.5") (source (origin (method url-fetch) (uri (pypi-uri "pypika-tortoise" version)) (sha256 - (base32 "0g4z0lz739nk04b405ynqpd3y1z5nfyxjz9hqgxcw3jydsjx0cb8")))) + (base32 "0j20574s2yrq8d7fav3816vj1nfpihkm2mj8jzh2ank4zixp8brf")))) (build-system python-build-system) (home-page "https://github.com/tortoise/pypika-tortoise") (synopsis "Pypika fork for tortoise-orm") -- cgit v1.2.3 From d51a097460260341da8fad715f25ba39f4a0b779 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 21:34:19 +0200 Subject: gnu: python-tortoise-orm: Update to 0.19.1. * gnu/packages/databases.scm (python-tortoise-orm): Update to 0.19.1. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8e7c67d5c7..c3c7e339d5 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2975,13 +2975,13 @@ (define-public python-aiomysql (define-public python-tortoise-orm (package (name "python-tortoise-orm") - (version "0.17.8") + (version "0.19.1") (source (origin (method url-fetch) (uri (pypi-uri "tortoise-orm" version)) (sha256 - (base32 "1gzgiypln7lck3p95vk3i8rdx1bjbmmlcpb8xpba8cjdjvlj0l0z")))) + (base32 "17yk71dlx5ai98i6ivqgsplkwivdxackz9jfn6z42bpcdgbpiwhg")))) (build-system python-build-system) ;; The test suite relies on asynctest, which is abandoned and doesn't ;; support Python >= 3.8. -- cgit v1.2.3 From bd16e7c32dc245bb8cb7f38a129193eb5adab674 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 16:09:56 +0200 Subject: gnu: python-asyncpg: Update to 0.25.0. * gnu/packages/databases.scm (python-asyncpg): Update to 0.25.0. [native-inputs]: Remove PYTHON-FLAKE8, PYTHON-PYCODESTYLE, PYTHON-SPHINX, PYTHON-SPHINX-RTD-THEME, and PYTHON-SPHINXCONTRIB-ASYNCIO. --- gnu/packages/databases.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index c3c7e339d5..3225d60d53 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2905,24 +2905,19 @@ (define-public python-sphinxcontrib-asyncio (define-public python-asyncpg (package (name "python-asyncpg") - (version "0.24.0") + (version "0.25.0") (source (origin (method url-fetch) (uri (pypi-uri "asyncpg" version)) (sha256 - (base32 "1in0q6iffpl8ag6ady4bvwnn40igh10cpp4xgm426j1lqdis0byx")))) + (base32 "0h1573lp4607nppflnnjrhn7yrfy6i54cm98gi4qbcikjykfdy33")))) (build-system python-build-system) (propagated-inputs (list python-typing-extensions)) (native-inputs (list postgresql python-cython - python-flake8 - python-pycodestyle python-pytest - python-sphinx - python-sphinx-rtd-theme - python-sphinxcontrib-asyncio python-uvloop)) (home-page "https://github.com/MagicStack/asyncpg") (synopsis "Fast PostgreSQL database client library for Python") -- cgit v1.2.3 From 13c46cc29d1b688b0cfc45a7df8adb1abcf37465 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jun 2022 21:36:00 +0200 Subject: gnu: PostgreSQL: Promote version 14 to the default. * gnu/packages/databases.scm (postgresql): Alias to POSTGRESQL-14. * gnu/packages/qt.scm (qtbase-5)[inputs]: Stay on POSTGRESQL-13. --- gnu/packages/databases.scm | 2 +- gnu/packages/qt.scm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 3225d60d53..9a142da7ee 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1315,7 +1315,7 @@ (define-public postgresql-10 (append opensp docbook-sgml-4.2) (delete "docbook-xml"))))) -(define-public postgresql postgresql-13) +(define-public postgresql postgresql-14) (define-public timescaledb (package diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9920af74fb..9593009ae3 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -354,7 +354,8 @@ (define-public qtbase-5 ("nss" ,nss) ("openssl" ,openssl) ("pcre2" ,pcre2) - ("postgresql" ,postgresql) + ;; TODO: Switch to 'postgres' in the next rebuild cycle. + ("postgresql" ,postgresql-13) ("pulseaudio" ,pulseaudio) ("sqlite" ,sqlite) ("unixodbc" ,unixodbc) -- cgit v1.2.3 From 9be470b5d2bab7ad2048c95815fee2916d45f4ad Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 13 Jun 2022 17:25:30 +0200 Subject: pull: Tweak cache directory validation code. This is a followup to 7c52cad0464175370c44bd4695e4c01a62b8268f. * guix/scripts/pull.scm (guix-pull): Move cache directory validation code to... (validate-cache-directory-ownership): ... here. New procedure. Use SRFI-71 instead of SRFI-11. Use 'formatted-message' for the error message, with ASCII quotation marks, and use Texinfo markup for '&fix-hint'. --- guix/scripts/pull.scm | 56 ++++++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index df683b61c4..b0cc459d63 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -20,6 +20,7 @@ (define-module (guix scripts pull) #:use-module ((guix ui) #:hide (display-profile-content)) + #:use-module (guix diagnostics) #:use-module (guix colors) #:use-module (guix utils) #:use-module ((guix status) #:select (with-status-verbosity)) @@ -49,7 +50,6 @@ (define-module (guix scripts pull) #:autoload (gnu packages bootstrap) (%bootstrap-guile) #:autoload (gnu packages certs) (le-certs) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -787,6 +787,35 @@ (define (environment-variable) channels)) channels))) +(define (validate-cache-directory-ownership) + "Bail out if the cache directory is not owned by the current user." + (let ((stats dir + (let loop ((dir (cache-directory))) + (let ((stats (stat dir #f))) + (if stats + (values stats dir) + (loop (dirname dir))))))) + (let ((dir:uid (stat:uid stats)) + (our:uid (getuid))) + (unless (= dir:uid our:uid) + (let* ((user (lambda (uid) ;handle the unthinkable invalid UID + (or (false-if-exception (passwd:name + (getpwuid uid))) + uid))) + (our:user (user our:uid)) + (dir:user (user dir:uid))) + (raise + (make-compound-condition + (formatted-message + (G_ "directory '~a' is not owned by user ~a") + dir our:user) + (condition + (&fix-hint + (hint + (format #f (G_ "You should run this command as ~a; use \ +@command{sudo -i} or equivalent if you really want to pull as ~a.") + dir:user our:user))))))))))) + (define-command (guix-pull . args) (synopsis "pull the latest revision of Guix") @@ -813,30 +842,7 @@ (define (no-arguments arg _) (else ;; Bail out early when users accidentally run, e.g., ’sudo guix pull’. ;; If CACHE-DIRECTORY doesn't yet exist, test where it would end up. - (let-values (((stats dir) (let loop ((dir (cache-directory))) - (let ((stats (stat dir #f))) - (if stats - (values stats dir) - (loop (dirname dir))))))) - (let ((dir:uid (stat:uid stats)) - (our:uid (getuid))) - (unless (= dir:uid our:uid) - (let* ((user (lambda (uid) ; handle the unthinkable invalid UID - (or (false-if-exception (passwd:name - (getpwuid uid))) - uid))) - (our:user (user our:uid)) - (dir:user (user dir:uid))) - (raise - (condition - (&message - (message - (format #f (G_ "directory ‘~a’ is not owned by user ~a") - dir our:user))) - (&fix-hint - (hint - (format #f (G_ "You should run this command as ~a; use ‘sudo -i’ or equivalent if you really want to pull as ~a.") - dir:user our:user))))))))) + (validate-cache-directory-ownership) (with-store store (with-status-verbosity (assoc-ref opts 'verbosity) -- cgit v1.2.3 From 7046e777212233b89df68379c270b448c45195ce Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 14 Jun 2022 08:55:03 +0200 Subject: system: compiler truly honors the 'system' argument. Fixes . * gnu/system.scm (operating-system-compiler): Parameterize '%current-system' and '%current-target-system' before calling 'operating-system-derivation'. * tests/system.scm ("lower-object, %current-system sensitivity"): New test. --- gnu/system.scm | 11 ++++++++--- tests/system.scm | 21 ++++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 2c81478d00..ba1b7b5152 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1582,8 +1582,13 @@ (define-gexp-compiler (operating-system-compiler (os ) (lambda (store) ;; XXX: This is not super elegant but we can't pass SYSTEM and TARGET to ;; 'operating-system-derivation'. - (run-with-store store (operating-system-derivation os) - #:system system - #:target target))))) + (parameterize ((%current-system system) + (%current-target-system target)) + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (operating-system-derivation os)) + #:system system + #:target target)))))) ;;; system.scm ends here diff --git a/tests/system.scm b/tests/system.scm index 019c720e65..873fed4aee 100644 --- a/tests/system.scm +++ b/tests/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2018 Ludovic Courtès +;;; Copyright © 2016, 2018, 2022 Ludovic Courtès ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -21,6 +21,10 @@ (define-module (test-system) #:use-module (gnu) #:use-module ((gnu services) #:select (service-value)) #:use-module (guix store) + #:use-module (guix monads) + #:use-module ((guix gexp) #:select (lower-object)) + #:use-module ((guix utils) #:select (%current-system)) + #:use-module (guix grafts) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64)) @@ -64,6 +68,8 @@ (define %os-with-mapped-device %base-file-systems)) (users %base-user-accounts))) +(%graft? #f) + (test-begin "system") @@ -140,4 +146,17 @@ (define %os-with-mapped-device (type "ext4") (dependencies (list %luks-device)))))))))) +(test-assert "lower-object, %current-system sensitivity" + ;; Make sure that 'lower-object' returns the same derivation, no matter what + ;; '%current-system' is. See . + (let ((drv1 (with-store store + (parameterize ((%current-system "x86_64-linux")) + (run-with-store store + (lower-object %os "aarch64-linux"))))) + (drv2 (with-store store + (parameterize ((%current-system "aarch64-linux")) + (run-with-store store + (lower-object %os "aarch64-linux")))))) + (eq? drv1 drv2))) + (test-end) -- cgit v1.2.3 From 3d0749b4e30dfbbdfc9c365e8ab8f7bebaa96fd7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 14 Jun 2022 09:02:43 +0200 Subject: ssh: Add #:connection-timeout parameter to 'open-ssh-session'. * guix/ssh.scm (open-ssh-session): Add #:connection-timeout parameter and honor it. --- guix/ssh.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index 232b6bfe94..a6f0f2eb96 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -102,7 +102,8 @@ (define (authenticate-server* session key) (define* (open-ssh-session host #:key user port identity host-key (compression %compression) - (timeout 3600)) + (timeout 3600) + (connection-timeout 10)) "Open an SSH session for HOST and return it. IDENTITY specifies the file name of a private key to use for authenticating with the host. When USER, PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config' @@ -112,15 +113,16 @@ (define* (open-ssh-session host #:key user port identity root@example.org\"; the server is authenticated and an error is raised if its host key is different from HOST-KEY. -Install TIMEOUT as the maximum time in seconds after which a read or write -operation on a channel of the returned session is considered as failing. +Error out if connection establishment takes more than CONNECTION-TIMEOUT +seconds. Install TIMEOUT as the maximum time in seconds after which a read or +write operation on a channel of the returned session is considered as failing. Throw an error on failure." (let ((session (make-session #:user user #:identity identity #:host host #:port port - #:timeout 10 ;seconds + #:timeout connection-timeout ;; #:log-verbosity 'protocol ;; Prevent libssh from reading -- cgit v1.2.3 From e11517052b1bbd9fa06891ad0b13b24494db757e Mon Sep 17 00:00:00 2001 From: Attila Lendvai Date: Tue, 17 May 2022 13:39:26 +0200 Subject: services: configuration: Support (field1 maybe-number "") format. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As opposed to explicitly using 'disabled as value, or using the (field1 (maybe-number) "") format. It's mostly the work of Maxime Devos shared under #54674, with some modifications by Attila Lendvai. * gnu/services/configuration.scm (normalize-field-type+def): New function. (define-configuration-helper) (define-configuration): Support new field format. * tests/services/configuration.scm (config-with-maybe-number->string): New function. ("maybe value serialization of the instance"): New test. ("maybe value serialization of the instance, unspecified"): New test. Signed-off-by: Ludovic Courtès --- gnu/services/configuration.scm | 169 +++++++++++++++++++++------------------ tests/services/configuration.scm | 28 +++++-- 2 files changed, 114 insertions(+), 83 deletions(-) diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 0de350a4df..bdca33ed68 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Andrew Tropin +;;; Copyright © 2022 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -162,78 +163,90 @@ (define-maybe-helper #t #f #'(_ stem)))))) (define-syntax-rule (define-maybe/no-serialization stem) (define-maybe stem (no-serialization))) +(define (normalize-field-type+def s) + (syntax-case s () + ((field-type def) + (identifier? #'field-type) + (values #'(field-type def))) + ((field-type) + (identifier? #'field-type) + (values #'(field-type 'disabled))) + (field-type + (identifier? #'field-type) + (values #'(field-type 'disabled))))) + (define (define-configuration-helper serialize? serializer-prefix syn) (syntax-case syn () - ((_ stem (field (field-type def ...) doc custom-serializer ...) ...) - (with-syntax (((field-getter ...) - (map (lambda (field) - (id #'stem #'stem #'- field)) - #'(field ...))) - ((field-predicate ...) - (map (lambda (type) - (id #'stem type #'?)) - #'(field-type ...))) - ((field-default ...) - (map (match-lambda - ((field-type default-value) - default-value) - ((field-type) - ;; Quote `undefined' to prevent a possibly - ;; unbound warning. - (syntax 'undefined))) - #'((field-type def ...) ...))) - ((field-serializer ...) - (map (lambda (type custom-serializer) - (and serialize? - (match custom-serializer - ((serializer) - serializer) - (() - (if serializer-prefix - (id #'stem - serializer-prefix - #'serialize- type) - (id #'stem #'serialize- type)))))) - #'(field-type ...) - #'((custom-serializer ...) ...)))) - #`(begin - (define-record-type* #,(id #'stem #'< #'stem #'>) - #,(id #'stem #'% #'stem) - #,(id #'stem #'make- #'stem) - #,(id #'stem #'stem #'?) - (%location #,(id #'stem #'stem #'-location) - (default (and=> (current-source-location) - source-properties->location)) - (innate)) - #,@(map (lambda (name getter def) - (if (eq? (syntax->datum def) (quote 'undefined)) - #`(#,name #,getter) - #`(#,name #,getter (default #,def)))) - #'(field ...) - #'(field-getter ...) - #'(field-default ...))) - (define #,(id #'stem #'stem #'-fields) - (list (configuration-field - (name 'field) - (type 'field-type) - (getter field-getter) - (predicate field-predicate) - (serializer field-serializer) - (default-value-thunk - (lambda () - (display '#,(id #'stem #'% #'stem)) - (if (eq? (syntax->datum field-default) - 'undefined) - (configuration-no-default-value - '#,(id #'stem #'% #'stem) 'field) - field-default))) - (documentation doc)) - ...)) - (define-syntax-rule (stem arg (... ...)) - (let ((conf (#,(id #'stem #'% #'stem) arg (... ...)))) - (validate-configuration conf - #,(id #'stem #'stem #'-fields)) - conf))))))) + ((_ stem (field field-type+def doc custom-serializer ...) ...) + (with-syntax + ((((field-type def) ...) + (map normalize-field-type+def #'(field-type+def ...)))) + (with-syntax + (((field-getter ...) + (map (lambda (field) + (id #'stem #'stem #'- field)) + #'(field ...))) + ((field-predicate ...) + (map (lambda (type) + (id #'stem type #'?)) + #'(field-type ...))) + ((field-default ...) + (map (match-lambda + ((field-type default-value) + default-value)) + #'((field-type def) ...))) + ((field-serializer ...) + (map (lambda (type custom-serializer) + (and serialize? + (match custom-serializer + ((serializer) + serializer) + (() + (if serializer-prefix + (id #'stem + serializer-prefix + #'serialize- type) + (id #'stem #'serialize- type)))))) + #'(field-type ...) + #'((custom-serializer ...) ...)))) + #`(begin + (define-record-type* #,(id #'stem #'< #'stem #'>) + #,(id #'stem #'% #'stem) + #,(id #'stem #'make- #'stem) + #,(id #'stem #'stem #'?) + (%location #,(id #'stem #'stem #'-location) + (default (and=> (current-source-location) + source-properties->location)) + (innate)) + #,@(map (lambda (name getter def) + (if (eq? (syntax->datum def) (quote 'undefined)) + #`(#,name #,getter) + #`(#,name #,getter (default #,def)))) + #'(field ...) + #'(field-getter ...) + #'(field-default ...))) + (define #,(id #'stem #'stem #'-fields) + (list (configuration-field + (name 'field) + (type 'field-type) + (getter field-getter) + (predicate field-predicate) + (serializer field-serializer) + (default-value-thunk + (lambda () + (display '#,(id #'stem #'% #'stem)) + (if (eq? (syntax->datum field-default) + 'undefined) + (configuration-no-default-value + '#,(id #'stem #'% #'stem) 'field) + field-default))) + (documentation doc)) + ...)) + (define-syntax-rule (stem arg (... ...)) + (let ((conf (#,(id #'stem #'% #'stem) arg (... ...)))) + (validate-configuration conf + #,(id #'stem #'stem #'-fields)) + conf)))))))) (define no-serialization ;syntactic keyword for 'define-configuration' '(no serialization)) @@ -241,26 +254,26 @@ (define no-serialization ;syntactic keyword for 'define-configuration' (define-syntax define-configuration (lambda (s) (syntax-case s (no-serialization prefix) - ((_ stem (field (field-type def ...) doc custom-serializer ...) ... + ((_ stem (field field-type+def doc custom-serializer ...) ... (no-serialization)) (define-configuration-helper - #f #f #'(_ stem (field (field-type def ...) doc custom-serializer ...) + #f #f #'(_ stem (field field-type+def doc custom-serializer ...) ...))) - ((_ stem (field (field-type def ...) doc custom-serializer ...) ... + ((_ stem (field field-type+def doc custom-serializer ...) ... (prefix serializer-prefix)) (define-configuration-helper - #t #'serializer-prefix #'(_ stem (field (field-type def ...) + #t #'serializer-prefix #'(_ stem (field field-type+def doc custom-serializer ...) ...))) - ((_ stem (field (field-type def ...) doc custom-serializer ...) ...) + ((_ stem (field field-type+def doc custom-serializer ...) ...) (define-configuration-helper - #t #f #'(_ stem (field (field-type def ...) doc custom-serializer ...) + #t #f #'(_ stem (field field-type+def doc custom-serializer ...) ...)))))) (define-syntax-rule (define-configuration/no-serialization - stem (field (field-type def ...) + stem (field field-type+def doc custom-serializer ...) ...) - (define-configuration stem (field (field-type def ...) + (define-configuration stem (field field-type+def doc custom-serializer ...) ... (no-serialization))) diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm index 86a36a388d..0debf8095b 100644 --- a/tests/services/configuration.scm +++ b/tests/services/configuration.scm @@ -27,6 +27,9 @@ (define-module (tests services configuration) (test-begin "services-configuration") +(define (serialize-number field value) + (format #f "~a=~a" field value)) + ;;; ;;; define-configuration macro. @@ -47,7 +50,6 @@ (define-configuration port-configuration-cs 80 (port-configuration-cs-port (port-configuration-cs))) -(define serialize-number "") (define-configuration port-configuration-ndv (port (number) "The port number.")) @@ -101,15 +103,31 @@ (define-configuration configuration-with-prefix (define-maybe number) (define-configuration config-with-maybe-number - (port (maybe-number 80) "The port number.")) - -(define (serialize-number field value) - (format #f "~a=~a" field value)) + (port (maybe-number 80) "") + (count maybe-number "")) (test-equal "maybe value serialization" "port=80" (serialize-maybe-number "port" 80)) +(define (config-with-maybe-number->string x) + (eval (gexp->approximate-sexp + (serialize-configuration x config-with-maybe-number-fields)) + (current-module))) + +(test-equal "maybe value serialization of the instance" + "port=42count=43" + (config-with-maybe-number->string + (config-with-maybe-number + (port 42) + (count 43)))) + +(test-equal "maybe value serialization of the instance, unspecified" + "port=42" + (config-with-maybe-number->string + (config-with-maybe-number + (port 42)))) + (define-maybe/no-serialization string) (define-configuration config-with-maybe-string/no-serialization -- cgit v1.2.3 From 8cb1a49a3998c39f315a4199b7d4a121a6d66449 Mon Sep 17 00:00:00 2001 From: Attila Lendvai Date: Tue, 17 May 2022 13:39:28 +0200 Subject: services: configuration: Use *unspecified* instead of 'disabled. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use *unspecified* as a marker for field values that have not been set. Rationale: 'disabled may easily clash with user values for boolean fields, is confusing (i.e. its meaning is *not* boolean false, but unspecified) and it also passes silently through the symbol? predicate of a field of type symbol. * gnu/services/configuration.scm (configuration-missing-default-value): Renamed from configuration-no-default-value. (define-maybe-helper): Use *unspecified* instead of 'disabled, and make the default value optional. * gnu/home/services/desktop.scm (home-redshift-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. * gnu/services/authentication.scm (nslcd-configuration): Likewise. * gnu/services/cgit.scm (repository-cgit-configuration): Likewise. * gnu/services/file-sharing.scm (serialize-maybe-string) (serialize-maybe-file-object): Use 'unspecified?' instead of (eq? val 'disabled). * gnu/services/messaging.scm (raw-content?): Likewise. (ssl-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. (prosody-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/messaging.scm (define-all-configurations): Use *unspecified* instead of 'disabled'. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-account): Likewise. (jami-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. * tests/services/configuration.scm ("maybe type, no default") ("maybe type, with default"): New tests. Signed-off-by: Ludovic Courtès --- gnu/home/services/desktop.scm | 12 +++--- gnu/services/authentication.scm | 82 ++++++++++++++++++++-------------------- gnu/services/cgit.scm | 12 +++--- gnu/services/configuration.scm | 17 ++++----- gnu/services/file-sharing.scm | 24 ++++++------ gnu/services/messaging.scm | 37 +++++++++--------- gnu/services/networking.scm | 12 +++--- gnu/services/pm.scm | 54 +++++++++++++------------- gnu/services/telephony.scm | 22 +++++------ gnu/services/vpn.scm | 2 +- tests/services/configuration.scm | 12 ++++++ 11 files changed, 148 insertions(+), 138 deletions(-) diff --git a/gnu/home/services/desktop.scm b/gnu/home/services/desktop.scm index cbb9cf76da..b0f4d969b0 100644 --- a/gnu/home/services/desktop.scm +++ b/gnu/home/services/desktop.scm @@ -91,26 +91,26 @@ (define-configuration home-redshift-configuration "Nighttime color temperature (kelvins).") (daytime-brightness - (maybe-inexact-number 'disabled) + maybe-inexact-number "Daytime screen brightness, between 0.1 and 1.0.") (nighttime-brightness - (maybe-inexact-number 'disabled) + maybe-inexact-number "Nighttime screen brightness, between 0.1 and 1.0.") (latitude - (maybe-inexact-number 'disabled) + maybe-inexact-number "Latitude, when @code{location-provider} is @code{'manual}.") (longitude - (maybe-inexact-number 'disabled) + maybe-inexact-number "Longitude, when @code{location-provider} is @code{'manual}.") (dawn-time - (maybe-string 'disabled) + maybe-string "Custom time for the transition from night to day in the morning---@code{\"HH:MM\"} format. When specified, solar elevation is not used to determine the daytime/nighttime period.") (dusk-time - (maybe-string 'disabled) + maybe-string "Likewise, custom time for the transition from day to night in the evening.") diff --git a/gnu/services/authentication.scm b/gnu/services/authentication.scm index cb0ef6d85a..f7becdfafb 100644 --- a/gnu/services/authentication.scm +++ b/gnu/services/authentication.scm @@ -218,7 +218,7 @@ (define-configuration nslcd-configuration ;; Runtime options (threads - (maybe-number 'disabled) + maybe-number "The number of threads to start that can handle requests and perform LDAP queries. Each thread opens a separate connection to the LDAP server. The default is to start 5 threads.") @@ -243,45 +243,45 @@ (define-configuration nslcd-configuration "The list of LDAP server URIs. Normally, only the first server will be used with the following servers as fall-back.") (ldap-version - (maybe-string 'disabled) + maybe-string "The version of the LDAP protocol to use. The default is to use the maximum version supported by the LDAP library.") (binddn - (maybe-string 'disabled) + maybe-string "Specifies the distinguished name with which to bind to the directory server for lookups. The default is to bind anonymously.") (bindpw - (maybe-string 'disabled) + maybe-string "Specifies the credentials with which to bind. This option is only applicable when used with binddn.") (rootpwmoddn - (maybe-string 'disabled) + maybe-string "Specifies the distinguished name to use when the root user tries to modify a user's password using the PAM module.") (rootpwmodpw - (maybe-string 'disabled) + maybe-string "Specifies the credentials with which to bind if the root user tries to change a user's password. This option is only applicable when used with rootpwmoddn") ;; SASL authentication options (sasl-mech - (maybe-string 'disabled) + maybe-string "Specifies the SASL mechanism to be used when performing SASL authentication.") (sasl-realm - (maybe-string 'disabled) + maybe-string "Specifies the SASL realm to be used when performing SASL authentication.") (sasl-authcid - (maybe-string 'disabled) + maybe-string "Specifies the authentication identity to be used when performing SASL authentication.") (sasl-authzid - (maybe-string 'disabled) + maybe-string "Specifies the authorization identity to be used when performing SASL authentication.") (sasl-canonicalize? - (maybe-boolean 'disabled) + maybe-boolean "Determines whether the LDAP server host name should be canonicalised. If this is enabled the LDAP library will do a reverse host name lookup. By default, it is left up to the LDAP library whether this check is performed or @@ -289,7 +289,7 @@ (define-configuration nslcd-configuration ;; Kerberos authentication options (krb5-ccname - (maybe-string 'disabled) + maybe-string "Set the name for the GSS-API Kerberos credentials cache.") ;; Search / mapping options @@ -302,11 +302,11 @@ (define-configuration nslcd-configuration default scope is subtree; base scope is almost never useful for name service lookups; children scope is not supported on all servers.") (deref - (maybe-deref-option 'disabled) + maybe-deref-option "Specifies the policy for dereferencing aliases. The default policy is to never dereference aliases.") (referrals - (maybe-boolean 'disabled) + maybe-boolean "Specifies whether automatic referral chasing should be enabled. The default behaviour is to chase referrals.") (maps @@ -322,132 +322,132 @@ (define-configuration nslcd-configuration ;; Timing / reconnect options (bind-timelimit - (maybe-number 'disabled) + maybe-number "Specifies the time limit in seconds to use when connecting to the directory server. The default value is 10 seconds.") (timelimit - (maybe-number 'disabled) + maybe-number "Specifies the time limit (in seconds) to wait for a response from the LDAP server. A value of zero, which is the default, is to wait indefinitely for searches to be completed.") (idle-timelimit - (maybe-number 'disabled) + maybe-number "Specifies the period if inactivity (in seconds) after which the con‐ nection to the LDAP server will be closed. The default is not to time out connections.") (reconnect-sleeptime - (maybe-number 'disabled) + maybe-number "Specifies the number of seconds to sleep when connecting to all LDAP servers fails. By default one second is waited between the first failure and the first retry.") (reconnect-retrytime - (maybe-number 'disabled) + maybe-number "Specifies the time after which the LDAP server is considered to be permanently unavailable. Once this time is reached retries will be done only once per this time period. The default value is 10 seconds.") ;; TLS options (ssl - (maybe-ssl-option 'disabled) + maybe-ssl-option "Specifies whether to use SSL/TLS or not (the default is not to). If 'start-tls is specified then StartTLS is used rather than raw LDAP over SSL.") (tls-reqcert - (maybe-tls-reqcert-option 'disabled) + maybe-tls-reqcert-option "Specifies what checks to perform on a server-supplied certificate. The meaning of the values is described in the ldap.conf(5) manual page.") (tls-cacertdir - (maybe-string 'disabled) + maybe-string "Specifies the directory containing X.509 certificates for peer authen‐ tication. This parameter is ignored when using GnuTLS.") (tls-cacertfile - (maybe-string 'disabled) + maybe-string "Specifies the path to the X.509 certificate for peer authentication.") (tls-randfile - (maybe-string 'disabled) + maybe-string "Specifies the path to an entropy source. This parameter is ignored when using GnuTLS.") (tls-ciphers - (maybe-string 'disabled) + maybe-string "Specifies the ciphers to use for TLS as a string.") (tls-cert - (maybe-string 'disabled) + maybe-string "Specifies the path to the file containing the local certificate for client TLS authentication.") (tls-key - (maybe-string 'disabled) + maybe-string "Specifies the path to the file containing the private key for client TLS authentication.") ;; Other options (pagesize - (maybe-number 'disabled) + maybe-number "Set this to a number greater than 0 to request paged results from the LDAP server in accordance with RFC2696. The default (0) is to not request paged results.") (nss-initgroups-ignoreusers - (maybe-ignore-users-option 'disabled) + maybe-ignore-users-option "This option prevents group membership lookups through LDAP for the specified users. Alternatively, the value 'all-local may be used. With that value nslcd builds a full list of non-LDAP users on startup.") (nss-min-uid - (maybe-number 'disabled) + maybe-number "This option ensures that LDAP users with a numeric user id lower than the specified value are ignored.") (nss-uid-offset - (maybe-number 'disabled) + maybe-number "This option specifies an offset that is added to all LDAP numeric user ids. This can be used to avoid user id collisions with local users.") (nss-gid-offset - (maybe-number 'disabled) + maybe-number "This option specifies an offset that is added to all LDAP numeric group ids. This can be used to avoid user id collisions with local groups.") (nss-nested-groups - (maybe-boolean 'disabled) + maybe-boolean "If this option is set, the member attribute of a group may point to another group. Members of nested groups are also returned in the higher level group and parent groups are returned when finding groups for a specific user. The default is not to perform extra searches for nested groups.") (nss-getgrent-skipmembers - (maybe-boolean 'disabled) + maybe-boolean "If this option is set, the group member list is not retrieved when looking up groups. Lookups for finding which groups a user belongs to will remain functional so the user will likely still get the correct groups assigned on login.") (nss-disable-enumeration - (maybe-boolean 'disabled) + maybe-boolean "If this option is set, functions which cause all user/group entries to be loaded from the directory will not succeed in doing so. This can dramatically reduce LDAP server load in situations where there are a great number of users and/or groups. This option is not recommended for most configurations.") (validnames - (maybe-string 'disabled) + maybe-string "This option can be used to specify how user and group names are verified within the system. This pattern is used to check all user and group names that are requested and returned from LDAP.") (ignorecase - (maybe-boolean 'disabled) + maybe-boolean "This specifies whether or not to perform searches using case-insensitive matching. Enabling this could open up the system to authorization bypass vulnerabilities and introduce nscd cache poisoning vulnerabilities which allow denial of service.") (pam-authc-ppolicy - (maybe-boolean 'disabled) + maybe-boolean "This option specifies whether password policy controls are requested and handled from the LDAP server when performing user authentication.") (pam-authc-search - (maybe-string 'disabled) + maybe-string "By default nslcd performs an LDAP search with the user's credentials after BIND (authentication) to ensure that the BIND operation was successful. The default search is a simple check to see if the user's DN exists. A search filter can be specified that will be used instead. It should return at least one entry.") (pam-authz-search - (maybe-string 'disabled) + maybe-string "This option allows flexible fine tuning of the authorisation check that should be performed. The search filter specified is executed and if any entries match, access is granted, otherwise access is denied.") (pam-password-prohibit-message - (maybe-string 'disabled) + maybe-string "If this option is set password modification using pam_ldap will be denied and the specified message will be presented to the user instead. The message can be used to direct the user to an alternative means of changing their diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm index bfc89a40a4..c2c003983a 100644 --- a/gnu/services/cgit.scm +++ b/gnu/services/cgit.scm @@ -241,27 +241,27 @@ (define-configuration repository-cgit-configuration (repo-file-object "") "Override the default @code{email-filter}.") (enable-commit-graph? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "A flag which can be used to disable the global setting @code{enable-commit-graph?}.") (enable-log-filecount? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "A flag which can be used to disable the global setting @code{enable-log-filecount?}.") (enable-log-linecount? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "A flag which can be used to disable the global setting @code{enable-log-linecount?}.") (enable-remote-branches? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "Flag which, when set to @code{#t}, will make cgit display remote branches in the summary and refs views.") (enable-subject-links? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "A flag which can be used to override the global setting @code{enable-subject-links?}.") (enable-html-serving? - (maybe-repo-boolean 'disabled) + maybe-repo-boolean "A flag which can be used to override the global setting @code{enable-html-serving?}.") (hide? diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index bdca33ed68..f6b20fb82b 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -93,7 +93,7 @@ (define (configuration-field-error field val) (define (configuration-missing-field kind field) (configuration-error (format #f "~a configuration missing required field ~a" kind field))) -(define (configuration-no-default-value kind field) +(define (configuration-missing-default-value kind field) (configuration-error (format #f "The field `~a' of the `~a' configuration record \ does not have a default value" field kind))) @@ -142,7 +142,8 @@ (define (define-maybe-helper serialize? prefix syn) (id #'stem #'serialize-maybe- #'stem)))) #`(begin (define (maybe-stem? val) - (or (eq? val 'disabled) (stem? val))) + (or (unspecified? val) + (stem? val))) #,@(if serialize? (list #'(define (serialize-maybe-stem field-name val) (if (stem? val) @@ -170,10 +171,10 @@ (define (normalize-field-type+def s) (values #'(field-type def))) ((field-type) (identifier? #'field-type) - (values #'(field-type 'disabled))) + (values #'(field-type *unspecified*))) (field-type (identifier? #'field-type) - (values #'(field-type 'disabled))))) + (values #'(field-type *unspecified*))))) (define (define-configuration-helper serialize? serializer-prefix syn) (syntax-case syn () @@ -219,9 +220,7 @@ (define-record-type* #,(id #'stem #'< #'stem #'>) source-properties->location)) (innate)) #,@(map (lambda (name getter def) - (if (eq? (syntax->datum def) (quote 'undefined)) - #`(#,name #,getter) - #`(#,name #,getter (default #,def)))) + #`(#,name #,getter (default #,def))) #'(field ...) #'(field-getter ...) #'(field-default ...))) @@ -236,8 +235,8 @@ (define #,(id #'stem #'stem #'-fields) (lambda () (display '#,(id #'stem #'% #'stem)) (if (eq? (syntax->datum field-default) - 'undefined) - (configuration-no-default-value + '*unspecified*) + (configuration-missing-default-value '#,(id #'stem #'% #'stem) 'field) field-default))) (documentation doc)) diff --git a/gnu/services/file-sharing.scm b/gnu/services/file-sharing.scm index e3d681b08f..e32d1f145d 100644 --- a/gnu/services/file-sharing.scm +++ b/gnu/services/file-sharing.scm @@ -115,8 +115,7 @@ (define-maybe string) (set! serialize-maybe-string (lambda (field-name val) (serialize-string field-name - (if (and (symbol? val) - (eq? val 'disabled)) + (if (unspecified? val) "" val)))) @@ -181,8 +180,7 @@ (define (serialize-file-object field-name val) (define-maybe file-object) (set! serialize-maybe-file-object (lambda (field-name val) - (if (and (symbol? val) - (eq? val 'disabled)) + (if (unspecified? val) (serialize-string field-name "") (serialize-file-object field-name val)))) @@ -281,7 +279,7 @@ (define-configuration transmission-daemon-configuration torrent is complete. Otherwise, files for all torrents (including those still being downloaded) will be placed in @code{download-dir}.") (incomplete-dir - (maybe-string 'disabled) + maybe-string "The directory in which files from incompletely downloaded torrents will be held when @code{incomplete-dir-enabled?} is @code{#t}.") (umask @@ -305,7 +303,7 @@ (define-configuration transmission-daemon-configuration automatically (and the original files removed, if @code{trash-original-torrent-files?} is @code{#t}).") (watch-dir - (maybe-string 'disabled) + maybe-string "The directory to be watched for @file{.torrent} files indicating new torrents to be added, when @code{watch-dir-enabled} is @code{#t}.") (trash-original-torrent-files? @@ -401,11 +399,11 @@ (define-configuration transmission-daemon-configuration @code{prefer-unencrypted-connections}, @code{prefer-encrypted-connections} or @code{require-encrypted-connections}.") (peer-congestion-algorithm - (maybe-string 'disabled) + maybe-string "The TCP congestion-control algorithm to use for peer connections, specified using a string recognized by the operating system in calls to -@code{setsockopt} (or set to @code{disabled}, in which case the -operating-system default is used). +@code{setsockopt} (or leave it unset, in which case the operating-system +default is used). Note that on GNU/Linux systems, the kernel must be configured to allow processes to use a congestion-control algorithm not in the default set; @@ -465,7 +463,7 @@ (define-configuration transmission-daemon-configuration "When @code{#t}, the daemon will ignore peers mentioned in the blocklist it has most recently downloaded from @code{blocklist-url}.") (blocklist-url - (maybe-string 'disabled) + maybe-string "The URL of a peer blocklist (in @acronym{P2P}-plaintext or eMule @file{.dat} format) to be periodically downloaded and applied when @code{blocklist-enabled?} is @code{#t}.") @@ -564,11 +562,11 @@ (define-configuration transmission-daemon-configuration the side effect of disabling host-name whitelisting (see @code{rpc-host-whitelist-enabled?}.") (rpc-username - (maybe-string 'disabled) + maybe-string "The username required by clients to access the @acronym{RPC} interface when @code{rpc-authentication-required?} is @code{#t}.") (rpc-password - (maybe-transmission-password-hash 'disabled) + maybe-transmission-password-hash "The password required by clients to access the @acronym{RPC} interface when @code{rpc-authentication-required?} is @code{#t}. This must be specified using a password hash in the format recognized by Transmission clients, either @@ -613,7 +611,7 @@ (define-configuration transmission-daemon-configuration @code{script-torrent-done-filename} will be invoked each time a torrent completes.") (script-torrent-done-filename - (maybe-file-object 'disabled) + maybe-file-object "A file name or file-like object specifying a script to run each time a torrent completes, when @code{script-torrent-done-enabled?} is @code{#t}.") (scrape-paused-torrents-enabled? diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 48eff27b49..651f90adb2 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -76,6 +76,7 @@ (define (make-pred arg) (lambda (field target) (and (memq (syntax->datum target) `(common ,arg)) field))) (syntax-case stx () + ;; TODO Also handle (field-type) form, without a default. ((_ stem (field (field-type def) doc target) ...) (with-syntax (((new-field-type ...) (map (lambda (field-type target) @@ -89,7 +90,7 @@ (define (make-pred arg) ((new-def ...) (map (lambda (def target) (if (eq? 'common (syntax->datum target)) - #''disabled def)) + #'*unspecified* def)) #'(def ...) #'(target ...))) ((new-doc ...) (map (lambda (doc target) @@ -199,7 +200,7 @@ (define (serialize-file-object-list field-name val) (define-maybe file-object-list) (define (raw-content? val) - (not (eq? val 'disabled))) + (not (unspecified? val))) (define (serialize-raw-content field-name val) val) (define-maybe raw-content) @@ -227,15 +228,15 @@ (define-maybe mod-muc-configuration) (define-configuration ssl-configuration (protocol - (maybe-string 'disabled) + maybe-string "This determines what handshake to use.") (key - (maybe-file-name 'disabled) + maybe-file-name "Path to your private key file.") (certificate - (maybe-file-name 'disabled) + maybe-file-name "Path to your certificate file.") (capath @@ -244,48 +245,48 @@ (define-configuration ssl-configuration trust when verifying the certificates of remote servers.") (cafile - (maybe-file-object 'disabled) + maybe-file-object "Path to a file containing root certificates that you wish Prosody to trust. Similar to @code{capath} but with all certificates concatenated together.") (verify - (maybe-string-list 'disabled) + maybe-string-list "A list of verification options (these mostly map to OpenSSL's @code{set_verify()} flags).") (options - (maybe-string-list 'disabled) + maybe-string-list "A list of general options relating to SSL/TLS. These map to OpenSSL's @code{set_options()}. For a full list of options available in LuaSec, see the LuaSec source.") (depth - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "How long a chain of certificate authorities to check when looking for a trusted root certificate.") (ciphers - (maybe-string 'disabled) + maybe-string "An OpenSSL cipher string. This selects what ciphers Prosody will offer to clients, and in what order.") (dhparam - (maybe-file-name 'disabled) + maybe-file-name "A path to a file containing parameters for Diffie-Hellman key exchange. You can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}") (curve - (maybe-string 'disabled) + maybe-string "Curve for Elliptic curve Diffie-Hellman. Prosody's default is @samp{\"secp384r1\"}.") (verifyext - (maybe-string-list 'disabled) + maybe-string-list "A list of \"extra\" verification options.") (password - (maybe-string 'disabled) + maybe-string "Password for encrypted private keys.")) (define (serialize-ssl-configuration field-name val) #~(format #f "ssl = {\n~a};\n" @@ -473,12 +474,12 @@ (define-all-configurations prosody-configuration global) (http-max-content-size - (maybe-non-negative-integer 'disabled) + (maybe-non-negative-integer *unspecified*) "Maximum allowed size of the HTTP body (in bytes)." common) (http-external-url - (maybe-string 'disabled) + (maybe-string *unspecified*) "Some modules expose their own URL in various ways. This URL is built from the protocol, host and port used. If Prosody sits behind a proxy, the public URL will be @code{http-external-url} instead. See @@ -555,7 +556,7 @@ (define-all-configurations prosody-configuration int-component) (mod-muc - (maybe-mod-muc-configuration 'disabled) + (maybe-mod-muc-configuration *unspecified*) "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users. @@ -572,7 +573,7 @@ (define-all-configurations prosody-configuration ext-component) (raw-content - (maybe-raw-content 'disabled) + (maybe-raw-content *unspecified*) "Raw content that will be added to the configuration file." common))) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 90b9317510..a9560db66b 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -771,17 +771,17 @@ (define-configuration/no-serialization opendht-configuration "The node host name that is used to make the first connection to the network. A specific port value can be provided by appending the @code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but any host can be -specified here. It's also possible to disable bootstrapping by setting this -to the @code{'disabled} symbol.") +specified here. It's also possible to disable bootstrapping by explicitly +setting this field to the @code{*unspecified*} value.") (port (maybe-number 4222) - "The UDP port to bind to. When set to @code{'disabled}, an available port -is automatically selected.") + "The UDP port to bind to. When set to @code{*unspecified*}, an available +port is automatically selected.") (proxy-server-port - (maybe-number 'disabled) + maybe-number "Spawn a proxy server listening on the specified port.") (proxy-server-port-tls - (maybe-number 'disabled) + maybe-number "Spawn a proxy server listening to TLS connections on the specified port.")) diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index e48236dbca..3daf484cc1 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -114,55 +114,55 @@ (define-configuration tlp-configuration "Same as @code{max-lost-work-secs-on-ac} but on BAT mode.") (cpu-scaling-governor-on-ac - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "CPU frequency scaling governor on AC mode. With intel_pstate driver, alternatives are powersave and performance. With acpi-cpufreq driver, alternatives are ondemand, powersave, performance and conservative.") (cpu-scaling-governor-on-bat - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode.") (cpu-scaling-min-freq-on-ac - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Set the min available frequency for the scaling governor on AC.") (cpu-scaling-max-freq-on-ac - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Set the max available frequency for the scaling governor on AC.") (cpu-scaling-min-freq-on-bat - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Set the min available frequency for the scaling governor on BAT.") (cpu-scaling-max-freq-on-bat - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Set the max available frequency for the scaling governor on BAT.") (cpu-min-perf-on-ac - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Limit the min P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available performance.") (cpu-max-perf-on-ac - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Limit the max P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available performance.") (cpu-min-perf-on-bat - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Same as @code{cpu-min-perf-on-ac} on BAT mode.") (cpu-max-perf-on-bat - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Same as @code{cpu-max-perf-on-ac} on BAT mode.") (cpu-boost-on-ac? - (maybe-boolean 'disabled) + maybe-boolean "Enable CPU turbo boost feature on AC mode.") (cpu-boost-on-bat? - (maybe-boolean 'disabled) + maybe-boolean "Same as @code{cpu-boost-on-ac?} on BAT mode.") (sched-powersave-on-ac? @@ -179,7 +179,7 @@ (define-configuration tlp-configuration "Enable Linux kernel NMI watchdog.") (phc-controls - (maybe-string 'disabled) + maybe-string "For Linux kernels with PHC patch applied, change CPU voltages. An example value would be @samp{\"F:V F:V F:V F:V\"}.") @@ -205,16 +205,16 @@ (define-configuration tlp-configuration "Same as @code{disk-apm-bat} but on BAT mode.") (disk-spindown-timeout-on-ac - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "Hard disk spin down timeout. One value has to be specified for each declared hard disk.") (disk-spindown-timeout-on-bat - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode.") (disk-iosched - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "Select IO scheduler for disk devices. One value has to be specified for each declared hard disk. Example alternatives are cfq, deadline and noop.") @@ -228,16 +228,16 @@ (define-configuration tlp-configuration "Same as @code{sata-linkpwr-ac} but on BAT mode.") (sata-linkpwr-blacklist - (maybe-string 'disabled) + maybe-string "Exclude specified SATA host devices for link power management.") (ahci-runtime-pm-on-ac? - (maybe-on-off-boolean 'disabled) + maybe-on-off-boolean "Enable Runtime Power Management for AHCI controller and disks on AC mode.") (ahci-runtime-pm-on-bat? - (maybe-on-off-boolean 'disabled) + maybe-on-off-boolean "Same as @code{ahci-runtime-pm-on-ac} on BAT mode.") (ahci-runtime-pm-timeout @@ -254,19 +254,19 @@ (define-configuration tlp-configuration "Same as @code{pcie-aspm-ac} but on BAT mode.") (start-charge-thresh-bat0 - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Percentage when battery 0 should begin charging.") (stop-charge-thresh-bat0 - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Percentage when battery 0 should stop charging.") (start-charge-thresh-bat1 - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Percentage when battery 1 should begin charging.") (stop-charge-thresh-bat1 - (maybe-non-negative-integer 'disabled) + maybe-non-negative-integer "Percentage when battery 1 should stop charging.") (radeon-power-profile-on-ac @@ -346,7 +346,7 @@ (define-configuration tlp-configuration blacklisted ones.") (runtime-pm-blacklist - (maybe-space-separated-string-list 'disabled) + maybe-space-separated-string-list "Exclude specified PCI(e) device addresses from Runtime Power Management.") (runtime-pm-driver-blacklist @@ -359,7 +359,7 @@ (define-configuration tlp-configuration "Enable USB autosuspend feature.") (usb-blacklist - (maybe-string 'disabled) + maybe-string "Exclude specified devices from USB autosuspend.") (usb-blacklist-wwan? @@ -367,12 +367,12 @@ (define-configuration tlp-configuration "Exclude WWAN devices from USB autosuspend.") (usb-whitelist - (maybe-string 'disabled) + maybe-string "Include specified devices into USB autosuspend, even if they are already excluded by the driver or via @code{usb-blacklist-wwan?}.") (usb-autosuspend-disable-on-shutdown? - (maybe-boolean 'disabled) + maybe-boolean "Enable USB autosuspend before shutdown.") (restore-device-state-on-startup? diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 0a11e283a0..e8bfbc88c5 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -157,7 +157,7 @@ (define-configuration jami-account secret key material of the Jami account it contains." empty-serializer) (allowed-contacts - (maybe-account-fingerprint-list 'disabled) + maybe-account-fingerprint-list "The list of allowed contacts for the account, entered as their 40 characters long fingerprint. Messages or calls from accounts not in that list will be rejected. When unspecified, the configuration of the account archive @@ -166,7 +166,7 @@ (define-configuration jami-account the account." empty-serializer) (moderators - (maybe-account-fingerprint-list 'disabled) + maybe-account-fingerprint-list "The list of contacts that should have moderation privileges (to ban, mute, etc. other users) in rendezvous conferences, entered as their 40 characters long fingerprint. When unspecified, the configuration of the account archive @@ -175,24 +175,24 @@ (define-configuration jami-account empty-serializer) ;; The serializable fields below are to be set with set-account-details. (rendezvous-point? - (maybe-boolean 'disabled) + maybe-boolean "Whether the account should operate in the rendezvous mode. In this mode, all the incoming audio/video calls are mixed into a conference. When left unspecified, the value from the account archive prevails.") (peer-discovery? - (maybe-boolean 'disabled) + maybe-boolean "Whether peer discovery should be enabled. Peer discovery is used to discover other OpenDHT nodes on the local network, which can be useful to maintain communication between devices on such network even when the connection to the the Internet has been lost. When left unspecified, the value from the account archive prevails.") (bootstrap-hostnames - (maybe-string-list 'disabled) + maybe-string-list "A list of hostnames or IPs pointing to OpenDHT nodes, that should be used to initially join the OpenDHT network. When left unspecified, the value from the account archive prevails.") (name-server-uri - (maybe-string 'disabled) + maybe-string "The URI of the name server to use, that can be used to retrieve the account fingerprint for a registered username.")) @@ -214,7 +214,7 @@ (define (field-name->account-detail name) name ((configuration-field-getter field) jami-account-object))) ;; The define-maybe default serializer produces an - ;; empty string for the 'disabled value. + ;; empty string for unspecified values. (value* (if (string-null? value) #f value))) @@ -247,7 +247,7 @@ (define-configuration/no-serialization jami-configuration (boolean #f) "Whether to force automatic answer to incoming calls.") (accounts - (maybe-jami-account-list 'disabled) + maybe-jami-account-list "A list of Jami accounts to be (re-)provisioned every time the Jami daemon service starts. When providing this field, the account directories under @file{/var/lib/jami/} are recreated every time the service starts, ensuring a @@ -307,7 +307,7 @@ (define (jami-shepherd-services config) (dbus (jami-configuration-dbus config)) (dbus-daemon (file-append dbus "/bin/dbus-daemon")) (accounts (jami-configuration-accounts config)) - (declarative-mode? (not (eq? 'disabled accounts)))) + (declarative-mode? (not (unspecified? accounts)))) (with-extensions (list guile-packrat ;used by guile-ac-d-bus guile-ac-d-bus @@ -649,7 +649,7 @@ (define (archive-name->username archive) account-details) (let ((username (archive-name->username archive))) - (when (not (eq? 'disabled allowed-contacts)) + (when (not (unspecified? allowed-contacts)) ;; Reject calls from unknown contacts. (set-account-details '(("DHT.PublicInCalls" . "false")) username) @@ -659,7 +659,7 @@ (define (archive-name->username archive) ;; Add allowed ones. (for-each (cut add-contact <> username) allowed-contacts)) - (when (not (eq? 'disabled moderators)) + (when (not (unspecified? moderators)) ;; Disable the 'AllModerators' property. (set-all-moderators #f username) ;; Remove all moderators. diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index a3dc96c1a2..8be632d55f 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -363,7 +363,7 @@ (define-split-configuration openvpn-client-configuration channel to protect against DoS attacks.") (auth-user-pass - (maybe-string 'disabled) + maybe-string "Authenticate with server using username/password. The option is a file containing username/password on 2 lines. Do not use a file-like object as it would be added to the store and readable by any user.") diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm index 0debf8095b..334a1e409b 100644 --- a/tests/services/configuration.scm +++ b/tests/services/configuration.scm @@ -136,3 +136,15 @@ (define-configuration config-with-maybe-string/no-serialization (test-assert "maybe value without serialization no procedure bound" (not (defined? 'serialize-maybe-string))) + +(test-assert "maybe type, no default" + (unspecified? + (config-with-maybe-string/no-serialization-name + (config-with-maybe-string/no-serialization)))) + +(test-assert "maybe type, with default" + (equal? + "foo" + (config-with-maybe-string/no-serialization-name + (config-with-maybe-string/no-serialization + (name "foo"))))) -- cgit v1.2.3 From 713d14075004686b5cfd5efe53d330150cb14290 Mon Sep 17 00:00:00 2001 From: Attila Lendvai Date: Tue, 17 May 2022 13:39:30 +0200 Subject: doc: Follow the 'disabled -> *unspecified* configuration refactor. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Networking Services) (Messaging Services) (Telephony Services) (File-Sharing Services) (VPN Services) (Power Management Services) (Complex Configurations) (Desktop Home Services): Remove mentions of the 'disabled symbol or replace them by *unspecified*, depending on context. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 85 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index de19d4aaba..143bf36403 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19329,15 +19329,16 @@ The node host name that is used to make the first connection to the network. A specific port value can be provided by appending the @code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but any host can be specified here. It's also possible to disable -bootsrapping by setting this to the @code{'disabled} symbol. +bootsrapping by explicitly setting this to the @code{*unspecified*} +value. Defaults to @samp{"bootstrap.jami.net:4222"}. @end deftypevr @deftypevr {@code{opendht-configuration} parameter} maybe-number port -The UDP port to bind to. When set to @code{'disabled}, an available -port is automatically selected. +The UDP port to bind to. When explicitly set to @code{*unspecified*}, +an available port is automatically selected. Defaults to @samp{4222}. @@ -25090,7 +25091,7 @@ The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings. Types starting with @code{maybe-} denote parameters that won't -show up in @code{prosody.cfg.lua} when their value is @code{'disabled}. +show up in @code{prosody.cfg.lua} when their value is left unspecified. There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port over from @@ -25704,7 +25705,7 @@ Whether to enable debug level messages. @item @code{auto-answer?} (default: @code{#f}) (type: boolean) Whether to force automatic answer to incoming calls. -@item @code{accounts} (default: @code{disabled}) (type: maybe-jami-account-list) +@item @code{accounts} (type: maybe-jami-account-list) A list of Jami accounts to be (re-)provisioned every time the Jami daemon service starts. When providing this field, the account directories under @file{/var/lib/jami/} are recreated every time the @@ -25726,39 +25727,39 @@ should @emph{not} be encrypted. It is highly recommended to make it readable only to the @samp{root} user (i.e., not in the store), to guard against leaking the secret key material of the Jami account it contains. -@item @code{allowed-contacts} (default: @code{disabled}) (type: maybe-account-fingerprint-list) +@item @code{allowed-contacts} (type: maybe-account-fingerprint-list) The list of allowed contacts for the account, entered as their 40 characters long fingerprint. Messages or calls from accounts not in -that list will be rejected. When unspecified, the configuration of the -account archive is used as-is with respect to contacts and public +that list will be rejected. When left specified, the configuration of +the account archive is used as-is with respect to contacts and public inbound calls/messaging allowance, which typically defaults to allow any contact to communicate with the account. -@item @code{moderators} (default: @code{disabled}) (type: maybe-account-fingerprint-list) +@item @code{moderators} (type: maybe-account-fingerprint-list) The list of contacts that should have moderation privileges (to ban, mute, etc. other users) in rendezvous conferences, entered as their 40 -characters long fingerprint. When unspecified, the configuration of the -account archive is used as-is with respect to moderation, which +characters long fingerprint. When left unspecified, the configuration +of the account archive is used as-is with respect to moderation, which typically defaults to allow anyone to moderate. -@item @code{rendezvous-point?} (default: @code{disabled}) (type: maybe-boolean) +@item @code{rendezvous-point?} (type: maybe-boolean) Whether the account should operate in the rendezvous mode. In this mode, all the incoming audio/video calls are mixed into a conference. When left unspecified, the value from the account archive prevails. -@item @code{peer-discovery?} (default: @code{disabled}) (type: maybe-boolean) +@item @code{peer-discovery?} (type: maybe-boolean) Whether peer discovery should be enabled. Peer discovery is used to discover other OpenDHT nodes on the local network, which can be useful to maintain communication between devices on such network even when the connection to the the Internet has been lost. When left unspecified, the value from the account archive prevails. -@item @code{bootstrap-hostnames} (default: @code{disabled}) (type: maybe-string-list) +@item @code{bootstrap-hostnames} (type: maybe-string-list) A list of hostnames or IPs pointing to OpenDHT nodes, that should be used to initially join the OpenDHT network. When left unspecified, the value from the account archive prevails. -@item @code{name-server-uri} (default: @code{disabled}) (type: maybe-string) +@item @code{name-server-uri} (type: maybe-string) The URI of the name server to use, that can be used to retrieve the account fingerprint for a registered username. @@ -26392,8 +26393,8 @@ Defaults to @samp{prefer-encrypted-connections}. @deftypevr {@code{transmission-daemon-configuration} parameter} maybe-string peer-congestion-algorithm The TCP congestion-control algorithm to use for peer connections, specified using a string recognized by the operating system in calls to -@code{setsockopt} (or set to @code{disabled}, in which case the -operating-system default is used). +@code{setsockopt}. When left unspecified, the operating-system default +is used. Note that on GNU/Linux systems, the kernel must be configured to allow processes to use a congestion-control algorithm not in the default set; @@ -30021,7 +30022,7 @@ Defaults to @samp{tun}. If you do not have some of these files (eg.@: you use a username and password), you can disable any of the following three fields by setting -it to @code{'disabled}. +it to @code{*unspecified*}. @deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca The certificate authority to check connections against. @@ -30095,7 +30096,6 @@ Authenticate with server using username/password. The option is a file containing username/password on 2 lines. Do not use a file-like object as it would be added to the store and readable by any user. -Defaults to @samp{'disabled}. @end deftypevr @deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage? @@ -30176,7 +30176,7 @@ Defaults to @samp{tun}. If you do not have some of these files (eg.@: you use a username and password), you can disable any of the following three fields by setting -it to @code{'disabled}. +it to @code{*unspecified*}. @deftypevr {@code{openvpn-server-configuration} parameter} maybe-string ca The certificate authority to check connections against. @@ -30975,10 +30975,10 @@ content by adding a valid @code{tlp-configuration}: @end deffn Each parameter definition is preceded by its type; for example, -@samp{boolean foo} indicates that the @code{foo} parameter -should be specified as a boolean. Types starting with -@code{maybe-} denote parameters that won't show up in TLP config file -when their value is @code{'disabled}. +@samp{boolean foo} indicates that the @code{foo} parameter should be +specified as a boolean. Types starting with @code{maybe-} denote +parameters that won't show up in TLP config file when their value is +left unset, or is explicitly set to the @code{*unspecified*} value. @c The following documentation was initially generated by @c (generate-tlp-documentation) in (gnu services pm). Manually maintained @@ -38573,15 +38573,16 @@ macro which is a shorthand of this. @deffn {Scheme Syntax} define-maybe @var{type} Sometimes a field should not be serialized if the user doesn’t specify a value. To achieve this, you can use the @code{define-maybe} macro to -define a ``maybe type''; if the value of a maybe type is set to the -@code{disabled}, it will not be serialized. +define a ``maybe type''; if the value of a maybe type is left unset, or +is set to the @code{*unspecified*} value, then it will not be +serialized. When defining a ``maybe type'', the corresponding serializer for the regular type will be used by default. For example, a field of type @code{maybe-string} will be serialized using the @code{serialize-string} procedure by default, you can of course change this by specifying a custom serializer procedure. Likewise, the type of the value would have -to be a string, unless it is set to the @code{disabled} symbol. +to be a string, or left unspecified. @lisp (define-maybe string) @@ -38591,9 +38592,9 @@ to be a string, unless it is set to the @code{disabled} symbol. (define-configuration baz-configuration (name - ;; Nothing will be serialized by default. If set to a string, the - ;; `serialize-string' procedure will be used to serialize the string. - (maybe-string 'disabled) + ;; If set to a string, the `serialize-string' procedure will be used + ;; to serialize the string. Otherwise this field is not serialized. + maybe-string ; equivalent to (maybe-string *unspecified*) "The name of this module.")) @end lisp @@ -38610,7 +38611,7 @@ serializer name by using the @code{prefix} literal. There is also the @code{no-serialization} literal, which when set means that no serializer will be defined for the ``maybe type'', regardless of -its value is @code{disabled} or not. +whether its value is set or not. @code{define-maybe/no-serialization} is a shorthand for specifying the @code{no-serialization} literal. @@ -38619,7 +38620,7 @@ its value is @code{disabled} or not. (define-configuration/no-serialization test-configuration (mode - (maybe-symbol 'disabled) + maybe-symbol "Docstring.")) @end lisp @end deffn @@ -38751,10 +38752,10 @@ Below is an example of a record type created using "The name of the contact." serialize-contact-name) (phone-number - (maybe-integer 'disabled) + maybe-integer "The person's phone number.") (email - (maybe-string 'disabled) + maybe-string "The person's email address.") (married? (boolean) @@ -39478,24 +39479,24 @@ Daytime color temperature (kelvins). @item @code{nighttime-temperature} (default: @code{4500}) (type: integer) Nighttime color temperature (kelvins). -@item @code{daytime-brightness} (default: @code{disabled}) (type: maybe-inexact-number) -Daytime screen brightness, between 0.1 and 1.0. +@item @code{daytime-brightness} (type: maybe-inexact-number) +Daytime screen brightness, between 0.1 and 1.0, or left unspecified. -@item @code{nighttime-brightness} (default: @code{disabled}) (type: maybe-inexact-number) -Nighttime screen brightness, between 0.1 and 1.0. +@item @code{nighttime-brightness} (type: maybe-inexact-number) +Nighttime screen brightness, between 0.1 and 1.0, or left unspecified. -@item @code{latitude} (default: @code{disabled}) (type: maybe-inexact-number) +@item @code{latitude} (type: maybe-inexact-number) Latitude, when @code{location-provider} is @code{'manual}. -@item @code{longitude} (default: @code{disabled}) (type: maybe-inexact-number) +@item @code{longitude} (type: maybe-inexact-number) Longitude, when @code{location-provider} is @code{'manual}. -@item @code{dawn-time} (default: @code{disabled}) (type: maybe-string) +@item @code{dawn-time} (type: maybe-string) Custom time for the transition from night to day in the morning---@code{"HH:MM"} format. When specified, solar elevation is not used to determine the daytime/nighttime period. -@item @code{dusk-time} (default: @code{disabled}) (type: maybe-string) +@item @code{dusk-time} (type: maybe-string) Likewise, custom time for the transition from day to night in the evening. -- cgit v1.2.3 From 7735e8ed90c7909ee9dd34737931f02353261986 Mon Sep 17 00:00:00 2001 From: Olivier Dion Date: Thu, 7 Apr 2022 20:18:44 -0400 Subject: gnu: lttng-ust: Fix dependencies. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/instrumentation.scm (lttng-ust): Fix dependencies. [inputs]: Remove liburcu. [propagated-inputs]: Add liburcu. Signed-off-by: Ludovic Courtès --- gnu/packages/instrumentation.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index 2db21aef1b..4e23e9bed4 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -215,7 +215,9 @@ (define-public lttng-ust "1p7d94r275yvby6zqfxaswdl1q46zxbc8x5rkhnjxrp1d41byrsn")))) (build-system gnu-build-system) (inputs - (list liburcu numactl)) + (list numactl)) + (propagated-inputs + (list liburcu)) ;headers of liburcu are used by headers of lttng (native-inputs (list python-3 pkg-config)) (home-page "https://lttng.org/") -- cgit v1.2.3 From d22bee814c6ac958196acd56b1921f30194355aa Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Sat, 9 Apr 2022 00:53:42 +0000 Subject: gnu: libadwaita: Update to 1.1.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (libadwaita): Update to 1.1.0. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 73 +++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index dce98a4b26..e2ee4c2310 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -71,6 +71,7 @@ ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2022 Leo Nikkilä ;;; Copyright © 2022 Rene Saavedra +;;; Copyright © 2022 Alexandros Theodotou ;;; ;;; This file is part of GNU Guix. ;;; @@ -12575,45 +12576,43 @@ (define-public ocrfeeder (license license:gpl3+))) (define-public libadwaita - (let ((commit "8d66b987a19979d9d7b85dacc6bad5ce0c8743fe") - (revision "1")) - (package - (name "libadwaita") - (version (git-version "0.0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.gnome.org/GNOME/libadwaita.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0i3wav6jsyi4w4i2r1rad769m5y5s9djj4zqb7dfyh0bad24ba3q")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - ;; Tests require a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))))) - (native-inputs - `(("sassc" ,sassc) - ("glib:bin" ,glib "bin") - ("gtk-doc" ,gtk-doc/stable) - ("pkg-config" ,pkg-config) - ("vala" ,vala) - ("xvfb" ,xorg-server-for-tests))) - (inputs - (list gtk gobject-introspection libportal)) - (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/") - (synopsis "Building blocks for GNOME applications") - (description - "@code{libadwaita} offers widgets and objects to build GNOME + (package + (name "libadwaita") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libadwaita/" + (version-major+minor version) "/" + "libadwaita-" version ".tar.xz")) + (sha256 + (base32 + "03h14mrm453bn03f48rmpf85pvg5cnzzab27cs1c43417s09ixdg")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))))) + (native-inputs + `(("sassc" ,sassc) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc/stable) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xvfb" ,xorg-server-for-tests) + ("gettext" ,gettext-minimal))) + (inputs + (list gtk gobject-introspection libportal)) + (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/") + (synopsis "Building blocks for GNOME applications") + (description + "@code{libadwaita} offers widgets and objects to build GNOME applications scaling from desktop workstations to mobile phones. It is the successor of @code{libhandy} for GTK4.") - (license license:lgpl2.1+)))) + (license license:lgpl2.1+))) (define-public gnome-power-manager (package -- cgit v1.2.3 From c363843349644352427e8c55091dbcc36533383a Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Sat, 9 Apr 2022 00:53:46 +0000 Subject: gnu: rtmidi: Add version 5.0.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/audio.scm (rtmidi): Update to 5.0.0. (rtmidi-4.0): New variable. * gnu/packages/music.scm (milkytracker)[inputs]: Use RTMIDI-4.0 rather than RTMIDI. (zrythm)[inputs]: Likewise. Co-authored-by: Ludovic Courtès --- gnu/packages/audio.scm | 17 +++++++++++++++-- gnu/packages/music.scm | 6 +++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 8ec78f665c..70b0f1181c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3210,7 +3210,7 @@ (define-public rubberband (define-public rtmidi (package (name "rtmidi") - (version "4.0.0") + (version "5.0.0") (source (origin (method url-fetch) (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi" @@ -3218,7 +3218,7 @@ (define-public rtmidi (file-name (string-append "rtmidi-" version ".tar.gz")) (sha256 (base32 - "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))) + "1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8")))) (build-system gnu-build-system) (inputs (list jack-1 alsa-lib)) @@ -3232,6 +3232,19 @@ (define-public rtmidi input/output.") (license license:expat))) +(define-public rtmidi-4.0 + (package + (inherit rtmidi) + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi" + "/release/rtmidi-" version ".tar.gz")) + (file-name (string-append "rtmidi-" version ".tar.gz")) + (sha256 + (base32 + "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))))) + (define-public sratom (package (name "sratom") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1c34ae621c..08b5ac16e9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2018 nee ;;; Copyright © 2018, 2021 Stefan Reichör ;;; Copyright © 2018 Pierre Neidhardt -;;; Copyright © 2018, 2019, 2021 Ludovic Courtès +;;; Copyright © 2018-2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Gabriel Hondet ;;; Copyright © 2019 Timotej Lazar @@ -3862,7 +3862,7 @@ (define-public milkytracker `(("alsa-lib" ,alsa-lib) ("lhasa" ,lhasa) ("jack" ,jack-1) - ("rtmidi" ,rtmidi) + ("rtmidi" ,rtmidi-4.0) ("sdl" ,sdl2) ("zlib" ,zlib) ("zziplib" ,zziplib))) @@ -6141,7 +6141,7 @@ (define-public zrythm ("pulseaudio" ,pulseaudio) ("reproc" ,reproc) ("rubberband" ,rubberband) - ("rtmidi" ,rtmidi) + ("rtmidi" ,rtmidi-4.0) ("sdl2" ,sdl2) ("xdg-utils" ,xdg-utils) ("zstd" ,zstd "lib"))) -- cgit v1.2.3 From e51517d0775e636bd250f49fb9a4351fe6c546d2 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Fri, 10 Jun 2022 10:41:14 +0200 Subject: gnu: libwesockets: Update license. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/web.scm (libwebsockets)[license]: Change to expat. Signed-off-by: Ludovic Courtès --- gnu/packages/web.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 64d747a312..9047578b0a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -57,6 +57,7 @@ ;;; Copyright © 2021 Vinicius Monego ;;; Copyright © 2022 cage ;;; Copyright © 2022 Pradana Aumars +;;; Copyright © 2022 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -1451,9 +1452,7 @@ (define-public libwebsockets and server WebSockets connections---a protocol layered above HTTP that allows for efficient socket-like bidirectional reliable communication channels.") (home-page "https://libwebsockets.org") - - ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'. - (license license:lgpl2.1))) + (license license:expat))) (define-public wabt (package -- cgit v1.2.3 From 887b23a73c8d2da964f19ae04754eea4b726329e Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Tue, 7 Jun 2022 08:11:33 +0200 Subject: gnu: Add kismet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (kismet): New variable. * gnu/local.mk: Add patch. * gnu/packages/patches/kismet-unbundle-boost.patch: New file. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/networking.scm | 51 +++++++++++ gnu/packages/patches/kismet-unbundle-boost.patch | 104 +++++++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 gnu/packages/patches/kismet-unbundle-boost.patch diff --git a/gnu/local.mk b/gnu/local.mk index d08a11ac89..5a9edc16bb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1348,6 +1348,7 @@ dist_patch_DATA = \ %D%/packages/patches/kinit-kdeinit-extra_libs.patch \ %D%/packages/patches/kinit-kdeinit-libpath.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ + %D%/packages/patches/kismet-unbundle-boost.patch \ %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \ diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bfb4e32296..07ee9d3ea0 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -49,6 +49,7 @@ ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Simon South ;;; Copyright © 2022 Pierre Langlois +;;; Copyright © 2022 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,6 +115,7 @@ (define-module (gnu packages networking) #:use-module (gnu packages image) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages kerberos) @@ -129,6 +131,7 @@ (define-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) @@ -547,6 +550,54 @@ (define-public python-pysctp SCTP-aware kernel (most are).") (license license:lgpl2.1+))) +(define-public kismet + (package + (name "kismet") + (version "2022-02") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://www.kismetwireless.net/git/kismet.git") + (commit (string-append "kismet-" version "-R1")))) + (file-name (git-file-name name version)) + (patches (search-patches "kismet-unbundle-boost.patch")) + (modules '((guix build utils))) + (snippet '(begin + ;; Drop bundled libraries. + (delete-file-recursively "boost"))) + (sha256 + (base32 + "01q86hrgpai433sc65dlnqy91qd26w5dwyp37adszqxfb6d2an1r")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-install + (lambda* _ + (substitute* "Makefile.in" + (("-o \\$\\(INSTUSR\\) -g \\$\\(SUIDGROUP\\)") "") + (("-o \\$\\(INSTUSR\\) -g \\$\\(INSTGRP\\)") ""))))))) + (home-page "https://www.kismetwireless.net/") + (native-inputs (list perl pkg-config python python-2)) + (inputs (list boost + libusb + libpcap + libwebsockets + openssl + protobuf + protobuf-c + sqlite + zlib)) + (synopsis "Wireless network and device detector") + (description + "This package provides a wireless network and device detector, sniffer, +wardriving tool, and WIDS (wireless intrusion detection) framework. Kismet +works with Wi-Fi interfaces, Bluetooth interfaces, some SDR +(software defined radio) hardware like the RTLSDR, and other specialized +capture hardware") + (license license:gpl2+))) + (define-public knockd (package (name "knockd") diff --git a/gnu/packages/patches/kismet-unbundle-boost.patch b/gnu/packages/patches/kismet-unbundle-boost.patch new file mode 100644 index 0000000000..06e028bb23 --- /dev/null +++ b/gnu/packages/patches/kismet-unbundle-boost.patch @@ -0,0 +1,104 @@ +From 170ed96fe53531f93cdbca184faeda4bdf457169 Mon Sep 17 00:00:00 2001 +From: Petr Hodina +Date: Tue, 7 Jun 2022 11:34:29 +0200 +Subject: [PATCH] Unbundle boost. + + +diff --git a/globalregistry.h b/globalregistry.h +index 1974f54..3d97364 100644 +--- a/globalregistry.h ++++ b/globalregistry.h +@@ -34,7 +34,7 @@ + #include "util.h" + #include "uuid.h" + +-#include "boost/asio.hpp" ++#include + + class global_registry; + +diff --git a/gpsgpsd_v3.h b/gpsgpsd_v3.h +index 77acb14..8cb3cd4 100644 +--- a/gpsgpsd_v3.h ++++ b/gpsgpsd_v3.h +@@ -25,7 +25,7 @@ + #include "kis_gps.h" + #include "timetracker.h" + +-#include "boost/asio.hpp" ++#include + + using boost::asio::ip::tcp; + +diff --git a/gpsnmea_v2.h b/gpsnmea_v2.h +index d761fd3..7518b94 100644 +--- a/gpsnmea_v2.h ++++ b/gpsnmea_v2.h +@@ -28,7 +28,7 @@ + #define ASIO_HAS_STD_CHRONO + #define ASIO_HAS_MOVE + +-#include "boost/asio.hpp" ++#include + + // Generic NMEA parser for GPS + +diff --git a/gpsserial_v3.h b/gpsserial_v3.h +index c9f633f..2fa9acb 100644 +--- a/gpsserial_v3.h ++++ b/gpsserial_v3.h +@@ -29,7 +29,7 @@ + #define ASIO_HAS_STD_CHRONO + #define ASIO_HAS_MOVE + +-#include "boost/asio.hpp" ++#include + + // NMEA serial-attached GPS + // Implemented using ASIO serial +diff --git a/gpstcp_v2.h b/gpstcp_v2.h +index 75ec2e9..ab46216 100644 +--- a/gpstcp_v2.h ++++ b/gpstcp_v2.h +@@ -29,7 +29,7 @@ + #define ASIO_HAS_STD_CHRONO + #define ASIO_HAS_MOVE + +-#include "boost/asio.hpp" ++#include + + using boost::asio::ip::tcp; + +diff --git a/kis_external.h b/kis_external.h +index 217f18a..af397b5 100644 +--- a/kis_external.h ++++ b/kis_external.h +@@ -42,7 +42,7 @@ + #include "kis_external_packet.h" + #include "kis_net_beast_httpd.h" + +-#include "boost/asio.hpp" ++#include + using boost::asio::ip::tcp; + + #include +diff --git a/kis_net_beast_httpd.h b/kis_net_beast_httpd.h +index 355996c..989745e 100644 +--- a/kis_net_beast_httpd.h ++++ b/kis_net_beast_httpd.h +@@ -28,9 +28,9 @@ + #include + #include + +-#include "boost/asio.hpp" +-#include "boost/beast.hpp" +-#include "boost/optional.hpp" ++#include ++#include ++#include + + #include "entrytracker.h" + #include "future_chainbuf.h" +-- +2.35.1 + -- cgit v1.2.3 From 8a04ac4b2f5d356719d896536dabc95a9520c938 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2022 00:17:03 +0200 Subject: gnu: slurm: Update to 22.05.1. * gnu/packages/parallel.scm (slurm): Update to 22.05.1. (slurm-21.08): New variable. --- gnu/packages/parallel.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 35be8e9ada..ec785cedf7 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -166,7 +166,7 @@ (define-public xjobs (define-public slurm (package (name "slurm") - (version "21.08.8") + (version "22.05.1") (source (origin (method url-fetch) (uri (string-append @@ -174,7 +174,7 @@ (define-public slurm version ".tar.bz2")) (sha256 (base32 - "1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf")) + "0f3hhlki8g7slllsnyj1qikbsvr62i0hig85lcdcfnmsagzlhbyi")) (modules '((guix build utils))) (snippet '(begin @@ -262,6 +262,20 @@ (define-public slurm ;; As noted in the link, YY.MM is the release scheme, and the 'maintenance' ;; digit does not introduce incompatibilities. +(define-public slurm-21.08 + (package + (inherit slurm) + (version "21.08.8") + (source (origin + (inherit (package-source slurm)) + (method url-fetch) + (uri (string-append + "https://download.schedmd.com/slurm/slurm-" + version ".tar.bz2")) + (sha256 + (base32 + "1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf")))))) + (define-public slurm-20.11 (package (inherit slurm) -- cgit v1.2.3 From 2f3cea45b97533e3bb480e69ff88810c43f389f7 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Tue, 15 Mar 2022 22:28:45 +0100 Subject: Revert "Add (guix extracting-download)." This reverts commit f63c79bf7674df012517f8e9148f94c611e35f32, which was missed when reverting the #51061 patch series for now in a1679b74c9aa20bb51bc4add82ebb7ba78926b9c. --- Makefile.am | 1 - guix/extracting-download.scm | 179 ------------------------------------------- 2 files changed, 180 deletions(-) delete mode 100644 guix/extracting-download.scm diff --git a/Makefile.am b/Makefile.am index e8d4b7ef8a..c1b48d9af0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -97,7 +97,6 @@ MODULES = \ guix/discovery.scm \ guix/android-repo-download.scm \ guix/bzr-download.scm \ - guix/extracting-download.scm \ guix/git-download.scm \ guix/hg-download.scm \ guix/hash.scm \ diff --git a/guix/extracting-download.scm b/guix/extracting-download.scm deleted file mode 100644 index 4b7dcc7e83..0000000000 --- a/guix/extracting-download.scm +++ /dev/null @@ -1,179 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès -;;; Copyright © 2017 Mathieu Lirzin -;;; Copyright © 2017 Christopher Baines -;;; Copyright © 2020 Jakub Kądziołka -;;; Copyright © 2020 Hartmut Goebel -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (guix extracting-download) - #:use-module (ice-9 match) - #:use-module (ice-9 popen) - #:use-module ((guix build download) #:prefix build:) - #:use-module ((guix build utils) #:hide (delete)) - #:use-module (guix gexp) - #:use-module (guix modules) - #:use-module (guix monads) - #:use-module (guix packages) ;; for %current-system - #:use-module (guix store) - #:use-module (guix utils) - #:use-module (srfi srfi-26) - #:export (http-fetch/extract - download-to-store/extract)) - -;;; -;;; Produce fixed-output derivations with data extracted from n archive -;;; fetched over HTTP or FTP. -;;; -;;; This is meant to be used for package repositories where the actual source -;;; archive is packed into another archive, eventually carrying meta-data. -;;; Using this derivation saves both storing the outer archive and extracting -;;; the actual one at build time. The hash is calculated on the actual -;;; archive to ease validating the stored file. -;;; - -(define* (http-fetch/extract url filename-to-extract hash-algo hash - #:optional name - #:key (system (%current-system)) (guile (default-guile))) - "Return a fixed-output derivation that fetches an archive at URL, and -extracts FILE_TO_EXTRACT from the archive. The FILE_TO_EXTRACT is expected to -have hash HASH of type HASH-ALGO (a symbol). By default, the file name is the -base name of URL; optionally, NAME can specify a different file name." - (define file-name - (match url - ((head _ ...) - (basename head)) - (_ - (basename url)))) - - (define guile-zlib - (module-ref (resolve-interface '(gnu packages guile)) 'guile-zlib)) - - (define guile-json - (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) - - (define gnutls - (module-ref (resolve-interface '(gnu packages tls)) 'gnutls)) - - (define inputs - `(("tar" ,(module-ref (resolve-interface '(gnu packages base)) - 'tar)))) - - (define config.scm - (scheme-file "config.scm" - #~(begin - (define-module (guix config) - #:export (%system)) - - (define %system - #$(%current-system))))) - - (define modules - (cons `((guix config) => ,config.scm) - (delete '(guix config) - (source-module-closure '((guix build download) - (guix build utils) - (guix utils) - (web uri)))))) - - (define build - (with-imported-modules modules - (with-extensions (list guile-json gnutls ;for (guix swh) - guile-zlib) - #~(begin - (use-modules (guix build download) - (guix build utils) - (guix utils) - (web uri) - (ice-9 match) - (ice-9 popen)) - ;; The code below expects tar to be in $PATH. - (set-path-environment-variable "PATH" '("bin") - (match '#+inputs - (((names dirs outputs ...) ...) - dirs))) - - (setvbuf (current-output-port) 'line) - (setvbuf (current-error-port) 'line) - - (call-with-temporary-directory - (lambda (directory) - ;; TODO: Support different archive types, based on content-type - ;; or archive name extention. - (let* ((file-to-extract (getenv "extract filename")) - (port (http-fetch (string->uri (getenv "download url")) - #:verify-certificate? #f)) - (tar (open-pipe* OPEN_WRITE "tar" "-C" directory - "-xf" "-" file-to-extract))) - (dump-port port tar) - (close-port port) - (let ((status (close-pipe tar))) - (unless (zero? status) - (error "tar extraction failure" status))) - (copy-file (string-append directory "/" - (getenv "extract filename")) - #$output)))))))) - - (mlet %store-monad ((guile (package->derivation guile system))) - (gexp->derivation (or name file-name) build - - ;; Use environment variables and a fixed script name so - ;; there's only one script in store for all the - ;; downloads. - #:script-name "extract-download" - #:env-vars - `(("download url" . ,url) - ("extract filename" . ,filename-to-extract)) - #:leaked-env-vars '("http_proxy" "https_proxy" - "LC_ALL" "LC_MESSAGES" "LANG" - "COLUMNS") - #:system system - #:local-build? #t ; don't offload download - #:hash-algo hash-algo - #:hash hash - #:guile-for-build guile))) - - -(define* (download-to-store/extract store url filename-to-extract - #:optional (name (basename url)) - #:key (log (current-error-port)) - (verify-certificate? #t)) - "Download an archive from URL, and extracts FILE_TO_EXTRACT from the archive -to STORE, either under NAME or URL's basename if omitted. Write progress -reports to LOG. VERIFY-CERTIFICATE? determines whether or not to validate -HTTPS server certificates." - (call-with-temporary-output-file - (lambda (temp port) - (let ((result - (parameterize ((current-output-port log)) - (build:url-fetch url temp - ;;#:mirrors %mirrors - #:verify-certificate? - verify-certificate?)))) - (close port) - (and result - (call-with-temporary-output-file - (lambda (contents port) - (let ((tar (open-pipe* OPEN_READ - "tar" ;"--auto-compress" - "-xf" temp "--to-stdout" filename-to-extract))) - (dump-port tar port) - (close-port port) - (let ((status (close-pipe tar))) - (unless (zero? status) - (error "tar extraction failure" status))) - (add-to-store store name #f "sha256" contents))))))))) -- cgit v1.2.3 From 97586ca1cb25aed9da13c9cc7de152346be0a093 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 28 May 2020 22:15:32 +0200 Subject: build-system: Add 'rebar-build-system'. * guix/build-system/rebar.scm, guix/build/rebar-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Update rebar-build-system section. --- Makefile.am | 2 + doc/guix.texi | 43 +++++++++++ guix/build-system/rebar.scm | 143 ++++++++++++++++++++++++++++++++++++ guix/build/rebar-build-system.scm | 147 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 335 insertions(+) create mode 100644 guix/build-system/rebar.scm create mode 100644 guix/build/rebar-build-system.scm diff --git a/Makefile.am b/Makefile.am index c1b48d9af0..5a496aeeb3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -171,6 +171,7 @@ MODULES = \ guix/build-system/waf.scm \ guix/build-system/r.scm \ guix/build-system/rakudo.scm \ + guix/build-system/rebar.scm \ guix/build-system/ruby.scm \ guix/build-system/scons.scm \ guix/build-system/texlive.scm \ @@ -225,6 +226,7 @@ MODULES = \ guix/build/r-build-system.scm \ guix/build/renpy-build-system.scm \ guix/build/rakudo-build-system.scm \ + guix/build/rebar-build-system.scm \ guix/build/ruby-build-system.scm \ guix/build/scons-build-system.scm \ guix/build/texlive-build-system.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 143bf36403..826e83007f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9258,6 +9258,49 @@ with @code{#:zef} or removed by passing @code{#f} to the @code{with-zef?} parameter. @end defvr +@defvr {Scheme Variable} rebar-build-system +This variable is exported by @code{(guix build-system rebar)}. It +implements a build procedure around @uref{https://rebar3.org,rebar3}, +a build system for programs written in the Erlang language. + +It adds both @code{rebar3} and the @code{erlang} to the set of inputs. +Different packages can be specified with the @code{#:rebar} and +@code{#:erlang} parameters, respectively. + +This build system is based on @code{gnu-build-system}, but with the +following phases changed: + +@table @code + +@item unpack +This phase, after unpacking the source like the @code{gnu-build-system} +does, checks for a file @code{contents.tar.gz} at the top-level of the +source. If this file exists, it will be unpacked, too. This eases +handling of package hosted at @uref{https://hex.pm/}, +the Erlang and Elixir package repository. + +@item bootstrap +@item configure +There are no @code{bootstrap} and @code{configure} phase because erlang +packages typically don’t need to be configured. + +@item build +This phase runs @code{rebar3 compile} +with the flags listed in @code{#:rebar-flags}. + +@item check +Unless @code{#:tests? #f} is passed, +this phase runs @code{rebar3 eunit}, +or some other target specified with @code{#:test-target}, +with the flags listed in @code{#:rebar-flags}, + +@item install +This installs the files created in the @i{default} profile, or some +other profile specified with @code{#:install-profile}. + +@end table +@end defvr + @defvr {Scheme Variable} texlive-build-system This variable is exported by @code{(guix build-system texlive)}. It is used to build TeX packages in batch mode with a specified engine. The diff --git a/guix/build-system/rebar.scm b/guix/build-system/rebar.scm new file mode 100644 index 0000000000..8a8fb7708c --- /dev/null +++ b/guix/build-system/rebar.scm @@ -0,0 +1,143 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2020 Hartmut Goebel +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build-system rebar) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix monads) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module ((guix hexpm-download) #:select (hexpm-uri) #:prefix dl:) + #:use-module (ice-9 match) + #:use-module (srfi srfi-26) + #:export (hexpm-uri + %rebar-build-system-modules + rebar-build + rebar-build-system)) + +;; +;; Standard build procedure for Erlang packages using Rebar. +;; + +(define hexpm-uri dl:hexpm-uri) + +(define %rebar-build-system-modules + ;; Build-side modules imported by default. + `((guix build rebar-build-system) + ,@%gnu-build-system-modules)) + +(define (default-rebar3) + "Return the default Rebar3 package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((erlang-mod (resolve-interface '(gnu packages erlang)))) + (module-ref erlang-mod 'rebar3))) + +(define (default-erlang) + "Return the default Erlang package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((erlang-mod (resolve-interface '(gnu packages erlang)))) + (module-ref erlang-mod 'erlang))) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (rebar (default-rebar3)) + (erlang (default-erlang)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME from the given arguments." + (define private-keywords + '(#:target #:rebar #:erlang #:inputs #:native-inputs)) + + (and (not target) ;XXX: no cross-compilation + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs)) + (build-inputs `(("rebar" ,rebar) + ("erlang" ,erlang) ;; for escriptize + ,@native-inputs + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (outputs outputs) + (build rebar-build) + (arguments (strip-keyword-arguments private-keywords arguments))))) + +(define* (rebar-build name inputs + #:key + guile source + (rebar-flags ''("skip_deps=true" "-vv")) + (tests? #t) + (test-target "eunit") + ;; TODO: install-name ; default: based on guix package name + (install-profile "default") + (phases '(@ (guix build rebar-build-system) + %standard-phases)) + (outputs '("out")) + (search-paths '()) + (native-search-paths '()) + (system (%current-system)) + (imported-modules %rebar-build-system-modules) + (modules '((guix build rebar-build-system) + (guix build utils)))) + "Build SOURCE with INPUTS." + + (define builder + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) + + #$(with-build-variables inputs outputs + #~(rebar-build #:source #+source + #:system #$system + #:name #$name + #:rebar-flags #$rebar-flags + #:tests? #$tests? + #:test-target #$test-target + ;; TODO: #:install-name #$install-name + #:install-profile #$install-profile + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:outputs %outputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs %build-inputs))))) + + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + system #:graft? #f))) + ;; Note: Always pass #:graft? #f. Without it, ALLOWED-REFERENCES & + ;; co. would be interpreted as referring to grafted packages. + (gexp->derivation name builder + #:system system + #:target #f + #:graft? #f + #:guile-for-build guile))) + +(define rebar-build-system + (build-system + (name 'rebar) + (description "The standard Rebar build system") + (lower lower))) diff --git a/guix/build/rebar-build-system.scm b/guix/build/rebar-build-system.scm new file mode 100644 index 0000000000..fb66422877 --- /dev/null +++ b/guix/build/rebar-build-system.scm @@ -0,0 +1,147 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016, 2018 Ricardo Wurmus +;;; Copyright © 2019 Björn Höfling +;;; Copyright © 2020, 2022 Hartmut Goebel +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build rebar-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module ((guix build utils) #:hide (delete)) + #:use-module (ice-9 match) + #:use-module (ice-9 ftw) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (rebar-build + %standard-phases)) + +;; +;; Builder-side code of the standard build procedure for Erlang packages using +;; rebar3. +;; +;; TODO: Think about whether bindir ("ebin"), libdir ("priv") and includedir +;; "(include") need to be configurable + +(define %erlang-libdir "/lib/erlang/lib") + +(define* (erlang-depends #:key inputs #:allow-other-keys) + (define input-directories + (match inputs + (((_ . dir) ...) + dir))) + (mkdir-p "_checkouts") + + (for-each + (lambda (input-dir) + (let ((elibdir (string-append input-dir %erlang-libdir))) + (when (directory-exists? elibdir) + (for-each + (lambda (dirname) + (let ((dest (string-append elibdir "/" dirname)) + (link (string-append "_checkouts/" dirname))) + (when (not (file-exists? link)) + ;; RETHINK: Maybe better copy and make writable to avoid some + ;; error messages e.g. when using with rebar3-git-vsn. + (symlink dest link)))) + (list-directories elibdir))))) + input-directories)) + +(define* (unpack #:key source #:allow-other-keys) + "Unpack SOURCE in the working directory, and change directory within the +source. When SOURCE is a directory, copy it in a sub-directory of the current +working directory." + (let ((gnu-unpack (assoc-ref gnu:%standard-phases 'unpack))) + (gnu-unpack #:source source) + ;; Packages from hex.pm typically have a contents.tar.gz containing the + ;; actual source. If this tar file exists, extract it. + (when (file-exists? "contents.tar.gz") + (invoke "tar" "xvf" "contents.tar.gz")))) + +(define* (build #:key (rebar-flags '()) #:allow-other-keys) + (apply invoke `("rebar3" "compile" ,@rebar-flags))) + +(define* (check #:key target (rebar-flags '()) (tests? (not target)) + (test-target "eunit") + #:allow-other-keys) + (if tests? + (apply invoke `("rebar3" ,test-target ,@rebar-flags)) + (format #t "test suite not run~%"))) + +(define (erlang-package? name) + "Check if NAME correspond to the name of an Erlang package." + (string-prefix? "erlang-" name)) + +(define (package-name-version->erlang-name name+ver) + "Convert the Guix package NAME-VER to the corresponding Erlang name-version +format. Essentially drop the prefix used in Guix and replace dashes by +underscores." + (let* ((name- (package-name->name+version name+ver))) + (string-join + (string-split + (if (erlang-package? name-) ; checks for "erlang-" prefix + (string-drop name- (string-length "erlang-")) + name-) + #\-) + "_"))) + +(define (list-directories directory) + "Return file names of the sub-directory of DIRECTORY." + (scandir directory + (lambda (file) + (and (not (member file '("." ".."))) + (file-is-directory? (string-append directory "/" file)))))) + +(define* (install #:key name outputs + (install-name (package-name-version->erlang-name name)) + (install-profile "default") ; build profile outputs to install + #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-dir (string-append out %erlang-libdir "/" install-name))) + (let ((bin-dir (string-append "_build/" install-profile "/bin")) + (lib-dir (string-append "_build/" install-profile "/lib"))) + ;; install _build/PROFILE/bin + (when (file-exists? bin-dir) + (copy-recursively bin-dir out #:follow-symlinks? #t)) + ;; install _build/PROFILE/lib/*/{ebin,include,priv} + (for-each + (lambda (*) + (for-each + (lambda (dirname) + (let ((src-dir (string-append lib-dir "/" * "/" dirname)) + (dst-dir (string-append pkg-dir "/" dirname))) + (when (file-exists? src-dir) + (copy-recursively src-dir dst-dir #:follow-symlinks? #t)) + (false-if-exception + (delete-file (string-append dst-dir "/.gitignore"))))) + '("ebin" "include" "priv"))) + (list-directories lib-dir)) + (false-if-exception + (delete-file (string-append pkg-dir "/priv/Run-eunit-loop.expect")))))) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (replace 'unpack unpack) + (delete 'bootstrap) + (delete 'configure) + (add-before 'build 'erlang-depends erlang-depends) + (replace 'build build) + (replace 'check check) + (replace 'install install))) + +(define* (rebar-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given Erlang package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) -- cgit v1.2.3 From 0d9f1f15cb0ce1e71943bff9a68e6839d0eae497 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 4 Mar 2022 19:32:32 +0100 Subject: import: Add hex.pm importer. hex.pm is a package repository for Erlang and Elixir. * guix/scripts/import.scm (importers): Add "hexpm". * guix/scripts/import/hexpm.scm, guix/import/hexpm.scm, guix/hexpm-download.scm: New files. * guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of fetch methods. * guix/upstream.scm (package-update/hexpm-fetch): New function. (%method-updates) Add it. * Makefile.am: Add them. --- Makefile.am | 2 + doc/guix.texi | 29 +++- guix/build-system/rebar.scm | 21 ++- guix/import/hexpm.scm | 347 ++++++++++++++++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/hexpm.scm | 105 +++++++++++++ guix/upstream.scm | 1 + tests/hexpm.scm | 253 ++++++++++++++++++++++++++++++ 8 files changed, 755 insertions(+), 5 deletions(-) create mode 100644 guix/import/hexpm.scm create mode 100644 guix/scripts/import/hexpm.scm create mode 100644 tests/hexpm.scm diff --git a/Makefile.am b/Makefile.am index 5a496aeeb3..ade53866b3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -275,6 +275,7 @@ MODULES = \ guix/import/gnu.scm \ guix/import/go.scm \ guix/import/hackage.scm \ + guix/import/hexpm.scm \ guix/import/json.scm \ guix/import/kde.scm \ guix/import/launchpad.scm \ @@ -326,6 +327,7 @@ MODULES = \ guix/scripts/import/gnu.scm \ guix/scripts/import/go.scm \ guix/scripts/import/hackage.scm \ + guix/scripts/import/hexpm.scm \ guix/scripts/import/json.scm \ guix/scripts/import/minetest.scm \ guix/scripts/import/opam.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 826e83007f..749b2236b5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -48,7 +48,7 @@ Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* -Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* +Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* @@ -13453,6 +13453,33 @@ guix import egg arrays@@1.0 @end example Additional options include: +@table @code +@item --recursive +@itemx -r +Traverse the dependency graph of the given upstream package recursively +and generate package expressions for all those packages that are not yet +in Guix. +@end table + +@item hexpm +@cindex hexpm +Import metadata from the hex.pm Erlang and Elixir package repository +@uref{https://hex.pm, hex.pm}, as in this example: + +@example +guix import hexpm stun +@end example + +The importer tries to determine the build system used by the package. + +The hexpm importer also allows you to specify a version string: + +@example +guix import hexpm cf@@0.3.0 +@end example + +Additional options include: + @table @code @item --recursive @itemx -r diff --git a/guix/build-system/rebar.scm b/guix/build-system/rebar.scm index 8a8fb7708c..6ca5abe4d6 100644 --- a/guix/build-system/rebar.scm +++ b/guix/build-system/rebar.scm @@ -26,20 +26,35 @@ (define-module (guix build-system rebar) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module ((guix hexpm-download) #:select (hexpm-uri) #:prefix dl:) #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (hexpm-uri + hexpm-package-url %rebar-build-system-modules rebar-build rebar-build-system)) +;;; +;;; Definitions for the hex.pm repository, +;;; + +;; URL and paths from +;; https://github.com/hexpm/specifications/blob/master/endpoints.md +(define %hexpm-repo-url + (make-parameter "https://repo.hex.pm")) + +(define hexpm-package-url + (string-append (%hexpm-repo-url) "/tarballs/")) + +(define (hexpm-uri name version) + "Return a URI string for the package hosted at hex.pm corresponding to NAME +and VERSION." + (string-append hexpm-package-url name "-" version ".tar")) + ;; ;; Standard build procedure for Erlang packages using Rebar. ;; -(define hexpm-uri dl:hexpm-uri) - (define %rebar-build-system-modules ;; Build-side modules imported by default. `((guix build rebar-build-system) diff --git a/guix/import/hexpm.scm b/guix/import/hexpm.scm new file mode 100644 index 0000000000..2a7a9f3d82 --- /dev/null +++ b/guix/import/hexpm.scm @@ -0,0 +1,347 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Cyril Roelandt +;;; Copyright © 2016 David Craven +;;; Copyright © 2017, 2019-2021 Ludovic Courtès +;;; Copyright © 2019 Martin Becze +;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2020-2022 Hartmut Goebel +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix import hexpm) + #:use-module (guix base32) + #:use-module ((guix download) #:prefix download:) + #:use-module (gcrypt hash) + #:use-module (guix http-client) + #:use-module (json) + #:use-module (guix import utils) + #:use-module ((guix import json) #:select (json-fetch)) + #:use-module ((guix build utils) + #:select ((package-name->name+version + . hyphen-package-name->name+version) + dump-port)) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix upstream) + #:use-module (guix utils) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) + #:use-module (ice-9 popen) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) + #:use-module (guix build-system rebar) + #:export (hexpm->guix-package + guix-package->hexpm-name + strings->licenses ;; why used here? + hexpm-recursive-import + %hexpm-updater)) + +;;; +;;; Interface to https://hex.pm/api, version 2. +;;; REST-API end-points: +;;; https://github.com/hexpm/specifications/blob/master/apiary.apib +;;; Repository end-points: +;;; https://github.com/hexpm/specifications/blob/master/endpoints.md +;;; + +(define %hexpm-api-url + (make-parameter "https://hex.pm/api")) + +(define (package-url name) + (string-append (%hexpm-api-url) "/packages/" name)) + +;; +;; Hexpm Package. /packages/${name} +;; https://github.com/hexpm/specifications/blob/master/apiary.apib#Package +;; +;; Each package can have several "releases", each of which has its own set of +;; requirements, build-tool, etc. - see below. +(define-json-mapping make-hexpm-pkgdef hexpm-pkgdef? + json->hexpm + (name hexpm-name) ; string + (html-url hexpm-html-url "html_url") ; string + (docs-html-url hexpm-docs-html-url "docs_html_url") ; string | 'null + (meta hexpm-meta "meta" json->hexpm-meta) + (versions hexpm-versions "releases" ; list of + (lambda (vector) + (map json->hexpm-version + (vector->list vector)))) + ;; "latest_version" and "latest_stable_version" are not named in the + ;; specification, butt seen in practice. + (latest-version hexpm-latest-version "latest_version") ; string + (latest-stable hexpm-latest-stable "latest_stable_version")) ; string + +;; Hexpm package metadata. +(define-json-mapping make-hexpm-meta hexpm-meta? + json->hexpm-meta + (description hexpm-meta-description) ;string + (licenses hexpm-meta-licenses "licenses" ;list of strings + (lambda (vector) + (or (and vector (vector->list vector)) + #f)))) + +;; Hexpm package versions. +(define-json-mapping make-hexpm-version hexpm-version? + json->hexpm-version + (number hexpm-version-number "version") ;string + (url hexpm-version-url)) ;string + + +(define (lookup-hexpm name) + "Look up NAME on hex.pm and return the corresopnding record +or #f if it was not found." + (and=> (json-fetch (package-url name)) + json->hexpm)) + +;; +;; Hexpm release. /packages/${name}/releases/${version} +;; https://github.com/hexpm/specifications/blob/master/apiary.apib#Release +;; +(define-json-mapping make-hexpm-release hexpm-release? + json->hexpm-release + (version hexpm-release-version) ; string + (url hexpm-release-url) ; string + (meta hexpm-release-meta "meta" json->hexpm-release-meta) + ;; Specification names the next fields "dependencies", but in practice it is + ;; "requirements". + (dependencies hexpm-requirements "requirements")) ; list of + +;; Hexpm release meta. +;; https://github.com/hexpm/specifications/blob/main/package_metadata.md +(define-json-mapping + make-hexpm-release-meta hexpm-release-meta? + json->hexpm-release-meta + (app hexpm-release-meta-app) ; string + (elixir hexpm-release-meta-elixir) ; string + (build-tools hexpm-release-meta-build-tools "build_tools" ; list of strings + (lambda (vector) + (or (and vector (vector->list vector)) + (list))))) + +;; Hexpm dependency. Each requirement has information about the required +;; version, such as "~> 2.1.2" or ">= 2.1.2 and < 2.2.0", see +;; , and whether +;; the dependency is optional. +(define-json-mapping make-hexpm-dependency + hexpm-dependency? + json->hexpm-dependency + (name hexpm-dependency-name "app") ; string + (requirement hexpm-dependency-requirement) ; string + (optional hexpm-dependency-optional)) ; bool + +(define (hexpm-release-dependencies release) + "Return the list of dependency names of RELEASE, a ." + (let ((reqs (or (hexpm-requirements release) '#()))) + (map first reqs))) ;; TODO: also return required version + + +(define (lookup-hexpm-release version*) + "Look up RELEASE on hexpm-version-url and return the corresopnding + record or #f if it was not found." + (and=> (json-fetch (hexpm-version-url version*)) + json->hexpm-release)) + + +;;; +;;; Converting hex.pm packages to Guix packages. +;;; + +(define (maybe-inputs package-inputs input-type) + "Given a list of PACKAGE-INPUTS, tries to generate the 'inputs' field of a +package definition. INPUT-TYPE, a symbol, is used to populate the name of +the input field." + (match package-inputs + (() + '()) + ((package-inputs ...) + `((,input-type (list ,@package-inputs)))))) + +(define (dependencies->package-names names) + "Given a list of hexpm package NAMES, returns a list of guix package names +as symbols." + ;; TODO: Base name on language of dependency. + ;; The language used for implementing the dependency is not know without + ;; recursing the dependencies. So for now assume more packages are based on + ;; Erlang and prefix all dependencies with "erlang-" (the default). + (map string->symbol + (map hexpm-name->package-name + (sort names string-cipackage-name name language)) + (version ,version) + (source (origin + (method url-fetch) + (uri (hexpm-uri ,name version)) + (sha256 (base32 ,(guix-hash-url temp))))) + (build-system ,build-system) + ,@(maybe-inputs (dependencies->package-names dependencies) 'inputs) + (synopsis ,synopsis) + (description ,(beautify-description description)) + (home-page ,(match home-page + (() "") + (_ home-page))) + (license ,(match license + (() #f) + ((license) license) + (_ `(list ,@license)))))))))) + +(define (strings->licenses strings) + "Convert the list of STRINGS into a list of license objects." + (filter-map (lambda (license) + (and (not (string-null? license)) + (not (any (lambda (elem) (string=? elem license)) + '("AND" "OR" "WITH"))) + (or (spdx-string->license license) + license))) + strings)) + +(define (hexpm-latest-release package) + "Return the version string for the latest stable release of PACKAGE." + ;; Use latest-stable if specified (see comment in hexpm-pkgdef above), + ;; otherwise compare the lists of release versions. + (let ((latest-stable (hexpm-latest-stable package))) + (if (not (unspecified? latest-stable)) + latest-stable + (let ((versions (map hexpm-version-number (hexpm-versions package)))) + (fold (lambda (a b) + (if (version>? a b) a b)) (car versions) versions))))) + +(define* (hexpm->guix-package package-name #:key repo version) + "Fetch the metadata for PACKAGE-NAME from hexpms.io, and return the +`package' s-expression corresponding to that package, or #f on failure. +When VERSION is specified, attempt to fetch that version; otherwise fetch the +latest version of PACKAGE-NAME." + + (define package + (lookup-hexpm package-name)) + + (define version-number + (and package + (or version + (hexpm-latest-release package)))) + + (define version* + (and package + (find (lambda (version) + (string=? (hexpm-version-number version) + version-number)) + (hexpm-versions package)))) + + (define release + (and package version* + (lookup-hexpm-release version*))) + + (define release-meta + (and package version* + (hexpm-release-meta release))) + + (define build-system + (and package version* + (let ((build-tools (hexpm-release-meta-build-tools release-meta))) + (cond + ((member "rebar3" build-tools) 'rebar-build-system) + ((member "mix" build-tools) 'mix-build-system) + ((member "make" build-tools) 'gnu-build-system) + (else #f))))) + + (define language + (and package version* + (let ((elixir (hexpm-release-meta-elixir release-meta))) + (cond + ((and (string? elixir) (not (string-null? elixir))) "elixir") + (else "erlang"))))) + + (and package version* + (let ((dependencies (hexpm-release-dependencies release)) + (pkg-meta (hexpm-meta package)) + (docs-html-url (hexpm-docs-html-url package))) + (values + (make-hexpm-sexp + #:language language + #:build-system build-system + #:name package-name + #:version version-number + #:dependencies dependencies + #:home-page (or (and (not (eq? docs-html-url 'null)) + docs-html-url) + ;; TODO: Homepage? + (hexpm-html-url package)) + #:synopsis (hexpm-meta-description pkg-meta) + #:description (hexpm-meta-description pkg-meta) + #:license (or (and=> (hexpm-meta-licenses pkg-meta) + strings->licenses)) + #:tarball-url (hexpm-uri package-name version-number)) + dependencies)))) + +(define* (hexpm-recursive-import pkg-name #:optional version) + (recursive-import pkg-name + #:version version + #:repo->guix-package hexpm->guix-package + #:guix-name hexpm-name->package-name)) + +(define (guix-package->hexpm-name package) + "Return the hex.pm name of PACKAGE." + (define (url->hexpm-name url) + (hyphen-package-name->name+version + (basename (file-sans-extension url)))) + + (match (and=> (package-source package) origin-uri) + ((? string? url) + (url->hexpm-name url)) + ((lst ...) + (any url->hexpm-name lst)) + (#f #f))) + +(define* (hexpm-name->package-name name #:optional (language "erlang")) + (string-append language "-" (string-join (string-split name #\_) "-"))) + + +;;; +;;; Updater +;;; + +(define (latest-release package) + "Return an for the latest release of PACKAGE." + (let* ((hexpm-name (guix-package->hexpm-name package)) + (hexpm (lookup-hexpm hexpm-name)) + (version (hexpm-latest-release hexpm)) + (url (hexpm-uri hexpm-name version))) + (upstream-source + (package (package-name package)) + (version version) + (urls (list url))))) + +(define %hexpm-updater + (upstream-updater + (name 'hexpm) + (description "Updater for hex.pm packages") + (pred (url-prefix-predicate hexpm-package-url)) + (latest latest-release))) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 62aa7bdbc5..71ab4b4fed 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -50,7 +50,7 @@ (define %standard-import-options '()) (define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa" "gem" "go" "cran" "crate" "texlive" "json" "opam" - "minetest" "elm")) + "minetest" "elm" "hexpm")) (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/hexpm.scm b/guix/scripts/import/hexpm.scm new file mode 100644 index 0000000000..eb9a1b0af5 --- /dev/null +++ b/guix/scripts/import/hexpm.scm @@ -0,0 +1,105 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020, 2022 Hartmut Goebel +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix scripts import hexpm) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import hexpm) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-71) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-hexpm)) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import hexpm PACKAGE-NAME +Import and convert the hex.pm package for PACKAGE-NAME.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (newline) + (display (G_ " + -r, --recursive import packages recursively")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import hexpm"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + + +;;; +;;; Entry point. +;;; + +(define (guix-import-hexpm . args) + (define (parse-options) + ;; Return the alist of option values. + (parse-command-line args %options (list %default-options) + #:build-options? #f)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((spec) + (with-error-handling + (let ((name version (package-name->name+version spec))) + (if (assoc-ref opts 'recursive) + ;; Recursive import + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (hexpm-recursive-import name version)) + ;; Single import + (let ((sexp (hexpm->guix-package name #:version version))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%") + spec)) + sexp))))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) diff --git a/guix/upstream.scm b/guix/upstream.scm index 6666803a92..b0f77fb7d0 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -464,6 +464,7 @@ (define* (package-update/url-fetch store package source #:key-download key-download))) (values version tarball source)))))) + (define* (package-update/git-fetch store package source #:key key-download) "Return the version, checkout, and SOURCE, to update PACKAGE to SOURCE, an ." diff --git a/tests/hexpm.scm b/tests/hexpm.scm new file mode 100644 index 0000000000..e9f899f166 --- /dev/null +++ b/tests/hexpm.scm @@ -0,0 +1,253 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Hartmut Goebel +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (test-hexpm) + #:use-module (guix import hexpm) + #:use-module (guix base32) + #:use-module (gcrypt hash) + #:use-module (guix tests) + #:use-module (srfi srfi-64) + #:use-module (ice-9 binary-ports) + #:use-module (ice-9 match)) + +(define test-bla-package + "{\"name\": \"bla\", + \"html_url\": \"https://hex.pm/packages/bla\", + \"docs_html_url\": null, + \"meta\": { + \"description\": \"A cool package\", + \"licenses\": [\"MIT\", \"Apache-2.0\"] + }, + \"releases\": [ + {\"url\": \"https://hex.pm/api/packages/bla/releases/1.5.0\", + \"version\": \"1.5.0\"}, + {\"url\": \"https://hex.pm/api/packages/bla/releases/1.4.7\", + \"version\": \"1.4.7\"} + ] +}") + +(define test-bla-release + "{ + \"version\": \"1.5.0\", + \"url\": \"https://hex.pm/api/packages/bla/releases/1.5.0\", + \"requirements\": { + \"blubb\":{\"app\": \"blubb\", + \"optional\": false, + \"requirement\": \"~>0.3\" + }, + \"fasel\":{\"app\": \"fasel\", + \"optional\": false, + \"requirement\": \"~>1.0\" + } + }, + \"meta\":{ \"build_tools\":[\"mix\", \"make\", \"rebar3\"] } + }") + +(define test-blubb-package + "{\"name\": \"blubb\", + \"latest_stable_version\": \"0.3.1\", + \"latest_version\": \"0.3.1\", + \"html_url\": \"https://hex.pm/packages/blubb\", + \"docs_html_url\": null, + \"meta\": { + \"description\": \"Another cool package\", + \"licenses\": [\"MIT\"] + }, + \"releases\": [ + {\"url\": \"https://hex.pm/api/packages/blubb/releases/0.3.1\", + \"version\": \"0.3.1\"}, + {\"url\": \"https://hex.pm/api/packages/blubb/releases/0.3.0\", + \"version\": \"0.3.0\"} + ] +}") + +(define test-blubb-release + "{ + \"version\": \"0.3.1\", + \"url\": \"https://hex.pm/api/packages/blubb/releases/0.3.1\", + \"requirements\": { + \"fasel\":{\"app\": \"fasel\", + \"optional\": false, + \"requirement\": \"~>1.0\" + } + }, + \"meta\": { \"build_tools\":[\"mix\"] } + }") + +(define test-fasel-package + "{\"name\": \"fasel\", + \"latest_stable_version\": \"1.2.1\", + \"latest_version\": \"1.2.1\", + \"html_url\": \"https://hex.pm/packages/fasel\", + \"docs_html_url\": null, + \"meta\": { + \"description\": \"Yet another cool package\", + \"licenses\": [\"GPL\"] + }, + \"releases\": [ + {\"url\": \"https://hex.pm/api/packages/fasel/releases/1.2.1\", + \"version\": \"1.2.1\"} + ] +}") + +(define test-fasel-release + "{ + \"version\": \"1.2.1\", + \"url\": \"https://hex.pm/api/packages/fasel/releases/1.2.1\", + \"requirements\" :{}, + \"meta\":{ \"build_tools\":[\"make\"] } + }") + +(test-begin "hexpm") + +(test-assert "hexpm->guix-package" + ;; Replace network resources with sample data. + (mock ((guix http-client) http-fetch + (lambda (url . rest) + (match url + ("https://hex.pm/api/packages/bla" + (values (open-input-string test-bla-package) + (string-length test-bla-package))) + ("https://hex.pm/api/packages/bla/releases/1.5.0" + (values (open-input-string test-bla-release) + (string-length test-bla-release))) + (_ (error "http-fetch got unexpected URL: " url))))) + (mock ((guix build download) url-fetch + (lambda* (url file-name + #:key + (mirrors '()) verify-certificate?) + (with-output-to-file file-name + (lambda () + (display + (match url + ("https://repo.hex.pm/tarballs/bla-1.5.0.tar" + "source") + (_ (error "url-fetch got unexpected URL: " url)))))))) + (match (hexpm->guix-package "bla") + (('package + ('name "erlang-bla") + ('version "1.5.0") + ('source + ('origin + ('method 'url-fetch) + ('uri ('hexpm-uri "bla" 'version)) + ('sha256 + ('base32 + "0zcl4dgcmqwl1g5xb901pd6dz61r1xgmac9mqlwvh022paa6gks1")))) + ('build-system 'rebar-build-system) + ('inputs ('list 'erlang-blubb 'erlang-fasel)) + ('synopsis "A cool package") + ('description "This package provides a cool package") + ('home-page "https://hex.pm/packages/bla") + ('license ('list 'license:expat 'license:asl2.0))) + #t) + (x + (pk 'fail x #f)))))) + +(test-assert "hexpm-recursive-import" + ;; Replace network resources with sample data. + (mock ((guix http-client) http-fetch + (lambda (url . rest) + (match url + ("https://hex.pm/api/packages/bla" + (values (open-input-string test-bla-package) + (string-length test-bla-package))) + ("https://hex.pm/api/packages/bla/releases/1.5.0" + (values (open-input-string test-bla-release) + (string-length test-bla-release))) + ("https://hex.pm/api/packages/blubb" + (values (open-input-string test-blubb-package) + (string-length test-blubb-package))) + ("https://hex.pm/api/packages/blubb/releases/0.3.1" + (values (open-input-string test-blubb-release) + (string-length test-blubb-release))) + ("https://hex.pm/api/packages/fasel" + (values (open-input-string test-fasel-package) + (string-length test-fasel-package))) + ("https://hex.pm/api/packages/fasel/releases/1.2.1" + (values (open-input-string test-fasel-release) + (string-length test-fasel-release))) + (_ (error "http-fetch got unexpected URL: " url))))) + (mock ((guix build download) url-fetch + (lambda* (url file-name + #:key + (mirrors '()) verify-certificate?) + (with-output-to-file file-name + (lambda () + (display + (match url + ("https://repo.hex.pm/tarballs/bla-1.5.0.tar" + "bla-source") + ("https://repo.hex.pm/tarballs/blubb-0.3.1.tar" + "blubb-source") + ("https://repo.hex.pm/tarballs/fasel-1.2.1.tar" + "fasel-source") + (_ (error "url-fetch got unexpected URL: " url)))))))) + (match (hexpm-recursive-import "bla") + ((('package + ('name "erlang-blubb") + ('version "0.3.1") + ('source + ('origin + ('method 'url-fetch) + ('uri ('hexpm-uri "blubb" 'version)) + ('sha256 + ('base32 + "17y88b5y8ld7s1c2bcwwwa04pf1cl4402i9zk3inna221ps3ppj2")))) + ('build-system 'mix-build-system) + ('inputs ('list 'erlang-fasel)) + ('synopsis "Another cool package") + ('description "Another cool package") + ('home-page "https://hex.pm/packages/blubb") + ('license 'license:expat)) + ('package + ('name "erlang-fasel") + ('version "1.2.1") + ('source + ('origin + ('method 'url-fetch) + ('uri ('hexpm-uri "fasel" 'version)) + ('sha256 + ('base32 + "1k6d70mxwqgq78jrbr7yqnw187yki74jnagybi7nacrj4a67qjha")))) + ('build-system 'gnu-build-system) + ('synopsis "Yet another cool package") + ('description "Yet another cool package") + ('home-page "https://hex.pm/packages/fasel") + ('license "GPL")) + ('package + ('name "erlang-bla") + ('version "1.5.0") + ('source + ('origin + ('method 'url-fetch) + ('uri ('hexpm-uri "bla" 'version)) + ('sha256 + ('base32 + "0d3gj746c4swbb1m6ycylxb239jsavvdcizag6bfbg2aqccxwij8")))) + ('build-system 'rebar-build-system) + ('inputs ('list 'erlang-blubb 'erlang-fasel)) + ('synopsis "A cool package") + ('description "This package provides a cool package") + ('home-page "https://hex.pm/packages/bla") + ('license ('list 'license:expat 'license:asl2.0)))) + #t) + (x + (pk 'fail x #f)))))) + +(test-end "hexpm") -- cgit v1.2.3 From 922588402eac8e5c6e4d4427fcfb0938a3031f13 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:01:28 +0200 Subject: gnu: Add erlang-cf. * gnu/packages/erlang.scm (erlang-cf): New variable. --- gnu/packages/erlang.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 779024cbeb..c80a437923 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Nikita +;;; Copyright © 2020-2022 Hartmut Goebel ;;; Copyright © 2021 Oskar Köök ;;; Copyright © 2021 Cees de Groot ;;; @@ -26,6 +27,7 @@ (define-module (gnu packages erlang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system emacs) + #:use-module (guix build-system rebar) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -203,3 +205,20 @@ (define-public emacs-erlang "This package provides an Emacs major mode for editing Erlang source files.") (license license:asl2.0))) + +(define-public erlang-cf + (package + (name "erlang-cf") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "cf" version)) + (sha256 + (base32 "0wknz4xkqkhgvlx4vx5619p8m65v7g87lfgsvfy04jrsgm28spii")))) + (build-system rebar-build-system) + (home-page "https://github.com/project-fifo/cf") + (synopsis "Terminal colour helper for Erlang io and io_lib") + (description "This package provides a helper library for termial colour +printing extending the io:format syntax to add colours.") + (license license:expat))) -- cgit v1.2.3 From b5c81fb2892110a93f12ca9011aad9405485acad Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:48:26 +0200 Subject: gnu: Add erlang-certifi. * gnu/packages/erlang.scm (erlang-certifi): New variable. --- gnu/packages/erlang.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index c80a437923..e467a0aa75 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -206,6 +206,30 @@ (define-public emacs-erlang files.") (license license:asl2.0))) +(define-public erlang-certifi + (package + (name "erlang-certifi") + (version "2.9.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "certifi" version)) + (sha256 + (base32 "0ha6vmf5p3xlbf5w1msa89frhvfk535rnyfybz9wdmh6vdms8v96")))) + (build-system rebar-build-system) + (arguments + `(#:tests? #f)) ;; have not been updated for latest cert bundle + (home-page "https://github.com/certifi/erlang-certifi/") + (synopsis "Erlang CA certificate bundle") + (description "This Erlang library contains a CA bundle that you can +reference in your Erlang application. This is useful for systems that do not +have CA bundles that Erlang can find itself, or where a uniform set of CAs is +valuable. + +This an Erlang specific port of certifi. The CA bundle is derived from +Mozilla's canonical set.") + (license license:bsd-3))) + (define-public erlang-cf (package (name "erlang-cf") -- cgit v1.2.3 From a6a1e4b9f40d3a9d0cce27c4d466e7e6e9697fc4 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:02:46 +0200 Subject: gnu: Add erlang-erlware-commons. * gnu/packages/erlang.scm (erlang-erlware-commons): New variable. --- gnu/packages/erlang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index e467a0aa75..8ee5b98c82 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -246,3 +246,30 @@ (define-public erlang-cf (description "This package provides a helper library for termial colour printing extending the io:format syntax to add colours.") (license license:expat))) + +(define-public erlang-erlware-commons + (package + (name "erlang-erlware-commons") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "erlware_commons" version)) + (sha256 + (base32 "18qam9xdzi74wppb0cj4zc8161i0i8djr79z8662m6d276f2jz5m")))) + (build-system rebar-build-system) + (propagated-inputs + (list erlang-cf)) + (native-inputs + (list git-minimal/fixed)) ;; Required for tests + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + (setenv "TERM" "xterm")))))) ; enable color in logs + (home-page "http://erlware.github.io/erlware_commons/") + (synopsis "Additional standard library for Erlang") + (description "Erlware Commons is an Erlware project focused on all aspects +of reusable Erlang components.") + (license license:expat))) -- cgit v1.2.3 From bb4546defdb79e0cd28d42b5d9f67f3d6a38373b Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 23:18:32 +0200 Subject: gnu: Add erlang-cth-readable. * gnu/packages/erlang.scm (erlang-cth-readable): New variable. --- gnu/packages/erlang.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 8ee5b98c82..7abfc76cc9 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -247,6 +247,27 @@ (define-public erlang-cf printing extending the io:format syntax to add colours.") (license license:expat))) +(define-public erlang-cth-readable + (package + (name "erlang-cth-readable") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "cth_readable" version)) + (sha256 + (base32 "104xgybb6iciy6i28pyyrarqzliddi8kjyq43ajaav7y5si42rb8")))) + (build-system rebar-build-system) + (propagated-inputs + (list erlang-cf)) + (arguments + `(#:tests? #f)) ;; no test-suite in hex-pm package + (home-page "https://github.com/ferd/cth_readable") + (synopsis "Common Test hooks for more readable logs for Erlang") + (description "This package provides an OTP library to be used for CT log +outputs you want to be readable around all that noise they contain.") + (license license:bsd-3))) + (define-public erlang-erlware-commons (package (name "erlang-erlware-commons") -- cgit v1.2.3 From d146de283b8bb466136ca212a97138650f35fd77 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:57:13 +0200 Subject: gnu: Add erlang-bbmustache. * gnu/packages/erlang.scm (erlang-bbmustache): New variable. --- gnu/packages/erlang.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 7abfc76cc9..e9c026be5a 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -206,6 +206,38 @@ (define-public emacs-erlang files.") (license license:asl2.0))) +(define-public erlang-bbmustache + (package + (name "erlang-bbmustache") + (version "1.12.2") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "bbmustache" version)) + (sha256 + (base32 "0fvvaxdpziygxl30j59g98qkh2n47xlb7w5dfpsm2bfcsnj372v8")))) + (build-system rebar-build-system) + (inputs + (list erlang-getopt rebar3-git-vsn + erlang-edown)) ; for building the docs + (arguments + `(#:tests? #f ;; requires mustache specification file + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-more + (lambda _ + (invoke "rebar3" "as" "dev" "escriptize"))) + (add-after 'install 'install-escript + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "_build/dev/bin/bbmustache" + (string-append out "/bin")))))))) + (home-page "https://github.com/soranoba/bbmustache/") + (synopsis "Binary pattern match Based Mustache template engine for Erlang") + (description "This Erlang library provides a Binary pattern match Based +Mustache template engine") + (license license:expat))) + (define-public erlang-certifi (package (name "erlang-certifi") -- cgit v1.2.3 From a6b7caa1908822fe276e7f39e9d1495a67afcca8 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:05:11 +0200 Subject: gnu: Add erlang-getopt. * gnu/packages/erlang.scm (erlang-getopt): New variable. --- gnu/packages/erlang.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index e9c026be5a..f6e9a27ac2 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -326,3 +326,20 @@ (define-public erlang-erlware-commons (description "Erlware Commons is an Erlware project focused on all aspects of reusable Erlang components.") (license license:expat))) + +(define-public erlang-getopt + (package + (name "erlang-getopt") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "getopt" version)) + (sha256 + (base32 "09pasi7ki1rivw9sl7xndj5qgjbdqvcscxk83yk85yr28gm9l0m0")))) + (build-system rebar-build-system) + (home-page "https://github.com/jcomellas/getopt") + (synopsis "Command-line options parser for Erlang") + (description "This package provides an Erlang module to parse command line +arguments using the GNU getopt syntax.") + (license license:bsd-3))) -- cgit v1.2.3 From 6cec25f23207c1d99edc5b40814521221f8ae5d8 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 23:22:46 +0200 Subject: gnu: Add erlang-eunit-formatters. * gnu/packages/erlang.scm (erlang-eunit-formatters): New variable. --- gnu/packages/erlang.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index f6e9a27ac2..e1f45a835b 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -327,6 +327,22 @@ (define-public erlang-erlware-commons of reusable Erlang components.") (license license:expat))) +(define-public erlang-eunit-formatters + (package + (name "erlang-eunit-formatters") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "eunit_formatters" version)) + (sha256 + (base32 "1jb3hzb216r29x2h4pcjwfmx1k81431rgh5v0mp4x5146hhvmj6n")))) + (build-system rebar-build-system) + (home-page "https://github.com/seancribbs/eunit_formatters") + (synopsis "Better output for eunit suites") + (description "This package provides a better output for Erlang eunits.") + (license license:asl2.0))) + (define-public erlang-getopt (package (name "erlang-getopt") -- cgit v1.2.3 From 0e6f4572c181900f463f82253eef4715e71ded20 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:06:02 +0200 Subject: gnu: Add erlang-providers. * gnu/packages/erlang.scm (erlang-providers): New variable. --- gnu/packages/erlang.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index e1f45a835b..efd309dc14 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -359,3 +359,21 @@ (define-public erlang-getopt (description "This package provides an Erlang module to parse command line arguments using the GNU getopt syntax.") (license license:bsd-3))) + +(define-public erlang-providers + (package + (name "erlang-providers") + (version "1.9.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "providers" version)) + (sha256 + (base32 "05y0kz3xgx77hzn1l05byaisvmk8bgds7c22hrh0a5ba81sfi1yj")))) + (build-system rebar-build-system) + (propagated-inputs + (list erlang-erlware-commons erlang-getopt)) + (home-page "https://github.com/tsloughter/providers") + (synopsis "Erlang providers library") + (description "This package provides an Erlang providers library.") + (license license:asl2.0))) -- cgit v1.2.3 From 8680f3fbb7fa26ebab9bd6287ee5d915c6890753 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:42:01 +0200 Subject: gnu: Add erlang-parse-trans. * gnu/packages/erlang.scm (erlang-parse-trans): New variable. --- gnu/packages/erlang.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index efd309dc14..596de6d608 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -360,6 +360,29 @@ (define-public erlang-getopt arguments using the GNU getopt syntax.") (license license:bsd-3))) +(define-public erlang-parse-trans + (package + (name "erlang-parse-trans") + (version "3.4.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "parse_trans" version)) + (sha256 + (base32 "16p4c2xjrvz16kzpr9pmcvi6nxq6rwckqi9fp0ksibaxwxn402k2")))) + (build-system rebar-build-system) + (inputs + (list erlang-getopt)) + (home-page "https://github.com/uwiger/parse_trans") + (synopsis "Parse transform utilities for Erlang") + (description "This package captures some useful patterns in parse +transformation and code generation for Erlang. + +For example generating standardized accessor functions for records or +evaluating an expression at compile-time and substitute the result as a +compile-time constant.") + (license license:asl2.0))) + (define-public erlang-providers (package (name "erlang-providers") -- cgit v1.2.3 From 2b474f45c1c4b9c3b512c713ac25f01cea5854bb Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 23:26:05 +0200 Subject: gnu: Add erlang-hex-core. * gnu/packages/erlang.scm (erlang-hex-core): New variable. --- gnu/packages/erlang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 596de6d608..ed6100023f 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -360,6 +360,32 @@ (define-public erlang-getopt arguments using the GNU getopt syntax.") (license license:bsd-3))) +(define-public erlang-hex-core + (package + (name "erlang-hex-core") + (version "0.8.4") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "hex_core" version)) + (sha256 + (base32 "06p65hlm29ky03vs3fq3qz6px2ylwp8b0f2y75wdf5cm0kx2332b")))) + (build-system rebar-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rebar3" "as" "test" "proper"))))))) + (inputs + (list erlang-proper rebar3-proper)) + (home-page "https://github.com/hexpm/hex_core") + (synopsis "Reference implementation of Hex specifications") + (description "This package provides the reference implementation of Hex +specifications.") + (license license:asl2.0))) + (define-public erlang-parse-trans (package (name "erlang-parse-trans") -- cgit v1.2.3 From 539695e9d5348cd759ba406e914bfe227c04d18f Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 23:08:53 +0200 Subject: gnu: Add erlang-ssl-verify-fun. * gnu/packages/erlang.scm (erlang-ssl-verify-fun): New variable. --- gnu/packages/erlang.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index ed6100023f..628d632dae 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -426,3 +426,20 @@ (define-public erlang-providers (synopsis "Erlang providers library") (description "This package provides an Erlang providers library.") (license license:asl2.0))) + +(define-public erlang-ssl-verify-fun + (package + (name "erlang-ssl-verify-fun") + (version "1.1.6") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "ssl_verify_fun" version)) + (sha256 + (base32 "1026l1z1jh25z8bfrhaw0ryk5gprhrpnirq877zqhg253x3x5c5x")))) + (build-system rebar-build-system) + (home-page "https://github.com/deadtrickster/ssl_verify_fun.erl") + (synopsis "SSL verification functions for Erlang") + (description "This package provides SSL verification functions for +Erlang.") + (license license:expat))) -- cgit v1.2.3 From 4af9fa11308f294ad1fa254140dea2c0fb2c9495 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 23:18:41 +0200 Subject: gnu: Add erlang-relx. * gnu/packages/erlang.scm (erlang-relx): New variable. --- gnu/packages/erlang.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 628d632dae..9318b0b953 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -427,6 +427,28 @@ (define-public erlang-providers (description "This package provides an Erlang providers library.") (license license:asl2.0))) +(define-public erlang-relx + (package + (name "erlang-relx") + (version "4.6.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "relx" version)) + (sha256 + (base32 "02gmfx1vxg9m3mq4njsqhs4972l4nb8m5p1pdcf64g09ccf17y1g")))) + (build-system rebar-build-system) + (propagated-inputs + (list erlang-bbmustache)) + (home-page "https://erlware.github.io/relx/") + (synopsis "Release assembler for Erlang/OTP Releases") + (description "Relx assembles releases for an Erlang/OTP release. Given a +release specification and a list of directories in which to search for OTP +applications it will generate a release output. That output depends heavily on +what plugins available and what options are defined, but usually it is simply +a well configured release directory.") + (license license:asl2.0))) + (define-public erlang-ssl-verify-fun (package (name "erlang-ssl-verify-fun") -- cgit v1.2.3 From e0376bc8a4acb721300b4b898460a44e1e04b7dc Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 16:43:01 +0200 Subject: gnu: Add erlang-edown. * gnu/packages/erlang.scm (erlang-edown): New variable. --- gnu/packages/erlang.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 9318b0b953..1ce61e5d7d 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -300,6 +300,23 @@ (define-public erlang-cth-readable outputs you want to be readable around all that noise they contain.") (license license:bsd-3))) +(define-public erlang-edown + (package + (name "erlang-edown") + (version "0.8.4") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "edown" version)) + (sha256 + (base32 "0ij47gvgs6yfqphj0f54qjzj18crj8y1dsjjlzpp3dp8pscqzbqw")))) + (build-system rebar-build-system) + (home-page "https://github.com/uwiger/edown") + (synopsis "Markdown extension for EDoc") + (description "This package provides an extension for EDoc for generating +Markdown.") + (license license:asl2.0))) + (define-public erlang-erlware-commons (package (name "erlang-erlware-commons") -- cgit v1.2.3 From d723e8d94bc0e3f41285fa5cd64cd953d6a31d17 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 16:22:43 +0200 Subject: gnu: Add erlang-jsone. * gnu/packages/erlang.scm (erlang-jsone): New variable. --- gnu/packages/erlang.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 1ce61e5d7d..4df57673c9 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -403,6 +403,30 @@ (define-public erlang-hex-core specifications.") (license license:asl2.0))) +(define-public erlang-jsone + (package + (name "erlang-jsone") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "jsone" version)) + (sha256 + (base32 "1gaxiw76syjp3s9rygskm32y9799b917q752rw8bxj3bxq93g8x3")))) + (build-system rebar-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-covertool + ;; no need to generate a coverage report + (lambda _ + (substitute* "rebar.config" + (("\\{project_plugins, \\[covertool\\]\\}\\." _) ""))))))) + (home-page "https://github.com/sile/jsone/") + (synopsis "Erlang JSON Library") + (description "An Erlang library for encoding and decoding JSON data.") + (license license:expat))) + (define-public erlang-parse-trans (package (name "erlang-parse-trans") -- cgit v1.2.3 From eb8c8ba11f9a65b07b956d287e9bcba2b14f5223 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 19:03:09 +0200 Subject: gnu: Add erlang-proper. * gnu/packages/erlang.scm (erlang-proper): New variable. --- gnu/packages/erlang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 4df57673c9..1531a11b29 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -450,6 +450,33 @@ (define-public erlang-parse-trans compile-time constant.") (license license:asl2.0))) +(define-public erlang-proper + (package + (name "erlang-proper") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "proper" version)) + (sha256 + (base32 "1fwcas4a9kz3w3z1jqdk9lw8822srfjk9lcpvbxkxlsv3115ha0q")))) + (build-system rebar-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-covertool + ;; no need to generate a coverage report + (lambda _ + (substitute* "rebar.config" + (("\\{plugins, \\[covertool\\]\\}\\." _) ""))))))) + (home-page "https://proper-testing.github.io/") + (synopsis "QuickCheck-inspired property-based testing tool for Erlang") + (description "PropEr is a tool for the automated, semi-random, +property-based testing of Erlang programs. It is fully integrated with +Erlang's type language, and can also be used for the model-based random +testing of stateful systems.") + (license license:gpl3+))) + (define-public erlang-providers (package (name "erlang-providers") -- cgit v1.2.3 From 0018a4788b644cde094757020e044a7370036740 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Wed, 6 Oct 2021 10:50:25 +0200 Subject: gnu: Add erlang-covertool. * gnu/packages/erlang.scm (erlang-covertool): New variable. --- gnu/packages/erlang.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 1531a11b29..f48b84c476 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -279,6 +279,27 @@ (define-public erlang-cf printing extending the io:format syntax to add colours.") (license license:expat))) +(define-public erlang-covertool + (package + (name "erlang-covertool") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "covertool" version)) + (sha256 + (base32 "1p0c1n3nl4063xwi1sv176l1x68xqf07qwvj444a5z888fx6i5aw")))) + (build-system rebar-build-system) + (home-page "https://github.com/covertool/covertool") + (synopsis "Convert code-coverage data generated by @code{cover} into +Cobertura XML reports") + (description "This package provides a build tool and plugin to convert +exported Erlang @code{cover} data sets into Cobertura XML reports, which can +then be feed to the Jenkins Cobertura plug-in. + +On @emph{hex.pm}, this plugin was previously called @code{rebar_covertool}.") + (license license:bsd-2))) + (define-public erlang-cth-readable (package (name "erlang-cth-readable") -- cgit v1.2.3 From 00eea05ab893d79a9f48877cd0774e1f010d6bba Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 23 May 2020 22:06:22 +0200 Subject: gnu: Add rebar3. * gnu/packages/erlang.scm (rebar3): New variable. --- gnu/packages/erlang.scm | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index f48b84c476..3350005277 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -554,3 +554,79 @@ (define-public erlang-ssl-verify-fun (description "This package provides SSL verification functions for Erlang.") (license license:expat))) + +(define-public rebar3 + (package + (name "rebar3") + (version "3.18.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/erlang/rebar3") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09648hzc2mnjwf9klm20cg4hb5rn2xv2gmzcg98ffv37p5yfl327")))) + (build-system gnu-build-system) + ;; TODO: remove vendored modules, install man-page, install lib(?) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (add-after 'unpack 'unpack-dependency-sources + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (pkgname) + (let* ((src (string-append pkgname "-source")) + (input (assoc-ref inputs src)) + (checkouts-dir (string-append "_checkouts/" pkgname)) + (lib-dir (string-append "_build/default/lib/" pkgname))) + (mkdir-p checkouts-dir) + (invoke "tar" "-xf" input "-C" checkouts-dir) + (invoke "tar" "-xzf" + (pk (string-append checkouts-dir "/contents.tar.gz")) + "-C" checkouts-dir) + (mkdir-p lib-dir) + (copy-recursively checkouts-dir lib-dir))) + (list "bbmustache" "certifi" "cf" "cth_readable" + "eunit_formatters" "getopt" "hex_core" "erlware_commons" + "parse_trans" "relx" "ssl_verify_fun" "providers")))) + (delete 'configure) + (replace 'build + (lambda _ + (setenv "HOME" (getcwd)) + (invoke "./bootstrap"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "rebar3" (string-append out "/bin"))))) + (delete 'check)))) + (native-inputs + (list erlang)) + (inputs + `(("bbmustache-source" ,(package-source erlang-bbmustache)) + ("certifi-source" ,(package-source erlang-certifi)) + ("cf-source" ,(package-source erlang-cf)) + ("cth_readable-source" ,(package-source erlang-cth-readable)) + ("erlware_commons-source" ,(package-source erlang-erlware-commons)) + ("eunit_formatters-source" ,(package-source erlang-eunit-formatters)) + ("getopt-source" ,(package-source erlang-getopt)) + ("hex_core-source" ,(package-source erlang-hex-core)) + ("parse_trans-source" ,(package-source erlang-parse-trans)) + ("relx-source" ,(package-source erlang-relx)) + ("ssl_verify_fun-source" ,(package-source erlang-ssl-verify-fun)) + ("providers-source" ,(package-source erlang-providers)))) + (home-page "https://rebar3.org/") + (synopsis "Sophisticated build-tool for Erlang projects that follows OTP +principles") + (description "@code{rebar3} is an Erlang build tool that makes it easy to +compile and test Erlang applications, port drivers and releases. + +@code{rebar3} is a self-contained Erlang script, so it's easy to distribute or +even embed directly in a project. Where possible, rebar uses standard +Erlang/OTP conventions for project structures, thus minimizing the amount of +build configuration work. @code{rebar3} also provides dependency management, +enabling application writers to easily re-use common libraries from a variety +of locations (git, hg, etc).") + (license license:asl2.0))) -- cgit v1.2.3 From 1e6d64c2dc42c699678534eb2a0e9cfc6a09ce61 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 16:01:37 +0200 Subject: gnu: Add rebar3-raw-deps. * gnu/packages/erlang.scm (rebar3-raw-deps): New variable. --- gnu/packages/erlang.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 3350005277..76e386baf2 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -630,3 +630,20 @@ (define-public rebar3 enabling application writers to easily re-use common libraries from a variety of locations (git, hg, etc).") (license license:asl2.0))) + +(define-public rebar3-raw-deps + (package + (name "rebar3-raw-deps") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "rebar3_raw_deps" version)) + (sha256 + (base32 "1pzmm3m8gb2s9jn8fp6shzgfmy4mvh2vdci0z6nsm74ma3ffh1i3")))) + (build-system rebar-build-system) + (home-page "https://github.com/soranoba/rebar3_raw_deps") + (synopsis "Rebar3 plugin for supporting \"raw\" dependencies") + (description "This plugin provides support for handling non-OTP +applications as a dependent libraries.") + (license license:expat))) -- cgit v1.2.3 From ffc18b87f9d34ef44a977af8c83d103ae5c56050 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 18:31:35 +0200 Subject: gnu: Add rebar3-git-vsn. * gnu/packages/erlang.scm (rebar3-git-vsn): New variable. --- gnu/packages/erlang.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 76e386baf2..5b93902f61 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -37,6 +37,7 @@ (define-module (gnu packages erlang) #:use-module (gnu packages gl) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages version-control) #:use-module (gnu packages tls) #:use-module (gnu packages wxwidgets)) @@ -647,3 +648,34 @@ (define-public rebar3-raw-deps (description "This plugin provides support for handling non-OTP applications as a dependent libraries.") (license license:expat))) + +(define-public rebar3-git-vsn + (package + (name "rebar3-git-vsn") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "rebar3_git_vsn" version)) + (sha256 + (base32 "1dfz56034pa25axly9vqdzv3phkn8ll0qwrkws96pbgcprhky1hx")))) + (build-system rebar-build-system) + (inputs + (list git-minimal/fixed)) + (arguments + `(;; Running the tests require binary artifact (tar-file containing + ;; samples git repos) TODO: remove these from the source + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((git (assoc-ref inputs "git-minimal"))) + (substitute* "src/rebar3_git_vsn.erl" + (("rebar_utils:sh\\(\"git " _) + (string-append "rebar_utils:sh(\"" git "/bin/git "))))))))) + (home-page "https://github.com/soranoba/rebar3_git_vsn") + (synopsis "Rebar3 plugin for generating the version from git") + (description "This plugin adds support for generating the version from +a git checkout.") + (license license:expat))) -- cgit v1.2.3 From 9cccf6490d98bd40ea1eb9e84ecf4a2b32614107 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 3 Jul 2020 19:03:51 +0200 Subject: gnu: Add rebar3-proper. * gnu/packages/erlang.scm (rebar3-proper): New variable. --- gnu/packages/erlang.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 5b93902f61..53b58aec60 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -679,3 +679,20 @@ (define-public rebar3-git-vsn (description "This plugin adds support for generating the version from a git checkout.") (license license:expat))) + +(define-public rebar3-proper + (package + (name "rebar3-proper") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "rebar3_proper" version)) + (sha256 + (base32 "1f174fb6h2071wr7qbw9aqqvnglzsjlylmyi8215fhrmi38w94b6")))) + (build-system rebar-build-system) + (home-page "https://github.com/ferd/rebar3_proper") + (synopsis "Rebar3 PropEr plugin") + (description "This plugin allows running PropEr test suites from within +rebar3.") + (license license:bsd-3))) -- cgit v1.2.3 From a431d1dbc5a009ad852b55e2300465b49bdce362 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: bind: Update to 9.16.30. * gnu/packages/dns.scm (isc-bind): Update to 9.16.30. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index fea255c930..aa10b96fdf 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -333,14 +333,14 @@ (define-public isc-bind ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.29") + (version "9.16.30") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")) (sha256 - (base32 "0rklj342khnycs462nd3k35yymsdv6ibv352jv1nymmxxfc8yh68")) + (base32 "1nv02apqpqk7mi1330jgsacpplhgnkx6mba5nmbsx1x72gqc77q0")) (patches (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) -- cgit v1.2.3 From 673983c9c6e86596abc9082e47319285674d7eda Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Wed, 15 Jun 2022 15:06:07 +0200 Subject: gnu: emacs-lsp-mode: Update to 8.0.1-0.4aafe25. * gnu/packages/emacs-xyz.scm (emacs-lsp-mode): Update to 8.0.1-0.4aafe25. [arguments]: Add a 'fix-patch-el-files' phase. --- gnu/packages/emacs-xyz.scm | 86 +++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 39 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 06f35d79e4..79e4ece40e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -24930,45 +24930,53 @@ (define-public emacs-dockerfile-mode (license license:asl2.0))) (define-public emacs-lsp-mode - (package - (name "emacs-lsp-mode") - (version "8.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacs-lsp/lsp-mode") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl")))) - (build-system emacs-build-system) - (arguments - `(#:emacs ,emacs ;need libxml support - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'move-clients-libraries - ;; Move all clients libraries at top-level, as is done, e.g., in - ;; MELPA. - (lambda _ - (for-each (lambda (f) - (install-file f ".")) - (find-files "clients/" "\\.el$"))))))) - (propagated-inputs - (list emacs-dash - emacs-f - emacs-ht - emacs-hydra - emacs-markdown-mode - emacs-spinner)) - (home-page "https://emacs-lsp.github.io/lsp-mode/") - (synopsis "Emacs client and library for the Language Server Protocol") - (description - "LSP mode is a client and library implementation for the Language Server -Protocol. This mode creates an IDE-like experience by providing optional -integration with other popular Emacs packages like Company, Flycheck, and -Projectile.") - (license license:gpl3+))) + (let ((commit "4aafe25e03ab7470b8d3c1cb326affa3c5e9930e") + (revision "0")) + (package + (name "emacs-lsp-mode") + (version (git-version "8.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-lsp/lsp-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01csz4vr3fg1q2py45mxj5j8bkvckn3daam1jafb2gg9gjc9bp7z")))) + (build-system emacs-build-system) + (arguments + `(#:emacs ,emacs ;need libxml support + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'move-clients-libraries + ;; Move all clients libraries at top-level, as is done, e.g., in + ;; MELPA. + (lambda _ + (for-each (lambda (f) + (install-file f ".")) + (find-files "clients/" "\\.el$")))) + (add-before 'move-clients-libraries 'fix-patch-el-files + ;; /bin/ksh is only used on macOS, which we don't support, so we + ;; don't want to add it as input. + (lambda _ + (substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el") + (("/bin/ksh") "ksh"))))))) + (propagated-inputs + (list emacs-dash + emacs-f + emacs-ht + emacs-hydra + emacs-markdown-mode + emacs-spinner)) + (home-page "https://emacs-lsp.github.io/lsp-mode/") + (synopsis "Emacs client and library for the Language Server Protocol") + (description + "LSP mode is a client and library implementation for the Language +Server Protocol. This mode creates an IDE-like experience by providing +optional integration with other popular Emacs packages like Company, Flycheck, +and Projectile.") + (license license:gpl3+)))) (define-public emacs-lsp-treemacs (package -- cgit v1.2.3 From 0929657ec69f7f7425c517ecfa1129e3f9337350 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 15 Jun 2022 21:54:35 +0300 Subject: gnu: eigen: Honor the #:tests? flag. * gnu/packages/algebra.scm (eigen)[arguments]: Adjust the custom 'check phase to honor the #:tests? flag. --- gnu/packages/algebra.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 921b07f1b0..16142eaf8a 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016-2022 Nicolas Goaziou ;;; Copyright © 2014, 2018 Mark H Weaver ;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus -;;; Copyright © 2017, 2020, 2021 Efraim Flashner +;;; Copyright © 2017, 2020-2022 Efraim Flashner ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017, 2019, 2021, 2022 Eric Bavier @@ -1015,17 +1015,18 @@ (define-public eigen #:phases (modify-phases %standard-phases (replace 'check - (lambda _ + (lambda* (#:key tests? #:allow-other-keys) (let* ((cores (parallel-job-count)) (dash-j (format #f "-j~a" cores))) - (setenv "EIGEN_SEED" "1") ;for reproducibility - ;; First build the tests, in parallel. See - ;; . - (invoke "make" "buildtests" dash-j) + (when tests? + (setenv "EIGEN_SEED" "1") ;for reproducibility + ;; First build the tests, in parallel. See + ;; . + (invoke "make" "buildtests" dash-j) - ;; Then run 'CTest' with -V so we get more - ;; details upon failure. - (invoke "ctest" "-V" dash-j))))))) + ;; Then run 'CTest' with -V so we get more + ;; details upon failure. + (invoke "ctest" "-V" dash-j)))))))) (home-page "https://eigen.tuxfamily.org") (synopsis "C++ template library for linear algebra") (description -- cgit v1.2.3 From 5c0ef02db94ccb90a4fe43edc538f3239c10b095 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: doc: Substitute ‘copy’ for confusing ‘drop’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Build Environment Setup): ‘drop in’ → ‘copy to’. Reported by lechner in #guix. --- doc/guix.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 749b2236b5..bd659d7036 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1152,12 +1152,12 @@ using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} The @code{guix-daemon} program may then be run as @code{root} with the following command@footnote{If your machine uses the systemd init system, -dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} -file in @file{/etc/systemd/system} will ensure that +copying the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} +file to @file{/etc/systemd/system} will ensure that @command{guix-daemon} is automatically started. Similarly, if your -machine uses the Upstart init system, drop the +machine uses the Upstart init system, copy the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} -file in @file{/etc/init}.}: +file to @file{/etc/init}.}: @example # guix-daemon --build-users-group=guixbuild -- cgit v1.2.3 From 1cde647cc05c640fbfa6f9779a0d7854bb90e153 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Jun 2022 17:08:31 -0400 Subject: doc: Use a minimal texlive profile in build.scm. * doc/build.scm (pdf-manual) : New variable. : Define in terms of the above. : New environment variable. --- doc/build.scm | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/doc/build.scm b/doc/build.scm index cf3e5d2830..7d0db8621f 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019-2022 Ludovic Courtès ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ (guix gexp) (guix git) (guix git-download) + (guix profiles) (guix utils) (git) (gnu packages base) @@ -890,14 +892,22 @@ (define manual-source #:languages languages #:date date)) - ;; FIXME: This union works, except for the table of contents of non-English - ;; manuals, which contains escape sequences like "^^ca^^fe" instead of - ;; accented letters. - ;; - ;; (define texlive - ;; (texlive-updmap.cfg (list texlive-tex-texinfo - ;; texlive-generic-epsf - ;; texlive-fonts-ec))) + (define texinfo-profile + (profile + (content (packages->manifest + ;; texi2dvi requires various command line tools. + (list coreutils + diffutils + gawk + grep + sed + tar + texinfo + texlive-base + texlive-bin ;for GUIX_TEXMF + texlive-epsf + texlive-fonts-ec + texlive-tex-texinfo))))) (define build (with-imported-modules '((guix build utils)) @@ -914,21 +924,12 @@ (define (normalize language) ;XXX: deduplicate (string-downcase language))) ;; Install a UTF-8 locale so that 'makeinfo' is at ease. - (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + (setenv "GUIX_LOCPATH" #+(file-append glibc-utf8-locales + "/lib/locale")) (setenv "LC_ALL" "en_US.utf8") - (setenv "PATH" - (string-append #+(file-append texlive "/bin") ":" - #+(file-append texinfo "/bin") ":" - - ;; Below are command-line tools needed by - ;; 'texi2dvi' and friends. - #+(file-append sed "/bin") ":" - #+(file-append grep "/bin") ":" - #+(file-append coreutils "/bin") ":" - #+(file-append gawk "/bin") ":" - #+(file-append tar "/bin") ":" - #+(file-append diffutils "/bin"))) + (setenv "PATH" #+(file-append texinfo-profile "/bin")) + (setenv "GUIX_TEXMF" #+(file-append texinfo-profile + "/share/texmf-dist")) (setvbuf (current-output-port) 'line) (setvbuf (current-error-port) 'line) -- cgit v1.2.3 From 5d4b18912048b67c144bc56a7bedc8252cbeb932 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2022 11:02:54 +0200 Subject: challenge: When using '--diff', do not attempt to chmod symlinks. This is a followup to 2a2856d5ccd9a9b7df8a94333a277b971a39b150. * guix/scripts/challenge.scm (make-directory-writable): Do not call 'make-file-writable' on symlinks. --- guix/scripts/challenge.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 72d3e850f2..96ffe53a85 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -316,7 +316,8 @@ (define (make-directory-writable directory) 'chmod -R +w DIRECTORY'." (file-system-fold (const #t) (lambda (file stat _) ;leaf - (make-file-writable file)) + (unless (eq? 'symlink (stat:type stat)) + (make-file-writable file))) (lambda (directory stat _) ;down (make-file-writable directory)) (const #t) ;up -- cgit v1.2.3 From 5c06eedf08f0ab75746f0475909087aeb46f24f1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2022 22:50:08 +0200 Subject: refresh: Switch to SRFI-71. * guix/scripts/refresh.scm (update-package): Use SRFI-71 'let' instead of SRFI-11 'let-values'. --- guix/scripts/refresh.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 68bb9040d8..4d52200b84 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2021 Ludovic Courtès +;;; Copyright © 2013-2022 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Alex Kost @@ -46,9 +46,9 @@ (define-module (guix scripts refresh) #:use-module (ice-9 vlist) #:use-module (ice-9 format) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) + #:use-module (srfi srfi-71) #:use-module (ice-9 binary-ports) #:export (guix-refresh)) @@ -315,12 +315,11 @@ (define* (update-package store package updaters values: 'interactive' (default), 'always', and 'never'. When WARN? is true, warn about packages that have no matching updater." (if (lookup-updater package updaters) - (let-values (((version output source) - (package-update store package updaters - #:key-download key-download)) - ((loc) - (or (package-field-location package 'version) - (package-location package)))) + (let ((version output source + (package-update store package updaters + #:key-download key-download)) + (loc (or (package-field-location package 'version) + (package-location package)))) (when version (if (and=> output file-exists?) (begin -- cgit v1.2.3 From 53b9c27aa59bebf955f0aa24fef60a101480ef5c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2022 23:01:26 +0200 Subject: upstream: 'package-update' reports "unknown upstream releases" errors. Fixes . Reported by John Kehayias . * guix/upstream.scm (package-update): Instead of calling 'package-latest-release*', call 'package-latest-release' and distinguish between "up-to-date" and "unknown upstream releases". Raise an error in the latter case. --- guix/upstream.scm | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/guix/upstream.scm b/guix/upstream.scm index b0f77fb7d0..dac8153905 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2010-2022 Ludovic Courtès ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2019, 2022 Ricardo Wurmus ;;; Copyright © 2021 Sarah Morgensen @@ -488,30 +488,36 @@ (define* (package-update store package #:optional (updaters (force %updaters)) #:key (key-download 'interactive)) "Return the new version, the file name of the new version tarball, and input -changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date. +changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date; +raise an error when the updater could not determine available releases. KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed values: 'always', 'never', and 'interactive' (default)." - (match (package-latest-release* package updaters) + (match (package-latest-release package updaters) ((? upstream-source? source) - (let ((method (match (package-source package) - ((? origin? origin) - (origin-method origin)) - (_ - #f)))) - (match (assq method %method-updates) - (#f - (raise (make-compound-condition - (formatted-message (G_ "cannot download for \ + (if (version>? (upstream-source-version source) + (package-version package)) + (let ((method (match (package-source package) + ((? origin? origin) + (origin-method origin)) + (_ + #f)))) + (match (assq method %method-updates) + (#f + (raise (make-compound-condition + (formatted-message (G_ "cannot download for \ this method: ~s") - method) - (condition - (&error-location - (location (package-location package))))))) - ((_ . update) - (update store package source - #:key-download key-download))))) + method) + (condition + (&error-location + (location (package-location package))))))) + ((_ . update) + (update store package source + #:key-download key-download)))) + (values #f #f #f))) (#f - (values #f #f #f)))) + (raise (formatted-message + (G_ "updater failed to determine available releases for ~a~%") + (package-name package)))))) (define* (update-package-source package source hash) "Modify the source file that defines PACKAGE to refer to SOURCE, an -- cgit v1.2.3 From 128697d43c21eb229ff5413f1c4cf79ae1a9dcd4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2022 23:05:47 +0200 Subject: gnu: wayland-protocols: Add 'release-monitoring-url' property. * gnu/packages/freedesktop.scm (wayland-protocols)[properties]: New field. --- gnu/packages/freedesktop.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 01cb480edf..8834e7b839 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015, 2017 Andy Wingo -;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès +;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus ;;; Copyright © 2015 David Hashe ;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner @@ -1048,6 +1048,9 @@ (define-public wayland-protocols add completely new functionality, or extend the functionality of some other protocol either in Wayland core, or some other protocol in wayland-protocols.") (home-page "https://wayland.freedesktop.org") + (properties + '((release-monitoring-url + . "https://wayland.freedesktop.org/releases.html"))) (license license:expat))) (define-public waylandpp -- cgit v1.2.3 From e0b6cd0947a09378338801edbeef78ab58696505 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 11 Jan 2022 16:25:15 +0000 Subject: gnu: Add python-flake8-debugger. * gnu/packages/python-xyz.scm (python-flake8-debugger): New variable. --- gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f37ca731d5..0e82c3b674 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10322,6 +10322,29 @@ (define-public python-flake8-continuation @end quotation") (license license:asl2.0))) +(define-public python-flake8-debugger + (package + (name "python-flake8-debugger") + (version "4.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flake8-debugger" version)) + (sha256 + (base32 "0h1qlzbxxhjsw6kg3mcml9h8byy77m9a5z06z2dnvqs115b05c2j")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; no tests in PyPI and no setup.py in GitHub + (propagated-inputs + (list python-flake8 python-pycodestyle)) + (home-page "https://github.com/jbkahn/flake8-debugger") + (synopsis "@code{ipdb} and @code{pdb} statement checker plugin for flake8") + (description "This package provides a Flake8 plugin that checks for +@code{ipdb} and @code{pdb} imports and set traces, as well as +@code{from IPython.terminal.embed}, @code{import InteractiveShellEmbed} +and @code{InteractiveShellEmbed()()}.") + (license license:expat))) + (define-public python-flake8-implicit-str-concat (package (name "python-flake8-implicit-str-concat") -- cgit v1.2.3 From 7a8beb3deae0d61d242f5639d2835ce76d27b4c0 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 11 Jan 2022 16:25:17 +0000 Subject: gnu: python-requests-file: Update to 1.5.1. * gnu/packages/python-xyz.scm (python-requests-file): Update to 1.5.1. [source]: Make some cosmetic changes. [arguments]<#:phases>: Override 'check phase. [home-page]: Don't break line. --- gnu/packages/python-xyz.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0e82c3b674..f9c5d909f6 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21612,19 +21612,24 @@ (define-public python-fasteners (define-public python-requests-file (package (name "python-requests-file") - (version "1.4.3") + (version "1.5.1") (source (origin (method url-fetch) (uri (pypi-uri "requests-file" version)) (sha256 - (base32 - "1yp2jaxg3v86pia0q512dg3hz6s9y5vzdivsgrba1kds05ial14g")))) + (base32 "13kx4k83i9zcv20h0fnmawwwdzhcmw1z97mqib1h379qsc445mq7")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "tests/test_requests_file.py"))))))) (propagated-inputs (list python-requests python-six)) - (home-page - "https://github.com/dashea/requests-file") + (home-page "https://github.com/dashea/requests-file") (synopsis "File transport adapter for Requests") (description "Requests-File is a transport adapter for use with the Requests Python -- cgit v1.2.3 From 2950ef2fffa6b00ba35e2e8e3fb5074d812166f1 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 11 Jan 2022 16:25:14 +0000 Subject: gnu: Add python-flake8-blind-except. * gnu/packages/python-xyz.scm (python-flake8-blind-except): New variable. Co-authored-by: Hartmut Goebel --- gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f9c5d909f6..53d74c1719 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10262,6 +10262,26 @@ (define-public python-flake8-3.8 (list python-pycodestyle-2.6 python-entrypoints python-pyflakes-2.2 python-mccabe)))) +(define-public python-flake8-blind-except + (package + (name "python-flake8-blind-except") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flake8-blind-except" version)) + (sha256 + (base32 "05nxsxfzfhwsm8gys90228imm2qbnqnw5y8bfqyfngnbkmd5fnpj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; no tests + (native-inputs (list python-pycodestyle)) + (home-page "https://github.com/elijahandrews/flake8-blind-except") + (synopsis "Check for blind @code{except:} statements") + (description "This package provides a flake8 extension that checks for +blind @code{except:} statements.") + (license license:expat))) + (define-public python-flake8-bugbear (package (name "python-flake8-bugbear") -- cgit v1.2.3 From 9ee6d9cb176e09b07c64cf1a2bf30c0d2d3c0ade Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 27 Aug 2021 15:46:56 +0200 Subject: gnu: Add python-pytest-httpx. * gnu/packages/python-check.scm (python-pytest-httpx): New variable. --- gnu/packages/python-check.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index cb22972d10..8302e2e09f 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2293,3 +2293,34 @@ (define-public python-sybil parsed examples as part of your normal test run. Integration is provided for the main Python test runners.") (license license:expat))) + +(define-public python-pytest-httpx + (package + (name "python-pytest-httpx") + (version "0.21.0") + (source + (origin + ;; pypi package doesn't include the tests + (method git-fetch) + (uri (git-reference + (url "https://github.com/Colin-b/pytest_httpx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12mcy1f5d5cq3rqrqgi2ar0qvzw62ibys17hw6dsdfd0j2syck4r")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PYTHONPATH" (getcwd)) + (invoke "pytest" "-vv"))))))) + (propagated-inputs (list python-httpx)) + (native-inputs (list python-pytest python-pytest-asyncio)) + (home-page "https://colin-b.github.io/pytest_httpx/") + (synopsis "Pytest plugin to mock httpx") + (description "This package provides a pytest fixture to mock httpx +requests to be replied to with user provided responses.") + (license license:expat))) -- cgit v1.2.3 From 5d28f089efba5eb1491f4cd3fd4fb0d4deb19d12 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 11 Jan 2022 16:25:18 +0000 Subject: gnu: Add python-zeep. * gnu/packages/python-web.scm (python-zeep): New variable. * gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Co-authored-by: Hartmut Goebel --- gnu/local.mk | 1 + .../python-zeep-Fix-pytest_httpx-test-cases.patch | 73 ++++++++++++++++++++++ gnu/packages/python-web.scm | 57 +++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5a9edc16bb..fa315537ce 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1720,6 +1720,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-werkzeug-tests.patch \ %D%/packages/patches/python-mypy-12332.patch \ %D%/packages/patches/python-mypy-use-sys-path.patch \ + %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \ %D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.30.patch \ diff --git a/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch b/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch new file mode 100644 index 0000000000..7f022b4e46 --- /dev/null +++ b/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch @@ -0,0 +1,73 @@ +From 2907848185adcb4e6d8c093db6c617c64cb8c8bf Mon Sep 17 00:00:00 2001 +From: Georg Sauthoff +Date: Sat, 5 Feb 2022 14:42:10 +0100 +Subject: [PATCH] Use current pytest_httpx add_response keyword + +The new text keyword was introduced in pytest_httpx 0.14, deprecated +in 0.14 and 0.17 and removed in 0.18. + +Thus, an appropriate constraint to that dependency is added. + +FWIW, this fixes the test cases on the upcoming Fedora 36 release. + +See also: +- https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0180---2022-01-17 +- https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0140---2021-10-22 +--- + setup.py | 2 +- + tests/test_async_transport.py | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/setup.py b/setup.py +index 4cf9073b..58a5c24f 100755 +--- a/setup.py ++++ b/setup.py +@@ -29,7 +29,7 @@ + "freezegun==0.3.15", + "pretend==1.0.9", + "pytest-cov==2.8.1", +- "pytest-httpx", ++ "pytest-httpx>=0.14", + "pytest-asyncio", + "pytest==6.2.5", + "requests_mock>=0.7.0", +diff --git a/tests/test_async_transport.py b/tests/test_async_transport.py +index f5e8d1b0..ee215265 100644 +--- a/tests/test_async_transport.py ++++ b/tests/test_async_transport.py +@@ -19,7 +19,7 @@ def test_load(httpx_mock): + cache = stub(get=lambda url: None, add=lambda url, content: None) + transport = AsyncTransport(cache=cache) + +- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x") ++ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x") + result = transport.load("http://tests.python-zeep.org/test.xml") + assert result == b"x" + +@@ -30,7 +30,7 @@ def test_load_cache(httpx_mock): + cache = InMemoryCache() + transport = AsyncTransport(cache=cache) + +- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x") ++ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x") + result = transport.load("http://tests.python-zeep.org/test.xml") + assert result == b"x" + +@@ -45,7 +45,7 @@ async def test_post(httpx_mock: HTTPXMock): + + envelope = etree.Element("Envelope") + +- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x") ++ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x") + result = await transport.post_xml( + "http://tests.python-zeep.org/test.xml", envelope=envelope, headers={} + ) +@@ -67,7 +67,7 @@ async def test_http_error(httpx_mock: HTTPXMock): + transport = AsyncTransport() + + httpx_mock.add_response( +- url="http://tests.python-zeep.org/test.xml", data="x", status_code=500 ++ url="http://tests.python-zeep.org/test.xml", text="x", status_code=500 + ) + with pytest.raises(exceptions.TransportError) as exc: + transport.load("http://tests.python-zeep.org/test.xml") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 30c461f247..b4500c6d2f 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -7478,3 +7478,60 @@ (define-public python-wadllib (description "The @code{wadllib} Python library allows navigating HTTP resources using Web Application Description Language (WADL) files as guides.") (license license:lgpl3))) + +(define-public python-zeep + (package + (name "python-zeep") + (version "4.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "zeep" version)) + (patches + (search-patches "python-zeep-Fix-pytest_httpx-test-cases.patch")) + (sha256 + (base32 "1ranr4hkjd2kbbhxa3is1qlgkankj3sml5gla6bqs0kbvpmg4rsq")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)) ; one test requires write access + (invoke "pytest" "-vv"))))))) + (propagated-inputs + (list python-attrs + python-cached-property + python-isodate + python-lxml + python-platformdirs + python-pytz + python-requests + python-requests-file + python-requests-toolbelt)) + (native-inputs + (list python-aiohttp + python-aioresponses + python-freezegun + python-mock + python-pretend + python-pytest + python-pytest-asyncio + python-pytest-cov + python-pytest-httpx + python-requests-mock)) + (home-page "https://docs.python-zeep.org/en/stable/") + (synopsis "Python SOAP client based on lxml / requests") + (description "Zeep is a Python SOAP client. Highlights: + +@itemize +@item Build on top of @code{lxml} and @code{requests}. +@item Support for Soap 1.1, Soap 1.2 and HTTP bindings. +@item Support for WS-Addressing headers. +@item Support for WSSE (UserNameToken / x.509 signing). +@item Support for @code{asyncio} via @code{httpx}. +@item Experimental support for XOP messages. +@end itemize") + (license license:expat))) + -- cgit v1.2.3 From ef2d908e22f9d4f4a89782766b67d425935ae4eb Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 16 Jun 2022 10:19:54 +0200 Subject: gnu: getmail6: Update to 6.18.9. * gnu/packages/mail.scm (getmail6): Update to 6.18.9. [description]: Fix typo. --- gnu/packages/mail.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b94faea136..47a62b00de 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -47,6 +47,7 @@ ;;; Copyright © 2022 Andrew Tropin ;;; Copyright © 2022 Justin Veilleux ;;; Copyright © 2022 Thiago Jung Bauermann +;;; Copyright © 2022 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -1550,7 +1551,7 @@ (define-public muchsync (define-public getmail6 (package (name "getmail6") - (version "6.18.6") + (version "6.18.9") (source (origin (method git-fetch) (uri (git-reference @@ -1559,7 +1560,7 @@ (define-public getmail6 (file-name (git-file-name name version)) (sha256 (base32 - "08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja")))) + "1ch5hagkpybmkgg2wbb2mids3nbmjqgdqjhczzz7pvj4hx2m8fdb")))) (build-system python-build-system) (arguments (list #:tests? #f)) ;tests require docker (home-page "https://github.com/getmail6/getmail6") @@ -1568,7 +1569,7 @@ (define-public getmail6 "A flexible, extensible mail retrieval system with support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary message filtering, single-user and domain-mailboxes, and many other useful -features. This is a fork derived from getmali 5.14, aimed at Python 3 +features. This is a fork derived from getmail 5.14, aimed at Python 3 compatibility.") (license license:gpl2+))) ;see docs/COPYING -- cgit v1.2.3 From c48c69cfa34868527e099c6d12458dfa222d010f Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 11 Jun 2022 10:50:39 +0300 Subject: gnu: libtree: Update to 3.1.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (libtree): Update to 3.1.1. Signed-off-by: Ludovic Courtès --- gnu/packages/linux.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 216dd01395..7a9a6d183f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -9199,7 +9199,7 @@ (define-public libgpiod (define-public libtree (package (name "libtree") - (version "3.0.2") + (version "3.1.1") (source (origin (method git-fetch) @@ -9208,7 +9208,7 @@ (define-public libtree (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "072624anz9g01mp5vfkahfmzy0nb7axg5rwk3n1yrdm4hr3d4zrb")))) + (base32 "1jbc60cslzcfxk9jwva51ncr1zl1nz0fkgfjdckgv81is11nswmb")))) (arguments (list #:make-flags ;; NOTE: Official documentation recommends to build libtree with @@ -9217,6 +9217,15 @@ (define-public libtree (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; XXX: '08_nodeflib' fails as 'libtree' returns a non-zero + ;; code in one of the tests. + ;; + ;; See ). + (lambda _ + (substitute* "tests/08_nodeflib/Makefile" + (("! ../../libtree -vvv exe_b") + "../../libtree -vvv exe_b")))) (delete 'configure)))) (build-system gnu-build-system) (home-page "https://github.com/haampie/libtree") -- cgit v1.2.3 From f4041120076f24ba61b69fcd1adf61a7ef4fd81f Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Sat, 11 Jun 2022 18:59:38 +0200 Subject: channels: Print backtrace when generating package cache fails. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/channels.scm (package-cache-file): Add a throw handler around the generate-package-cache call, and print backtrace in it. Signed-off-by: Ludovic Courtès --- guix/channels.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/channels.scm b/guix/channels.scm index 5f47834c10..ce1a60436f 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -907,7 +907,14 @@ (define build (format (current-error-port) "Generating package cache for '~a'...~%" #$profile) - (generate-package-cache #$output)) + ;; This script runs through (primitive-load), which by default + ;; doesn't print backtraces when it encounters an exception, + ;; so manually do it. Use with-throw-handler because it is + ;; supported by all Guile versions. + (with-throw-handler #t + (lambda () (generate-package-cache #$output)) + (lambda (key . args) + (backtrace)))) (mkdir #$output)))) (gexp->derivation-in-inferior "guix-package-cache" build -- cgit v1.2.3 From 677ae314f6d8599980564ec69dfd3ff0111ef0b6 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Sun, 12 Jun 2022 13:33:07 +0300 Subject: gnu: herbstluftwm: Update to 0.9.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (herbstluftwm): Update to 0.9.4. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index acef5c5836..f053eeefcb 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -181,14 +181,14 @@ (define-public bspwm (define-public herbstluftwm (package (name "herbstluftwm") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (string-append "https://herbstluftwm.org/tarballs/herbstluftwm-" version ".tar.gz")) (sha256 - (base32 "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb")) + (base32 "1k03rdr6irsgnjl4w0vac0kk9nsz46qhy74iflmaycxgfv8fxy7f")) (file-name (string-append "herbstluftwm-" version ".tar.gz")))) (build-system cmake-build-system) (inputs @@ -200,6 +200,7 @@ (define-public herbstluftwm xsetroot libx11 libxext + libxfixes libxinerama libxrandr libxft)) -- cgit v1.2.3 From 25809f5a40c1ef507a4af230c932d15ca4778859 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 12 Jun 2022 17:03:40 -0400 Subject: gnu: Update llvm-for-rocm: Update to 5.1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/llvm.scm (llvm-for-rocm): Update to 5.1.3, now based on llvm-14. [source]{patches}: Remove unneeded patches (add_Object and add_libraries) and add new one (linkdl). * gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch, gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch: Delete files. * gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch: New file. * gnu/local.mk (dist_patch_DATA): Update to match current patches. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 3 +-- gnu/packages/llvm.scm | 14 +++++++------- .../patches/llvm-roc-3.0.0-add_libraries.patch | 22 ---------------------- .../patches/llvm-roc-4.2.0-add_Object.patch | 13 ------------- gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch | 15 +++++++++++++++ 5 files changed, 23 insertions(+), 44 deletions(-) delete mode 100644 gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch delete mode 100644 gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch create mode 100644 gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch diff --git a/gnu/local.mk b/gnu/local.mk index fa315537ce..5c20e1fd6a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1452,9 +1452,8 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-scev-miscompilation.patch \ - %D%/packages/patches/llvm-roc-3.0.0-add_libraries.patch \ %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ - %D%/packages/patches/llvm-roc-4.2.0-add_Object.patch \ + %D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index c66714a097..7b197bb67b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2021, 2022 Guillaume Le Vaillant ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Greg Hogan +;;; Copyright © 2022 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -1109,10 +1110,10 @@ (define-public clang-toolchain clang-toolchain-13) (define-public llvm-for-rocm (package - ;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine. - (inherit llvm-12) + ;; Based on LLVM 14 as of v5.0.0 + (inherit llvm-14) (name "llvm-for-rocm") - (version "4.3.0") ;this must match '%rocm-version' + (version "5.1.3") ;this must match '%rocm-version' (source (origin (method git-fetch) (uri (git-reference @@ -1121,10 +1122,9 @@ (define-public llvm-for-rocm (file-name (git-file-name name version)) (sha256 (base32 - "0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s")) + "0j6ydfkwrxwskgnhxc3cmry42n5faqbnwf2747qgf7lz5id8h8g5")) (patches - (search-patches "llvm-roc-4.2.0-add_Object.patch" - "llvm-roc-3.0.0-add_libraries.patch" + (search-patches "llvm-roc-5.0.0-linkdl.patch" "llvm-roc-4.0.0-remove-isystem-usr-include.patch")))) (arguments (substitute-keyword-arguments (package-arguments llvm-12) @@ -1141,7 +1141,7 @@ (define-public llvm-for-rocm "-DBUILD_SHARED_LIBS:BOOL=TRUE" "-DLLVM_VERSION_SUFFIX=")))) (properties `((hidden? . #t) - ,@(package-properties llvm-12))))) + ,@(package-properties llvm-14))))) diff --git a/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch b/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch deleted file mode 100644 index f6bc639f33..0000000000 --- a/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch +++ /dev/null @@ -1,22 +0,0 @@ -Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files - -diff -Naur a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt ---- a/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:49.119055933 +0100 -+++ b/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:13.265056070 +0100 -@@ -2,6 +2,7 @@ - Core - MC - Support -+ Option - ) - - find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) -diff -Naur a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt ---- a/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:41:39.521056199 +0100 -+++ b/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:40:23.998056487 +0100 -@@ -79,4 +79,5 @@ - LINK_LIBS - clangBasic - ${system_libs} -+ pthread - ) diff --git a/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch b/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch deleted file mode 100644 index f1762a558b..0000000000 --- a/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch +++ /dev/null @@ -1,13 +0,0 @@ -Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files - -diff --color -uprN orig/lib/Target/AMDGPU/Disassembler/CMakeLists.txt llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt ---- a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:57:54.222796911 +0800 -+++ b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:58:35.206796875 +0800 -@@ -11,6 +11,7 @@ add_llvm_component_library(LLVMAMDGPUDis - MC - MCDisassembler - Support -+ Object - - ADD_TO_COMPONENT - AMDGPU diff --git a/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch b/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch new file mode 100644 index 0000000000..d6ed3aef93 --- /dev/null +++ b/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch @@ -0,0 +1,15 @@ +Taken from the Gentoo patch: +https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch + +LLVMOffloadArch should link libdl to fix undefined symbol 'dlsym' when linking + +--- a/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt ++++ b/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt +@@ -3,6 +3,7 @@ add_llvm_tool(offload-arch + ${CMAKE_CURRENT_SOURCE_DIR}/offload-arch.cpp + DEPENDS generated-table LLVMOffloadArch + ) ++target_link_libraries(LLVMOffloadArch PRIVATE ${CMAKE_DL_LIBS}) + target_link_libraries(offload-arch PRIVATE LLVMOffloadArch) + + if(CMAKE_HOST_UNIX) -- cgit v1.2.3 From 67c30ff8ad2c729417c9ae24320552e163816a69 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 13 Jun 2022 11:36:23 -0400 Subject: gnu: rocm: Update to 5.1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All packages updated at the same time as they have a shared version. rocclr is no longer a stand-alone package, so the previous version is kept as rocclr-4 and the current version is just the source, rocclr-src, needed by rocm-opencl-runtime. * gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch: Update patches. * gnu/packages/rocm.scm (rocm-cmake, rocm-device-libs, rocm-comgr, roct-thunk-interface, rocr-runtime, rocm-opencl-runtime, rocminfo, rocm-bandwidth-test): Update to 5.1.3. (roct-thunk-interface)[inputs]: Add libdrm. [native-inputs]: Add gcc:lib and pkg-config. (rocclr-src): New variable. (rocclr-4): New variable (previous version of the package). (rocm-opencl-runtime)[source]: Remove obsolete patches. [arguments]: Rewrite with gexps. Add needed #:configure-flags. [inputs]: Remove rocclr, add numactl. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 - .../patches/rocm-comgr-3.1.0-dependencies.patch | 11 +-- .../rocm-opencl-runtime-3.10.0-includes.patch | 14 ---- .../patches/rocm-opencl-runtime-4.3-noclinfo.patch | 29 +++---- .../rocm-opencl-runtime-4.3-nocltrace.patch | 25 ------ .../patches/rocm-opencl-runtime-4.3-noopencl.patch | 65 ++++++++------- gnu/packages/rocm.scm | 95 +++++++++++++--------- 7 files changed, 115 insertions(+), 126 deletions(-) delete mode 100644 gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch delete mode 100644 gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5c20e1fd6a..576c1a3eb6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1762,9 +1762,7 @@ dist_patch_DATA = \ %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \ %D%/packages/patches/rnp-unbundle-googletest.patch \ %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \ - %D%/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ - %D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \ %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \ %D%/packages/patches/ruby-sanitize-system-libxml.patch \ diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch index c91d273f92..fc2c74718a 100644 --- a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch +++ b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch @@ -11,11 +11,11 @@ Without these additional required dependencies, linking fails with errors such a CMakeLists.txt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1794a07..c7b852a 100644 +diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt +index 8b5ca2f..a7d226f 100644 --- a/lib/comgr/CMakeLists.txt +++ b/lib/comgr/CMakeLists.txt -@@ -207,7 +207,11 @@ install(FILES +@@ -294,7 +294,11 @@ install(FILES DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}") set(CLANG_LIBS @@ -28,7 +28,7 @@ index 1794a07..c7b852a 100644 set(LLD_LIBS lldELF -@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB) +@@ -305,8 +309,21 @@ if (LLVM_LINK_LLVM_DYLIB) else() llvm_map_components_to_libnames(LLVM_LIBS ${LLVM_TARGETS_TO_BUILD} @@ -46,7 +46,8 @@ index 1794a07..c7b852a 100644 + IRReader + CodeGen + Linker ++ Demangle + BinaryFormat) endif() - target_link_libraries(amd_comgr + target_link_options(amd_comgr diff --git a/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch b/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch deleted file mode 100644 index d81bb0747f..0000000000 --- a/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch +++ /dev/null @@ -1,14 +0,0 @@ -Add missing include dirs for ROCclr. - ---- a/amdocl/CMakeLists.txt 2020-12-05 22:05:55.838529158 +0100 -+++ b/amdocl/CMakeLists.txt 2020-12-05 22:07:35.677524507 +0100 -@@ -23,6 +23,9 @@ - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos) - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers) - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2) -+include_directories(${ROCclr_DIR}/../../../include) -+include_directories(${ROCclr_DIR}/../../../include/compiler/lib/include/) -+include_directories(${ROCclr_DIR}/../../../include/elf/) - - if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR - (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang")) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch index 5709e0d19a..97376fd421 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch @@ -4,25 +4,26 @@ diff --git a/CMakeLists.txt.orig b/CMakeLists.txt index 76847d3..3f62bfe 100644 --- a/CMakeLists.txt.orig +++ b/CMakeLists.txt -@@ -72,7 +72,7 @@ find_package(ROCclr REQUIRED CONFIG +@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co - add_subdirectory(khronos/icd) + + set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") + #add_subdirectory(khronos/icd) add_subdirectory(amdocl) -add_subdirectory(tools/clinfo) +#add_subdirectory(tools/clinfo) add_subdirectory(tools/cltrace) if(BUILD_TESTS) add_subdirectory(tests/ocltst) -@@ -108,9 +108,9 @@ endif() - ###--- Packaging ------------------------------------------------------------### +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 48353eb..cd1e7c1 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -5,6 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd) + set(CPACK_DEB_COMPONENT_INSTALL ON) + set(CPACK_RPM_COMPONENT_INSTALL ON) - # MAIN package --install(PROGRAMS $ -- DESTINATION bin -- COMPONENT MAIN) -+#install(PROGRAMS $ -+# DESTINATION bin -+# COMPONENT MAIN) - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) +-install(TARGETS clinfo DESTINATION bin COMPONENT binary) ++#install(TARGETS clinfo DESTINATION bin COMPONENT binary) + install(TARGETS amdocl DESTINATION lib COMPONENT binary) + install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch deleted file mode 100644 index e0328d7734..0000000000 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not build and install cltrace. - -diff --git a/CMakeLists.txt.orig b/CMakeLists.txt -index c449db4..9cff673 100644 ---- a/CMakeLists.txt.orig -+++ b/CMakeLists.txt -@@ -73,7 +73,7 @@ find_package(ROCclr REQUIRED CONFIG - #add_subdirectory(khronos/icd) - add_subdirectory(amdocl) - #add_subdirectory(tools/clinfo) --add_subdirectory(tools/cltrace) -+#add_subdirectory(tools/cltrace) - if(BUILD_TESTS) - add_subdirectory(tests/ocltst) - endif() -@@ -108,9 +108,6 @@ endif() - #install(PROGRAMS $ - # DESTINATION bin - # COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch index ed20f02503..9f80d7da9d 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch @@ -2,36 +2,21 @@ Do not build and install libOpenCL. --- b/CMakeLists.txt +++ b/CMakeLists.txt -@@ -70,7 +70,7 @@ - ${ROCclr_DIR} - ${LIBROCclr_STATIC_DIR}) +@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co + + set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") -add_subdirectory(khronos/icd) +#add_subdirectory(khronos/icd) add_subdirectory(amdocl) - #add_subdirectory(tools/clinfo) + add_subdirectory(tools/clinfo) add_subdirectory(tools/cltrace) -@@ -93,9 +93,6 @@ - OUTPUT_VARIABLE OPENCL_VERSION_GITDATE - OUTPUT_STRIP_TRAILING_WHITESPACE) + if(BUILD_TESTS) + add_subdirectory(tests/ocltst) +@@ -25,16 +25,6 @@ endif() + + ###--- Packaging ------------------------------------------------------------### --get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) --get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -- - find_package(ROCM QUIET CONFIG PATHS /opt/rocm) - - if(ROCM_FOUND) -@@ -117,25 +114,6 @@ - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) -- -# DEV package -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL" - DESTINATION include @@ -41,15 +26,26 @@ Do not build and install libOpenCL. - PATTERN cl_d3d11.h EXCLUDE - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT DEV) - +- ############################# # Packaging steps + ############################# +@@ -53,8 +43,8 @@ if (DEFINED ROCM_PATCH_VERSION) + set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") + endif() + +-get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) +-get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) ++#get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) ++#get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) + + #Set Package Version + set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +diff --git a/khronos/icd/CMakeLists.txt b/khronos/icd/CMakeLists.txt +index 4bafa86..987dd6f 100644 --- a/khronos/icd/CMakeLists.txt 2020-06-07 16:05:32.425022904 +0200 +++ b/khronos/icd/CMakeLists.txt 2020-06-07 16:06:03.273022786 +0200 -@@ -132,7 +132,7 @@ +@@ -132,7 +132,7 @@ if (BUILD_TESTING) add_subdirectory (test) endif() @@ -61,3 +57,14 @@ Do not build and install libOpenCL. +# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 48353eb..cd1e7c1 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -17,5 +17,5 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + PATTERN cl_dx9_media_sharing.h EXCLUDE + PATTERN cl_egl.h EXCLUDE ) + +-install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) ++#install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) + install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index 2ccc6d3251..6c1a83cc88 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Lars-Dominik Braun +;;; Copyright © 2022 John Kehayias ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -18,21 +19,25 @@ (define-module (gnu packages rocm) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages opencl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages version-control) - #:use-module (gnu packages vim)) + #:use-module (gnu packages vim) + #:use-module (gnu packages xdisorg)) ;; The components are tightly integrated and can only be upgraded as a unit. If ;; you want to upgrade ROCm, bump this version number and update hashes below. -(define %rocm-version "4.3.0") +(define %rocm-version "5.1.3") (define-public rocm-cmake (package @@ -46,7 +51,7 @@ (define-public rocm-cmake (file-name (git-file-name name version)) (sha256 (base32 - "0sic2zxmzl2pb2865vvq55mbpcr8pby8v19pjdlm08pypqw5h6h6")))) + "1bn3l04qnc1ls9abs15s1sgsrwmkfk0g8jgdjqshrcr3ab8ffcpf")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) @@ -68,7 +73,7 @@ (define-public rocm-device-libs (file-name (git-file-name name version)) (sha256 (base32 - "1f8xsylfajpxqjk6ayjnrry53y8b0a6lh9d72pd41nffxfyzvw3w")))) + "07vkrxxc49i72r0lcl6dap0qcw1bignsw920rj4h1mac3bwa8q4j")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -93,7 +98,7 @@ (define-public rocm-comgr (file-name (git-file-name name version)) (sha256 (base32 - "0bakbm7shr0l67lph44b5cnc9psd6rivg1mp79qizaawkn380x60")) + "1achb3216cbm7x2d05xj7j7ivn24y11q2d2p5whw3v4ykgfqql6f")) (patches (search-patches "rocm-comgr-3.1.0-dependencies.patch")))) (build-system cmake-build-system) @@ -125,10 +130,11 @@ (define-public roct-thunk-interface (file-name (git-file-name name version)) (sha256 (base32 - "0ffqhrrscmcydfqf61dk58d7nnxk6n2k68jhqfj7a4hvhlphb74f")))) + "0k5bchq1jhgraqrhj9q47b45n33wnd2ipwrrj39q51jzxmyyzxj2")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Not sure how to run tests. - (inputs (list numactl)) + (inputs (list libdrm numactl)) + (native-inputs (list `(,gcc "lib") pkg-config)) (home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface") (synopsis "Radeon Open Compute Thunk Interface") (description "User-mode API interfaces used to interact with the ROCk @@ -147,7 +153,7 @@ (define-public rocr-runtime (file-name (git-file-name name version)) (sha256 (base32 - "0jqfqf5ymwlbpac065bhigmkgsk7mbyimdgvca7ymn38wpf80ka7")))) + "1j1cy64w13plgsy20mir4xm6x4xnwkyil3g03xnda6ynhd7bkhv7")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -174,10 +180,23 @@ (define-public rocr-runtime applications to launch compute kernels to available HSA ROCm kernel agents.") (license license:ncsa))) -(define-public rocclr +;; This is the source only for ROCclr as from v4.5 it should only be built as +;; part of a client. A warning is output if attempting to build stand-alone +;; and there is no install. The previous version is kept as rocclr-4. +(define rocclr-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ROCm-Developer-Tools/ROCclr.git") + (commit (string-append "rocm-" %rocm-version)))) + (sha256 + (base32 + "0x1frzpz9j1s516vscbdm9g5cqirvv5w7wmq2kyljcygnci7yqar")))) + +(define-public rocclr-4 (package - (name "rocclr") - (version %rocm-version) + (name "rocclr-4") + (version "4.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -232,39 +251,41 @@ (define-public rocm-opencl-runtime (file-name (git-file-name name version)) (sha256 (base32 - "1cglpiaj3ny1z74ssmy6j63vj92sfy4q38ix6qsga0mg3b2wvqz3")) + "1rirvc8h0ahicw1vw4js4jq5gw25x47gmg3gczmyz97c72wvgfiv")) (patches (search-patches - "rocm-opencl-runtime-3.10.0-includes.patch" ;; Do not install libOpenCL, which ocl-icd provides. "rocm-opencl-runtime-4.3-noopencl.patch" ;; Guix includes a program clinfo already. - "rocm-opencl-runtime-4.3-noclinfo.patch" - ;; cltrace linking fails, remove it. - "rocm-opencl-runtime-4.3-nocltrace.patch")))) + "rocm-opencl-runtime-4.3-noclinfo.patch")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; Not sure how to run them. - #:phases - (modify-phases %standard-phases - (add-after 'install 'create-icd - ;; Manually install ICD, which simply consists of dumping - ;; the path of the .so into the correct file. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vendors (string-append out "/etc/OpenCL/vendors")) - (sopath (string-append out "/lib/libamdocl64.so"))) - (mkdir-p vendors) - (with-output-to-file (string-append vendors "/amdocl64.icd") - (lambda _ (display sopath))))))))) + (list + #:tests? #f ; Not sure how to run them. + #:configure-flags + #~(list + (string-append "-DAMD_OPENCL_PATH=" #$(package-source this-package)) + ;; The ROCclr source is needed to build the runtime. + (string-append "-DROCCLR_PATH=" #$rocclr-src) + (string-append "-DROCM_PATH=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'create-icd + ;; Manually install ICD, which simply consists of dumping + ;; the path of the .so into the correct file. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((vendors (string-append #$output "/etc/OpenCL/vendors")) + (sopath (string-append #$output "/lib/libamdocl64.so"))) + (mkdir-p vendors) + (with-output-to-file (string-append vendors "/amdocl64.icd") + (lambda _ (display sopath))))))))) (inputs - (list mesa - rocm-comgr - rocr-runtime - rocclr + (list glew + mesa + numactl opencl-icd-loader - glew)) - (native-inputs `()) + rocm-comgr + rocr-runtime)) (synopsis "ROCm OpenCL Runtime") (description "OpenCL 2.0 compatible language runtime, supporting offline and in-process/in-memory compilation.") @@ -282,7 +303,7 @@ (define-public rocminfo (file-name (git-file-name name version)) (sha256 (base32 - "0pcm308vwkjrwnrk507iya20mkil8j0vx699w9jk2gas4n4jvkcz")))) + "0hdfbvn55h5lk5s8vqlmri5r94vlas8v8yjxwd9d70igslk0kr67")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests. @@ -314,7 +335,7 @@ (define-public rocm-bandwidth-test (file-name (git-file-name name version)) (sha256 (base32 - "0a14kwkjpiyljgzxblh031qibn6xgbxp6m12zdy1pmwb2c44jjmm")))) + "0rnn2ms68mvzpcp31dk304sfqnv352i7vb48k7rw3qjahhrjm48c")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. (inputs (list rocr-runtime)) -- cgit v1.2.3 From 59ec9e3f3eb60a53cde5b6b90094927e11e62d8a Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 15 Jun 2022 12:09:52 +0000 Subject: gnu: Add cl-policy-cond. * gnu/packages/lisp-xyz.scm (sbcl-policy-cond, cl-policy-cond, ecl-policy-cond): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 7d937c460f..6e4d3c20bc 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15464,6 +15464,36 @@ (define-public ecl-computable-reals (define-public cl-computable-reals (sbcl-package->cl-source-package sbcl-computable-reals)) +(define-public sbcl-policy-cond + (let ((commit "eedb625520175bfdf44d385ff3b21039b7f75706") + (revision "0")) + (package + (name "sbcl-policy-cond") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stylewarning/policy-cond") + (commit commit))) + (file-name (git-file-name "cl-policy-cond" version)) + (sha256 + (base32 "0xj2a6lcg7i7g4038sc4f641din6m8vdiha8c5afz9fik80bshxk")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/stylewarning/policy-cond") + (synopsis "Insert code based on compiler policy") + (description "POLICY-COND provides tools to insert and execute code +based on a compiler's OPTIMIZE policy. It also contains a contract-like notion +of expectations, which allow dynamic checking or inclusion of various things +that should happen depending on compiler policy.") + (license license:bsd-3)))) + +(define-public cl-policy-cond + (sbcl-package->cl-source-package sbcl-policy-cond)) + +(define-public ecl-policy-cond + (sbcl-package->ecl-package sbcl-policy-cond)) + (define-public sbcl-html-template (package (name "sbcl-html-template") -- cgit v1.2.3 From c8727617e51c335090daa48a63c61801c41a83ae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:13:29 +0200 Subject: gnu: Add apache-arrow-0.16. * gnu/packages/databases.scm (apache-arrow-0.16): New variable. --- gnu/packages/databases.scm | 126 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9a142da7ee..03ea55c6e1 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4258,6 +4258,132 @@ (define-public apache-arrow algorithm implementations.") (license license:asl2.0))) +(define-public apache-arrow-0.16 + (package + (name "apache-arrow") + (version "0.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/arrow") + (commit (string-append "apache-arrow-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15bplqy5708bxy1mynzjkd3d2g8v2wd36z8l0ap8yyyq54l3gdvy")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'configure 'enter-source-directory + (lambda _ + (chdir "cpp") + (substitute* "src/parquet/CMakeLists.txt" + ((" parquet_constants.cpp") "") + (("set\\(THRIFT_OUTPUT_FILES \\$\\{THRIFT_OUTPUT_FILES\\}.*") "") + ((".*\"\\$\\{THRIFT_OUTPUT_DIR\\}/parquet_constants.cpp\"\\).*") "")))) + (add-after 'unpack 'set-env + (lambda _ + (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) + (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) + (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) + (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))))) + #:build-type "Release" + #:configure-flags + (list "-DARROW_PYTHON=ON" + "-DARROW_GLOG=ON" + "-DARROW_SSE42=OFF" + "-DARROW_BOOST_USE_SHARED=ON" + ;; Parquet options + "-DARROW_PARQUET=ON" + + ;; The maintainers disallow using system versions of + ;; jemalloc: + ;; https://issues.apache.org/jira/browse/ARROW-3507. This + ;; is unfortunate because jemalloc increases performance: + ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. + "-DARROW_JEMALLOC=OFF" + + ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global + ;; option that instructs the build system how to resolve + ;; each dependency. SYSTEM = Finding the dependency in + ;; system paths using CMake's built-in find_package + ;; function, or using pkg-config for packages that do not + ;; have this feature + "-DARROW_DEPENDENCY_SOURCE=SYSTEM" + + ;; Split output into its component packages. + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out")) + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "out") + "/lib") + (string-append "-DCMAKE_INSTALL_BINDIR=" + (assoc-ref %outputs "out") + "/bin") + (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" + (assoc-ref %outputs "include") + "/share/include") + + + "-DARROW_WITH_SNAPPY=ON" + "-DARROW_WITH_ZLIB=ON" + "-DARROW_WITH_ZSTD=ON" + "-DARROW_WITH_LZ4=ON" + "-DARROW_COMPUTE=ON" + "-DARROW_CSV=ON" + "-DARROW_DATASET=ON" + "-DARROW_FILESYSTEM=ON" + "-DARROW_HDFS=ON" + "-DARROW_JSON=ON" + ;; Arrow Python C++ integration library (required for + ;; building pyarrow). This library must be built against + ;; the same Python version for which you are building + ;; pyarrow. NumPy must also be installed. Enabling this + ;; option also enables ARROW_COMPUTE, ARROW_CSV, + ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and + ;; ARROW_JSON. + "-DARROW_PYTHON=ON" + + ;; Building the tests forces on all the + ;; optional features and the use of static + ;; libraries. + "-DARROW_BUILD_TESTS=OFF" + "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" + ;;"-DBENCHMARK_ENABLE_TESTING=OFF" + "-DARROW_BUILD_STATIC=OFF"))) + (inputs + `(("boost" ,boost) + ("brotli" ,google-brotli) + ("double-conversion" ,double-conversion) + ("snappy" ,snappy) + ("gflags" ,gflags) + ("glog" ,glog) + ("apache-thrift" ,apache-thrift "lib") + ("protobuf" ,protobuf) + ("rapidjson" ,rapidjson) + ("zlib" ,zlib) + ("bzip2" ,bzip2) + ("lz4" ,lz4) + ("zstd" ,zstd "lib") + ("re2" ,re2) + ("grpc" ,grpc) + ("python-3" ,python) + ("python-numpy" ,python-numpy))) + (native-inputs + (list pkg-config apache-thrift)) + (outputs '("out" "include")) + (home-page "https://arrow.apache.org/") + (synopsis "Columnar in-memory analytics") + (description "Apache Arrow is a columnar in-memory analytics layer +designed to accelerate big data. It houses a set of canonical in-memory +representations of flat and hierarchical data along with multiple +language-bindings for structure manipulation. It also provides IPC and common +algorithm implementations.") + (license license:asl2.0))) + (define-public python-pyarrow (package (inherit apache-arrow) -- cgit v1.2.3 From a3613f11d5e034961e791f5a75e0fa55dda3683f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:13:53 +0200 Subject: gnu: Add python-pyarrow-0.16. * gnu/packages/databases.scm (python-pyarrow-0.16): New variable. --- gnu/packages/databases.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 03ea55c6e1..92ab94f453 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4442,6 +4442,64 @@ (define-public python-pyarrow other traditional Python scientific computing packages.") (license license:asl2.0))) +(define-public python-pyarrow-0.16 + (package + (inherit apache-arrow-0.16) + (name "python-pyarrow") + (build-system python-build-system) + (arguments + '(#:tests? #f ; XXX There are no tests in the "python" directory + #:phases + (modify-phases %standard-phases + (delete 'build) ; XXX the build is performed again during the install phase + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "python"))) + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")))) + (add-before 'install 'patch-cmake-variables + (lambda* (#:key inputs #:allow-other-keys) + ;; Replace cmake locations with hardcoded guix links for the + ;; underlying C++ library and headers. This is a pretty awful + ;; hack. + (substitute* "cmake_modules/FindParquet.cmake" + (("# Licensed to the Apache Software Foundation" m) + (string-append "set(PARQUET_INCLUDE_DIR \"" + (assoc-ref inputs "apache-arrow:include") + "/share/include\")\n" m)) + (("find_package_handle_standard_args" m) + (string-append "set(PARQUET_LIB_DIR \"" + (assoc-ref inputs "apache-arrow:lib") + "/lib\")\n" m))))) + (add-before 'install 'patch-parquet-library + (lambda _ + (substitute* "CMakeLists.txt" + (("parquet_shared") "parquet")))) + (add-before 'install 'set-PYARROW_WITH_PARQUET + (lambda _ + (setenv "PYARROW_WITH_PARQUET" "1")))))) + (propagated-inputs + `(("apache-arrow:lib" ,apache-arrow-0.16) + ("apache-arrow:include" ,apache-arrow-0.16 "include") + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-six" ,python-six))) + (native-inputs + (list cmake-minimal + pkg-config + python-cython + python-pytest + python-pytest-runner + python-setuptools-scm)) + (outputs '("out")) + (home-page "https://arrow.apache.org/docs/python/") + (synopsis "Python bindings for Apache Arrow") + (description + "This library provides a Pythonic API wrapper for the reference Arrow C++ +implementation, along with tools for interoperability with pandas, NumPy, and +other traditional Python scientific computing packages.") + (license license:asl2.0))) + (define-public python-crate (package (name "python-crate") -- cgit v1.2.3 From e4dbf938ea72132c1c6082f239aa844d7acb584f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:14:54 +0200 Subject: gnu: python-locket: Update to 1.0.0. * gnu/packages/python-xyz.scm (python-locket): Update to 1.0.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 53d74c1719..d66a753a3d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -22403,14 +22403,14 @@ (define-public python-cloudpickle (define-public python-locket (package (name "python-locket") - (version "0.2.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "locket" version)) (sha256 (base32 - "1d4z2zngrpqkrfhnd4yhysh66kjn4mblys2l06sh5dix2p0n7vhz")))) + "0cm6290zm3ba62n2x2piy3s8d41hrmffda2nw18ggfwb582lq3aw")))) (build-system python-build-system) (home-page "https://github.com/mwilliamson/locket.py") (synopsis "File-based locks for Python") -- cgit v1.2.3 From 62c51214725e59fc216b9d13b87629de13c30ebe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:15:58 +0200 Subject: gnu: Add python-interlap. * gnu/packages/python-xyz.scm (python-interlap): New variable. --- gnu/packages/python-xyz.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d66a753a3d..0cd811c9bb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -23602,6 +23602,23 @@ (define-public python-intelhex converters and more, those based on the library itself.") (license license:bsd-3))) +(define-public python-interlap + (package + (name "python-interlap") + (version "0.2.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "interlap" version)) + (sha256 + (base32 + "1jbfh00bkrf0i5psa6n75rlgmqp5389xixa9j29w8rxhah6g7r1i")))) + (build-system python-build-system) + (home-page "https://brentp.github.io/interlap") + (synopsis "Fast, simple interval overlap testing") + (description "InterLap does fast interval overlap testing with a simple Python data +structure.") + (license license:expat))) + (define-public python-pykwalify (package (name "python-pykwalify") -- cgit v1.2.3 From 21e9e67c77ba9b9aac7957e0a3befcfcc508a386 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:16:08 +0200 Subject: gnu: Add python-multiprocessing-on-dill. * gnu/packages/python-xyz.scm (python-multiprocessing-on-dill): New variable. --- gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0cd811c9bb..e6bd8c4832 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -22191,6 +22191,34 @@ (define-public python-multiprocess library's @code{threading} module.") (license license:bsd-3))) +(define-public python-multiprocessing-on-dill + (package + (name "python-multiprocessing-on-dill") + (version "3.5.0a4") + (source (origin + (method url-fetch) + (uri (pypi-uri "multiprocessing_on_dill" version)) + (sha256 + (base32 + "1rs5a3hx1fcpfsxxkl5kx6g06c82wqjqgdqyny5l1ggl1wq0rmfn")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (propagated-inputs (list python-dill)) + (native-inputs (list python-check-manifest python-pytest python-wheel)) + (home-page "https://github.com/sixty-north/multiprocessing_on_dill") + (synopsis "Multiprocessing using dill instead of pickle") + (description + "This package provides a friendly fork of multiprocessing which uses dill +instead of pickle.") + (license license:psfl))) + (define-public python-toolrack (package (name "python-toolrack") -- cgit v1.2.3 From d62dbedd6d3a64e26c386b1c7091ef9eebd65da9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:17:15 +0200 Subject: gnu: Add python-bokeh. * gnu/packages/python-xyz.scm (python-bokeh): New variable. --- gnu/packages/python-xyz.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e6bd8c4832..4b8e63890f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -197,6 +197,7 @@ (define-module (gnu packages python-xyz) #:use-module (gnu packages multiprecision) #:use-module (gnu packages networking) #:use-module (gnu packages ncurses) + #:use-module (gnu packages node) #:use-module (gnu packages ninja) #:use-module (gnu packages openstack) #:use-module (gnu packages pcre) @@ -14387,6 +14388,97 @@ (define-public python-lmfit enhancements to optimization and data fitting problems.") (license license:bsd-3))) +(define-public python-bokeh + (package + (name "python-bokeh") + (version "2.4.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "bokeh" version)) + (sha256 + (base32 + "00sbhya9vfdv3yi07j6mxwx1x1h9497nhd3smdjrcdxgc48q0czg")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; These require selenium. + (delete-file "tests/unit/bokeh/io/test_export.py") + (delete-file "tests/unit/bokeh/io/test_webdriver.py") + (delete-file "tests/unit/bokeh/embed/test_standalone.py") + + ;; Doesn't find ManagedServerLoop fixture + (delete-file "tests/unit/bokeh/test_client_server.py") + + ;; This fails because of the Guix wrapper around pytest + (delete-file "tests/unit/bokeh/io/test_util__io.py") + + ;; Fixture ipython not found. + (delete-file "tests/unit/bokeh/application/handlers/test_notebook__handlers.py") + (delete-file "tests/unit/bokeh/command/subcommands/test_info.py") + + ;; pd fixture not found. + (delete-file "tests/unit/bokeh/models/test_mappers.py") + (delete-file "tests/unit/bokeh/models/util/test_structure.py") + (delete-file "tests/unit/bokeh/plotting/test__plot.py") + (delete-file "tests/unit/bokeh/plotting/test__graph.py") + (delete-file "tests/unit/bokeh/plotting/test_figure.py") + (delete-file "tests/unit/bokeh/core/test_json_encoder.py") + (delete-file "tests/unit/bokeh/core/property/test_bases.py") + (delete-file "tests/unit/bokeh/core/property/test_container.py") + (delete-file "tests/unit/bokeh/core/property/test_dataspec.py") + (delete-file "tests/unit/bokeh/core/property/test_datetime.py") + (delete-file "tests/unit/bokeh/core/property/test_pandas.py") + + ;; nx fixture not found. + (delete-file "tests/unit/bokeh/plotting/test_graph.py") + (delete-file "tests/unit/bokeh/models/test_graphs.py") + (delete-file "tests/unit/bokeh/io/test_showing.py") + (delete-file "tests/unit/bokeh/document/test_events__document.py") + + ;; These tests need external sample data + (delete-file-recursively "tests/unit/bokeh/sampledata/") + + ;; Attempts to install something via npm. + (delete-file "tests/unit/bokeh/test_ext.py") + + ;; More failures due to set up problems. + (delete-file "tests/unit/bokeh/server/test_server__server.py") + (delete-file "tests/unit/bokeh/server/test_tornado__server.py") + (delete-file "tests/unit/bokeh/util/test_serialization.py") + (delete-file "tests/unit/bokeh/util/test_hex.py") + (delete-file "tests/unit/bokeh/models/test_sources.py") + (delete-file "tests/unit/bokeh/embed/test_bundle.py") + + (invoke "pytest" "-v"))))))) + (propagated-inputs + (list node-lts + python-jinja2 + python-numpy + python-packaging + python-pillow + python-pyyaml + python-tornado + python-typing-extensions)) + (native-inputs + (list python-beautifulsoup4 + python-dateutil + python-flaky + python-nbconvert + python-pandas + python-pytest + python-pytz + python-requests)) + (home-page "https://github.com/bokeh/bokeh") + (synopsis "Interactive plots and applications in the browser from Python") + (description + "This package provides tools for interactive plots and applications in the +browser from Python.") + (license license:bsd-3))) + (define-public python-boto (package (name "python-boto") -- cgit v1.2.3 From fbe5707b73a5c2e8432ebac2e28b80ad19d89c97 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:17:42 +0200 Subject: gnu: Add python-ctxcore. * gnu/packages/bioinformatics.scm (python-ctxcore): New variable. --- gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 87df6c3515..6dde6b6976 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -111,6 +111,7 @@ (define-module (gnu packages bioinformatics) #:use-module (gnu packages jupyter) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages logging) #:use-module (gnu packages lsof) #:use-module (gnu packages machine-learning) @@ -13380,6 +13381,49 @@ (define-public r-scopeloomr files.") (license license:expat)))) +(define-public python-ctxcore + (package + (name "python-ctxcore") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aertslab/ctxcore") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16nlj7z8pirgjad7vlgm7226b3hpw4a7n967vyfg26dsf5n8k70d")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'pretend-version + ;; The version string is usually derived via setuptools-scm, but + ;; it doesn't work without the .git directory. + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) + (propagated-inputs + (list python-cytoolz + python-numba + python-frozendict + python-numpy + python-pandas + python-pyyaml + python-pyarrow-0.16 + python-tqdm)) + (native-inputs + (list python-pytest + python-setuptools-scm)) + (home-page "https://github.com/aertslab/ctxcore") + (synopsis "Core functions for pycisTarget and the SCENIC tool suite") + (description + "ctxcore is part of the SCENIC suite of tools. It provides core functions for +pycisTarget and SCENIC.") + (license license:gpl3+))) + (define-public vbz-compression (package (name "vbz-compression") -- cgit v1.2.3 From 3535d8dc5ae3116d8c3bedf0d5c920b19ba41cc5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:18:17 +0200 Subject: gnu: Add python-arboreto. * gnu/packages/bioinformatics.scm (python-arboreto): New variable. --- gnu/packages/bioinformatics.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6dde6b6976..e6b14069ec 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13424,6 +13424,39 @@ (define-public python-ctxcore pycisTarget and SCENIC.") (license license:gpl3+))) +(define-public python-arboreto + (package + (name "python-arboreto") + (version "0.1.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aertslab/arboreto") + (commit "2f475dca08f47a60acc2beb8dd897e77b7495ca4"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l0im8ay7l2d24f7vaha454vsaha9s36bfqhbijg3b8ir8apsd7l")))) + (build-system python-build-system) + ;; Lots of tests fail because python-distributed fails to start the + ;; "Nanny" process. + (arguments '(#:tests? #false)) + (propagated-inputs + (list python-bokeh + python-dask + python-distributed + python-numpy + python-pandas + python-scikit-learn + python-scipy + python-tornado-6)) + (home-page "https://github.com/aertslab/arboreto") + (synopsis "Gene regulatory network inference using tree-based ensemble regressors") + (description + "This package implements scalable gene regulatory network inference using +tree-based ensemble regressors.") + (license license:bsd-3))) + (define-public vbz-compression (package (name "vbz-compression") -- cgit v1.2.3 From f700223c3bb7e80104c7c011edcd09479145bb26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Jun 2022 15:19:44 +0200 Subject: gnu: Add pyscenic. * gnu/packages/bioinformatics.scm (pyscenic): New variable. --- gnu/packages/bioinformatics.scm | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e6b14069ec..75973b0dd8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13457,6 +13457,69 @@ (define-public python-arboreto tree-based ensemble regressors.") (license license:bsd-3))) +(define-public pyscenic + (package + (name "pyscenic") + (version "0.11.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aertslab/pySCENIC") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pbmmr1zdb1vbbs6wx357s59d13pna6x03wq8blj6ckjws8bbq73")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Numba needs a writable dir to cache functions. + (add-before 'check 'set-numba-cache-dir + (lambda _ + (setenv "NUMBA_CACHE_DIR" "/tmp"))) + (replace 'check + (lambda _ + (invoke "pytest" "-v")))))) + (propagated-inputs + (list python-ctxcore + python-cytoolz + python-multiprocessing-on-dill + python-llvmlite + python-numba + python-attrs + python-frozendict + python-numpy + python-pandas + python-cloudpickle + python-dask + python-distributed + python-arboreto + python-boltons + python-setuptools + python-pyyaml + python-tqdm + python-interlap + python-umap-learn + python-loompy + python-networkx + python-scipy + python-fsspec + python-requests + python-aiohttp + python-scikit-learn)) + (native-inputs + (list python-pytest)) + (home-page "https://scenic.aertslab.org/") + (synopsis "Single-Cell regulatory network inference and clustering") + (description + "pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell +rEgulatory Network Inference and Clustering) which enables biologists to infer +transcription factors, gene regulatory networks and cell types from +single-cell RNA-seq data.") + (license license:gpl3+))) + (define-public vbz-compression (package (name "vbz-compression") -- cgit v1.2.3 From 3c7736f7456fb84a1917063b18cf5c41c935b4e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Jun 2022 17:57:34 +0300 Subject: gnu: polkit-qt: Update to 1-0.114.0. * gnu/packages/polkit.scm (polkit-qt): Update to 1-0.114.0. [source]: Update to new source URI. --- gnu/packages/polkit.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index d7a8909ab4..a75608cd43 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015, 2021-2022 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2022 Efraim Flashner ;;; Copyright © 2017 Huang Ying ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus @@ -195,15 +195,15 @@ (define-syntax polkit (define-public polkit-qt (package (name "polkit-qt") - (version "1-0.112.0") + (version "1-0.114.0") (source (origin (method url-fetch) (uri (string-append - "mirror://kde//stable/apps/KDE4.x/admin/" - "polkit-qt-" version ".tar.bz2")) + "mirror://kde/stable/polkit-qt-1/" + "polkit-qt-" version ".tar.xz")) (sha256 (base32 - "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7")))) + "0zlhwgkqn8g0rkjc7c5n7fbhyyl4jcv0rg5zlbzrb0l88ljg5c1f")))) (build-system cmake-build-system) (inputs (list polkit)) -- cgit v1.2.3 From ab82dd3f58d7dfd88511705e871e9a41d9185aba Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Jun 2022 19:25:08 +0300 Subject: gnu: llvm-9: Fix building on riscv64-linux. * gnu/packages/llvm.scm (llvm-12)[arguments]: Add a phase to update config.guess when config is one of the native-inputs. (llvm-10)[native-inputs]: Add config when building for riscv64-linux and the llvm version is less than 11. --- gnu/packages/llvm.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 7b197bb67b..32625385ff 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -54,6 +54,7 @@ (define-module (gnu packages llvm) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages gcc) #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker @@ -741,6 +742,14 @@ (define-public llvm-12 #:build-type "Release" #:phases (modify-phases %standard-phases + ,@(if (assoc "config" (package-native-inputs this-package)) + `((add-after 'unpack 'update-config + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((config.guess (search-input-file + (or inputs native-inputs) + "/bin/config.guess"))) + (copy-file config.guess "cmake/config.guess"))))) + '()) (add-before 'build 'shared-lib-workaround ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen ;; doesn't seem to get the correct rpath to be able to run @@ -825,7 +834,14 @@ (define-public llvm-10 (uri (llvm-uri "llvm" version)) (sha256 (base32 - "1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65")))))) + "1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65")))) + (native-inputs + `(("python" ,python-wrapper) + ("perl" ,perl) + ;; In llvm-11 riscv64 support was added manually to config.guess. + ,@(if (target-riscv64?) + `(("config" ,config)) + '()))))) (define-public clang-runtime-10 (clang-runtime-from-llvm -- cgit v1.2.3 From c8e393ffe23529ab27225cd2e48eedc2c2c3d0ca Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 16 Jun 2022 23:55:31 +0200 Subject: packages: Change the order of %SUPPORTED-SYSTEMS. Commit 2a34333d0c238fa0983659ea71f0e1af4ff0ac7b led to a couple of test failures in tests/packages.scm and tests/lint.scm due to the different ordering. * guix/packages.scm (%supported-systems): Move %64BIT-SUPPORTED-SYSTEMS first. --- guix/packages.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index 715a6397ed..94e464cd01 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -414,7 +414,7 @@ (define %64bit-supported-systems (define %supported-systems ;; This is the list of system types that are supported. By default, we ;; expect all packages to build successfully here. - (append %32bit-supported-systems %64bit-supported-systems)) + (append %64bit-supported-systems %32bit-supported-systems)) (define %hurd-systems ;; The GNU/Hurd systems for which support is being developed. -- cgit v1.2.3 From 4231031b69f141639ffd7056bfe7ddf60e7c534a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 16 Jun 2022 16:53:36 +0200 Subject: shell: Do not auto-detect manifest when '-p' is used. Previous, "guix shell -p /path/to/profile" would have manifest/guix.scm auto-detection turned on. * guix/scripts/shell.scm (auto-detect-manifest)[options-contain-payload?]: Return #t for 'profile. --- guix/scripts/shell.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 1a6df98829..84776af2f3 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -256,6 +256,7 @@ (define (options-contain-payload? opts) ((('package . _) . _) #t) ((('load . _) . _) #t) ((('manifest . _) . _) #t) + ((('profile . _) . _) #t) ((('expression . _) . _) #t) ((_ . rest) (options-contain-payload? rest)))) -- cgit v1.2.3 From 925a57c5d04553ff6c514867348e7d3c5c22ca66 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 16 Jun 2022 16:50:41 +0200 Subject: shell: Fix '--export-manifest' for cached profiles and when '-p' is used. Fixes . * guix/scripts/shell.scm (export-manifest): When computing 'manifest', honor the 'profile key. * tests/guix-shell-export-manifest.sh: Add test. --- guix/scripts/shell.scm | 2 ++ tests/guix-shell-export-manifest.sh | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 84776af2f3..004ed7af2e 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -466,6 +466,8 @@ (define (validated-spec spec) (filter-map (match-lambda (('manifest . file) (load-manifest file)) + (('profile . file) + (profile-manifest file)) (_ #f)) opts))))) (display (G_ "\ diff --git a/tests/guix-shell-export-manifest.sh b/tests/guix-shell-export-manifest.sh index 05429955b9..6c42c40f3b 100644 --- a/tests/guix-shell-export-manifest.sh +++ b/tests/guix-shell-export-manifest.sh @@ -46,6 +46,17 @@ cat "$manifest.second" cmp "$manifest" "$manifest.second" +# Manifest for a profile. +guix shell --bootstrap guile-bootstrap -r "$tmpdir/profile" -- \ + guile --version +test -x "$tmpdir/profile/bin/guile" +guix shell -p "$tmpdir/profile" --export-manifest > "$manifest.second" +guix shell --export-manifest guile-bootstrap > "$manifest" +cat "$manifest.second" +cmp "$manifest" "$manifest.second" + +rm "$tmpdir/profile" + # Combining manifests. guix shell --export-manifest -m "$manifest" gash gash-utils \ > "$manifest.second" -- cgit v1.2.3 From 9317cb3e9c6e65af6473818cadaee12f667a1783 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Tue, 7 Jun 2022 12:07:42 +0200 Subject: gnu: hcxtools: Use gexps. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (hcxtools)[arguments]: Link libraries and use PREFIX instead of INSTALL_DIR. [phases]: Use gexps. Signed-off-by: Ludovic Courtès --- gnu/packages/networking.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 07ee9d3ea0..1d092e6b96 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3289,16 +3289,19 @@ (define-public hcxtools (base32 "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn")) (file-name (git-file-name name version)))) (build-system gnu-build-system) - (inputs - (list curl libpcap openssl zlib)) + (native-inputs (list pkg-config)) + (inputs (list curl libpcap openssl zlib)) (arguments - `(#:make-flags - (list ,(string-append "CC=" (cc-for-target)) - (string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin")) - #:tests? #f ; no test suite - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list #:make-flags + #~(list (string-append "CC=" + #$(cc-for-target)) "LDFLAGS+=-lcrypto" + "LDFLAGS+=-lcurl" "LDFLAGS+=-lz" + (string-append "PREFIX=" + #$output)) + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (home-page "https://github.com/ZerBea/hcxtools") (synopsis "Capture wlan traffic to hashcat and John the Ripper") (description -- cgit v1.2.3 From a88de093fb22a6feb07aaeee7a7663a2aab6678f Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Tue, 7 Jun 2022 12:05:54 +0200 Subject: gnu: hcxtools: Update to 6.2.7. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (hcxtools): Update to 6.2.7. Signed-off-by: Ludovic Courtès --- 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 1d092e6b96..065a190321 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3278,7 +3278,7 @@ (define-public ubridge (define-public hcxtools (package (name "hcxtools") - (version "5.2.0") + (version "6.2.7") (source (origin (method git-fetch) @@ -3286,7 +3286,7 @@ (define-public hcxtools (url "https://github.com/ZerBea/hcxtools") (commit version))) (sha256 - (base32 "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn")) + (base32 "0460dxbc04w60l3g06rk007yyb6qprgyii59y2zdki0vy7q63m8b")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs (list pkg-config)) -- cgit v1.2.3 From c8803d89fe531a1ff0de8ccdbc77c86249d5e778 Mon Sep 17 00:00:00 2001 From: Taiju HIGASHI Date: Wed, 8 Jun 2022 18:50:28 +0900 Subject: ui: Improve pager selection logic when less is not installed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/ui.scm (find-available-pager): New procedure. (call-with-paginated-output-port): Use it. * guix/utils.scm (call-with-environment-variables): Allow clearing of specified environment variables. * tests/ui.scm (make-empty-file, assert-equals-find-available-pager): New procedures. ("find-available-pager, GUIX_PAGER takes precedence") ("find-available-pager, PAGER takes precedence") ("find-available-pager, 'less' takes precedence") ("find-available-pager, 'more' takes precedence") ("find-available-pager, no pager"): New tests. Co-authored-by: Ludovic Courtès --- guix/ui.scm | 14 +++++++++--- guix/utils.scm | 3 +++ tests/ui.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 3 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index cb68a07c6c..a7acd41440 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Arun Isaac ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2018 Steve Sprang +;;; Copyright © 2022 Taiju HIGASHI ;;; ;;; This file is part of GNU Guix. ;;; @@ -1672,11 +1673,18 @@ (define* (pager-wrapped-port #:optional (port (current-output-port))) (_ #f))) +(define (find-available-pager) + "Return the program name of an available pager or the empty string if none is +available." + (or (getenv "GUIX_PAGER") + (getenv "PAGER") + (which "less") + (which "more") + "")) + (define* (call-with-paginated-output-port proc #:key (less-options "FrX")) - (let ((pager-command-line (or (getenv "GUIX_PAGER") - (getenv "PAGER") - "less"))) + (let ((pager-command-line (find-available-pager))) ;; Setting PAGER to the empty string conventionally disables paging. (if (and (not (string-null? pager-command-line)) (isatty?* (current-output-port))) diff --git a/guix/utils.scm b/guix/utils.scm index 37b2e29800..5c36b15cfe 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2018 Steve Sprang +;;; Copyright © 2022 Taiju HIGASHI ;;; ;;; This file is part of GNU Guix. ;;; @@ -158,6 +159,8 @@ (define (call-with-environment-variables variables thunk) (dynamic-wind (lambda () (for-each (match-lambda + ((variable #false) + (unsetenv variable)) ((variable value) (setenv variable value))) variables)) diff --git a/tests/ui.scm b/tests/ui.scm index 3dc6952e1f..6a25a204ca 100644 --- a/tests/ui.scm +++ b/tests/ui.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès +;;; Copyright © 2022 Taiju HIGASHI ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (test-ui) #:use-module (guix derivations) #:use-module ((gnu packages) #:select (specification->package)) #:use-module (guix tests) + #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) @@ -292,4 +294,70 @@ (define guile-2.0.9 (>0 (package-relevance libb2 (map rx '("crypto" "library"))))))) +(define (make-empty-file directory file) + ;; Create FILE in DIRECTORY. + (close-port (open-output-file (in-vicinity directory file)))) + +(define (assert-equals-find-available-pager expected) + ;; Use 'with-paginated-output-port' and return true if it invoked EXPECTED. + (define used-command "") + (mock ((ice-9 popen) open-pipe* + (lambda (mode command . args) + (unless (string-null? used-command) + (error "open-pipe* should only be called once")) + (set! used-command command) + (%make-void-port ""))) + (mock ((ice-9 popen) close-pipe (const 'ok)) + (mock ((guix colors) isatty?* (const #t)) + (with-paginated-output-port port 'ok) + (string=? expected used-command))))) + + +(test-assert "find-available-pager, GUIX_PAGER takes precedence" + (call-with-temporary-directory + (lambda (dir) + (with-environment-variables `(("PATH" ,dir) + ("GUIX_PAGER" "guix-pager") + ("PAGER" "pager")) + (make-empty-file dir "less") + (make-empty-file dir "more") + (assert-equals-find-available-pager "guix-pager"))))) + +(test-assert "find-available-pager, PAGER takes precedence" + (call-with-temporary-directory + (lambda (dir) + (with-environment-variables `(("PATH" ,dir) + ("GUIX_PAGER" #false) + ("PAGER" "pager")) + (make-empty-file dir "less") + (make-empty-file dir "more") + (assert-equals-find-available-pager "pager"))))) + +(test-assert "find-available-pager, 'less' takes precedence" + (call-with-temporary-directory + (lambda (dir) + (with-environment-variables `(("PATH" ,dir) + ("GUIX_PAGER" #false) + ("PAGER" #false)) + (make-empty-file dir "less") + (make-empty-file dir "more") + (assert-equals-find-available-pager (in-vicinity dir "less")))))) + +(test-assert "find-available-pager, 'more' takes precedence" + (call-with-temporary-directory + (lambda (dir) + (with-environment-variables `(("PATH" ,dir) + ("GUIX_PAGER" #false) + ("PAGER" #false)) + (make-empty-file dir "more") + (assert-equals-find-available-pager (in-vicinity dir "more")))))) + +(test-assert "find-available-pager, no pager" + (call-with-temporary-directory + (lambda (dir) + (with-environment-variables `(("PATH" ,dir) + ("GUIX_PAGER" #false) + ("PAGER" #false)) + (assert-equals-find-available-pager ""))))) + (test-end "ui") -- cgit v1.2.3 From 1589debbd9f28e8af5b34cc41343a00ddfc88a7d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Jun 2022 21:58:34 -0400 Subject: gnu: ovmf: Use gexps. * gnu/packages/firmware.scm (edk2-commit, edk2-version) (edk2-origin): Delete variables. (ovmf)[source]: Define here; it's the only user of it so far. [native-inputs]: Move below arguments. [phases]: Use gexps. Delete trailing #t. {patch-source}: New phase. {configure}: Use 'invoke' to execute the 'edksetup.sh' script; delete associated FIXME comment. (ovmf-aarch64, ovmf-arm): Adjust accordingly. --- gnu/packages/firmware.scm | 270 ++++++++++++++++++++++------------------------ 1 file changed, 131 insertions(+), 139 deletions(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index b63ad63749..291696b5c8 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020, 2021, 2022 Marius Bakke ;;; Copyright © 2021 Petr Hodina +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -366,131 +367,125 @@ (define-public seabios ;; cpl with a linking exception. license:cpl1.0)))) -;; OVMF is part of the edk2 source tree. -(define edk2-commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f") -(define edk2-version (git-version "20170116" "1" edk2-commit)) -(define edk2-origin - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tianocore/edk2") - (commit edk2-commit))) - (file-name (git-file-name "edk2" edk2-version)) - (sha256 - (base32 - "1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b")))) - (define-public ovmf - (package - (name "ovmf") - (version edk2-version) - (source edk2-origin) - (build-system gnu-build-system) - (native-inputs - `(("acpica" ,acpica) - ("gcc@5" ,gcc-5) - ("nasm" ,nasm) - ("python-2" ,python-2) - ("util-linux" ,util-linux "lib"))) - (arguments - `(#:tests? #f ; No check target. - #:phases - (modify-phases %standard-phases - ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from - ;; shadowing the version of GCC provided in native-inputs. - (add-after 'set-paths 'hide-gcc7 - (lambda* (#:key inputs #:allow-other-keys) - (let ((gcc (assoc-ref inputs "gcc"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-join - (delete (string-append gcc "/include/c++") - (string-split (getenv "CPLUS_INCLUDE_PATH") - #\:)) - ":")) - #t))) - (replace 'configure - (lambda _ - (let* ((cwd (getcwd)) - (tools (string-append cwd "/BaseTools")) - (bin (string-append tools "/BinWrappers/PosixLike"))) - (setenv "WORKSPACE" cwd) - (setenv "EDK_TOOLS_PATH" tools) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - ; FIXME: The below script errors out. When using 'invoke' instead - ; of 'system*' this causes the build to fail. - (system* "bash" "edksetup.sh") - (substitute* "Conf/target.txt" - (("^TARGET[ ]*=.*$") "TARGET = RELEASE\n") - (("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$") - (format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%" - (number->string (parallel-job-count))))) - ;; Build build support. - (setenv "BUILD_CC" "gcc") - (invoke "make" "-C" tools) - #t))) - (replace 'build - (lambda _ - (invoke "build" "-a" "IA32" "-t" "GCC49" - "-p" "OvmfPkg/OvmfPkgIa32.dsc"))) - ,@(if (string=? "x86_64-linux" (%current-system)) - '((add-after 'build 'build-x64 - (lambda _ - (invoke "build" "-a" "X64" "-t" "GCC49" - "-p" "OvmfPkg/OvmfPkgX64.dsc")))) - '()) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fmw (string-append out "/share/firmware"))) - (mkdir-p fmw) - (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd" - (string-append fmw "/ovmf_ia32.bin")) - ,@(if (string=? "x86_64-linux" (%current-system)) - '((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd" - (string-append fmw "/ovmf_x64.bin"))) - '())) - #t))))) - (supported-systems '("x86_64-linux" "i686-linux")) - (home-page "https://www.tianocore.org") - (synopsis "UEFI firmware for QEMU") - (description "OVMF is an EDK II based project to enable UEFI support for + (let ((commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f") + (revision "1")) + (package + (name "ovmf") + (version (git-version "20170116" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + ;; OVMF is part of the edk2 source tree. + (url "https://github.com/tianocore/edk2") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; No check target. + #:phases + #~(modify-phases %standard-phases + ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from + ;; shadowing the version of GCC provided in native-inputs. + (add-after 'set-paths 'hide-implicit-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":"))))) + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "edksetup.sh" + (("^return \\$\\?") + "exit $?")))) + (replace 'configure + (lambda _ + (let* ((cwd (getcwd)) + (tools (string-append cwd "/BaseTools")) + (bin (string-append tools "/BinWrappers/PosixLike"))) + (setenv "WORKSPACE" cwd) + (setenv "EDK_TOOLS_PATH" tools) + (setenv "PATH" (string-append (getenv "PATH") ":" bin)) + (invoke "bash" "edksetup.sh") + (substitute* "Conf/target.txt" + (("^TARGET[ ]*=.*$") "TARGET = RELEASE\n") + (("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$") + (format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%" + (number->string (parallel-job-count))))) + ;; Build build support. + (setenv "BUILD_CC" "gcc") + (invoke "make" "-C" tools)))) + (replace 'build + (lambda _ + (invoke "build" "-a" "IA32" "-t" "GCC49" + "-p" "OvmfPkg/OvmfPkgIa32.dsc"))) + #$@(if (string=? "x86_64-linux" (%current-system)) + #~((add-after 'build 'build-x64 + (lambda _ + (invoke "build" "-a" "X64" "-t" "GCC49" + "-p" "OvmfPkg/OvmfPkgX64.dsc")))) + #~()) + (replace 'install + (lambda _ + (let ((fmw (string-append #$output "/share/firmware"))) + (mkdir-p fmw) + (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd" + (string-append fmw "/ovmf_ia32.bin")) + #$@(if (string=? "x86_64-linux" (%current-system)) + '((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd" + (string-append fmw "/ovmf_x64.bin"))) + '()))))))) + (native-inputs + `(("acpica" ,acpica) + ("gcc@5" ,gcc-5) + ("nasm" ,nasm) + ("python-2" ,python-2) + ("util-linux" ,util-linux "lib"))) + (supported-systems '("x86_64-linux" "i686-linux")) + (home-page "https://www.tianocore.org") + (synopsis "UEFI firmware for QEMU") + (description "OVMF is an EDK II based project to enable UEFI support for Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") - (license (list license:expat - license:bsd-2 license:bsd-3 license:bsd-4)))) + (license (list license:expat + license:bsd-2 license:bsd-3 license:bsd-4))))) (define-public ovmf-aarch64 (package (inherit ovmf) (name "ovmf-aarch64") (native-inputs - `(,@(package-native-inputs ovmf) - ,@(if (not (string-prefix? "aarch64" (%current-system))) - `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu")) - ("cross-binutils" ,(cross-binutils "aarch64-linux-gnu"))) - '()))) + (append (package-native-inputs ovmf) + (if (not (string-prefix? "aarch64" (%current-system))) + `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu")) + ("cross-binutils" ,(cross-binutils "aarch64-linux-gnu"))) + '()))) (arguments (substitute-keyword-arguments (package-arguments ovmf) ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'set-env - (lambda _ - ,@(if (not (string-prefix? "aarch64" (%current-system))) - `((setenv "GCC49_AARCH64_PREFIX" "aarch64-linux-gnu-")) - '()) - #t)) - (replace 'build - (lambda _ - (invoke "build" "-a" "AARCH64" "-t" "GCC49" - "-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) - (delete 'build-x64) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fmw (string-append out "/share/firmware"))) - (mkdir-p fmw) - (copy-file "Build/ArmVirtQemu-AARCH64/RELEASE_GCC49/FV/QEMU_EFI.fd" - (string-append fmw "/ovmf_aarch64.bin")) - #t))))))) + #~(modify-phases #$phases + (add-before 'configure 'set-env + (lambda _ + #$@(if (not (string-prefix? "aarch64" (%current-system))) + #~((setenv "GCC49_AARCH64_PREFIX" "aarch64-linux-gnu-")) + #~()))) + (replace 'build + (lambda _ + (invoke "build" "-a" "AARCH64" "-t" "GCC49" + "-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) + (delete 'build-x64) + (replace 'install + (lambda _ + (let ((fmw (string-append #$output "/share/firmware"))) + (mkdir-p fmw) + (copy-file "Build/ArmVirtQemu-AARCH64/RELEASE_GCC49/FV/QEMU_EFI.fd" + (string-append fmw "/ovmf_aarch64.bin"))))))))) (supported-systems %supported-systems))) (define-public ovmf-arm @@ -498,34 +493,31 @@ (define-public ovmf-arm (inherit ovmf) (name "ovmf-arm") (native-inputs - `(,@(package-native-inputs ovmf) - ,@(if (not (string-prefix? "armhf" (%current-system))) - `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf")) - ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) - '()))) + (append (package-native-inputs ovmf) + (if (not (string-prefix? "armhf" (%current-system))) + `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf")) + ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) + '()))) (arguments (substitute-keyword-arguments (package-arguments ovmf) ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'set-env - (lambda _ - ,@(if (not (string-prefix? "armhf" (%current-system))) - `((setenv "GCC49_ARM_PREFIX" "arm-linux-gnueabihf-")) - '()) - #t)) - (replace 'build - (lambda _ - (invoke "build" "-a" "ARM" "-t" "GCC49" - "-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) - (delete 'build-x64) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fmw (string-append out "/share/firmware"))) - (mkdir-p fmw) - (copy-file "Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd" - (string-append fmw "/ovmf_arm.bin")) - #t))))))) + #~(modify-phases #$phases + (add-before 'configure 'set-env + (lambda _ + #$@(if (not (string-prefix? "armhf" (%current-system))) + #~((setenv "GCC49_ARM_PREFIX" "arm-linux-gnueabihf-")) + #~()))) + (replace 'build + (lambda _ + (invoke "build" "-a" "ARM" "-t" "GCC49" + "-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) + (delete 'build-x64) + (replace 'install + (lambda _ + (let ((fmw (string-append #$output "/share/firmware"))) + (mkdir-p fmw) + (copy-file "Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd" + (string-append fmw "/ovmf_arm.bin"))))))))) (supported-systems %supported-systems))) (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) -- cgit v1.2.3 From ec7a75034421654d2ece2ba20033b44d345547f0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Jun 2022 11:20:00 -0400 Subject: doc: Remove obsolete comment from htmlxref.cnf. This is follow up to . * doc/htmlxref.cnf (geiser): Delete obsolete comment. --- doc/htmlxref.cnf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/htmlxref.cnf b/doc/htmlxref.cnf index 7c780c7a4a..ca99df81bb 100644 --- a/doc/htmlxref.cnf +++ b/doc/htmlxref.cnf @@ -1,7 +1,7 @@ # htmlxref.cnf - reference file for free Texinfo manuals on the web. # Modified by Ludovic Courtès for the GNU Guix manual. -htmlxrefversion=2022-04-08.17; # UTC +htmlxrefversion=2022-06-16.15; # UTC # Copyright 2010-2020, 2022 Free Software Foundation, Inc. # @@ -291,8 +291,6 @@ gdbm chapter ${GDBM}/html_chapter/ gdbm section ${GDBM}/html_section/ gdbm node ${GDBM}/html_node/ -# XXX: These are actually pages created by texi2html, so no quite following -# the expected naming scheme. geiser chapter http://geiser.nongnu.org/ gettext mono ${GS}/gettext/manual/gettext.html -- cgit v1.2.3 From bf9c98b11d6348df099a9603ab4f2444d69bce2f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Jun 2022 21:26:16 -0400 Subject: gnu: dropbear: Update to 2022.82. * gnu/packages/ssh.scm (dropbear): Update to 2022.82. [source]: Delete origin snippet's trailing #t. [arguments]: Use gexps. [tests?]: Update comment. --- gnu/packages/ssh.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index ab537b56d1..f5db7fa7d5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Oleg Pykhalov -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2021 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. @@ -508,7 +508,7 @@ (define-public mosh (define-public dropbear (package (name "dropbear") - (version "2020.81") + (version "2022.82") (source (origin (method url-fetch) @@ -516,21 +516,22 @@ (define-public dropbear "https://matt.ucc.asn.au/dropbear/releases/" "dropbear-" version ".tar.bz2")) (sha256 - (base32 "0fy5ma4cfc2pk25mcccc67b2mf1rnb2c06ilb7ddnxbpnc85s8s8")) + (base32 "1lbmmmm8f56p24c6jq74rg2kw6kl3w4i5h10vnxjigq2phmqs0rs")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "libtommath") (delete-file-recursively "libtomcrypt") (substitute* "configure" - (("-ltomcrypt") "-ltomcrypt -ltommath")) - #t)))) + (("-ltomcrypt") "-ltomcrypt -ltommath")))))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-bundled-libtom") - #:tests? #f)) ; there is no "make check" or anything similar - (inputs - (list libtomcrypt libtommath zlib)) + (list + #:configure-flags #~(list "--disable-bundled-libtom") + ;; The test suite runs an instance of dropbear, which requires a + ;; resolver ("Error resolving: Servname not supported for ai_socktype"). + #:tests? #f)) + (inputs (list libtomcrypt libtommath zlib)) (synopsis "Small SSH server and client") (description "Dropbear is a relatively small SSH server and client. It runs on a variety of POSIX-based platforms. Dropbear is -- cgit v1.2.3 From 6fc33d91ba6b07beae8a9a38a5b768511bb79ced Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Jun 2022 16:32:49 -0400 Subject: gnu: dropbear: Build with X11 forwarding support. * gnu/packages/ssh.scm (dropbear)[phases] {enable-x11-forwarding}: New phase. --- gnu/packages/ssh.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index f5db7fa7d5..aa540c1012 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -530,7 +530,19 @@ (define-public dropbear #:configure-flags #~(list "--disable-bundled-libtom") ;; The test suite runs an instance of dropbear, which requires a ;; resolver ("Error resolving: Servname not supported for ai_socktype"). - #:tests? #f)) + #:tests? #f + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'enable-x11-forwarding + (lambda _ + ;; The following patch was retrieved from: + ;; https://github.com/mkj/dropbear/commit/ + ;; 0292aacdf0aa57d03f2a3ab7e53cf650e6f29389. + (substitute* "svr-x11fwd.c" + (("DROPBEAR_CHANNEL_PRIO_INTERACTIVE") + "DROPBEAR_PRIO_LOWDELAY")) + (substitute* "default_options.h" + (("#define DROPBEAR_X11FWD 0") + "#define DROPBEAR_X11FWD 1"))))))) (inputs (list libtomcrypt libtommath zlib)) (synopsis "Small SSH server and client") (description "Dropbear is a relatively small SSH server and -- cgit v1.2.3 From 7f7a075c3debc92168db7dbdf9a2a1ef3156b0ea Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:35 +0300 Subject: gnu: crates-io: Add rust-enquote 1.1.0. * gnu/packages/crates-io.scm (rust-enquote-1): New variable Signed-off-by: Lars-Dominik Braun --- gnu/packages/crates-io.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 452a22f0f2..9be9479e06 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2021 Antero Mejr ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2021 muradm ;;; Copyright © 2021, 2022 Petr Hodina ;;; Copyright © 2021, 2022 Ricardo Wurmus ;;; Copyright © 2021 Jacob Hrbek @@ -73053,3 +73054,20 @@ (define-public rust-shell2batch-0.4 and automatically convert it to a windows batch file, this library provides a way to convert simple shell commands to windows batch commands.") (license license:asl2.0))) + +(define-public rust-enquote-1 + (package + (name "rust-enquote") + (version "1.1.0") + (home-page "https://github.com/reujab/enquote") + (source (origin + (method url-fetch) + (uri (crate-uri "enquote" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0clrjghlfkkb7sndabs5wch0fz2nif6nj4b117s8kqxx3nqnrhq6")))) + (build-system cargo-build-system) + (synopsis "Rust library that quotes, unquotes, and unescapes strings") + (description "A Rust library quotes, unquotes, and unescapes strings") + (license license:unlicense))) -- cgit v1.2.3 From 7943f9f170f099b3cae78cc897d4ac68649d03ee Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:36 +0300 Subject: gnu: crates-io: Add rust-pam-sys 0.5.6. * gnu/packages/crates-io.scm (rust-pam-sys-0.5): New variable Signed-off-by: Lars-Dominik Braun --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9be9479e06..2b05683028 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -73071,3 +73071,25 @@ (define-public rust-enquote-1 (synopsis "Rust library that quotes, unquotes, and unescapes strings") (description "A Rust library quotes, unquotes, and unescapes strings") (license license:unlicense))) + +(define-public rust-pam-sys-0.5 + (package + (name "rust-pam-sys") + (version "0.5.6") + (home-page "https://github.com/1wilkens/pam-sys") + (source (origin + (method url-fetch) + (uri (crate-uri "pam-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (inputs `(("linux-pam" ,linux-pam))) + (synopsis + "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)") + (description + "This crate uses bindgen to generate the raw FFI definitions for PAM. For a rustified API consider using pam.") + (license (list license:expat license:asl2.0)))) -- cgit v1.2.3 From c08d56a161d1308e7c021acec3a57c3f559137de Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:37 +0300 Subject: gnu: admin: Add greetd 0.8.0. * gnu/packages/admin.scm (greetd): New variable Signed-off-by: Lars-Dominik Braun --- gnu/packages/admin.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index f08f389762..24b141dccf 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2021 muradm ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2021 Artyom V. Poptsov ;;; Copyright © 2022 Wamm K. D. @@ -66,6 +67,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages admin) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system glib-or-gtk) @@ -93,6 +95,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) #:use-module (gnu packages cross-base) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) @@ -5058,4 +5061,78 @@ (define-public udpcast (home-page "https://www.udpcast.linux.lu") (license license:gpl2+))) +(define-public greetd + (package + (name "greetd") + (version "0.8.0") + (home-page "https://git.sr.ht/~kennylevinsen/greetd") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x5c3jkw09kvj2grcxm899y2n6ws8p990cyp9cs0fy6lm4fzlh6v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.19) + ("rust-pam-sys" ,rust-pam-sys-0.5) + ("rust-rpassword" ,rust-rpassword-5) + ("rust-users" ,rust-users-0.11) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-getopts" ,rust-getopts-0.2) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-async-trait" ,rust-async-trait-0.1) + ("rust-enquote" ,rust-enquote-1)) + #:phases + (modify-phases %standard-phases + (delete 'package) + (add-after 'build 'build-man-pages + (lambda* (#:key inputs #:allow-other-keys) + (define (scdoc-cmd doc lvl) + (system (string-append "scdoc < " + doc "-" lvl ".scd > " + doc "." lvl))) + (with-directory-excursion "man" + (scdoc-cmd "greetd" "1") + (scdoc-cmd "greetd" "5") + (scdoc-cmd "greetd-ipc" "7") + (scdoc-cmd "agreety" "1")))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sbin (string-append out "/sbin")) + (share (string-append out "/share")) + (man (string-append share "/man")) + (man1 (string-append man "/man1")) + (man5 (string-append man "/man5")) + (man7 (string-append man "/man7")) + (release "target/release") + (greetd-bin (string-append release "/greetd")) + (agreety-bin (string-append release "/agreety"))) + (install-file greetd-bin sbin) + (install-file agreety-bin bin) + (with-directory-excursion "man" + (install-file "greetd.1" man1) + (install-file "greetd.5" man5) + (install-file "greetd-ipc.7" man7) + (install-file "agreety.1" man1)))))))) + (native-inputs + `(("linux-pam" ,linux-pam) + ("scdoc" ,scdoc))) + (synopsis "minimal and flexible login manager daemon") + (description + "greetd is a minimal and flexible login manager daemon +that makes no assumptions about what you want to launch. +If you can run it from your shell in a TTY, greetd can start it. + +If it can be taught to speak a simple JSON-based IPC protocol, +then it can be a greeter.") + (license license:gpl3+))) -- cgit v1.2.3 From 32ca068cb9f98698bd1c29b980ecd4ae36caf795 Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:38 +0300 Subject: gnu: admin: Add greetd-pam-mount. * gnu/packages/admin.scm (greetd-pam-mount): New variable Signed-off-by: Lars-Dominik Braun --- gnu/packages/admin.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 24b141dccf..d432ec3091 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -5136,3 +5136,35 @@ (define (scdoc-cmd doc lvl) If it can be taught to speak a simple JSON-based IPC protocol, then it can be a greeter.") (license license:gpl3+))) + +(define-public greetd-pam-mount + (package + (inherit pam-mount) + (name "greetd-pam-mount") + (arguments + (substitute-keyword-arguments (package-arguments pam-mount) + ((#:configure-flags flags ''()) + #~(cons* "--with-rundir=/run/greetd" #$flags)) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'patch-config-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/pam_mount.c" + ((".*define CONFIGFILE .*$") + "#define CONFIGFILE \"/etc/security/greetd_pam_mount.conf.xml\"\n") + (("pam_mount_config") "greetd_pam_mount_config") + (("pam_mount_system_authtok") "greetd_pam_mount_system_authtok")))))))) + (synopsis "pam-mount specifically compiled for use with greetd") + (description + "Pam-mount is a PAM module that can mount volumes when a user logs in. +It supports mounting local filesystems of any kind the normal mount utility +supports. It can also mount encrypted LUKS volumes using the password +supplied by the user when logging in. + +This package inherits pam-mount in the way that it is compiled specifically +for use with greetd daemon. It uses different configuration location and +name space for storing data in PAM. + +greetd-pam-mount is used in configuration of greetd to provide +auto-(mounting/unmounting) of XDG_RUNTIME_DIR in the way that it will not +interfere with default pam-mount configuration."))) -- cgit v1.2.3 From 530e0f02606a0e04818bdd792bb5239f7ee9e637 Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:39 +0300 Subject: gnu: base: Add greetd-service-type. * gnu/services/base.scm (greetd-service-type): New variable * gnu/services/base.scm (greetd-configuration): New data type * gnu/services/base.scm (greetd-terminal-configuration): New data type * gnu/services/base.scm (greetd-agreety-session): New data type * gnu/services/base.scm (pam-limits-service-type): Should be aware of greetd PAM service * gnu/services/pam-mount.scm (pam-mount-pam-service): Should be aware of greetd PAM service Signed-off-by: Lars-Dominik Braun --- doc/guix.texi | 137 ++++++++++++++++++++++++++++ gnu/services/base.scm | 223 ++++++++++++++++++++++++++++++++++++++++++++- gnu/services/pam-mount.scm | 2 +- 3 files changed, 360 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index bd659d7036..d149732c19 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -97,6 +97,7 @@ Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021, 2022 Josselin Poiret@* +Copyright @copyright{} 2021 muradm@* Copyright @copyright{} 2021 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* @@ -18227,6 +18228,142 @@ about the Pluggable Authentication Module (PAM) limits, refer to the @samp{pam_limits} man page from the @code{linux-pam} package. @end deffn +@defvr {Scheme Variable} greetd-service-type +@uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and +flexible login manager daemon, that makes no assumptions about what you +want to launch. + +If you can run it from your shell in a TTY, greetd can start it. If it +can be taught to speak a simple JSON-based IPC protocol, then it can be +a geeter. + +@code{greetd-service-type} provides necessary infrastructure for logging +in users, including: + +@itemize @bullet +@item +@code{greetd} PAM service + +@item +Special variation of @code{pam-mount} to mount @code{XDG_RUNTIME_DIR} +@end itemize + +Here is example of switching from @code{mingetty-service-type} to +@code{greetd-service-type}, and how different terminals could be: + +@lisp + (append + (modify-services %base-services + ;; greetd-service-type provides "greetd" PAM service + (delete login-service-type) + ;; and can be used in place of mingetty-service-type + (delete mingetty-service-type)) + (list + (service greetd-service-type + (greetd-configuration + (terminals + (list + ;; we can make any terminal active by default + (greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t)) + ;; we can make environment without XDG_RUNTIME_DIR set + ;; even provide our own environment variables + (greetd-terminal-configuration + (terminal-vt "2") + (default-session-command + (greetd-agreety-session + (extra-env '(("MY_VAR" . "1"))) + (xdg-env? #f)))) + ;; we can use different shell instead of default bash + (greetd-terminal-configuration + (terminal-vt "3") + (default-session-command + (greetd-agreety-session (command (file-append zsh "/bin/zsh"))))) + ;; we can use any other executable command as greeter + (greetd-terminal-configuration + (terminal-vt "4") + (default-session-command (program-file "my-noop-greeter" #~(exit)))) + (greetd-terminal-configuration (terminal-vt "5")) + (greetd-terminal-configuration (terminal-vt "6")))))) + ;; mingetty-service-type can be used in parallel + ;; if needed to do so, do not (delete login-service-type) + ;; as illustrated above + #| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#)) +@end lisp +@end defvr + +@deftp {Data Type} greetd-configuration +Configuration record for the @code{greetd-service-type}. +@table @asis + +@item @code{motd} +A file-like object containing the ``message of the day''. + +@item @code{allow-empty-passwords?} (default: @code{#t}) +Allow empty passwords by default so that first-time users can log in when +the 'root' account has just been created. + +@item @code{terminals} (default: @code{'()}) +List of @code{greetd-terminal-configuration} per terminal for which +@code{greetd} should be started. +@end table +@end deftp + +@deftp {Data Type} greetd-terminal-configuration +Configuration record for per terminal greetd daemon service. + +@table @asis +@item @code{greetd} (default: @code{greetd}) +The greetd package to use. + +@item @code{config-file-name} +Configuration file name to use for greetd daemon. Generally, autogenerated +derivation based on @code{terminal-vt} value. + +@item @code{log-file-name} +Log file name to use for greetd daemon. Generally, autogenerated +name based on @code{terminal-vt} value. + +@item @code{terminal-vt} (default: @samp{"7"}) +The VT to run on. Use of a specific VT with appropriate conflict avoidance +is recommended. + +@item @code{terminal-switch} (default: @code{#f}) +Make this terminal active on start of @code{greetd}. + +@item @code{default-session-user} (default: @samp{"greeter"}) +The user to use for running the greeter. + +@item @code{default-session-command} (default: @code{(greetd-agreety-session)}) +Can be either instance of @code{greetd-agreety-session} configuration or +@code{gexp->script} like object to use as greeter. + +@end table +@end deftp + +@deftp {Data Type} greetd-agreety-session +Configuration record for the agreety greetd greeter. + +@table @asis +@item @code{agreety} (default: @code{greetd}) +The package with @command{/bin/agreety} command. + +@item @code{command} (default: @code{(file-append bash "/bin/bash")}) +Command to be started by @command{/bin/agreety} on successful login. + +@item @code{command-args} (default: @code{'("-l")}) +Command arguments to pass to command. + +@item @code{extra-env} (default: @code{'()}) +Extra environment variables to set on login. + +@item @code{xdg-env?} (default: @code{#t}) +If true @code{XDG_RUNTIME_DIR} and @code{XDG_SESSION_TYPE} will be set +before starting command. One should note that, @code{extra-env} variables +are set right after mentioned variables, so that they can be overriden. + +@end table +@end deftp + @node Scheduled Job Execution @subsection Scheduled Job Execution diff --git a/gnu/services/base.scm b/gnu/services/base.scm index ebbe4e128d..d58afb27e3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2021 qblade ;;; Copyright © 2021 Hui Lu ;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021 muradm ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Justin Veilleux ;;; @@ -226,6 +227,11 @@ (define-module (gnu services base) pam-limits-service-type pam-limits-service + greetd-service-type + greetd-configuration + greetd-terminal-configuration + greetd-agreety-session + %base-services)) ;;; Commentary: @@ -1446,7 +1452,7 @@ (define pam-limits-service-type (module "pam_limits.so") (arguments '("conf=/etc/security/limits.conf"))))) (if (member (pam-service-name pam) - '("login" "su" "slim" "gdm-password" "sddm" + '("login" "greetd" "su" "slim" "gdm-password" "sddm" "sudo" "sshd")) (pam-service (inherit pam) @@ -2806,6 +2812,221 @@ (define %qemu-static-networking (provision '(networking)) (name-servers '("10.0.2.3")))) + +;;; +;;; greetd-service-type -- minimal and flexible login manager daemon +;;; + +(define-record-type* + greetd-agreety-session make-greetd-agreety-session + greetd-agreety-session? + (agreety greetd-agreety (default greetd)) + (command greetd-agreety-command (default (file-append bash "/bin/bash"))) + (command-args greetd-agreety-command-args (default '("-l"))) + (extra-env greetd-agreety-extra-env (default '())) + (xdg-env? greetd-agreety-xdg-env? (default #t))) + +(define greetd-agreety-tty-session-command + (match-lambda + (($ _ command args extra-env) + (program-file + "agreety-tty-session-command" + #~(begin + (use-modules (ice-9 match)) + (for-each (match-lambda ((var . val) (setenv var val))) + (quote (#$@extra-env))) + (apply execl #$command #$command (list #$@args))))))) + +(define greetd-agreety-tty-xdg-session-command + (match-lambda + (($ _ command args extra-env) + (program-file + "agreety-tty-xdg-session-command" + #~(begin + (use-modules (ice-9 match)) + (let* + ((username (getenv "USER")) + (useruid (passwd:uid (getpwuid username))) + (useruid (number->string useruid))) + (setenv "XDG_SESSION_TYPE" "tty") + (setenv "XDG_RUNTIME_DIR" (string-append "/run/user/" useruid))) + (for-each (match-lambda ((var . val) (setenv var val))) + (quote (#$@extra-env))) + (apply execl #$command #$command (list #$@args))))))) + +(define (make-greetd-agreety-session-command config command) + (let ((agreety (file-append (greetd-agreety config) "/bin/agreety"))) + (program-file + "agreety-command" + #~(execl #$agreety #$agreety "-c" #$command)))) + +(define (make-greetd-default-session-command config-or-command) + (cond ((greetd-agreety-session? config-or-command) + (cond ((greetd-agreety-xdg-env? config-or-command) + (make-greetd-agreety-session-command + config-or-command + (greetd-agreety-tty-xdg-session-command config-or-command))) + (#t + (make-greetd-agreety-session-command + config-or-command + (greetd-agreety-tty-session-command config-or-command))))) + (#t config-or-command))) + +(define-record-type* + greetd-terminal-configuration make-greetd-terminal-configuration + greetd-terminal-configuration? + (greetd greetd-package (default greetd)) + (config-file-name greetd-config-file-name (thunked) + (default (default-config-file-name this-record))) + (log-file-name greetd-log-file-name (thunked) + (default (default-log-file-name this-record))) + (terminal-vt greetd-terminal-vt (default "7")) + (terminal-switch greetd-terminal-switch (default #f)) + (default-session-user greetd-default-session-user (default "greeter")) + (default-session-command greetd-default-session-command + (default (greetd-agreety-session)) + (sanitize make-greetd-default-session-command))) + +(define (default-config-file-name config) + (string-join (list "config-" (greetd-terminal-vt config) ".toml") "")) + +(define (default-log-file-name config) + (string-join (list "/var/log/greetd-" (greetd-terminal-vt config) ".log") "")) + +(define (make-greetd-terminal-configuration-file config) + (let* + ((config-file-name (greetd-config-file-name config)) + (terminal-vt (greetd-terminal-vt config)) + (terminal-switch (greetd-terminal-switch config)) + (default-session-user (greetd-default-session-user config)) + (default-session-command (greetd-default-session-command config))) + (mixed-text-file + config-file-name + "[terminal]\n" + "vt = " terminal-vt "\n" + "switch = " (if terminal-switch "true" "false") "\n" + "[default_session]\n" + "user = " default-session-user "\n" + "command = " default-session-command "\n"))) + +(define %greetd-accounts + (list (user-account + (name "greeter") + (group "wheel") + (supplementary-groups '("users" "tty" "input" "video" "audio")) + (system? #t)))) + +(define %greetd-file-systems + (list (file-system + (device "none") + (mount-point "/run/greetd/pam_mount") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev no-exec)) + (options "mode=0755") + (create-mount-point? #t)))) + +(define %greetd-pam-mount-rules + `((debug (@ (enable "0"))) + (volume (@ (sgrp "users") + (fstype "tmpfs") + (mountpoint "/run/user/%(USERUID)") + (options "noexec,nosuid,nodev,size=1g,mode=0700,uid=%(USERUID),gid=%(USERGID)"))) + (logout (@ (wait "0") + (hup "0") + (term "yes") + (kill "no"))) + (mkmountpoint (@ (enable "1") (remove "true"))))) + +(define-record-type* + greetd-configuration make-greetd-configuration + greetd-configuration? + (motd greetd-motd (default %default-motd)) + (allow-empty-passwords? greetd-allow-empty-passwords? (default #t)) + (terminals greetd-terminals (default '()))) + +(define (make-greetd-pam-mount-conf-file config) + (computed-file + "greetd_pam_mount.conf.xml" + #~(begin + (use-modules (sxml simple)) + (call-with-output-file #$output + (lambda (port) + (sxml->xml + '(*TOP* + (*PI* xml "version='1.0' encoding='utf-8'") + (pam_mount + #$@%greetd-pam-mount-rules + (pmvarrun + #$(file-append greetd-pam-mount + "/sbin/pmvarrun -u '%(USER)' -o '%(OPERATION)'")))) + port)))))) + +(define (greetd-etc-service config) + `(("security/greetd_pam_mount.conf.xml" + ,(make-greetd-pam-mount-conf-file config)))) + +(define (greetd-pam-service config) + (define optional-pam-mount + (pam-entry + (control "optional") + (module #~(string-append #$greetd-pam-mount "/lib/security/pam_mount.so")) + (arguments '("disable_interactive")))) + + (list + (unix-pam-service "greetd" + #:login-uid? #t + #:allow-empty-passwords? + (greetd-allow-empty-passwords? config) + #:motd + (greetd-motd config)) + (lambda (pam) + (if (member (pam-service-name pam) + '("login" "greetd" "su" "slim" "gdm-password")) + (pam-service + (inherit pam) + (auth (append (pam-service-auth pam) + (list optional-pam-mount))) + (session (append (pam-service-session pam) + (list optional-pam-mount)))) + pam)))) + +(define (greetd-shepherd-services config) + (map + (lambda (tc) + (let* + ((greetd-bin (file-append (greetd-package tc) "/sbin/greetd")) + (greetd-conf (make-greetd-terminal-configuration-file tc)) + (greetd-log (greetd-log-file-name tc)) + (greetd-vt (greetd-terminal-vt tc))) + (shepherd-service + (documentation "Minimal and flexible login manager daemon") + (requirement '(user-processes host-name udev virtual-terminal)) + (provision (list (symbol-append + 'term-tty + (string->symbol (greetd-terminal-vt tc))))) + (start #~(make-forkexec-constructor + (list #$greetd-bin "-c" #$greetd-conf) + #:log-file #$greetd-log)) + (stop #~(make-kill-destructor))))) + (greetd-terminals config))) + +(define greetd-service-type + (service-type + (name 'greetd) + (description "Provides necessary infrastructure for logging into the +system including @code{greetd} PAM service, @code{pam-mount} module to +mount/unmount /run/user/ directory for user and @code{greetd} +login manager daemon.") + (extensions + (list + (service-extension account-service-type (const %greetd-accounts)) + (service-extension file-system-service-type (const %greetd-file-systems)) + (service-extension etc-service-type greetd-etc-service) + (service-extension pam-root-service-type greetd-pam-service) + (service-extension shepherd-root-service-type greetd-shepherd-services))) + (default-value (greetd-configuration)))) + (define %base-services ;; Convenience variable holding the basic services. diff --git a/gnu/services/pam-mount.scm b/gnu/services/pam-mount.scm index 33649b0f7c..e60781d05b 100644 --- a/gnu/services/pam-mount.scm +++ b/gnu/services/pam-mount.scm @@ -90,7 +90,7 @@ (define optional-pam-mount (module #~(string-append #$pam-mount "/lib/security/pam_mount.so")))) (list (lambda (pam) (if (member (pam-service-name pam) - '("login" "su" "slim" "gdm-password" "sddm")) + '("login" "greetd" "su" "slim" "gdm-password" "sddm")) (pam-service (inherit pam) (auth (append (pam-service-auth pam) -- cgit v1.2.3 From 167b8f29b3679a23bb20f5ed4181738c389d9d89 Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:40 +0300 Subject: gnu: admin: Add libseat 0.8.0 and move seatd. * gnu/packages/admin.scm (libseat): New variable * gnu/packages/admin.scm (seatd): New variable * gnu/packages/freedesktop.scm (seatd): Remove variable * gnu/packages/wm.scm (wlroots): Replace seatd input with libseat Signed-off-by: Lars-Dominik Braun --- gnu/packages/admin.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/freedesktop.scm | 29 ------------------------ gnu/packages/wm.scm | 4 +++- 3 files changed, 56 insertions(+), 30 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d432ec3091..c20ed4dac1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 muradm +;;; Copyright © 2021 pineapples ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2021 Artyom V. Poptsov ;;; Copyright © 2022 Wamm K. D. @@ -104,6 +105,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages elf) #:use-module (gnu packages file) #:use-module (gnu packages flex) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -5168,3 +5170,54 @@ (define-public greetd-pam-mount greetd-pam-mount is used in configuration of greetd to provide auto-(mounting/unmounting) of XDG_RUNTIME_DIR in the way that it will not interfere with default pam-mount configuration."))) + +(define-public libseat + (package + (name "libseat") + (version "0.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~kennylevinsen/seatd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10f8387yy5as547xjjhl0cna6iywdgjmw0iq2nvcs8q6vlpnik4v")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags '("-Dlibseat-logind=elogind" + "-Dserver=disabled"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("elogind" ,elogind))) + (home-page "https://sr.ht/~kennylevinsen/seatd") + (synopsis "Seat management library") + (description + "This package provides a universal seat management library that +allows applications to use whatever seat management is available.") + (license license:expat))) + +(define-public seatd + (package + (inherit libseat) + (name "seatd") + (arguments + `(#:configure-flags '("-Dlibseat-logind=elogind") + #:phases + (modify-phases %standard-phases + (add-after 'install 'remove-libs + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (assoc-ref outputs "out") + (for-each delete-file-recursively '("lib" "include")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc))) + (inputs '()) + (synopsis "Seat management daemon") + (description + "This package provides a minimal seat management daemon whose task is to +mediate access to shared devices, such as graphics and input, for applications +that require it.") + (license license:expat))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8834e7b839..c54ce1cf31 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -849,35 +849,6 @@ (define (source-file regexp) with localed. This package is extracted from the broader systemd package.") (license license:lgpl2.1+))) -(define-public seatd - (package - (name "seatd") - (version "0.5.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.sr.ht/~kennylevinsen/seatd") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1kglq8v4rnr3415mfaghyv2s2f8mxsy5s881gmm2908ig4n4j297")))) - (build-system meson-build-system) - (arguments - `(#:configure-flags '("-Dlogind=enabled"))) - (native-inputs - (list pkg-config scdoc)) - (propagated-inputs - (list elogind)) - (home-page "https://sr.ht/~kennylevinsen/seatd") - (synopsis "Seat management daemon and library") - (description - "This package provides a minimal seat management daemon whose task is to -mediate access to shared devices, such as graphics and input, for applications -that require it. It also provides a universal seat management library that -allows applications to use whatever seat management is available.") - (license license:expat))) - (define-public packagekit (package (name "packagekit") diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f053eeefcb..4194ec0fd9 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2022 Daniel Meißner ;;; Copyright © 2022 Pier-Hugues Pellerin ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 muradm ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,6 +89,7 @@ (define-module (gnu packages wm) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bash) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) @@ -1538,7 +1540,7 @@ (define-public wlroots libxkbcommon mesa pixman - seatd + libseat wayland wayland-protocols xcb-util-errors -- cgit v1.2.3 From d6dda325c10a4aa8605fefa3906066ce792c2e81 Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:41 +0300 Subject: gnu: desktop: Add seatd-service-type. * gnu/services/desktop.scm (seatd-service-type): New variable * gnu/services/desktop.scm (seatd-configuration): New data type Signed-off-by: Lars-Dominik Braun --- doc/guix.texi | 46 +++++++++++++++++++++++++++++++++++ gnu/services/desktop.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index d149732c19..eda0956260 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -22875,6 +22875,52 @@ and ``passwd'' is with the value @code{passwd}. @end table @end deftp +@defvr {Scheme Variable} seatd-service-type +@uref{https://sr.ht/~kennylevinsen/seatd/, seatd} is a minimal seat +management daemon. + +Seat management takes care of mediating access to shared devices (graphics, +input), without requiring the applications needing access to be root. + +@lisp +(append + (list + ;; make sure seatd is running + (service seatd-service-type)) + + ;; normally one would want %base-services + %base-services) + +@end lisp +@end defvr + +@deftp {Data Type} seatd-configuration +Configuration record for the seatd daemon service. + +@table @asis +@item @code{seatd} (default: @code{seatd}) +The seatd package to use. + +@item @code{user} (default: @samp{"root"}) +User to own the seatd socket. + +@item @code{group} (default: @samp{"users"}) +Group to own the seatd socket. + +@item @code{socket} (default: @samp{"/run/seatd.sock"}) +Where to create the seatd socket. + +@item @code{logfile} (default: @samp{"/var/log/seatd.log"}) +Log file to write to. + +@item @code{loglevel} (default: @samp{"error"}) +Log level to output logs. Possible values: @samp{"silent"}, @samp{"error"}, +@samp{"info"} and @samp{"debug"}. + +@end table +@end deftp + + @node Sound Services @subsection Sound Services diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 0499071436..29a3722f1b 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Reza Alizadeh Majd ;;; Copyright © 2021 Brice Waegeneire +;;; Copyright © 2021 muradm ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,9 @@ (define-module (gnu services desktop) #:use-module (gnu services networking) #:use-module (gnu services sound) #:use-module ((gnu system file-systems) - #:select (%elogind-file-systems file-system)) + #:select (%control-groups + %elogind-file-systems + file-system)) #:autoload (gnu services sddm) (sddm-service-type) #:use-module (gnu system) #:use-module (gnu system setuid) @@ -157,6 +160,9 @@ (define-module (gnu services desktop) gnome-keyring-configuration? gnome-keyring-service-type + seatd-configuration + seatd-service-type + %desktop-services)) ;;; Commentary: @@ -1630,6 +1636,60 @@ (define polkit-wheel (define polkit-wheel-service (simple-service 'polkit-wheel polkit-service-type (list polkit-wheel))) + +;;; +;;; seatd-service-type -- minimal seat management daemon +;;; + +(define-record-type* seatd-configuration + make-seatd-configuration + seatd-configuration? + (seatd seatd-package (default seatd)) + (user seatd-user (default "root")) + (group seatd-group (default "users")) + (socket seatd-socket (default "/run/seatd.sock")) + (logfile seatd-logfile (default "/var/log/seatd.log")) + (loglevel seatd-loglevel (default "info"))) + +(define (seatd-shepherd-service config) + (list (shepherd-service + (documentation "Minimal seat management daemon") + (requirement '()) + ;; TODO: once cgroups is separate dependency + ;; here we should depend on it rather than elogind + (provision '(seatd elogind)) + (start #~(make-forkexec-constructor + (list #$(file-append (seatd-package config) "/bin/seatd") + "-u" #$(seatd-user config) + "-g" #$(seatd-group config)) + #:environment-variables + (list (string-append "SEATD_LOGLEVEL=" + #$(seatd-loglevel config)) + (string-append "SEATD_DEFAULTPATH=" + #$(seatd-socket config))) + #:log-file #$(seatd-logfile config))) + (stop #~(make-kill-destructor))))) + +(define seatd-environment + (match-lambda + (($ _ _ _ socket) + `(("SEATD_SOCK" . ,socket))))) + +(define seatd-service-type + (service-type + (name 'seatd) + (description "Seat management takes care of mediating access +to shared devices (graphics, input), without requiring the +applications needing access to be root.") + (extensions + (list + (service-extension session-environment-service-type seatd-environment) + ;; TODO: once cgroups is separate dependency we should not mount it here + ;; for now it is mounted here, because elogind mounts it + (service-extension file-system-service-type (const %control-groups)) + (service-extension shepherd-root-service-type seatd-shepherd-service))) + (default-value (seatd-configuration)))) + ;;; ;;; The default set of desktop services. -- cgit v1.2.3 From d6bd483cd53cedc8da39fcc6c419f7241080ed21 Mon Sep 17 00:00:00 2001 From: muradm Date: Wed, 15 Jun 2022 12:17:42 +0300 Subject: gnu: tests: Add seatd/greetd based minimal desktop system tests. * gnu/tests/desktop.scm (minimal-desktop): seatd/greetd based minimal desktop test Signed-off-by: Lars-Dominik Braun --- gnu/tests/desktop.scm | 212 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 211 insertions(+), 1 deletion(-) diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm index 57069c0ede..25971f9225 100644 --- a/gnu/tests/desktop.scm +++ b/gnu/tests/desktop.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2021 Ludovic Courtès +;;; Copyright © 2021 muradm ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,13 +19,17 @@ (define-module (gnu tests desktop) #:use-module (gnu tests) + #:use-module (gnu packages shells) #:use-module (gnu services) + #:use-module (gnu services base) #:use-module (gnu services dbus) #:use-module (gnu services desktop) + #:use-module (gnu system) #:use-module (gnu system vm) #:use-module (guix gexp) #:use-module (srfi srfi-1) - #:export (%test-elogind)) + #:export (%test-elogind + %test-minimal-desktop)) ;;; @@ -100,3 +105,208 @@ (define %test-elogind #:imported-modules '((gnu services herd) (guix combinators))))) (run-elogind-test (virtual-machine os)))))) + + +;;; +;;; Seatd/greetd based minimal desktop +;;; + +(define %minimal-services + (append + (modify-services %base-services + ;; greetd-service-type provides "greetd" PAM service + (delete login-service-type) + ;; and can be used in place of mingetty-service-type + (delete mingetty-service-type)) + (list + (service seatd-service-type) + (service greetd-service-type + (greetd-configuration + (terminals + (list + ;; we can make any terminal active by default + (greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t)) + ;; we can make environment without XDG_RUNTIME_DIR set + ;; even provide our own environment variables + (greetd-terminal-configuration + (terminal-vt "2") + (default-session-command + (greetd-agreety-session + (extra-env '(("MY_VAR" . "1"))) + (xdg-env? #f)))) + ;; we can use different shell instead of default bash + (greetd-terminal-configuration + (terminal-vt "3") + (default-session-command + (greetd-agreety-session (command (file-append zsh "/bin/zsh"))))) + ;; we can use any other executable command as greeter + (greetd-terminal-configuration + (terminal-vt "4") + (default-session-command (program-file "my-noop-greeter" #~(exit)))) + (greetd-terminal-configuration (terminal-vt "5")) + (greetd-terminal-configuration (terminal-vt "6")))))) + ;; mingetty-service-type can be used in parallel + ;; if needed to do so, do not (delete login-service-type) + ;; as illustrated above + #| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#))) + +(define-syntax-rule (minimal-operating-system user-services ...) + "Return an operating system that includes USER-SERVICES in addition to +minimal %BASE-SERVICES." + (operating-system (inherit %simple-os) + (services (cons* user-services ... %minimal-services)))) + +(define (run-minimal-desktop-test os vm) + (define test + (with-imported-modules '((gnu build marionette) + (guix build syscalls)) + #~(begin + (use-modules (gnu build marionette) + (guix build syscalls) + (srfi srfi-1) + (srfi srfi-64) + (ice-9 pretty-print)) + + (define marionette + (make-marionette #$vm)) + + (define (file-get-all-strings fname) + (marionette-eval '(use-modules (rnrs io ports)) marionette) + (wait-for-file fname marionette #:read 'get-string-all)) + + (define (wait-for-unix-socket-m socket) + (wait-for-unix-socket socket marionette)) + + (mkdir #$output) + (chdir #$output) + + (test-runner-current (system-test-runner #$output)) + (test-begin "minimal-desktop") + + (test-assert "seatd is ready" + (wait-for-unix-socket-m "/run/seatd.sock")) + + (test-equal "login user on tty1" + "alice\n" + (begin + ;; Wait for tty1. + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'term-tty1)) + marionette) + (marionette-control "sendkey ctrl-alt-f1" marionette) + + ;; login as root change alice password and exit + ;; then login as alice + (for-each + (lambda (cmd) (marionette-type cmd marionette) (sleep 1)) + (list + "root\n" + "passwd alice\n" + "alice\n" + "alice\n" + "exit\n" + "alice\n" + "alice\n" + "id -un > logged-in\n")) + + (file-get-all-strings "/home/alice/logged-in"))) + + (test-equal "validate user environment" + '("SEATD_SOCK=/run/seatd.sock" + "XDG_RUNTIME_DIR=/run/user/1000" + "XDG_SEAT=seat0" + "XDG_VTNR=1") + + (begin + (marionette-type "env > env\n" marionette) + (sleep 1) + + (define user-env (string-tokenize + (file-get-all-strings "/home/alice/env"))) + + (define (expected-var var) + (any (lambda (s) (string-contains var s)) + '("SEATD_SOCK" + "XDG_RUNTIME_DIR" + "XDG_SEAT" + "XDG_VTNR"))) + + (sort (filter expected-var user-env) string env\n" marionette) + (sleep 1) + + (define (sock-var? var) + (any (lambda (s) (string-contains var s)) + '("SEATD_SOCK" "GREETD_SOCK"))) + + (define (sock-var-sock var) + (car (cdr (string-split var #\=)))) + + (let* + ((out (file-get-all-strings "/home/alice/env")) + (out (string-tokenize out)) + (out (filter sock-var? out)) + (socks (map sock-var-sock out)) + (socks (map wait-for-unix-socket-m socks))) + (and (= 2 (length socks)) (every identity socks))))) + + (test-assert "greetd is ready" + (begin + (marionette-type "ps -C greetd -o pid,args --no-headers > ps-greetd\n" + marionette) + (sleep 1) + + (define (greetd-daemon? cmd) + (string-contains cmd "config")) + + (define (greetd-cmd-to-pid cmd) + (car (string-split cmd #\space))) + + (define (greetd-pid-to-sock pid) + (string-append "/run/greetd-" pid ".sock")) + + (let* ((out (file-get-all-strings "/home/alice/ps-greetd")) + (out (string-split out #\newline)) + (out (map string-trim-both out)) + (out (filter greetd-daemon? out)) + (pids (map greetd-cmd-to-pid out)) + (socks (map greetd-pid-to-sock pids)) + (socks (map wait-for-unix-socket-m socks))) + (every identity socks)))) + + ;; a bit weak, but tests everything at once actually + (test-equal "check /run/user/ mounted and writable" + "alice\n" + (begin + (marionette-type "echo alice > /run/user/1000/test\n" marionette) + (file-get-all-strings "/run/user/1000/test"))) + + (test-assert "screendump" + (begin + (marionette-control (string-append "screendump " #$output + "/tty1.ppm") + marionette) + (file-exists? "tty1.ppm"))) + + (test-end)))) + + (gexp->derivation "minimal-desktop" test)) + +(define %test-minimal-desktop + (system-test + (name "minimal-desktop") + (description + "Test whether we can log in when seatd and greetd is enabled") + (value + (let* ((os (marionette-operating-system + (minimal-operating-system) + #:imported-modules '((gnu services herd) + (guix combinators)))) + (vm (virtual-machine os))) + (run-minimal-desktop-test (virtualized-operating-system os '()) + #~(list #$vm)))))) -- cgit v1.2.3 From df5e07c16d2d4e72423f0e8c6b5b53c7020bc77a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jun 2022 10:35:43 +0200 Subject: gnu: Add texlive-fmtcount. * gnu/packages/tex.scm (texlive-fmtcount): New variable. --- gnu/packages/tex.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 1dd3f09f90..28c2250d81 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -10746,6 +10746,28 @@ (define-public texlive-xindy terms and in terms of the collating order of the text being processed.") (license license:gpl2+))) +(define-public texlive-fmtcount + (package + (inherit (simple-texlive-package + "texlive-fmtcount" + (list "doc/latex/fmtcount/" + "scripts/fmtcount/" + "source/latex/fmtcount/" + "tex/latex/fmtcount/") + (base32 + "1biw0g6s2arq6kq52c1yfkl0vzafja2az65c3d0syq0vgjzj9763") + #:trivial? #t)) + (home-page "https://ctan.org/macros/latex/contrib/fmtcount") + (synopsis "Display the value of a LaTeX counter in a variety of formats") + (description + "The package provides commands that display the value of a LaTeX counter in a +variety of formats (ordinal, text, hexadecimal, decimal, octal, binary etc). +The package offers some multilingual support; configurations for use in English +(both British and American usage), French (including Belgian and Swiss +variants), German, Italian, Portuguese and Spanish documents are provided. This +package was originally provided as part of the author's datetime package, but is +now distributed separately."))) + (define-public bibtool (package (name "bibtool") -- cgit v1.2.3 From 37d5bd0b3158a8cb2995d340172c8105b9065885 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jun 2022 10:37:28 +0200 Subject: gnu: Add texlive-inriafonts. * gnu/packages/tex.scm (texlive-inriafonts): New variable. --- gnu/packages/tex.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 28c2250d81..9442de6e74 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -10768,6 +10768,36 @@ (define-public texlive-fmtcount package was originally provided as part of the author's datetime package, but is now distributed separately."))) +(define-public texlive-inriafonts + (package + (inherit (simple-texlive-package + "texlive-inriafonts" + (list "doc/fonts/inriafonts/" + "fonts/enc/dvips/inriafonts/" + "fonts/map/dvips/inriafonts/" + "fonts/opentype/public/inriafonts/" + "fonts/tfm/public/inriafonts/" + "fonts/truetype/public/inriafonts/" + "fonts/type1/public/inriafonts/" + "fonts/vf/public/inriafonts/" + "tex/latex/inriafonts/") + (base32 + "0ngbpr4pl7r82jmdhiksp32qvbvggf2nawwqq0pkb7cffp95ya49") + #:trivial? #t)) + (propagated-inputs (list texlive-ly1)) ;requires LY1 font encoding + (home-page "https://ctan.org/fonts/inriafonts") + (synopsis "Inria fonts with LaTeX support") + (description + "Inria is a free font designed by Black[Foundry] for Inria, a French research +institute. It comes as Serif and Sans Serif, each with three weights and +matching italics. Using these fonts with XeLaTeX and LuaLaTeX is easy using +the fontspec package; we refer to the documentation of fontspec for more +information. The present package provides a way of using them with LaTeX and +pdfLaTeX: it provides two style files, @file{InriaSerif.sty} and +@file{InriaSans.sty}, together with the PostScript version of the fonts and +their associated files. These were created using autoinst.") + (license (list license:lppl license:silofl1.1)))) + (define-public bibtool (package (name "bibtool") -- cgit v1.2.3 From 861108ca6ab5f363a33fda12de579c140691d5d7 Mon Sep 17 00:00:00 2001 From: Thiago Jung Bauermann Date: Tue, 14 Jun 2022 00:32:23 -0300 Subject: gnu: public-inbox: Fixes to allow the testsuite to run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch makes the public-inbox testsuite pass. Some tests are skipped, so the test coverage could likely be increased with more massaging. Perhaps the most significant change is using tini to run the testsuite so that the testsuite's sub-processes are reaped. The ‘check’ phase is based on the one from the mutter package. Thanks to Maxim Cournoyer for pointing out this solution. * gnu/packages/patches/public-inbox-fix-spawn-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add new patch. * gnu/packages/mail.scm (public-inbox)[source]: Add new patch. [arguments]<#:tests?>: Remove argument. <#:imported-modules>: Add argument. <#:modules>: Likewise. <#:phases>{qualify-paths}: Substitute path for ‘/bin/cp’. {pre-check}: Don't skip httpd-unix.t test. Remove unnecessary path substitutions for “env” and “/bin/sh”. {check}: Replace with custom version that launches the tests under tini. [native-inputs]: Add tini. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/mail.scm | 60 +++++++++++++++++----- .../patches/public-inbox-fix-spawn-test.patch | 43 ++++++++++++++++ 3 files changed, 91 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/public-inbox-fix-spawn-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 576c1a3eb6..e38eb05205 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1651,6 +1651,7 @@ dist_patch_DATA = \ %D%/packages/patches/psm-disable-memory-stats.patch \ %D%/packages/patches/psm-ldflags.patch \ %D%/packages/patches/psm-repro.patch \ + %D%/packages/patches/public-inbox-fix-spawn-test.patch \ %D%/packages/patches/pulseaudio-fix-mult-test.patch \ %D%/packages/patches/pulseaudio-longer-test-timeout.patch \ %D%/packages/patches/pulseview-qt515-compat.patch \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 47a62b00de..5d2fbdeff5 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -88,6 +88,7 @@ (define-module (gnu packages mail) #:use-module (gnu packages django) #:use-module (gnu packages dns) #:use-module (gnu packages docbook) + #:use-module (gnu packages docker) #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) @@ -4085,10 +4086,16 @@ (define-public public-inbox (sha256 (base32 "0xni1l54v1z3p0zb52807maay0yqabp8jgf5iras5zmhgjyk3swz")) - (file-name (git-file-name name version)))) + (file-name (git-file-name name version)) + (patches (search-patches "public-inbox-fix-spawn-test.patch")))) (build-system perl-build-system) (arguments - '(#:tests? #f + `(#:imported-modules (,@%perl-build-system-modules + (guix build syscalls)) + #:modules ((guix build perl-build-system) + (guix build syscalls) + (guix build utils) + (ice-9 match)) #:phases (modify-phases %standard-phases (add-before 'configure 'qualify-paths @@ -4097,18 +4104,45 @@ (define-public public-inbox (substitute* "lib/PublicInbox/Xapcmd.pm" (("'xapian-compact'") (format #f "'~a'" (search-input-file inputs - "/bin/xapian-compact")))))) + "/bin/xapian-compact")))) + (substitute* "lib/PublicInbox/TestCommon.pm" + ;; This is only used for tests, but get it from ‘inputs’ so + ;; that cross builds won't hold a reference to a package built + ;; for another architecture. + (("/bin/cp") (search-input-file inputs "/bin/cp"))))) (add-before 'check 'pre-check (lambda _ - (substitute* "t/spawn.t" - (("\\['env'\\]") (string-append "['" (which "env") "']"))) - (substitute* "t/ds-leak.t" - (("/bin/sh") (which "sh"))) - (invoke "./certs/create-certs.perl") - ;; XXX: This test fails due to zombie process is not reaped by - ;; the builder. - (substitute* "t/httpd-unix.t" - (("^SKIP: \\{") "SKIP: { skip('Guix');")))) + (invoke "./certs/create-certs.perl"))) + (replace 'check + (lambda* (#:key target + (tests? (not target)) (test-flags '()) + #:allow-other-keys) + (if tests? + (match (primitive-fork) + (0 ;child process + ;; lei tests build UNIX domain sockets in the temporary + ;; directory, but the path of those sockets can be at most + ;; 108 chars and Guix' default value for the variables + ;; below already use 47 chars. Use the shortest temporary + ;; path possible to avoid hitting the limit. + (setenv "TEMP" "/tmp") + (setenv "TEMPDIR" "/tmp") + (setenv "TMP" "/tmp") + (setenv "TMPDIR" "/tmp") + + ;; Use tini so that signals are properly handled and + ;; doubly-forked processes get reaped; otherwise, + ;; lei-daemon is kept as a zombie and the testsuite + ;; fails thinking that it didn't quit as it should. + (set-child-subreaper!) + (apply execlp "tini" "--" + "make" "check" test-flags)) + (pid + (match (waitpid pid) + ((_ . status) + (unless (zero? status) + (error "`make check' exited with status" status)))))) + (format #t "test suite not run~%")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -4127,7 +4161,7 @@ (define-public public-inbox (find-files (string-append out "/bin"))))))))) (native-inputs (list ;; For testing. - lsof openssl)) + lsof openssl tini)) (inputs (list bash-minimal curl diff --git a/gnu/packages/patches/public-inbox-fix-spawn-test.patch b/gnu/packages/patches/public-inbox-fix-spawn-test.patch new file mode 100644 index 0000000000..2739b1974d --- /dev/null +++ b/gnu/packages/patches/public-inbox-fix-spawn-test.patch @@ -0,0 +1,43 @@ +From 5593489d9c3ce22b1942f35c7ebb0e06fcf2bfa8 Mon Sep 17 00:00:00 2001 +From: Thiago Jung Bauermann +Date: Fri, 10 Jun 2022 12:39:18 -0300 +Subject: [PATCH] t/spawn: Find invalid PID to try to join its process group + +In the container used to build packages of the GNU Guix distribution, PID 1 +runs as the same user as the test so this spawn that should fail actually +succeeds. + +Fix the problem by going through different PIDs and picking one that +either doesn't exist or we aren't allowed to signal. +--- + +This patch is taken from the public-inbox repository and will appear in the +release after v1.8. + + t/spawn.t | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/t/spawn.t b/t/spawn.t +index 6168c1f6171c..5fc99a2a101c 100644 +--- a/t/spawn.t ++++ b/t/spawn.t +@@ -24,7 +24,18 @@ SKIP: { + is(waitpid($pid, 0), $pid, 'waitpid succeeds on spawned process'); + is($?, 0, 'true exited successfully'); + pipe(my ($r, $w)) or BAIL_OUT; +- $pid = eval { spawn(['true'], undef, { pgid => 1, 2 => $w }) }; ++ ++ # Find invalid PID to try to join its process group. ++ my $wrong_pgid = 1; ++ for (my $i=0x7fffffff; $i >= 2; $i--) { ++ if (kill(0, $i) == 0) { ++ $wrong_pgid = $i; ++ last; ++ } ++ } ++ ++ # Test spawn behavior when it can't join the requested process group. ++ $pid = eval { spawn(['true'], undef, { pgid => $wrong_pgid, 2 => $w }) }; + close $w; + my $err = do { local $/; <$r> }; + # diag "$err ($@)"; -- cgit v1.2.3 From 2ec85ed405337ed25b049a5012782ffc5899dc3b Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Tue, 14 Jun 2022 11:23:18 +0200 Subject: gnu: python-acme: Add python-chardet to propagated-inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/tls.scm (python-acme)[propagated-inputs]: Add it. Signed-off-by: Ludovic Courtès --- gnu/packages/tls.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 6fa128ecc8..6fd85a5c69 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -679,7 +679,8 @@ (define-public python-acme python-sphinx-rtd-theme texinfo)) (propagated-inputs - (list python-josepy + (list python-chardet + python-josepy python-requests python-requests-toolbelt python-pytz -- cgit v1.2.3 From 88f6776728bbe1fd21e4b3dfef2ae291ba074067 Mon Sep 17 00:00:00 2001 From: Peter Polidoro Date: Tue, 14 Jun 2022 14:58:53 -0400 Subject: gnu: teensy-loader-cli: Update to 2.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/flashing-tools.scm (teensy-loader-cli): Update to 2.2. Signed-off-by: Ludovic Courtès --- gnu/packages/flashing-tools.scm | 83 +++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 764fc9b422..08300cb860 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 Ricardo Wurmus ;;; Copyright © 2021 Mathieu Othacehe +;;; Copyright © 2022 Peter Polidoro ;;; ;;; This file is part of GNU Guix. ;;; @@ -217,56 +218,48 @@ (define-public dfu-util (license license:gpl2+))) (define-public teensy-loader-cli - ;; The repo does not tag versions nor does it use releases, but a commit - ;; message says "Importing 2.1", while the sourcce still says "2.0". So pin - ;; to a fixed commit. - (let ((commit "f289b7a2e5627464044249f0e5742830e052e360")) - (package - (name "teensy-loader-cli") - (version (git-version "2.1" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PaulStoffregen/teensy_loader_cli") - (commit commit))) - (sha256 (base32 "0sssim56pwsxp5cp5dlf6mi9h5fx2592m6j1g7abnm0s09b0lpdx")) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - `(begin - ;; Remove example flash files and teensy rebooter flash binaries. - (for-each delete-file (find-files "." "\\.(elf|hex)$")) - ;; Fix the version - (substitute* "teensy_loader_cli.c" - (("Teensy Loader, Command Line, Version 2.0\\\\n") - (string-append "Teensy Loader, Command Line, " ,version "\\n"))) - #t)) + (package + (name "teensy-loader-cli") + (version "2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PaulStoffregen/teensy_loader_cli") + (commit version))) + (sha256 (base32 "12n8ifz4gph1anhwd8if3j1kw0wc3yxf48abbyxl8071l9vj3m0b")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + `(begin + ;; Remove example flash files and teensy rebooter flash binaries. + (for-each delete-file (find-files "." "\\.(elf|hex)$")) + #t)) (patches (search-patches "teensy-loader-cli-help.patch")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ;; Makefile has no test target - #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "teensy_loader_cli" bin) - #t)))))) - (inputs - (list libusb-compat)) - (synopsis "Command line firmware uploader for Teensy development boards") - (description - "The Teensy loader program communicates with your Teensy board when the + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;; Makefile has no test target + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "teensy_loader_cli" bin) + #t)))))) + (inputs + (list libusb-compat)) + (synopsis "Command line firmware uploader for Teensy development boards") + (description + "The Teensy loader program communicates with your Teensy board when the HalfKay bootloader is running, so you can upload new programs and run them. You need to add the udev rules to make the Teensy update available for non-root users.") - (home-page "https://www.pjrc.com/teensy/loader_cli.html") - (license license:gpl3)))) + (home-page "https://www.pjrc.com/teensy/loader_cli.html") + (license license:gpl3))) (define-public rkflashtool (let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53") -- cgit v1.2.3 From d18f701aa12e1b881bea743d076ca89f96798f64 Mon Sep 17 00:00:00 2001 From: Jean-Pierre De Jesus DIAZ Date: Fri, 10 Jun 2022 19:57:31 +0200 Subject: gnu: Add python-pysdl2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-pysdl2): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-xyz.scm | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4b8e63890f..285863df07 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -123,6 +123,7 @@ ;;; Copyright © 2022 Jai Vetrivelan ;;; Copyright © 2022 Artyom V. Poptsov ;;; Copyright © 2022 Paul A. Patience +;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ ;;; ;;; This file is part of GNU Guix. ;;; @@ -3901,6 +3902,71 @@ (define-public python-jinja2-time templates. A format string can be provided to control the output.") (license license:expat))) +(define-public python-pysdl2 + (package + (name "python-pysdl2") + (version "0.9.11") + (source (origin + (method url-fetch) + (uri (pypi-uri "PySDL2" version)) + (sha256 + (base32 + "19id1qswgcj4v4j5kn49shq1xxx3slhjpm0102w87mczsdbi1rck")))) + (build-system python-build-system) + (arguments + (list #:tests? #f ;; Requires /dev/dri, OpenGL module, etc. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "sdl2/dll.py" + ;; Disable pysdl2-dll. It can't be packaged on GNU Guix + ;; as it duplicates an existing package (sdl2). + (("prepath = os\\.getenv\\('PYSDL2_DLL_PATH'\\)") + "prepath = \"system\"") + (("^import sdl2dll$") "") + (("postpath = os\\.getenv\\('PYSDL2_DLL_PATH'\\)") + "postpath = \"system\"") + (("DLL\\(.*, os\\.getenv\\(\"PYSDL2_DLL_PATH\"\\)\\)") + (string-append + "DLL(\"SDL2\", [\"SDL2\", \"SDL2-2.0\", \"SDL2-2.0.0\"], \"" + (dirname (search-input-file inputs "/lib/libSDL2.so")) + "\")"))) + (substitute* "sdl2/sdlimage.py" + (("os\\.getenv\\(\"PYSDL2_DLL_PATH\"\\)") + (string-append + "\"" + (dirname (search-input-file inputs "/lib/libSDL2_image.so")) + "\""))) + (substitute* "sdl2/sdlgfx.py" + (("os\\.getenv\\(\"PYSDL2_DLL_PATH\"\\)") + (string-append + "\"" + (dirname (search-input-file inputs "/lib/libSDL2_gfx.so")) + "\""))) + (substitute* "sdl2/sdlmixer.py" + (("os\\.getenv\\(\"PYSDL2_DLL_PATH\"\\)") + (string-append + "\"" + (dirname (search-input-file inputs "/lib/libSDL2_mixer.so")) + "\""))) + (substitute* "sdl2/sdlttf.py" + (("os\\.getenv\\(\"PYSDL2_DLL_PATH\"\\)") + (string-append + "\"" + (dirname (search-input-file inputs "/lib/libSDL2_ttf.so")) + "\"")))))))) + (inputs + (list sdl2 sdl2-image sdl2-gfx sdl2-mixer sdl2-ttf)) + (home-page "https://github.com/py-sdl/py-sdl2") + (synopsis "Python bindings around the SDL2 game development library") + (description "PySDL2 is a pure Python wrapper around the @code{SDL2}, +@code{SDL2_mixer}, @code{SDL2_image}, @code{SDL2_ttf}, and @code{SDL2_gfx} +libraries. Instead of relying on C code, it uses the built-in ctypes module +to interface with SDL2, and provides simple Python classes and wrappers for +common SDL2 functionality.") + (license license:cc0))) + (define-public python-pystache (package (name "python-pystache") -- cgit v1.2.3 From 8e19e3a3331a8251789aea5a977ec4e7b5dc5c25 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 08:49:05 +0200 Subject: gnu: Add back the distinction between python-renpy and renpy. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This partially reverts commit 9f1bd63fb5b6916f07d454ffde27cd3a66c95bb5. Note, that with this patch renpy fails to build due to incompatibilities with Python 3. * gnu/packages/game-development.scm (renpy): Split into ‘python-renpy’ for the python modules and ‘renpy’ for the games and binaries. --- gnu/packages/game-development.scm | 167 +++++++++++++++++++++++++++++++++++++- 1 file changed, 165 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4c1b97f041..099268d58c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1257,9 +1257,9 @@ (define-public python-pygame-sdl2 developed mainly for Ren'py.") (license (list license:lgpl2.1 license:zlib))))) -(define-public renpy +(define-public python-renpy (package - (name "renpy") + (name "python-renpy") (version "7.4.11") (source (origin @@ -1342,6 +1342,169 @@ (define-public renpy are only used to bootstrap it.") (license license:expat))) +(define-public renpy + (package + (inherit python-renpy) + (name "renpy") + (build-system python-build-system) + (arguments + `(#:tests? #f ; see python-renpy + #:modules ((srfi srfi-1) + (guix build python-build-system) + (guix build utils)) + #:imported-modules ((srfi srfi-1) ,@%python-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-commands + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "launcher/game/choose_directory.rpy" + (("/usr/bin/python") + (search-input-file inputs "/bin/python3"))) + (substitute* "launcher/game/front_page.rpy" + (("xdg-open") + (search-input-file inputs "/bin/xdg-open"))) + (substitute* "launcher/game/project.rpy" + (("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]") + (string-append "cmd = [ \"" (assoc-ref outputs "out") + "/bin/renpy\" ]")) + ;; Projects are still created in the usual style, so we need + ;; to adjust the path. + (("cmd.append\\(self.path\\)") + "cmd.append(self.path + \"/game\")")))) + (add-after 'unpack 'drop-game-from-paths + (lambda _ + (substitute* (list "launcher/game/gui7.rpy" + "launcher/game/gui7/images.py") + ((", \"game\",") ",")) + #t)) + (add-before 'build 'start-xserver + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((Xvfb (search-input-file (or native-inputs inputs) + "/bin/Xvfb"))) + (setenv "HOME" (getcwd)) + (system (format #f "~a :1 &" Xvfb)) + (setenv "DISPLAY" ":1")))) + (replace 'build + (lambda _ + (invoke "python" "renpy.py" "launcher" "quit") + (invoke "python" "renpy.py" "the_question" "quit") + (invoke "python" "renpy.py" "tutorial" "quit"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Here we install our custom renpy program. + ;; After finishing this step, "out" will have the following: + ;; |-- bin/renpy + ;; `-- share/renpy ; i.e. path_to_renpy_base() + ;; |-- common + ;; `-- gui + ;; + ;; Note that common shares the source files that would be installed + ;; by python-renpy (which are instead deleted from that package), + ;; but also contains their byte-compiled versions. + ;; On other systems, renpy_base would point to site-packages or + ;; even somewhere in /opt. + ;; The former approach is not as straightforward as it seems + ;; -- it causes renpy to load files twice for some weird reason -- + ;; and the latter is impossible on Guix. Hence the detour through + ;; share/renpy and the custom renpy program. + ;; + ;; As a convention, other games should be installed as + ;; subdirectories of share/renpy in their respective outputs as + ;; well. This differs from the traditional layout, which is + ;; roughly the following: + ;; `-- Super Awesome Game + ;; |-- game ; <- the folder we actually want + ;; |-- lib ; compiled renpy module and dependencies + ;; |-- renpy ; yet another copy of Ren'py's code + ;; | |-- common ; the common folder from above + ;; | `-- ... ; Python code (source + compiled) + ;; |-- Super Awesome Game.py + ;; `-- Super Awesome Game.sh + (let* ((out (assoc-ref outputs "out")) + (bin/renpy (string-append out "/bin/renpy"))) + (copy-recursively "renpy/common" + (string-append out "/share/renpy/common")) + (copy-recursively "gui" + (string-append out "/share/renpy/gui")) + + (mkdir-p (string-append out "/bin")) + (copy-file (assoc-ref inputs "renpy.in") bin/renpy) + (substitute* bin/renpy + (("@PYTHON@") (search-input-file inputs "bin/python3")) + (("@RENPY_BASE@") (string-append out "/share/renpy"))) + (chmod bin/renpy #o755)))) + + (add-after 'install 'install-games + (lambda* (#:key inputs outputs #:allow-other-keys) + (define renpy (assoc-ref outputs "out")) + ;; TODO: We should offer a renpy-build-system to make the + ;; installation of Ren'py games easier. + (define* (install-renpy-game #:key output game name (renpy renpy) + #:allow-other-keys) + (let* ((name (or name (basename game))) + (launcher (string-append output "/bin/renpy-" name)) + (share (string-append output "/share/renpy/" name))) + (copy-recursively (string-append game "/game") share) + (mkdir-p (string-append output "/bin")) + (with-output-to-file launcher + (lambda () + (format #t + "#!~a~%~a ~a \"$@\"" + (search-input-file inputs "/bin/bash") + (string-append renpy "/bin/renpy") + share))) + (chmod launcher #o755))) + + (install-renpy-game #:output (assoc-ref outputs "out") + #:game "launcher") + + (install-renpy-game #:output (assoc-ref outputs "the-question") + #:game "the_question" + #:name "the-question") + + (install-renpy-game #:output (assoc-ref outputs "tutorial") + #:game "tutorial"))) + (replace 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (site (string-append "/lib/python" + (python-version + (assoc-ref inputs "python")) + "/site-packages"))) + (wrap-program (string-append out "/bin/renpy") + `("GUIX_PYTHONPATH" = + (,@(delete-duplicates + (map + (lambda (store-path) + (string-append store-path site)) + (cons (assoc-ref outputs "out") + (map cdr + (filter + (lambda (input) + (string-prefix? "python" (car input))) + inputs)))))))))))))) + (inputs + `(("bash-minimal" ,bash-minimal) + ("renpy.in" ,(search-auxiliary-file "renpy/renpy.in")) + ("python-renpy" ,python-renpy) + ("python:tk" ,python "tk") + ("python" ,python) ; for ‘fix-commands’ and ‘wrap’ + ("xdg-utils" ,xdg-utils))) + (propagated-inputs '()) + (native-inputs + (list xorg-server-for-tests)) + (outputs + (list "out" "tutorial" "the-question")) + (home-page "https://www.renpy.org/") + (synopsis "Visual Novel Engine") + (description "Ren'Py is a visual novel engine that helps you use words, +images, and sounds to tell interactive stories that run on computers and +mobile devices. These can be both visual novels and life simulation games. +The easy to learn script language allows anyone to efficiently write large +visual novels, while its Python scripting is enough for complex simulation +games.") + (license license:expat))) + (define-public python-pyxel (package (name "python-pyxel") -- cgit v1.2.3 From 82cff40a9c5733bdf7eb5e5d6089c39c0011643b Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 10:25:48 +0200 Subject: gnu: Add python-pefile. * gnu/packages/python-xyz.scm (python-pefile): New variable. --- gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 285863df07..723980420f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17964,6 +17964,28 @@ (define-public python-pyelftools Record Format (DWARF).") (license license:public-domain))) +(define-public python-pefile + (package + (name "python-pefile") + (version "2022.5.30") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/erocarrera/pefile") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qj90a0s2gd5hn2zggypqc1077inid5dcl1fp5973b04kf2b9z8a")))) + (build-system python-build-system) + (propagated-inputs (list python-future)) + (home-page "https://github.com/erocarrera/pefile") + (synopsis "Portable Executable (PE) file parser") + (description "This python library provides interfaces for parsing and +working with Portable Executable (PE) files. It makes to most information +from the header, as well as section details and data available.") + (license license:expat))) + (define-public python-pyev (package (name "python-pyev") -- cgit v1.2.3 From 62a7455107d82bc45975425c5973fc9dc3f6efaf Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 10:26:57 +0200 Subject: gnu: python-pygame-sdl2: Update to 2.1.0-0-1705c6e. * gnu/packages/game-development.scm (python-pygame-sdl2): Update to 2.1.0-0-1705c6e. --- gnu/packages/game-development.scm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 099268d58c..f69088324a 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1207,26 +1207,24 @@ (define-public python-pygame license:lgpl2.1+)))) (define-public python-pygame-sdl2 + ;; Using latest git commit as of 2022-06-17, because there is no tagged + ;; release for renpy 8. + ;; Revert back to URLs once renpy 8 is released! (let ((real-version "2.1.0") - (renpy-version "7.4.11")) + ;;(renpy-version "8.0.0") + (commit "1705c6e3004dcb1daf859560bcd52eb093e97d45")) (package (inherit python-pygame) (name "python-pygame-sdl2") - (version (string-append real-version "-for-renpy-" renpy-version)) + (version (git-version real-version "0" commit)) (source (origin - (method url-fetch) - (uri (string-append "https://www.renpy.org/dl/" renpy-version - "/pygame_sdl2-" version ".tar.gz")) - (sha256 (base32 "0nxvca16299jx6sp0ys29rqixcs21ymhqwjfkbchhss0yar7qjgz")) - (modules '((guix build utils))) - (snippet - '(begin - ;; drop generated sources - (delete-file-recursively "gen") - (delete-file-recursively "gen3") - (delete-file-recursively "gen-static") - #t)))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/renpy/pygame_sdl2") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 (base32 "1g0arhpd59zypspk36sgajf1kzavppfkv766vifvxar60968rrjn")))) (build-system python-build-system) (arguments `(#:tests? #f ; tests require pygame to be installed first -- cgit v1.2.3 From 6c04a8961fe15a6c856a2fb08ac39dab90d08be0 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 10:27:59 +0200 Subject: gnu: renpy: Update to 7.99.99-0-3e854bc. * gnu/packages/aux-files/renpy/renpy.in (__renpy_files, path_to_gamedir): New procedures. * gnu/packages/game-development.scm (python-renpy): Update to 7.99.99-0-3e854bc. (renpy): Likewise. [inputs]: Add python-pefile, python-requests and python-six. --- gnu/packages/aux-files/renpy/renpy.in | 21 +++++++++++++++++++-- gnu/packages/game-development.scm | 19 ++++++++++++++----- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/gnu/packages/aux-files/renpy/renpy.in b/gnu/packages/aux-files/renpy/renpy.in index 914a735fa4..9115d9aee3 100644 --- a/gnu/packages/aux-files/renpy/renpy.in +++ b/gnu/packages/aux-files/renpy/renpy.in @@ -1,12 +1,29 @@ #! @PYTHON@ # -*- mode: python -*- -from __future__ import print_function - +import glob import os import sys import warnings +def __renpy_files(directory): + for pattern in ['*.rpa', '*.rpyc', '*.rpy']: + for file in glob.iglob(pattern, root_dir=directory): + yield file + +def path_to_gamedir(basedir, name): + candidates = [name, 'game', 'data', 'launcher/game'] + + if __renpy_files(basedir): + return basedir + + for candidate in candidates: + gamedir = os.path.join(basedir, candidate) + if __renpy_files(gamedir): + return gamedir + + return basedir + def path_to_common(renpy_base): return renpy_base + "/common" diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index f69088324a..4377654f8f 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -94,6 +94,7 @@ (define-module (gnu packages game-development) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages qt) @@ -1255,16 +1256,21 @@ (define-public python-pygame-sdl2 developed mainly for Ren'py.") (license (list license:lgpl2.1 license:zlib))))) +;; Using nightly from 2022-06-16. +;; Revert back to URLs once renpy 8 is released! +(define %renpy-commit "3e854bc7cb1642ca18b061a0c6e349f168965c43") (define-public python-renpy (package (name "python-renpy") - (version "7.4.11") + (version (git-version "7.99.99" "0" %renpy-commit)) (source (origin - (method url-fetch) - (uri (string-append "https://www.renpy.org/dl/" version - "/renpy-" version "-source.tar.bz2")) - (sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/renpy/renpy") + (commit %renpy-commit))) + (file-name (git-file-name name version)) + (sha256 (base32 "11g7hqhw4gbkx5ib2wsawrznmjbn8r9zkgf2sg39z56h96y8wfbn")) (modules '((guix build utils))) (patches (search-patches @@ -1484,8 +1490,11 @@ (define* (install-renpy-game #:key output game name (renpy renpy) (inputs `(("bash-minimal" ,bash-minimal) ("renpy.in" ,(search-auxiliary-file "renpy/renpy.in")) + ("python-pefile" ,python-pefile) + ("python-requests" ,python-requests) ("python-renpy" ,python-renpy) ("python:tk" ,python "tk") + ("python-six" ,python-six) ("python" ,python) ; for ‘fix-commands’ and ‘wrap’ ("xdg-utils" ,xdg-utils))) (propagated-inputs '()) -- cgit v1.2.3 From f7d66e41f8720c7db9b30926dec35e2cc3524d56 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 16:01:32 +0200 Subject: gnu: renpy: Use new style. * gnu/packages/game-development.scm (renpy)[arguments]: Change to list of G-Expressions. [inputs]: Drop labels. [native-inputs, outputs]: Squash to single line. --- gnu/packages/game-development.scm | 293 +++++++++++++++++++------------------- 1 file changed, 146 insertions(+), 147 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4377654f8f..04f2b061fc 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -48,6 +48,7 @@ (define-module (gnu packages game-development) #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix svn-download) @@ -1352,156 +1353,154 @@ (define-public renpy (name "renpy") (build-system python-build-system) (arguments - `(#:tests? #f ; see python-renpy - #:modules ((srfi srfi-1) + (list + #:tests? #f ; see python-renpy + #:modules '((srfi srfi-1) (guix build python-build-system) (guix build utils)) - #:imported-modules ((srfi srfi-1) ,@%python-build-system-modules) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-commands - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "launcher/game/choose_directory.rpy" - (("/usr/bin/python") - (search-input-file inputs "/bin/python3"))) - (substitute* "launcher/game/front_page.rpy" - (("xdg-open") - (search-input-file inputs "/bin/xdg-open"))) - (substitute* "launcher/game/project.rpy" - (("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]") - (string-append "cmd = [ \"" (assoc-ref outputs "out") - "/bin/renpy\" ]")) - ;; Projects are still created in the usual style, so we need - ;; to adjust the path. - (("cmd.append\\(self.path\\)") - "cmd.append(self.path + \"/game\")")))) - (add-after 'unpack 'drop-game-from-paths - (lambda _ - (substitute* (list "launcher/game/gui7.rpy" - "launcher/game/gui7/images.py") - ((", \"game\",") ",")) - #t)) - (add-before 'build 'start-xserver - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (let ((Xvfb (search-input-file (or native-inputs inputs) - "/bin/Xvfb"))) - (setenv "HOME" (getcwd)) - (system (format #f "~a :1 &" Xvfb)) - (setenv "DISPLAY" ":1")))) - (replace 'build - (lambda _ - (invoke "python" "renpy.py" "launcher" "quit") - (invoke "python" "renpy.py" "the_question" "quit") - (invoke "python" "renpy.py" "tutorial" "quit"))) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Here we install our custom renpy program. - ;; After finishing this step, "out" will have the following: - ;; |-- bin/renpy - ;; `-- share/renpy ; i.e. path_to_renpy_base() - ;; |-- common - ;; `-- gui - ;; - ;; Note that common shares the source files that would be installed - ;; by python-renpy (which are instead deleted from that package), - ;; but also contains their byte-compiled versions. - ;; On other systems, renpy_base would point to site-packages or - ;; even somewhere in /opt. - ;; The former approach is not as straightforward as it seems - ;; -- it causes renpy to load files twice for some weird reason -- - ;; and the latter is impossible on Guix. Hence the detour through - ;; share/renpy and the custom renpy program. - ;; - ;; As a convention, other games should be installed as - ;; subdirectories of share/renpy in their respective outputs as - ;; well. This differs from the traditional layout, which is - ;; roughly the following: - ;; `-- Super Awesome Game - ;; |-- game ; <- the folder we actually want - ;; |-- lib ; compiled renpy module and dependencies - ;; |-- renpy ; yet another copy of Ren'py's code - ;; | |-- common ; the common folder from above - ;; | `-- ... ; Python code (source + compiled) - ;; |-- Super Awesome Game.py - ;; `-- Super Awesome Game.sh - (let* ((out (assoc-ref outputs "out")) - (bin/renpy (string-append out "/bin/renpy"))) - (copy-recursively "renpy/common" - (string-append out "/share/renpy/common")) - (copy-recursively "gui" - (string-append out "/share/renpy/gui")) - - (mkdir-p (string-append out "/bin")) - (copy-file (assoc-ref inputs "renpy.in") bin/renpy) - (substitute* bin/renpy - (("@PYTHON@") (search-input-file inputs "bin/python3")) - (("@RENPY_BASE@") (string-append out "/share/renpy"))) - (chmod bin/renpy #o755)))) - - (add-after 'install 'install-games - (lambda* (#:key inputs outputs #:allow-other-keys) - (define renpy (assoc-ref outputs "out")) - ;; TODO: We should offer a renpy-build-system to make the - ;; installation of Ren'py games easier. - (define* (install-renpy-game #:key output game name (renpy renpy) - #:allow-other-keys) - (let* ((name (or name (basename game))) - (launcher (string-append output "/bin/renpy-" name)) - (share (string-append output "/share/renpy/" name))) - (copy-recursively (string-append game "/game") share) - (mkdir-p (string-append output "/bin")) - (with-output-to-file launcher - (lambda () - (format #t - "#!~a~%~a ~a \"$@\"" - (search-input-file inputs "/bin/bash") - (string-append renpy "/bin/renpy") - share))) - (chmod launcher #o755))) - - (install-renpy-game #:output (assoc-ref outputs "out") - #:game "launcher") - - (install-renpy-game #:output (assoc-ref outputs "the-question") - #:game "the_question" - #:name "the-question") - - (install-renpy-game #:output (assoc-ref outputs "tutorial") - #:game "tutorial"))) - (replace 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (site (string-append "/lib/python" - (python-version - (assoc-ref inputs "python")) - "/site-packages"))) - (wrap-program (string-append out "/bin/renpy") - `("GUIX_PYTHONPATH" = - (,@(delete-duplicates - (map - (lambda (store-path) - (string-append store-path site)) - (cons (assoc-ref outputs "out") - (map cdr - (filter - (lambda (input) - (string-prefix? "python" (car input))) - inputs)))))))))))))) - (inputs - `(("bash-minimal" ,bash-minimal) - ("renpy.in" ,(search-auxiliary-file "renpy/renpy.in")) - ("python-pefile" ,python-pefile) - ("python-requests" ,python-requests) - ("python-renpy" ,python-renpy) - ("python:tk" ,python "tk") - ("python-six" ,python-six) - ("python" ,python) ; for ‘fix-commands’ and ‘wrap’ - ("xdg-utils" ,xdg-utils))) + #:imported-modules `((srfi srfi-1) ,@%python-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-commands + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "launcher/game/choose_directory.rpy" + (("/usr/bin/python") + (search-input-file inputs "/bin/python3"))) + (substitute* "launcher/game/front_page.rpy" + (("xdg-open") + (search-input-file inputs "/bin/xdg-open"))) + (substitute* "launcher/game/project.rpy" + (("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]") + (string-append "cmd = [ \"" (assoc-ref outputs "out") + "/bin/renpy\" ]")) + ;; Projects are still created in the usual style, so we need + ;; to adjust the path. + (("cmd.append\\(self.path\\)") + "cmd.append(self.path + \"/game\")")))) + (add-after 'unpack 'drop-game-from-paths + (lambda _ + (substitute* (list "launcher/game/gui7.rpy" + "launcher/game/gui7/images.py") + ((", \"game\",") ",")) + #t)) + (add-before 'build 'start-xserver + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((Xvfb (search-input-file (or native-inputs inputs) + "/bin/Xvfb"))) + (setenv "HOME" (getcwd)) + (system (format #f "~a :1 &" Xvfb)) + (setenv "DISPLAY" ":1")))) + (replace 'build + (lambda _ + (invoke "python" "renpy.py" "launcher" "quit") + (invoke "python" "renpy.py" "the_question" "quit") + (invoke "python" "renpy.py" "tutorial" "quit"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Here we install our custom renpy program. + ;; After finishing this step, "out" will have the following: + ;; |-- bin/renpy + ;; `-- share/renpy ; i.e. path_to_renpy_base() + ;; |-- common + ;; `-- gui + ;; + ;; Note that common shares the source files that would be installed + ;; by python2-renpy (which are instead deleted from that package), + ;; but also contains their byte-compiled versions. + ;; On other systems, renpy_base would point to site-packages or + ;; even somewhere in /opt. + ;; The former approach is not as straightforward as it seems + ;; -- it causes renpy to load files twice for some weird reason -- + ;; and the latter is impossible on Guix. Hence the detour through + ;; share/renpy and the custom renpy program. + ;; + ;; As a convention, other games should be installed as + ;; subdirectories of share/renpy in their respective outputs as + ;; well. This differs from the traditional layout, which is + ;; roughly the following: + ;; `-- Super Awesome Game + ;; |-- game ; <- the folder we actually want + ;; |-- lib ; compiled renpy module and dependencies + ;; |-- renpy ; yet another copy of Ren'py's code + ;; | |-- common ; the common folder from above + ;; | `-- ... ; Python code (source + compiled) + ;; |-- Super Awesome Game.py + ;; `-- Super Awesome Game.sh + (let* ((out (assoc-ref outputs "out")) + (bin/renpy (string-append out "/bin/renpy"))) + (copy-recursively "renpy/common" + (string-append out "/share/renpy/common")) + (copy-recursively "gui" + (string-append out "/share/renpy/gui")) + + (mkdir-p (string-append out "/bin")) + (copy-file #$(local-file (search-auxiliary-file "renpy/renpy.in")) + bin/renpy) + (substitute* bin/renpy + (("@PYTHON@") (search-input-file inputs "bin/python3")) + (("@RENPY_BASE@") (string-append out "/share/renpy"))) + (chmod bin/renpy #o755)))) + + (add-after 'install 'install-games + (lambda* (#:key inputs outputs #:allow-other-keys) + (define renpy (assoc-ref outputs "out")) + ;; TODO: We should offer a renpy-build-system to make the + ;; installation of Ren'py games easier. + (define* (install-renpy-game #:key output game name (renpy renpy) + #:allow-other-keys) + (let* ((name (or name (basename game))) + (launcher (string-append output "/bin/renpy-" name)) + (share (string-append output "/share/renpy/" name))) + (copy-recursively (string-append game "/game") share) + (mkdir-p (string-append output "/bin")) + (with-output-to-file launcher + (lambda () + (format #t + "#!~a~%~a ~a \"$@\"" + (search-input-file inputs "/bin/bash") + (string-append renpy "/bin/renpy") + share))) + (chmod launcher #o755))) + + (install-renpy-game #:output (assoc-ref outputs "out") + #:game "launcher") + + (install-renpy-game #:output (assoc-ref outputs "the-question") + #:game "the_question" + #:name "the-question") + + (install-renpy-game #:output (assoc-ref outputs "tutorial") + #:game "tutorial"))) + (replace 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (site (string-append "/lib/python" + (python-version + (assoc-ref inputs "python")) + "/site-packages"))) + (wrap-program (string-append out "/bin/renpy") + `("GUIX_PYTHONPATH" = + (,@(delete-duplicates + (map + (lambda (store-path) + (string-append store-path site)) + (cons (assoc-ref outputs "out") + (map cdr + (filter + (lambda (input) + (string-prefix? "python" (car input))) + inputs)))))))))))))) + (inputs (list bash-minimal + python + python-pefile + python-requests + python-renpy + python-six + `(,python "tk") + xdg-utils)) (propagated-inputs '()) - (native-inputs - (list xorg-server-for-tests)) - (outputs - (list "out" "tutorial" "the-question")) + (native-inputs (list xorg-server-for-tests)) + (outputs (list "out" "tutorial" "the-question")) (home-page "https://www.renpy.org/") (synopsis "Visual Novel Engine") (description "Ren'Py is a visual novel engine that helps you use words, -- cgit v1.2.3 From 956f0b4465a715decb403df58760ae938526db66 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 17 Jun 2022 16:45:13 +0200 Subject: guix: Modernize renpy-build-system. * guix/build-system/renpy.scm (build): Drop trailing #t. (install, install-desktop-file): Likewise. Also add inputs and use search-input-file for /bin/sh and /bin/renpy. --- guix/build/renpy-build-system.scm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/guix/build/renpy-build-system.scm b/guix/build/renpy-build-system.scm index e4a88456be..7c15d52f19 100644 --- a/guix/build/renpy-build-system.scm +++ b/guix/build/renpy-build-system.scm @@ -37,10 +37,9 @@ (define* (build #:key game #:allow-other-keys) game ;; should be "compile", but renpy wants to compile itself really ;; badly if we do - "quit") - #t) + "quit")) -(define* (install #:key outputs game (output "out") #:allow-other-keys) +(define* (install #:key inputs outputs game (output "out") #:allow-other-keys) (let* ((out (assoc-ref outputs output)) (json-dump (call-with-input-file (string-append game "/renpy-build.json") @@ -58,13 +57,12 @@ (define* (install #:key outputs game (output "out") #:allow-other-keys) (call-with-output-file launcher (lambda (port) (format port "#!~a~%~a ~s \"$@\"" - (which "bash") - (which "renpy") + (search-input-file inputs "/bin/sh") + (search-input-file inputs "/bin/renpy") data))) - (chmod launcher #o755))) - #t) + (chmod launcher #o755)))) -(define* (install-desktop-file #:key outputs game (output "out") +(define* (install-desktop-file #:key inputs outputs game (output "out") #:allow-other-keys) (let* ((out (assoc-ref outputs output)) (json-dump (call-with-input-file (string-append game @@ -78,10 +76,9 @@ (define* (install-desktop-file #:key outputs game (output "out") #:name (assoc-ref json-dump "name") #:generic-name (assoc-ref build "display_name") #:exec (format #f "~a ~s" - (which "renpy") + (search-input-file inputs "/bin/renpy") (string-append out "/share/renpy/" directory-name)) - #:categories '("Game" "Visual Novel"))) - #t) + #:categories '("Game" "Visual Novel")))) (define %standard-phases (modify-phases gnu:%standard-phases -- cgit v1.2.3 From 25d32d1f761b9cc9b0b2894b37b3de4cb407bf09 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 17 Jun 2022 19:54:46 +0200 Subject: gnu: pari-gp: Enable pthreads. * gnu/packages/algebra.scm (pari-gp): Add --mt=pthread to configure flags. --- gnu/packages/algebra.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 16142eaf8a..3dd476ace9 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -242,6 +242,7 @@ (define-public pari-gp (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (invoke "./Configure" + "--mt=pthread" (string-append "--prefix=" (assoc-ref outputs "out")))))))) (synopsis "PARI/GP, a computer algebra system for number theory") -- cgit v1.2.3 From 793ce82c9d5ead8457da9cec8d1d8afc12704f10 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Jun 2022 21:08:25 +0200 Subject: gnu: Add texlive-xunicode. * gnu/packages/tex.scm (texlive-xunicode): New variable. --- gnu/packages/tex.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 9442de6e74..a7b62150f8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -8871,6 +8871,27 @@ (define-public texlive-latex-examplep ;; No version of the GPL is specified. (license license:gpl3+))) +(define-public texlive-xunicode + (package + (inherit + (simple-texlive-package "texlive-xunicode" + (list "doc/xelatex/xunicode/" + "tex/xelatex/xunicode/") + (base32 + "1d96i8kd2lhbykc3rxy2jjvws404f2vy1cvdcp5bdr6l9m72q1fa") + #:trivial? #t)) + (propagated-inputs (list texlive-tipa)) + (home-page "https://ctan.org/macros/xetex/latex/xunicode") + (synopsis "Generate Unicode characters from accented glyphs") + (description + "The package supports XeTeX's (and other putative future similar engines') +need for Unicode characters, in a similar way to what the fontenc does for +8-bit (and the like) fonts: convert accent-glyph sequence to a single Unicode +character for output. The package also covers glyphs specified by +packages (such as @code{tipa}) which define many commands for single text +glyphs.") + (license license:lppl1.3+))) + (define-public texlive-xypic (let ((template (simple-texlive-package "texlive-xypic" -- cgit v1.2.3 From 743204bb0402e62413af1972263636a549a9732d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: brltty: Update to 6.5. * gnu/packages/accessibility.scm (brltty): Update to 6.5. --- gnu/packages/accessibility.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index 36210d3e52..22e70b737a 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Nikita ;;; Copyright © 2017 Stefan Reichör -;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2021, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2019 Andrew Miloradovsky ;;; Copyright © 2020 Efraim Flashner ;;; @@ -89,14 +89,14 @@ (define-public libbraille (define-public brltty (package (name "brltty") - (version "6.4") + (version "6.5") (source (origin (method url-fetch) (uri (string-append "https://brltty.app/archive/brltty-" version ".tar.gz")) (sha256 - (base32 "0zybi9i9izv25g0wphl0snddrhb6xl5879y4pkpjpnxq61wm9gry")))) + (base32 "1h62xzd5k0aaq2k4v3w93rizxnb8psvkxrlx62wr08ybwpspgp7z")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; No target -- cgit v1.2.3 From 1a2a209e6235620a305107e3ab90b14d23ca3f29 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:01:05 +0200 Subject: gnu: i3status: Make asciidoc a native input. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (i3status)[inputs]: Move asciidoc from here… [native-inputs]: …to here. --- gnu/packages/wm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 4194ec0fd9..bfbbc04b7c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -282,10 +282,10 @@ (define-public i3status alsa-lib pulseaudio libnl - libcap - asciidoc)) + libcap)) (native-inputs - (list pkg-config docbook-xsl libxml2 ;for XML_CATALOG_FILES + (list asciidoc + pkg-config docbook-xsl libxml2 ;for XML_CATALOG_FILES xmlto)) (home-page "https://i3wm.org/i3status/") (synopsis "Status bar for i3bar, dzen2, xmobar or similar programs") -- cgit v1.2.3 From b5dc5f469c7538e831dfeb826f6a4bfbbe8ea116 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: i3status: Update to 2.14. * gnu/packages/wm.scm (i3status): Update to 2.14. [source]: Add snippet to delete pregenerated man page. [build-system]: Switch to Meson. [arguments]: Remove autotools-specific #:out-of-source? Build man pages. [inputs]: Remove unused openlibm and libcap. [native-inputs]: Add perl. --- gnu/packages/wm.scm | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index bfbbc04b7c..d816bad871 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -261,31 +261,33 @@ (define-public herbstluftwm (define-public i3status (package (name "i3status") - (version "2.13") + (version "2.14") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/i3status/i3status-" - version ".tar.bz2")) + version ".tar.xz")) (sha256 (base32 - "0rhlzb96mw64z2jnhwz9nibc7pxg549626lz5642xxk5hpzwk2ff")))) - (build-system gnu-build-system) + "0929chhvyq9hg4scpcz8r9zn3s9jvbg6a86k3wqa77qg85rh4kaw")) + (snippet + ;; Delete the pregenerated man page, to be rebuilt from source. + '(delete-file "man/i3status.1")))) + (build-system meson-build-system) (arguments - `(;; XXX: Do an "out of source" build to work around - ;; . - #:out-of-source? #t - #:tests? #f)) ; no test suite + (list #:configure-flags + '(list "-Dmans=True") + #:tests? #f)) ; no test suite (inputs - (list openlibm + (list alsa-lib libconfuse - libyajl - alsa-lib - pulseaudio libnl - libcap)) + libyajl + pulseaudio)) (native-inputs (list asciidoc - pkg-config docbook-xsl libxml2 ;for XML_CATALOG_FILES + perl + pkg-config + docbook-xsl libxml2 ; for XML_CATALOG_FILES xmlto)) (home-page "https://i3wm.org/i3status/") (synopsis "Status bar for i3bar, dzen2, xmobar or similar programs") -- cgit v1.2.3 From 9305d176094c5ed4dbc4bec6a31f80164f097c0c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: erofs-utils: Update to 1.5. * gnu/packages/linux.scm (erofs-utils): Update to 1.5. --- 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 7a9a6d183f..ae2ba25fc7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -9091,7 +9091,7 @@ (define-public liburing (define-public erofs-utils (package (name "erofs-utils") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -9100,7 +9100,7 @@ (define-public erofs-utils (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ygaw69pfz2hfzw9cqzg9rfnjzrdbfkwsiinz6qs2h56dssjz0y9")))) + (base32 "0rgkw3b924xdg49v3qi8a10w41zfk276wb6fp71lb9q9cfc81idw")))) (build-system gnu-build-system) (inputs (list lz4 -- cgit v1.2.3 From 2c975efe836e83333d4decb87577a6ff9857c4a5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: duktape: Use G-expressions. * gnu/packages/javascript.scm (duktape)[arguments]: Rewrite as G-expressions. --- gnu/packages/javascript.scm | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 5598341e5c..1d571a1c72 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -828,22 +828,27 @@ (define-public duktape "19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No tests. - #:make-flags (list "-f" "Makefile.sharedlibrary" - (string-append "INSTALL_PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - ;; At least another major GNU/Linux distribution carries their own - ;; .pc file with this package. - (add-after 'install 'install-pkg-config - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (pkg-config-dir (string-append out "/lib/pkgconfig"))) - (mkdir-p pkg-config-dir) - (with-output-to-file (string-append pkg-config-dir "/duktape.pc") - (lambda _ - (format #t "prefix=~@*~a~@ + (list #:tests? #f ; No tests. + #:make-flags + #~(list "-f" "Makefile.sharedlibrary" + (string-append "INSTALL_PREFIX=" + ;; XXX Replace with #$output on core-updates. + #$(if (%current-target-system) + #~#$output + #~%output))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + ;; At least another major GNU/Linux distribution carries their own + ;; .pc file with this package. + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-config-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-config-dir) + (with-output-to-file (string-append pkg-config-dir "/duktape.pc") + (lambda _ + (format #t "prefix=~@*~a~@ libdir=${prefix}/lib~@ includedir=${prefix}/include~@ @@ -852,7 +857,7 @@ (define-public duktape Version: ~a~@ Libs: -L${libdir} -lduktape~@ Cflags: -I${includedir}~%" - out ,version))))))))) + out #$version))))))))) (home-page "https://duktape.org/") (synopsis "Small embeddable Javascript engine") (description "Duktape is an embeddable Javascript engine, with a focus on -- cgit v1.2.3 From e1076e934666193a0e68883c8de21bad45b44cdc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: duktape: Cross-compile. * gnu/packages/javascript.scm (duktape)[arguments]: Use CC-FOR-TARGET. --- gnu/packages/javascript.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 1d571a1c72..666a0aa421 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -835,7 +835,11 @@ (define-public duktape ;; XXX Replace with #$output on core-updates. #$(if (%current-target-system) #~#$output - #~%output))) + #~%output)) + ;; XXX Unconditionally set to CC-FOR-TARGET on core-updates. + #$@(if (%current-target-system) + #~((string-append "CC=" #$(cc-for-target))) + #~())) #:phases #~(modify-phases %standard-phases (delete 'configure) -- cgit v1.2.3 From f89822cd25cefbbc24138d48f6585a6df0f6a5a1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:10 +0200 Subject: gnu: btrfs-progs: Update to 5.18.1. * gnu/packages/linux.scm (btrfs-progs): Update to 5.18.1. [native-inputs]: Remove asciidoc, python, xmlto, libxml2, and docbook-xsl. Add python-sphinx. --- gnu/packages/linux.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ae2ba25fc7..e80ca436b6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -160,6 +160,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages xorg) #:use-module (gnu packages groff) #:use-module (gnu packages selinux) + #:use-module (gnu packages sphinx) #:use-module (gnu packages swig) #:use-module (guix platform) #:use-module (guix build-system cmake) @@ -5574,7 +5575,7 @@ (define-public gpm (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.15.1") + (version "5.18.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -5582,7 +5583,7 @@ (define-public btrfs-progs "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "085rg9p7kifhh8kjyyhs38y86srwk820s6v07min5gb177rzhc32")))) + "0mbj3j2fpjds9i9gm8kk8a20yjacc562ibd1v9a96bpmrxfag63f")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" @@ -5627,12 +5628,8 @@ (define-public btrfs-progs ("zstd" ,zstd "lib") ("zstd:static" ,zstd "static"))) (native-inputs `(("pkg-config" ,pkg-config) - ("asciidoc" ,asciidoc) - ("python" ,python) - ("xmlto" ,xmlto) ;; For building documentation. - ("libxml2" ,libxml2) - ("docbook-xsl" ,docbook-xsl) + ("python-sphinx" ,python-sphinx) ;; For tests. ("acl" ,acl) ("which" ,which) -- cgit v1.2.3 From ffbe69c4c3a232363be79012ccbc2c4f3cb46115 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: btrfs-progs: Fix tests. * gnu/packages/linux.scm (btrfs-progs)[native-inputs]: Add libaio, liburing, and util-linux. --- gnu/packages/linux.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e80ca436b6..d7a80ab491 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5632,10 +5632,12 @@ (define-public btrfs-progs ("python-sphinx" ,python-sphinx) ;; For tests. ("acl" ,acl) - ("which" ,which) ("dmsetup" ,lvm2) - ;; The tests need 'grep' with perl regexp support. - ("grep" ,grep))) + ("grep" ,grep) ; need Perl regexp support + ("libaio" ,libaio) + ("liburing" ,liburing) + ("util-linux" ,util-linux) ; for fallocate + ("which" ,which))) (home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page") (synopsis "Create and manage btrfs copy-on-write file systems") (description "Btrfs is a @dfn{copy-on-write} (CoW) file system for Linux -- cgit v1.2.3 From 6ea3bb6a542a11fe3ddb92ee91c90a5eaea32144 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: btrfs-progs: Use @acronym in description. * gnu/packages/linux.scm (btrfs-progs)[description]: Use @acronym{}. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d7a80ab491..6e26cd3b2a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5640,7 +5640,7 @@ (define-public btrfs-progs ("which" ,which))) (home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page") (synopsis "Create and manage btrfs copy-on-write file systems") - (description "Btrfs is a @dfn{copy-on-write} (CoW) file system for Linux + (description "Btrfs is a @acronym{CoW, copy-on-write} file system for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.") ;; GPL2+: crc32.c, radix-tree.c, raid6.c, rbtree.c. -- cgit v1.2.3 From 9cc2fe90e8d243679ba138fb56232e0d468b7942 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:01 +0200 Subject: gnu: rng-tools: Update to 6.15. * gnu/packages/linux.scm (rng-tools): Update to 6.15. [arguments]: Add a 'disable-failing-test phase. --- gnu/packages/linux.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6e26cd3b2a..98738f1fae 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6341,7 +6341,7 @@ (define-public rng-tools (package (name "rng-tools") (home-page "https://github.com/nhorman/rng-tools") - (version "6.14") + (version "6.15") (source (origin (method git-fetch) (uri (git-reference (url home-page) @@ -6349,7 +6349,7 @@ (define-public rng-tools (file-name (git-file-name name version)) (sha256 (base32 - "1hrbm4y7fbzkg5j2f7vpj19ri2ff2lp77al17fhi4mv0bvdfjd9m")))) + "0i00if7xknpm0dhkrm60rxzyyvq0vdibq7dvsd2ncm9pg098qvwj")))) (build-system gnu-build-system) (arguments `(;; Disable support for various hardware entropy sources as they need @@ -6357,7 +6357,15 @@ (define-public rng-tools ;; increase closure size. #:configure-flags '("--without-nistbeacon" "--without-pkcs11" - "--without-rtlsdr"))) + "--without-rtlsdr") + #:phases + (modify-phases %standard-phases + (add-before 'check 'disable-failing-test + (lambda _ + (substitute* "tests/Makefile" + ;; This test requires a hwrng, rdrand, or tpm device. + ;; Worse, it appears to fail if that isn't sufficiently random. + (("\\brngtestjitter\\.sh\\b") " "))))))) (native-inputs (list autoconf automake pkg-config)) (inputs -- cgit v1.2.3 From 37e64eed03fd7cdb7f3e647c13be411549578ba2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:02 +0200 Subject: gnu: fdm: Update to 2.1. * gnu/packages/mail.scm (fdm): Update to 2.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 5d2fbdeff5..06823a09a5 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2424,13 +2424,13 @@ (define-public esmtp (define-public fdm (package (name "fdm") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nicm/fdm/releases/download/" version "/fdm-" version ".tar.gz")) (sha256 - (base32 "196fs1z8y7p12wmqn1bylzz94szl58yv2aby3p30nmwjnyv8rch6")))) + (base32 "1zxd5j5x2gp6m62j83xsjyfglw1p6gn4zk5qx10djdh8xzkg53c5")))) (build-system gnu-build-system) (inputs (list tdb openssl zlib)) -- cgit v1.2.3 From b9d309114b7226b3617523d8e4e862d48fcad2c4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: fdm: Edit description. * gnu/packages/mail.scm (fdm)[synopsis]: Use @acronym{}. [description]: Expand based on the README. --- gnu/packages/mail.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 06823a09a5..15a53a337d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2435,10 +2435,18 @@ (define-public fdm (inputs (list tdb openssl zlib)) (home-page "https://github.com/nicm/fdm") - (synopsis "Mail Retrieval Agent (MRA) and Mail Delivery Agent (MDA)") - (description "fdm is a program designed to fetch mail from POP3 -or IMAP servers, or receive local mail from stdin, and -deliver it in various ways.") + (synopsis + "@acronym{MRA, Mail Retrieval Agent} and @acronym{MDA, Mail Delivery Agent}") + (description "fdm fetches and delivers mail in various ways. + +Mail may be fetched from IMAP or POP3 servers, from local maildirs, or read +from standard input. It is then filtered based on regular expressions, its +size or age, or the output of a (shell) command. It can be rewritten by an +external process, dropped, left on the server or delivered into maildirs, +mboxes, to a file or pipe, or any combination. + +fdm is primarily designed for use by a single user, but can use privilege +separation to safely deliver mail in multi-user setups.") (license ;; Why point to a source file? Well, all the individual files have a ;; copy of this license in their headers, but there's no seprate file -- cgit v1.2.3 From 6013f808102e7e2093b41fc71324cdd89bb607a0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:03 +0200 Subject: gnu: tor: Update to 0.4.7.8 [fixes CVE-2022-33903]. * gnu/packages/tor.scm (tor): Update to 0.4.7.8. --- gnu/packages/tor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 40f941fcea..139ef4b9e4 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -58,14 +58,14 @@ (define-module (gnu packages tor) (define-public tor (package (name "tor") - (version "0.4.7.7") + (version "0.4.7.8") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0i2v3a2h7d0bjn64pi1c6h2x15lb53plf71xwkbkb51bnmc124ry")))) + "15g1dyk0y2lrcr039y5b10bnn1zd3xcys55yz3qdbk9ammkmr6ly")))) (build-system gnu-build-system) (arguments (list #:configure-flags -- cgit v1.2.3 From f8275916fc6fcb3dd9bd8ef7dc4ddce2dca98c7d Mon Sep 17 00:00:00 2001 From: Fredrik Salomonsson Date: Sun, 5 Jun 2022 19:51:42 +0000 Subject: guix: emacs-utils: Add emacs-batch-script. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/emacs-utils.scm (emacs-batch-script): New procedure. * tests/build-emacs-utils.scm: New file. * Makefile.am (TESTS): Add `tests/build-emacs-utils.scm'. Signed-off-by: Ludovic Courtès --- Makefile.am | 1 + guix/build/emacs-utils.scm | 30 ++++++++++++++++++++++++++++++ tests/build-emacs-utils.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 tests/build-emacs-utils.scm diff --git a/Makefile.am b/Makefile.am index ade53866b3..6c8822138d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -472,6 +472,7 @@ SCM_TESTS = \ tests/boot-parameters.scm \ tests/bournish.scm \ tests/builders.scm \ + tests/build-emacs-utils.scm \ tests/build-utils.scm \ tests/cache.scm \ tests/challenge.scm \ diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index 60a754b9e9..1684bf3262 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2018, 2020, 2022 Maxim Cournoyer ;;; Copyright © 2019 Liliana Marie Prikler +;;; Copyright © 2022 Fredrik Salomonsson ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,10 +23,19 @@ (define-module (guix build emacs-utils) #:use-module (guix build utils) #:use-module (ice-9 format) + #:use-module (ice-9 popen) + #:use-module (ice-9 rdelim) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (%emacs emacs-batch-eval emacs-batch-edit-file emacs-batch-disable-compilation + emacs-batch-script + + emacs-batch-error? + emacs-batch-error-message + emacs-generate-autoloads emacs-byte-compile-directory @@ -69,6 +79,26 @@ (define (emacs-batch-disable-compilation file) (add-file-local-variable 'no-byte-compile t) (basic-save-buffer)))) +(define-condition-type &emacs-batch-error &error + emacs-batch-error? + (message emacs-batch-error-message)) + +(define (emacs-batch-script expr) + "Execute the Elisp code EXPR in Emacs batch mode and return output." + (let* ((error-pipe (pipe)) + (port (parameterize ((current-error-port (cdr error-pipe))) + (open-pipe* + OPEN_READ + (%emacs) "--quick" "--batch" + (string-append "--eval=" (expr->string expr))))) + (output (read-string port)) + (status (close-pipe port))) + (close-port (cdr error-pipe)) + (unless (zero? status) + (raise (condition (&emacs-batch-error + (message (read-string (car error-pipe))))))) + output)) + (define (emacs-generate-autoloads name directory) "Generate autoloads for Emacs package NAME placed in DIRECTORY." (let* ((file (string-append directory "/" name "-autoloads.el")) diff --git a/tests/build-emacs-utils.scm b/tests/build-emacs-utils.scm new file mode 100644 index 0000000000..27cff46c38 --- /dev/null +++ b/tests/build-emacs-utils.scm @@ -0,0 +1,43 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Fredrik Salomonsson +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + + +(define-module (test build-emacs-utils) + #:use-module (guix tests) + #:use-module (guix build emacs-utils) + #:use-module (guix build utils) + #:use-module ((guix utils) + #:select (call-with-temporary-directory)) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-64)) + +(test-begin "build-emacs-utils") +;; Only run the following tests if emacs is present. +(test-skip (if (which "emacs") 0 2)) + +(test-equal "emacs-batch-script: print foo from emacs" + "foo" + (emacs-batch-script '(princ "foo"))) + +(test-assert "emacs-batch-script: raise &emacs-batch-error on failure" + (guard (c ((emacs-batch-error? c) + (string-contains (emacs-batch-error-message c) + "Lisp error: (wrong-type-argument numberp \"three\")"))) + (emacs-batch-script '(mapcar 'number-to-string (list 1 2 "three"))))) + +(test-end "build-emacs-utils") -- cgit v1.2.3 From c3afbd05bf541b31b122e6093ff10eabf6a47926 Mon Sep 17 00:00:00 2001 From: Fredrik Salomonsson Date: Sun, 5 Jun 2022 19:51:43 +0000 Subject: guix: emacs-utils: Add emacs-header-parse. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/emacs-utils.scm (emacs-header-parse): New procedure. * tests/build-emacs-utils.scm ("emacs-header-parse: fetch version", "emacs-header-parse: fetch keywords", "emacs-header-parse: fetch nonexistent author"): New tests. Signed-off-by: Ludovic Courtès --- guix/build/emacs-utils.scm | 9 +++++++++ tests/build-emacs-utils.scm | 27 ++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index 1684bf3262..8ee547f2b3 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -38,6 +38,7 @@ (define-module (guix build emacs-utils) emacs-generate-autoloads emacs-byte-compile-directory + emacs-header-parse as-display emacs-substitute-sexps @@ -114,6 +115,14 @@ (define* (emacs-byte-compile-directory dir) (byte-recompile-directory (file-name-as-directory ,dir) 0 1)))) (emacs-batch-eval expr))) +(define (emacs-header-parse section file) + "Parse the header SECTION in FILE and return it as a string." + (emacs-batch-script + `(progn + (require 'lisp-mnt) + (find-file ,file) + (princ (lm-header ,section))))) + (define as-display ;syntactic keyword for 'emacs-substitute-sexps' '(as display)) diff --git a/tests/build-emacs-utils.scm b/tests/build-emacs-utils.scm index 27cff46c38..081032285a 100644 --- a/tests/build-emacs-utils.scm +++ b/tests/build-emacs-utils.scm @@ -28,7 +28,7 @@ (define-module (test build-emacs-utils) (test-begin "build-emacs-utils") ;; Only run the following tests if emacs is present. -(test-skip (if (which "emacs") 0 2)) +(test-skip (if (which "emacs") 0 5)) (test-equal "emacs-batch-script: print foo from emacs" "foo" @@ -40,4 +40,29 @@ (define-module (test build-emacs-utils) "Lisp error: (wrong-type-argument numberp \"three\")"))) (emacs-batch-script '(mapcar 'number-to-string (list 1 2 "three"))))) +(call-with-temporary-directory + (lambda (directory) + (let ((mock-elisp-file (string-append directory "/foo.el"))) + (call-with-output-file mock-elisp-file + (lambda (port) + (display ";;; foo --- mock emacs package -*- lexical-binding: t -*- + +;; Created: 4 Jun 2022 +;; Keywords: lisp test +;; Version: 1.0.0 +;;; Commentary: +;;; Code: +;;; foo.el ends here +" + port))) + (test-equal "emacs-header-parse: fetch version" + "1.0.0" + (emacs-header-parse "version" mock-elisp-file)) + (test-equal "emacs-header-parse: fetch keywords" + "lisp test" + (emacs-header-parse "keywords" mock-elisp-file)) + (test-equal "emacs-header-parse: fetch nonexistent author" + "nil" + (emacs-header-parse "author" mock-elisp-file))))) + (test-end "build-emacs-utils") -- cgit v1.2.3 From e56f2cab6094334cd25f384f537bca26455baa8a Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Thu, 16 Jun 2022 21:53:56 +0000 Subject: gnu: Add guile-tap. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile-xyz.scm (guile-tap): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/guile-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c6f73a38e9..ff44f6c9de 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2021, 2022 Artyom V. Poptsov ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 Zhu Zihao +;;; Copyright © 2022 Antero Mejr ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,6 +84,7 @@ (define-module (gnu packages guile-xyz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages haskell-xyz) ;pandoc #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) @@ -5019,3 +5021,43 @@ (define-public lokke in two different guises.") ;; Dual license: LGPLv2.1+ or EPLv1.0+ at the user's option. (license (list license:lgpl2.1+ license:epl1.0))))) + +(define-public guile-tap + (package + (name "guile-tap") + (version "0.4.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ft/guile-tap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04ip5cbvsjjcicsri813f4711yh7db6fvc2px4788rl8p1iqvi6x")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("PREFIX = /usr/local") (string-append "PREFIX=" + #$output))))) + (replace 'build + (lambda _ + (invoke "make") + (invoke "make" "-C" "doc" "man") + (invoke "make" "install"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "test"))))))) + (native-inputs (list guile-3.0 pandoc)) + (home-page "https://github.com/ft/guile-tap") + (synopsis "Guile test framework that emits TAP output") + (description + "guile-tap is a library for GNU Guile that implements a framework for +specifying test cases that emit output that adheres to the Test Anything +Protocol (TAP). It comes with an experimental harness (tap-harness).") + (license license:bsd-2))) -- cgit v1.2.3 From 0de3d44a16dcbbb28cc9f69381fe6913a7367835 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Thu, 16 Jun 2022 21:53:55 +0000 Subject: gnu: Add guile-termios. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile-xyz.scm (guile-termios): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/guile-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index ff44f6c9de..2ed6617fd2 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5061,3 +5061,45 @@ (define-public guile-tap specifying test cases that emit output that adheres to the Test Anything Protocol (TAP). It comes with an experimental harness (tap-harness).") (license license:bsd-2))) + +(define-public guile-termios + (package + (name "guile-termios") + (version "0.6.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ft/guile-termios") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "020p3c84z09wyyb6gfzj2x6q2rfmvas7c92fcm2hhg8z1q60sqkg")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("CC = cc") (string-append "CC=" + #$(cc-for-target))) + (("PREFIX = /usr/local") (string-append "PREFIX=" + #$output))))) + (replace 'build + (lambda _ + (invoke "make") + (invoke "make" "-C" "doc" "man") + (invoke "make" "install"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "test"))))))) + (native-inputs (list guile-3.0 guile-tap pandoc perl perl-io-tty)) + (home-page "https://github.com/ft/guile-termios") + (synopsis "POSIX termios interface for GNU Guile") + (description + "To query and change settings of serial devices on POSIX systems, the +termios API is used. GNU Guile doesn't have an interface for that built in. +This module implements this interface by use of Guile's dynamic FFI.") + (license license:bsd-2))) -- cgit v1.2.3 From 3e24393e8727984239a48136848fa089f483b7d6 Mon Sep 17 00:00:00 2001 From: "(" Date: Wed, 15 Jun 2022 22:01:32 +0100 Subject: gnu: pinfo: Update to 3d76eec. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/texinfo.scm (pinfo): Update to commit 3d76eecde211e41ccc28b04e229f159b3f924399. [arguments]: Use gexps. [inputs, native-inputs]: Remove labels. Signed-off-by: Ludovic Courtès --- gnu/packages/texinfo.scm | 79 +++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index fc1dac9df9..8cf90855a3 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2022 ( ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ (define-module (gnu packages texinfo) #:use-module (gnu packages autotools) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix utils) @@ -254,49 +256,42 @@ (define-public texi2html-1.82 (base32 "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n")))))) (define-public pinfo - (package - (name "pinfo") - (version "0.6.13") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/baszoetekouw/pinfo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "173d2p22irwiabvr4z6qvr6zpr6ysfkhmadjlyhyiwd7z62larvy")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-Werror - (lambda _ - (substitute* "configure.ac" - (("-Werror") "")) - #t)) - (add-after 'unpack 'embed-reference-to-clear - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("src/manual.c" - "src/mainfunction.c" - "src/utils.c") - (("\"clear\"") - (string-append "\"" (which "clear") "\""))) - #t))))) - (inputs - (list ncurses readline)) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("gettext" ,gettext-minimal) - ("libtool" ,libtool) - ("texinfo" ,texinfo))) - (home-page "https://github.com/baszoetekouw/pinfo") - (synopsis "Lynx-style Info file and man page reader") - (description - "Pinfo is an Info file viewer. Pinfo is similar in use to the Lynx web + (let ((commit "3d76eecde211e41ccc28b04e229f159b3f924399") + (revision "0")) + (package + (name "pinfo") + ;; Latest tag is completely broken and does not build. + (version (git-version "0.6.13" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/baszoetekouw/pinfo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qym323d9my5l4bhw9vry453hhlxhjjvy8mcdi38sk0bqqid0vd1")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'embed-reference-to-clear + (lambda* (#:key inputs #:allow-other-keys) + (let ((ncurses (assoc-ref inputs "ncurses"))) + (substitute* (list "src/manual.c" + "src/mainfunction.c" + "src/utils.c") + (("\"clear\"") + (string-append "\"" ncurses "/bin/clear\""))))))))) + (inputs + (list ncurses readline)) + (native-inputs + (list autoconf automake gettext-minimal libtool texinfo)) + (home-page "https://github.com/baszoetekouw/pinfo") + (synopsis "Lynx-style Info file and man page reader") + (description + "Pinfo is an Info file viewer. Pinfo is similar in use to the Lynx web browser. You just move across info nodes, and select links, follow them, etc. It supports many colors. Pinfo also supports viewing of manual pages -- they are colorized like in the midnight commander's viewer, and additionally they are hypertextualized.") - (license gpl2+))) + (license gpl2+)))) -- cgit v1.2.3 From 7f208f68dea828fe02718ca8ce81d5975136cff8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 11 Jun 2022 18:39:02 +0200 Subject: home: Add OpenSSH service. * gnu/home/services/ssh.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Secure Shell): New section. --- doc/guix.texi | 176 +++++++++++++++++++++++++++++++- gnu/home/services/ssh.scm | 254 ++++++++++++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + po/guix/POTFILES.in | 1 + 4 files changed, 431 insertions(+), 1 deletion(-) create mode 100644 gnu/home/services/ssh.scm diff --git a/doc/guix.texi b/doc/guix.texi index eda0956260..86348fc02c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -39296,6 +39296,7 @@ services)}. * Shells: Shells Home Services. POSIX shells, Bash, Zsh. * Mcron: Mcron Home Service. Scheduled User's Job Execution. * Shepherd: Shepherd Home Service. Managing User's Daemons. +* SSH: Secure Shell. Setting up the secure shell client. * Desktop: Desktop Home Services. Services for graphical environments. @end menu @c In addition to that Home Services can provide @@ -39616,7 +39617,7 @@ GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, GNU@tie{}mcron}). The information about system's mcron is applicable here (@pxref{Scheduled Job Execution}), the only difference for home services is that they have to be declared in a -@code{home-envirnoment} record instead of an @code{operating-system} +@code{home-environment} record instead of an @code{operating-system} record. @defvr {Scheme Variable} home-mcron-service-type @@ -39684,6 +39685,179 @@ mechanism instead (@pxref{Shepherd Services}). @end table @end deftp +@node Secure Shell +@subsection Secure Shell + +@cindex secure shell client, configuration +@cindex SSH client, configuration +The @uref{https://www.openssh.com, OpenSSH package} includes a client, +the @command{ssh} command, that allows you to connect to remote machines +using the @acronym{SSH, secure shell} protocol. With the @code{(gnu +home services ssh)} module, you can set up OpenSSH so that it works in a +predictable fashion, almost independently of state on the local machine. +To do that, you instantiate @code{home-openssh-service-type} in your +Home configuration, as explained below. + +@defvr {Scheme Variable} home-openssh-service-type +This is the type of the service to set up the OpenSSH client. It takes +care of several things: + +@itemize +@item +providing a @file{~/.ssh/config} file based on your configuration so +that @command{ssh} knows about hosts you regularly connect to and their +associated parameters; + +@item +providing a @file{~/.ssh/authorized_keys}, which lists public keys that +the local SSH server, @command{sshd}, may accept to connect to this user +account; + +@item +optionally providing a @file{~/.ssh/known_hosts} file so that @file{ssh} +can authenticate hosts you connect to. +@end itemize + +Here is a sample configuration you could add to the @code{services} +field of your @code{home-environment}: + +@lisp +(home-openssh-configuration + (hosts (list (openssh-host (name "ci.guix.gnu.org") + (user "charlie")) + (openssh-host (name "chbouib") + (host-name "chbouib.example.org") + (user "supercharlie") + (port 10022)))) + (authorized-keys (list (local-file "alice.pub")))) +@end lisp + +The example above lists two hosts and their parameters. For instance, +running @command{ssh chbouib} will automatically connect to +@code{chbouib.example.org} on port 10022, logging in as user +@samp{supercharlie}. Further, it marks the public key in +@file{alice.pub} as authorized for incoming connections. + +The value associated with a @code{home-openssh-service-type} instance +must be a @code{home-openssh-configuration} record, as describe below. +@end defvr + +@deftp {Data Type} home-openssh-configuration +This is the datatype representing the OpenSSH client and server +configuration in one's home environment. It contains the following +fields: + +@table @asis +@item @code{hosts} (default: @code{'()}) +A list of @code{openssh-host} records specifying host names and +associated connection parameters (see below). This host list goes into +@file{~/.ssh/config}, which @command{ssh} reads at startup. + +@item @code{known-hosts} (default: @code{*unspecified*}) +This must be either: + +@itemize +@item +@code{*unspecified*}, in which case @code{home-openssh-service-type} +leaves it up to @command{ssh} and to the user to maintain the list of +known hosts at @file{~/.ssh/known_hosts}, or + +@item +a list of file-like objects, in which case those are concatenated and +emitted as @file{~/.ssh/known_hosts}. +@end itemize + +The @file{~/.ssh/known_hosts} contains a list of host name/host key +pairs that allow @command{ssh} to authenticate hosts you connect to and +to detect possible impersonation attacks. By default, @command{ssh} +updates it in a @dfn{TOFU, trust-on-first-use} fashion, meaning that it +records the host's key in that file the first time you connect to it. +This behavior is preserved when @code{known-hosts} is set to +@code{*unspecified*}. + +If you instead provide a list of host keys upfront in the +@code{known-hosts} field, your configuration becomes self-contained and +stateless: it can be replicated elsewhere or at another point in time. +Preparing this list can be relatively tedious though, which is why +@code{*unspecified*} is kept as a default. + +@item @code{authorized-keys} (default: @code{'()}) +This must be a list of file-like objects, each of which containing an +SSH public key that should be authorized to connect to this machine. + +Concretely, these files are concatenated and made available as +@file{~/.ssh/authorized_keys}. If an OpenSSH server, @command{sshd}, is +running on this machine, then it @emph{may} take this file into account: +this is what @command{sshd} does by default, but be aware that it can +also be configured to ignore it. +@end table +@end deftp + +@c %start of fragment + +@deftp {Data Type} openssh-host +Available @code{openssh-host} fields are: + +@table @asis +@item @code{name} (type: string) +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) +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). + +@item @code{identity-file} (type: maybe-string) +The identity file to use---e.g., @code{"/home/charlie/.ssh/id_ed25519"}. + +@item @code{port} (type: maybe-natural-number) +TCP port number to connect to. + +@item @code{user} (type: maybe-string) +User name on the remote host. + +@item @code{forward-x11?} (default: @code{#f}) (type: boolean) +Whether to forward remote client connections to the local X11 graphical +display. + +@item @code{forward-x11-trusted?} (default: @code{#f}) (type: boolean) +Whether remote X11 clients have full access to the original X11 +graphical display. + +@item @code{forward-agent?} (default: @code{#f}) (type: boolean) +Whether the authentication agent (if any) is forwarded to the remote +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{host-key-algorithms} (type: maybe-string-list) +The list of accepted host key algorithms---e.g., +@code{'("ssh-ed25519")}. + +@item @code{accepted-key-types} (type: maybe-string-list) +The list of accepted user public key types. + +@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string) +Extra content appended as-is to this @code{Host} block in +@file{~/.ssh/config}. + +@end table + +@end deftp + + +@c %end of fragment + + @node Desktop Home Services @subsection Desktop Home Services diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm new file mode 100644 index 0000000000..ff2992766c --- /dev/null +++ b/gnu/home/services/ssh.scm @@ -0,0 +1,254 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu home services ssh) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (guix diagnostics) + #:use-module (guix i18n) + #:use-module (gnu services) + #:use-module (gnu services configuration) + #:use-module (guix modules) + #:use-module (gnu home services) + #:use-module ((gnu home services utils) + #:select (object->camel-case-string)) + #:autoload (gnu packages base) (glibc-utf8-locales) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) + #:use-module (ice-9 match) + #:export (home-openssh-configuration + home-openssh-configuration-authorized-keys + home-openssh-configuration-known-hosts + home-openssh-configuration-hosts + + openssh-host + openssh-host-host-name + openssh-host-identity-file + openssh-host-name + openssh-host-port + openssh-host-user + openssh-host-forward-x11? + openssh-host-forward-x11-trusted? + openssh-host-forward-agent? + openssh-host-compression? + openssh-host-proxy-command + openssh-host-host-key-algorithms + openssh-host-accepted-key-types + openssh-host-extra-content + + home-openssh-service-type)) + +(define (serialize-field-name name) + (match name + ('accepted-key-types "PubkeyAcceptedKeyTypes") + (_ + (let ((name (let ((str (symbol->string name))) + (if (string-suffix? "?" str) + (string->symbol (string-drop-right str 1)) + name)))) + (object->camel-case-string name 'upper))))) + +(define (serialize-string field value) + (string-append " " (serialize-field-name field) + " " value "\n")) + +(define (address-family? obj) + (memv obj (list *unspecified* AF_INET AF_INET6))) + +(define (serialize-address-family field family) + (if (unspecified? family) + "" + (string-append " " (serialize-field-name field) " " + (cond ((= family AF_INET) "inet") + ((= family AF_INET6) "inet6") + ;; The 'else' branch is unreachable. + (else (raise (condition (&error))))) + "\n"))) + +(define (natural-number? obj) + (and (integer? obj) (exact? obj) (> obj 0))) + +(define (serialize-natural-number field value) + (string-append " " (serialize-field-name field) " " + (number->string value) "\n")) + +(define (serialize-boolean field value) + (string-append " " (serialize-field-name field) " " + (if value "yes" "no") "\n")) + +(define-maybe string) +(define-maybe natural-number) + +(define (serialize-raw-configuration-string field value) + (string-append value "\n")) +(define raw-configuration-string? string?) + +(define (string-list? lst) + (and (pair? lst) (every string? lst))) +(define (serialize-string-list field lst) + (string-append " " (serialize-field-name field) " " + (string-join lst ",") "\n")) + +(define-maybe string-list) + +(define-configuration openssh-host + (name + (string) + "Name of this host declaration.") + (host-name + maybe-string + "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") + (address-family + 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).") + (identity-file + maybe-string + "The identity file to use---e.g., +@code{\"/home/charlie/.ssh/id_ed25519\"}.") + (port + maybe-natural-number + "TCP port number to connect to.") + (user + maybe-string + "User name on the remote host.") + (forward-x11? + (boolean #f) + "Whether to forward remote client connections to the local X11 graphical +display.") + (forward-x11-trusted? + (boolean #f) + "Whether remote X11 clients have full access to the original X11 graphical +display.") + (forward-agent? + (boolean #f) + "Whether the authentication agent (if any) is forwarded to the remote +machine.") + (compression? + (boolean #f) + "Whether to compress data in transit.") + (proxy-command + 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\"}.") + (host-key-algorithms + maybe-string-list + "The list of accepted host key algorithms---e.g., +@code{'(\"ssh-ed25519\")}.") + (accepted-key-types + maybe-string-list + "The list of accepted user public key types.") + (extra-content + (raw-configuration-string "") + "Extra content appended as-is to this @code{Host} block in +@file{~/.ssh/config}.")) + +(define (serialize-openssh-host config) + (define (openssh-host-name-field? field) + (eq? (configuration-field-name field) 'name)) + + (string-append + "Host " (openssh-host-name config) "\n" + (string-concatenate + (map (lambda (field) + ((configuration-field-serializer field) + (configuration-field-name field) + ((configuration-field-getter field) config))) + (remove openssh-host-name-field? + openssh-host-fields))))) + +(define-record-type* + home-openssh-configuration make-home-openssh-configuration + home-openssh-configuration? + (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like + (default '())) + (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like + (default *unspecified*)) + (hosts home-openssh-configuration-hosts ;list of + (default '()))) + +(define (openssh-configuration->string config) + (string-join (map serialize-openssh-host + (home-openssh-configuration-hosts config)) + "\n")) + +(define* (file-join name files #:optional (delimiter " ")) + "Return a file in the store called @var{name} that is the concatenation +of all the file-like objects listed in @var{files}, with @var{delimited} +inserted after each of them." + (computed-file name + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + ;; Support non-ASCII file names. + (setenv "GUIX_LOCPATH" + #+(file-append glibc-utf8-locales + "/lib/locale")) + (setlocale LC_ALL "en_US.utf8") + + (call-with-output-file #$output + (lambda (output) + (for-each (lambda (file) + (call-with-input-file file + (lambda (input) + (dump-port input output))) + (display #$delimiter output)) + '#$files))))))) + +(define (openssh-configuration-files config) + (let ((config (plain-file "ssh.conf" + (openssh-configuration->string config))) + (known-hosts (home-openssh-configuration-known-hosts config)) + (authorized-keys (file-join + "authorized_keys" + (home-openssh-configuration-authorized-keys config) + "\n"))) + `((".ssh/authorized_keys" ,authorized-keys) + ,@(if (unspecified? known-hosts) + '() + `((".ssh/known_hosts" + ,(file-join "known_hosts" known-hosts "\n")))) + (".ssh/config" ,config)))) + +(define openssh-activation + (with-imported-modules (source-module-closure + '((gnu build activation))) + #~(begin + (use-modules (gnu build activation)) + + ;; Make sure ~/.ssh is #o700. + (let* ((home (getenv "HOME")) + (dot-ssh (string-append home "/.ssh"))) + (mkdir-p/perms dot-ssh (getpw (getuid)) #o700))))) + +(define home-openssh-service-type + (service-type + (name 'home-openssh) + (extensions + (list (service-extension home-files-service-type + openssh-configuration-files) + (service-extension home-activation-service-type + (const openssh-activation)))) + (description "Configure the OpenSSH @acronym{SSH, secure shell} client +by providing a @file{~/.ssh/config} file, which is honored by the OpenSSH +client,@command{ssh}, and by other tools such as @command{guix deploy}.") + (default-value (home-openssh-configuration)))) diff --git a/gnu/local.mk b/gnu/local.mk index e38eb05205..8044c9010b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -85,6 +85,7 @@ GNU_SYSTEM_MODULES = \ %D%/home/services/fontutils.scm \ %D%/home/services/shells.scm \ %D%/home/services/shepherd.scm \ + %D%/home/services/ssh.scm \ %D%/home/services/mcron.scm \ %D%/home/services/utils.scm \ %D%/home/services/xdg.scm \ diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 6b8bd92bb7..201e5dcc87 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -6,6 +6,7 @@ gnu/services.scm gnu/system.scm gnu/services/shepherd.scm gnu/home/services.scm +gnu/home/services/ssh.scm gnu/home/services/symlink-manager.scm gnu/system/file-systems.scm gnu/system/image.scm -- cgit v1.2.3 From a59b981d0d566b87812ba62bf166a28cffd87d94 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:11:09 -0400 Subject: gnu: linux-libre: Update to 5.17.15. * gnu/packages/linux.scm (linux-libre-5.17-version): Update to 5.17.15. (linux-libre-5.17-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 98738f1fae..36730ec273 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -352,7 +352,7 @@ (define (%upstream-linux-source version hash) ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.17-version "5.17.14") +(define-public linux-libre-5.17-version "5.17.15") (define-public linux-libre-5.17-gnu-revision "gnu") (define deblob-scripts-5.17 (linux-libre-deblob-scripts @@ -362,7 +362,7 @@ (define deblob-scripts-5.17 (base32 "1654fibbwnbcgnikn1qqa5igd2j90kslbb3pshph5wpj052cvgjy"))) (define-public linux-libre-5.17-pristine-source (let ((version linux-libre-5.17-version) - (hash (base32 "0r2skbgxzw42cn29mr7i9w7fczzxhc1lx3xvri44ljjyfdqn7r0b"))) + (hash (base32 "0a5n1lb43nhnhwjwclkk3dqp2nxsx5ny7zfl8idvzshf94m9472a"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.17))) -- cgit v1.2.3 From bd601a68b8bb4cbba2ca035c0c506d941b4472af Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:11:25 -0400 Subject: gnu: linux-libre 5.15: Update to 5.15.47. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.47. (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 36730ec273..c2371e61d8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,7 +370,7 @@ (define-public linux-libre-5.17-pristine-source ;; 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.46") +(define-public linux-libre-5.15-version "5.15.47") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -380,7 +380,7 @@ (define deblob-scripts-5.15 (base32 "17xsn91h0c2d8igpzgmjm1g58nfpihlhgg9wm8zbfyd5g4airs8f"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "0srp0wypl24gf5yz91mpk1c2kllabq6wvby1wqrrbdwvfx35figb"))) + (hash (base32 "1700js21yimx8rz4bsglszry564l2ycmmcr36rdqspzbmlx5w8wb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -- cgit v1.2.3 From f0af475b7e5e258e860618ca65634e2cf38c9b85 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:11:38 -0400 Subject: gnu: linux-libre 5.10: Update to 5.10.122. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.122. (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 c2371e61d8..2e70a6a7c7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -385,7 +385,7 @@ (define-public linux-libre-5.15-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.121") +(define-public linux-libre-5.10-version "5.10.122") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -395,7 +395,7 @@ (define deblob-scripts-5.10 (base32 "1ryfc8fppigssrzz5lfbqgli49cgs3lmf0yh46lpi2k0j2x30qcc"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1iljaaiwqg30rqb9zxrxc4l1p56q75jf0zvsrmn67z2a12sffi4h"))) + (hash (base32 "0h0gfi3p1dd4p8xxklrl8sc3rv4xd08q7nv0i4m166w8188v62wj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -- cgit v1.2.3 From f5d216f21e45c4d496574ecf50db38ba4aefbbb3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:12:04 -0400 Subject: gnu: linux-libre 5.4: Update to 5.4.198. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.198. (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 2e70a6a7c7..60495e79d6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -400,7 +400,7 @@ (define-public linux-libre-5.10-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.197") +(define-public linux-libre-5.4-version "5.4.198") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -410,7 +410,7 @@ (define deblob-scripts-5.4 (base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1a1nzrx873vwlpm018l6rk19yh59badvwsknw3chbkbhzjrigbf2"))) + (hash (base32 "0wvscr5wia2xdiqfxxdwl8kxf1s085qdj5h4423mraj7dh6l0ihh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -- cgit v1.2.3 From 5db786663db713fc4cab9afb9c4ba16ad70c78d9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:12:19 -0400 Subject: gnu: linux-libre 4.19: Update to 4.19.247. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.247. (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 60495e79d6..9eae251cdf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -415,7 +415,7 @@ (define-public linux-libre-5.4-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.246") +(define-public linux-libre-4.19-version "4.19.247") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -425,7 +425,7 @@ (define deblob-scripts-4.19 (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0fmsglkvdgdmrkm53vyi9d4hvdl4py9qn1z0mni224n96rd2zb80"))) + (hash (base32 "136gmsmvgb2nid4by2ld003w06lsr7hgn9ajx0wfziag7pfnjsv2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From d1d4d96f21e5e39233a5894eeaa02be90a9f636b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:12:34 -0400 Subject: gnu: linux-libre 4.14: Update to 4.14.283. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.283. (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 9eae251cdf..ffcfa1822f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,7 +430,7 @@ (define-public linux-libre-4.19-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.282") +(define-public linux-libre-4.14-version "4.14.283") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -440,7 +440,7 @@ (define deblob-scripts-4.14 (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "18sp2qvk8dkjrlxwf4d470282m9wyvhajvyys9vs94rh1i3whdv6"))) + (hash (base32 "191gybhnck4mh9yjzwgv1crrbxjc90p12bcif721rbs6xzszmxzh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From 3154b582567539d8d607344fbd03a3d8456f66cb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 14 Jun 2022 22:12:48 -0400 Subject: gnu: linux-libre 4.9: Update to 4.9.318. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.318. (linux-libre-4.9-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 ffcfa1822f..9c59d4ef9b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -445,7 +445,7 @@ (define-public linux-libre-4.14-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.317") +(define-public linux-libre-4.9-version "4.9.318") (define-public linux-libre-4.9-gnu-revision "gnu1") (define deblob-scripts-4.9 (linux-libre-deblob-scripts @@ -455,7 +455,7 @@ (define deblob-scripts-4.9 (base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "06qdqcplslnp1ncaqvp5yjr294rz3x4qrxnv522v76awj6dkd8vy"))) + (hash (base32 "09czsc0ynyw068yczs9qx4cliqmrh5hvz93c77lhh014wn02pba4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -- cgit v1.2.3 From eb5df275ce74f18994bd60d05f295fa2c5c6ce89 Mon Sep 17 00:00:00 2001 From: Wiktor Żelazny Date: Wed, 13 Oct 2021 19:01:51 +0200 Subject: gnu: Add r-gghalves. * gnu/packages/cran.scm (r-gghalves): New variable. Co-authored-by: Ricardo Wurmus --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b326332bf6..96dca393e6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -33395,6 +33395,30 @@ (define-public r-ggh4x smaller collection of stats, geoms and axis guides.") (license license:expat))) +(define-public r-gghalves + (package + (name "r-gghalves") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "gghalves" version)) + (sha256 + (base32 + "1lj4c38fzxwg8gy57ymf00lqjdplb7v2a0lnd262c1d5cavqiws4")))) + (properties `((upstream-name . "gghalves"))) + (build-system r-build-system) + (propagated-inputs + (list r-ggplot2 r-gtable)) + (native-inputs + (list r-knitr)) + (home-page "https://github.com/erocoar/gghalves") + (synopsis "Compose half-half plots using your favourite geoms") + (description "This package provides a @code{ggplot2} extension for easy +plotting of half-half geom combinations. Think half boxplot and half +jitterplot, or half violinplot and half dotplot.") + (license license:expat))) + (define-public r-zoeppritz (package (name "r-zoeppritz") -- cgit v1.2.3 From a24dbd25eb39a1823be48774f06124c181db679f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 07:45:26 +0200 Subject: gnu: coq: Update to 8.15.2. * gnu/packages/coq.scm (coq-core): Update to 8.15.2. --- gnu/packages/coq.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 5c73c4a269..bbb6c4d435 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -52,7 +52,7 @@ (define-module (gnu packages coq) (define-public coq-core (package (name "coq-core") - (version "8.15.1") + (version "8.15.2") (source (origin (method git-fetch) @@ -62,7 +62,7 @@ (define-public coq-core (file-name (git-file-name name version)) (sha256 (base32 - "04csl4fvl41hizn95c4j9gxkl28495fzqdgm83ss67s5jvbfczvs")) + "1m6dilfbp9q8j8sya4ap82q72m3a4mq6m96gzvi6vgv04cr6r33c")) (patches (search-patches "coq-fix-envvars.patch")))) (native-search-paths (list (search-path-specification -- cgit v1.2.3 From ad91e2a0102a616e00569bca2460f8c011f23cdf Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 07:54:31 +0200 Subject: gnu: ocaml-utop: Update to 2.9.2. * gnu/packages/ocaml.scm (ocaml-utop): Update to 2.9.2. --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 093835d370..37dee3aeeb 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4244,7 +4244,7 @@ (define-public ocaml4.07-lambda-term (define-public ocaml-utop (package (name "ocaml-utop") - (version "2.9.1") + (version "2.9.2") (source (origin (method git-fetch) @@ -4253,7 +4253,7 @@ (define-public ocaml-utop (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1pmsmi0j4gb1vsd69j0bppkv79wbwz5xcffq78n1i2ibhff6r4j0")))) + (base32 "0z5anakgbndhyzbi570pfs2fy69bnmgq9jflgfbly2rhbhwa7wgj")))) (build-system dune-build-system) (arguments `(#:test-target ".")) -- cgit v1.2.3 From f25033d9ea2f98f804c4cdea118406c69915bc8a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 07:59:29 +0200 Subject: gnu: ocaml-tsdl: Update to 0.9.9. * gnu/packages/ocaml.scm (ocaml-tsdl): Update to 0.9.9. --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 37dee3aeeb..2a45364b53 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4402,7 +4402,7 @@ (define-public ocaml-ocb-stubblr (define-public ocaml-tsdl (package (name "ocaml-tsdl") - (version "0.9.7") + (version "0.9.9") (home-page "https://erratique.ch/software/tsdl") (source (origin (method url-fetch) @@ -4411,7 +4411,7 @@ (define-public ocaml-tsdl (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zwv0ixkigh1gzk5n49rwvz2f2m62jdkkqg40j7dclg4gri7691f")))) + "1m565jgfanijjzp64c1rylahkpmrrb03ywj202j49n06nvwp788s")))) (build-system ocaml-build-system) (arguments `(#:build-flags '("build") -- cgit v1.2.3 From fcb23bf406f168a8a205b27200ab8fc8ead1f6c9 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 10:28:05 +0200 Subject: gnu: ocamlformat: Update to 0.22.4. * gnu/packages/ocaml.scm (ocamlformat): Update to 0.22.4. --- gnu/packages/ocaml.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2a45364b53..70cb29f8e3 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -7996,7 +7996,7 @@ (define-public ocaml-either (define-public ocamlformat (package (name "ocamlformat") - (version "0.21.0") + (version "0.22.4") (source (origin (method git-fetch) @@ -8006,12 +8006,16 @@ (define-public ocamlformat (file-name (git-file-name name version)) (sha256 (base32 - "10vy102a0isd8cg94y61pm4qfgy74d6003dw0qn0bdmbd19r5071")))) + "171lq3vx4y8xj4by5zy93isx8nhg6ysxg1hxmkqkq16fdaiz8mnc")))) (build-system dune-build-system) (arguments '(#:package "ocamlformat" #:phases (modify-phases %standard-phases + ;; Tests related to other packages + (add-after 'unpack 'remove-unrelated-tests + (lambda _ + (delete-file-recursively "test/rpc"))) (add-after 'unpack 'fix-test-format (lambda _ (substitute* "test/cli/repl_file_errors.t/run.t" -- cgit v1.2.3 From 773837bfd20b1065936a12bee7adc3687188df47 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 11:51:49 +0200 Subject: gnu: ocaml-easy-format: Update to 1.3.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ocaml.scm (ocaml-easy-format): Update to 1.3.4. --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 70cb29f8e3..71e1851a37 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3800,7 +3800,7 @@ (define-public ocaml4.07-uri (define-public ocaml-easy-format (package (name "ocaml-easy-format") - (version "1.3.3") + (version "1.3.4") (source (origin (method git-fetch) (uri (git-reference @@ -3809,7 +3809,7 @@ (define-public ocaml-easy-format (file-name (git-file-name name version)) (sha256 (base32 - "1dl5faibbb5nm3v70ix7k6208yib1954x20nmw3g56wff5vdlzid")))) + "0xap6az4yyb60vb1jfs640wl3cf4njv78p538x9ihhf9f6ij3nh8")))) (build-system dune-build-system) (arguments `(#:package "easy-format" -- cgit v1.2.3 From 3cd53fc08f68e7a47a2ff4b993ab53645b65f386 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 12:08:15 +0200 Subject: gnu: omake: Update to 0.10.5. * gnu/packages/ocaml.scm (omake): Update to 0.10.5. * gnu/packages/patches/omake-fix-non-determinism.patch: Adjust for new version. --- gnu/packages/ocaml.scm | 4 ++-- gnu/packages/patches/omake-fix-non-determinism.patch | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 71e1851a37..808b1a3664 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3197,14 +3197,14 @@ (define-public ocamlify (define-public omake (package (name "omake") - (version "0.10.3") + (version "0.10.5") (source (origin (method url-fetch) (uri (string-append "http://download.camlcity.org/download/" "omake-" version ".tar.gz")) (sha256 (base32 - "07bdg1h5i7qnlv9xq81ad5hfypl10hxm771h4rjyl5cn8plhfcgz")) + "1i7pcv53kqplrbdx9mllrhbv4j57zf87xwq18r16cvn1lbc6mqal")) (patches (search-patches "omake-fix-non-determinism.patch")))) (build-system ocaml-build-system) (arguments diff --git a/gnu/packages/patches/omake-fix-non-determinism.patch b/gnu/packages/patches/omake-fix-non-determinism.patch index 813ce3cd7d..e5060bd703 100644 --- a/gnu/packages/patches/omake-fix-non-determinism.patch +++ b/gnu/packages/patches/omake-fix-non-determinism.patch @@ -1,6 +1,6 @@ -From 2e7e254160506dc00f1beabf170512a8e932934b Mon Sep 17 00:00:00 2001 +From 9f70bca2d823b93b334ecb0f92e940d20aafc1c6 Mon Sep 17 00:00:00 2001 From: Julien Lepiller -Date: Sat, 31 Dec 2016 15:43:38 +0100 +Date: Sat, 18 Jun 2022 12:02:49 +0200 Subject: [PATCH] fix build date in binary --- @@ -8,19 +8,19 @@ Subject: [PATCH] fix build date in binary 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/magic/omake_gen_magic.ml b/src/magic/omake_gen_magic.ml -index b2419ba..fad52f5 100644 +index c2b9329..3d36c0c 100644 --- a/src/magic/omake_gen_magic.ml +++ b/src/magic/omake_gen_magic.ml @@ -150,7 +150,7 @@ let ir_magic = "%s" let obj_magic = "%s" let lib_dir = "%s" let version = "%s" --let version_message = "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d %d]\\n\\ton %s" +-let version_message = "OMake %s:\n build [%s %s %d %02d:%02d:%02d %d]\n on %s" +let version_message = "OMake %s" |} default_save_interval digest_len -@@ -160,15 +160,7 @@ let version_message = "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d %d]\\n\\ton +@@ -160,15 +160,7 @@ let version_message = "OMake %s:\n build [%s %s %d %02d:%02d:%02d %d]\n on (digest_files ".omo.magic" ".omo" omo_files) (String.escaped libdir) (String.escaped (shorten_version version)) @@ -37,5 +37,6 @@ index b2419ba..fad52f5 100644 List.iter (fun (name,value) -> Printf.fprintf buf "let %s = %S\n" name value --- -2.11.0 +-- +2.36.1 + -- cgit v1.2.3 From 0133c000c91a209a6af08af94d512229f20f65de Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 12:38:56 +0200 Subject: gnu: ocaml-sexplib0: Update to 0.15.1. * gnu/packages/ocaml.scm (ocaml-sexplib0): Update to 0.15.1. --- gnu/packages/ocaml.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 808b1a3664..c17055b29d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5024,11 +5024,17 @@ (define-public cubicle (define-public ocaml-sexplib0 (package (name "ocaml-sexplib0") - (version "0.15.0") + (version "0.15.1") (home-page "https://github.com/janestreet/sexplib0") - (source - (janestreet-origin "sexplib0" version - "1fpg991n578m11r0ki4als4c76s3sp703b4khivx40v48402qill")) + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05m93g4m4jhj1v8pazg3s2ydcfymr3h4476yjhdca5fm4sn35bg8")))) (build-system dune-build-system) (arguments `(#:tests? #f)) ;no tests (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0)))) -- cgit v1.2.3 From 4a94cfbe4dcf7311ab66c5d94a171752d2ba725e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 12:55:43 +0200 Subject: gnu: Add ocaml-piqilib. * gnu/packages/ocaml.scm (ocaml4.07-piqilib): Rename to... (ocaml-piqilib): ...this. Use latest ocaml version. --- gnu/packages/ocaml.scm | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c17055b29d..e5067c4c35 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3828,9 +3828,9 @@ (define-public ocaml-easy-format Format module of the OCaml standard library.") (license license:bsd-3))) -(define-public ocaml4.07-piqilib +(define-public ocaml-piqilib (package - (name "ocaml4.07-piqilib") + (name "ocaml-piqilib") (version "0.6.15") (source (origin @@ -3848,24 +3848,20 @@ (define-public ocaml4.07-piqilib (add-before 'configure 'fix-ocamlpath (lambda _ (substitute* '("Makefile" "make/Makefile.ocaml") - (("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):")) - #t)) + (("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):")))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "make/OCamlMakefile" (("/bin/sh") (which "bash"))) (invoke "./configure" "--prefix" out "--ocaml-libdir" - (string-append out "/lib/ocaml/site-lib"))) - #t)) + (string-append out "/lib/ocaml/site-lib"))))) (add-after 'build 'build-ocaml (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "ocaml") - #t)) + (invoke "make" "ocaml"))) (add-after 'install 'install-ocaml (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "ocaml-install") - #t)) + (invoke "make" "ocaml-install"))) (add-after 'install-ocaml 'link-stubs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3873,17 +3869,14 @@ (define-public ocaml4.07-piqilib (lib (string-append out "/lib/ocaml/site-lib/piqilib"))) (mkdir-p stubs) (symlink (string-append lib "/dllpiqilib_stubs.so") - (string-append stubs "/dllpiqilib_stubs.so")) - #t)))) - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + (string-append stubs "/dllpiqilib_stubs.so")))))))) (native-inputs (list which)) (propagated-inputs - `(("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm)) - ("ocaml-sedlex" ,(package-with-ocaml4.07 ocaml-sedlex)) - ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format)) - ("ocaml-base64" ,(package-with-ocaml4.07 ocaml-base64)))) + `(("ocaml-xmlm" ,ocaml-xmlm) + ("ocaml-sedlex" ,ocaml-sedlex) + ("ocaml-easy-format" ,ocaml-easy-format) + ("ocaml-base64" ,ocaml-base64))) (home-page "http://piqi.org") (synopsis "Data serialization and conversion library") (description "Piqilib is the common library used by the piqi command-line @@ -3996,7 +3989,7 @@ (define-public ocaml4.07-piqi (list which protobuf)) ; for tests (propagated-inputs `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) - ("ocaml-piqilib" ,ocaml4.07-piqilib) + ("ocaml-piqilib" ,(package-with-ocaml4.07 ocaml-piqilib)) ("ocaml-stdlib-shims" ,(package-with-ocaml4.07 ocaml-stdlib-shims)))) (home-page "https://github.com/alavrik/piqi-ocaml") (synopsis "Protocol serialization system for OCaml") -- cgit v1.2.3 From 7b615e3e6c68a33a315446b8158d8574855d9c8f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 13:02:59 +0200 Subject: gnu: Add ocaml-piqi. * gnu/packages/ocaml.scm (ocaml4.07-piqi): Rename to... (ocaml-piqi): ...this. Use latest ocaml. --- gnu/packages/ocaml.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index e5067c4c35..3cfbd69924 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3956,9 +3956,9 @@ (define-public ocaml-graph (description "OCamlgraph is a generic graph library for OCaml.") (license license:lgpl2.1))) -(define-public ocaml4.07-piqi +(define-public ocaml-piqi (package - (name "ocaml4.07-piqi") + (name "ocaml-piqi") (version "0.7.7") (source (origin (method git-fetch) @@ -3982,15 +3982,13 @@ (define-public ocaml4.07-piqi (lambda _ (for-each make-file-writable (find-files ".")) #t)) - (delete 'configure)) - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + (delete 'configure)))) (native-inputs (list which protobuf)) ; for tests (propagated-inputs - `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) - ("ocaml-piqilib" ,(package-with-ocaml4.07 ocaml-piqilib)) - ("ocaml-stdlib-shims" ,(package-with-ocaml4.07 ocaml-stdlib-shims)))) + `(("ocaml-num" ,ocaml-num) + ("ocaml-piqilib" ,ocaml-piqilib) + ("ocaml-stdlib-shims" ,ocaml-stdlib-shims))) (home-page "https://github.com/alavrik/piqi-ocaml") (synopsis "Protocol serialization system for OCaml") (description "Piqi is a multi-format data serialization system for OCaml. @@ -4027,7 +4025,7 @@ (define-public bap ("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc)) ("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph)) ("ocaml-ocurl" ,(package-with-ocaml4.07 ocaml-ocurl)) - ("ocaml-piqi" ,ocaml4.07-piqi) + ("ocaml-piqi" ,(package-with-ocaml4.07 ocaml-piqi)) ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) ("ocaml-utop" ,ocaml4.07-utop) ("ocaml-uuidm" ,(package-with-ocaml4.07 ocaml-uuidm)) -- cgit v1.2.3 From 0bf2cf13518225f8374fc5c421435e6619a754ab Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 13:09:08 +0200 Subject: gnu: Add ocaml-ezjsonm. * gnu/packages/ocaml.scm (ocaml4.07-ezjsonm): Rename to... (ocaml-ezjsonm): ...this. Use latest ocaml version. --- gnu/packages/ocaml.scm | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3cfbd69924..f879f68908 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3697,9 +3697,9 @@ (define-public ocaml-hex (description "Hex is a minimal library providing hexadecimal converters.") (license license:isc))) -(define-public ocaml4.07-ezjsonm +(define-public ocaml-ezjsonm (package - (name "ocaml4.07-ezjsonm") + (name "ocaml-ezjsonm") (version "1.1.0") (source (origin @@ -3713,16 +3713,9 @@ (define-public ocaml4.07-ezjsonm (build-system dune-build-system) (arguments `(#:package "ezjsonm" - #:test-target "." - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) - (native-inputs - `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest)))) - (propagated-inputs - `(("ocaml-hex" ,(package-with-ocaml4.07 ocaml-hex)) - ("ocaml-jsonm" ,(package-with-ocaml4.07 ocaml-jsonm)) - ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib)))) + #:test-target ".")) + (native-inputs (list ocaml-alcotest)) + (propagated-inputs (list ocaml-hex ocaml-jsonm ocaml-sexplib)) (home-page "https://github.com/mirage/ezjsonm/") (synopsis "Read and write JSON data") (description "Ezjsonm provides more convenient (but far less flexible) input @@ -4020,7 +4013,7 @@ (define-public bap ("ocaml-bitstring" ,(package-with-ocaml4.07 ocaml-bitstring)) ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner)) ("ocaml-core-kernel" ,ocaml4.07-core-kernel) - ("ocaml-ezjsonm" ,ocaml4.07-ezjsonm) + ("ocaml-ezjsonm" ,(package-with-ocaml4.07 ocaml-ezjsonm)) ("ocaml-fileutils" ,(package-with-ocaml4.07 ocaml-fileutils)) ("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc)) ("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph)) -- cgit v1.2.3 From 85d7ad2be89b4a93e23b2e5715f90a682c34c09d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 13:12:33 +0200 Subject: gnu: ocaml-ezjsonm: Update to 1.3.0. * gnu/packages/ocaml.scm (ocaml-ezjsonm): Update to 1.3.0. --- gnu/packages/ocaml.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f879f68908..4569c526ab 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3700,7 +3700,7 @@ (define-public ocaml-hex (define-public ocaml-ezjsonm (package (name "ocaml-ezjsonm") - (version "1.1.0") + (version "1.3.0") (source (origin (method git-fetch) @@ -3709,13 +3709,13 @@ (define-public ocaml-ezjsonm (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "064j9pzy01p3dv947khqyn7fkjbs3jmrqsg8limb4abnlaqxxs2s")))) + (base32 "004knljxqxn9zq0rnq7q7wxl4nwlzydm8p9f5cqkl8il5yl5zkjm")))) (build-system dune-build-system) (arguments `(#:package "ezjsonm" #:test-target ".")) - (native-inputs (list ocaml-alcotest)) - (propagated-inputs (list ocaml-hex ocaml-jsonm ocaml-sexplib)) + (native-inputs (list ocaml-alcotest js-of-ocaml node)) + (propagated-inputs (list ocaml-jsonm ocaml-uutf ocaml-sexplib0 ocaml-hex)) (home-page "https://github.com/mirage/ezjsonm/") (synopsis "Read and write JSON data") (description "Ezjsonm provides more convenient (but far less flexible) input -- cgit v1.2.3 From e2de652d57360a825283a3161dc78f874384dc79 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Wed, 20 Apr 2022 19:37:26 -0300 Subject: gnu: muse-sequencer: Update to 4.1.0. * gnu/packages/music.scm (muse-sequencer): Update to 4.1.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 08b5ac16e9..dfa167a00e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4782,7 +4782,7 @@ (define-public musescore (define-public muse-sequencer (package (name "muse-sequencer") - (version "4.0.0") + (version "4.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -4791,7 +4791,7 @@ (define-public muse-sequencer (file-name (git-file-name name version)) (sha256 (base32 - "1gamr9ln10l26wwyin1a4grrqy6h05qzcgp28wsp85yczkpsh02c")))) + "1iihjivpkvmdfqf20kcl9k0s1iwlv9p5vpna7c58lbw3573fiyr4")))) (build-system qt-build-system) (arguments `(#:tests? #f ; there is no test target -- cgit v1.2.3 From f91797b1e513ee78eb5367bad7abf2f556c006a0 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Wed, 20 Apr 2022 23:38:22 -0300 Subject: gnu: muse-sequencer: Use Gexps. * gnu/packages/music.scm (muse-sequencer)[arguments]: Use Gexps. --- gnu/packages/music.scm | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index dfa167a00e..60cb176320 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4794,21 +4794,20 @@ (define-public muse-sequencer "1iihjivpkvmdfqf20kcl9k0s1iwlv9p5vpna7c58lbw3573fiyr4")))) (build-system qt-build-system) (arguments - `(#:tests? #f ; there is no test target - #:configure-flags - (list "-DENABLE_VST_NATIVE=OFF" - (string-append "-DCMAKE_EXE_LINKER_FLAGS=" - "-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib/muse-" - ,(version-major+minor version) "/modules") - (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" - "-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib/muse-" - ,(version-major+minor version) "/modules")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "src")))))) + (list + #:tests? #f ; there is no test target + #:configure-flags + #~(list "-DENABLE_VST_NATIVE=OFF" + (string-append "-DCMAKE_EXE_LINKER_FLAGS=" + "-Wl,-rpath=" #$output "/lib/muse-" + #$(version-major+minor version) "/modules") + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "-Wl,-rpath=" #$output "/lib/muse-" + #$(version-major+minor version) "/modules")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "src")))))) (inputs (list alsa-lib dssi @@ -4825,7 +4824,7 @@ (define-public muse-sequencer lrdf lv2 pcre - pulseaudio ; required by rtaudio + pulseaudio ; required by rtaudio qtbase-5 qtsvg rtaudio -- cgit v1.2.3 From 321f445bd12f61d1b2a4cbd7b8b3d78e13125192 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 12:12:15 -0300 Subject: gnu: srain: Update to 1.4.0. * gnu/packages/irc.scm (srain): Update to 1.4.0. --- gnu/packages/irc.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index fb786ce5ab..8c484efb2d 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017–2022 Tobias Geerinckx-Rice ;;; Copyright © 2020 Oleg Pykhalov -;;; Copyright © 2020, 2021 Vinicius Monego +;;; Copyright © 2020, 2021, 2022 Vinicius Monego ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2021 WinterHound @@ -264,7 +264,7 @@ (define-public weechat (define-public srain (package (name "srain") - (version "1.3.2") + (version "1.4.0") (source (origin (method git-fetch) @@ -273,7 +273,7 @@ (define-public srain (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "16nsxicixp7194bkiiyj7zrg05lhcp0xblqsbv6dq1lxd5wd3i96")))) + (base32 "113nvai3nr2c8mrr5q56fb7smg5awgb2f243sib4k1zj437v9q51")))) (build-system meson-build-system) (arguments `(#:tests? #f ;there are no tests -- cgit v1.2.3 From 22f71351eaf4a4adfea89daa9b7b3bd474100947 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 12:18:55 -0300 Subject: gnu: markets: Update to 0.5.4. * gnu/packages/gnome-xyz.scm (markets): Update to 0.5.4. --- gnu/packages/gnome-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 465f81b78c..9e5d319291 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Ryan Prior ;;; Copyright © 2020 Ellis Kenyo ;;; Copyright © 2020 Stefan Reichör -;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2021, 2022 Vinicius Monego ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Songlin Jiang ;;; Copyright © 2021, 2022 Justin Veilleux @@ -1254,7 +1254,7 @@ (define-public eiciel (define-public markets (package (name "markets") - (version "0.5.3") + (version "0.5.4") (source (origin (method git-fetch) @@ -1264,7 +1264,7 @@ (define-public markets (file-name (git-file-name name version)) (sha256 (base32 - "0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv")))) + "0ch6dfmdcpw32r23s58riv8agnyw0f1cqd1y6j7zkx5sb3zyn3zy")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t -- cgit v1.2.3 From fbf69d1c08af08787181311e334fc040f1da609f Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 12:21:54 -0300 Subject: gnu: gthumb: Update to 3.12.2. * gnu/packages/gnome.scm (gthumb): Update to 3.12.2. --- 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 e2ee4c2310..0cde3caebd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11015,7 +11015,7 @@ (define-public evolution (define-public gthumb (package (name "gthumb") - (version "3.12.0") + (version "3.12.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gthumb/" @@ -11023,7 +11023,7 @@ (define-public gthumb "gthumb-" version ".tar.xz")) (sha256 (base32 - "0grqiq6v26z8avl7mj24xy4i9bl1niwpqhqw6rblprl40c1zrvrx")))) + "09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t -- cgit v1.2.3 From cebe0f127ff1a5d6979d38807e7e19b48a206e20 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 12:35:43 -0300 Subject: gnu: openxr: Update to 1.0.23. * gnu/packages/graphics.scm (openxr): Update to 1.0.23. --- gnu/packages/graphics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 64286bf68d..0b66d9442f 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -1990,7 +1990,7 @@ (define-public drawpile (define-public openxr (package (name "openxr") - (version "1.0.22") + (version "1.0.23") (source (origin (method git-fetch) @@ -2004,7 +2004,7 @@ (define-public openxr ;; Delete bundled jsoncpp. (delete-file-recursively "src/external/jsoncpp"))) (sha256 - (base32 "1l6wygazgvd8lbhqk60iim2l2h35gxpsn0y9a9f8q72sqpfianky")))) + (base32 "11w5a2ny30r8jghd5jwdxi5b2c84m21fmkp0lhpicbrwr98xgpj3")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests -- cgit v1.2.3 From aa718586fa1f8e27eb27cd243bd4b5d0d9acc2d8 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 14:19:28 -0300 Subject: gnu: python-scikit-image: Update to 0.19.3. * gnu/packages/python-science.scm (python-scikit-image): Update to 0.19.3. --- gnu/packages/python-science.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 0684826a6c..56f109e3d5 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -183,13 +183,13 @@ (define-public python-scikit-fuzzy (define-public python-scikit-image (package (name "python-scikit-image") - (version "0.19.2") + (version "0.19.3") (source (origin (method url-fetch) (uri (pypi-uri "scikit-image" version)) (sha256 - (base32 "0vc6c78780jivsg79ja0cncn1ma2wysy9fyz97kik0kg59jb8cyl")))) + (base32 "0l645smf7w1kail70z8d9r3xmvz7qh6g7n3d2bpacbbnw5ykdd94")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From dc5a73b6065d6aa71325b3aa51adb6df690ee1ee Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 14:43:47 -0300 Subject: gnu: photoflare: Update to 1.6.10. * gnu/packages/photo.scm (photoflare): Update to 1.6.10. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index a7286fcf9a..447fc93f42 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -582,7 +582,7 @@ (define-public darktable (define-public photoflare (package (name "photoflare") - (version "1.6.9") + (version "1.6.10") (source (origin (method git-fetch) @@ -591,7 +591,7 @@ (define-public photoflare (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "121fhbggsh6jhrr7m41f27fd34ql7libdr2v0ig5bj6nc2ddwd40")))) + (base32 "1sm4m9nga1lyqycgqbh08cib5dg4fnrz9qkrliycr3dbisy360lm")))) (build-system gnu-build-system) (arguments '(#:tests? #f ;no tests -- cgit v1.2.3 From f7882f7b756d432512b522cfa6ec302fc74ed9be Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 21:32:55 -0300 Subject: gnu: babl: Update to 0.1.92. * gnu/packages/gimp.scm (babl): Update to 0.1.92. --- gnu/packages/gimp.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 1bf396670e..62c873816f 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2018 Thorsten Wilms ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Michael Rohleder -;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2021, 2022 Vinicius Monego ;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -175,7 +175,7 @@ (define-public mrg (define-public babl (package (name "babl") - (version "0.1.88") + (version "0.1.92") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -189,7 +189,7 @@ (define-public babl "/babl-" version ".tar.xz"))) (sha256 (base32 - "0fbh2ss1dy3sba4xjmfm4vxxjmx9a6rzgba9ycjygchbm957y3ag")))) + "1hd2i1s7fng33msxiafavk3zb4zb9jk61w8qmmsn6jwl51876rzn")))) (build-system meson-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 0d7d5a05c741e545748c3b3cbe43bfece3e5697e Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 21:33:20 -0300 Subject: gnu: gegl: Update to 0.4.36. * gnu/packages/gimp.scm (gegl): Update to 0.4.36. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 62c873816f..1b2acacafa 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -215,7 +215,7 @@ (define-public babl (define-public gegl (package (name "gegl") - (version "0.4.34") + (version "0.4.36") (source (origin (method url-fetch) @@ -229,7 +229,7 @@ (define-public gegl (version-major+minor version) "/gegl-" version ".tar.xz"))) (sha256 - (base32 "1amazk6g9dk76rxwaqa81j87ql5vgz539n6xk88wccdllnyg0qzg")))) + (base32 "19ic3fv0j8ysxxw7bx7gy3l8l8l9ldrvbzxfmmc24w67vh68mmbg")))) (build-system meson-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From ea6738c74fcf9a847a21b1b22b0dc571bea6df38 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 21:34:12 -0300 Subject: gnu: gimp: Update to 2.10.32. * gnu/packages/gimp.scm (gimp): Update to 2.10.32. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 1b2acacafa..a2a991ba4c 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -288,7 +288,7 @@ (define-public gegl (define-public gimp (package (name "gimp") - (version "2.10.30") + (version "2.10.32") (source (origin (method url-fetch) @@ -296,7 +296,7 @@ (define-public gimp (version-major+minor version) "/gimp-" version ".tar.bz2")) (sha256 - (base32 "1p375gaw2daip6aiv1icrlpws5m1my5kalxkxrvl4zgdfsm5v0c8")))) + (base32 "09csp2d8bzf012n7hvbbwngwr9phv3rnip768qdwqpdgah2wf59z")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML -- cgit v1.2.3 From b7ebf260368cdf2dcf88288f206feae39bdfd49e Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 14 Jun 2022 22:30:00 -0300 Subject: gnu: freecad: Update to 0.20. * gnu/packages/engineering.scm (freecad): Update to 0.20. --- gnu/packages/engineering.scm | 195 +++++++++++++++++++++---------------------- 1 file changed, 95 insertions(+), 100 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index f01c2ea71a..190af4edfb 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2431,111 +2431,106 @@ (define-public emacs-scad-mode comments."))) (define-public freecad - ;; FIXME: We use a commit directly because upstream has compatibility fixes - ;; that are not in a release yet for boost, opencascade-occt-7.6 and vtk-9. - ;; Switch back to a regular version (probably 0.20) when it is released. - (let ((commit "09a05a9cd0c4692a57a3e038268b4389b4657fc6") - (revision "0")) - (package - (name "freecad") - (version (git-version "0.19.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/FreeCAD/FreeCAD") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0818basym0n44dsgix0yv1l00xgv9igrr7wkszd8x74lh1rr591r")))) - (build-system qt-build-system) - (native-inputs - (list doxygen - graphviz - qttools - pkg-config - python-pyside-2-tools - swig)) - (inputs - (list boost - coin3D - double-conversion - eigen - fontconfig - freetype - gl2ps - glew - hdf5-1.10 - jsoncpp - libarea - libjpeg-turbo - libmedfile - libspnav - libtheora - libtiff - libxi - libxml++ - libxmu - lz4 - netcdf - opencascade-occt - openmpi - proj - python-gitpython - python-matplotlib - python-pivy - python-ply - python-pyside-2 - python-pyyaml - python-shiboken-2 - python-wrapper - qtbase-5 - qtdeclarative - qtsvg - qtwebchannel - qtwebengine - qtx11extras - qtxmlpatterns - sqlite - tbb-2020 ; Same version as opencascade-occt - vtk - xerces-c - zlib)) - (arguments - `(#:tests? #f ; Project has no tests - #:configure-flags - ,#~(list - "-DBUILD_QT5=ON" - "-DBUILD_FLAT_MESH:BOOL=ON" - "-DBUILD_ENABLE_CXX_STD:STRING=C++17" - (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'restore-pythonpath - (lambda _ - (substitute* "src/Main/MainGui.cpp" - (("_?putenv\\(\"PYTHONPATH=\"\\);") "")))) - (add-after 'install 'wrap-pythonpath - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/FreeCAD") - (list "GUIX_PYTHONPATH" - 'prefix (list (getenv "GUIX_PYTHONPATH")))))))))) - (home-page "https://www.freecadweb.org/") - (synopsis "Your Own 3D Parametric Modeler") - (description - "FreeCAD is a general purpose feature-based, parametric 3D modeler for + (package + (name "freecad") + (version "0.20") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FreeCAD/FreeCAD") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14bn75bjh93f8k3hinqw913z1q0ywq7niklwbbd99hf5n342hsv4")))) + (build-system qt-build-system) + (native-inputs + (list doxygen + graphviz + qttools + pkg-config + python-pyside-2-tools + swig)) + (inputs + (list boost + coin3D + double-conversion + eigen + fontconfig + freetype + gl2ps + glew + hdf5-1.10 + jsoncpp + libarea + libjpeg-turbo + libmedfile + libspnav + libtheora + libtiff + libxi + libxml++ + libxmu + lz4 + netcdf + opencascade-occt + openmpi + proj + python-gitpython + python-matplotlib + python-pivy + python-ply + python-pyside-2 + python-pyyaml + python-shiboken-2 + python-wrapper + qtbase-5 + qtdeclarative + qtsvg + qtwebchannel + qtwebengine + qtx11extras + qtxmlpatterns + sqlite + tbb-2020 ; Same version as opencascade-occt + vtk + xerces-c + zlib)) + (arguments + `(#:tests? #f ; Project has no tests + #:configure-flags + ,#~(list + "-DBUILD_QT5=ON" + "-DBUILD_FLAT_MESH:BOOL=ON" + "-DBUILD_ENABLE_CXX_STD:STRING=C++17" + (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'restore-pythonpath + (lambda _ + (substitute* "src/Main/MainGui.cpp" + (("_?putenv\\(\"PYTHONPATH=\"\\);") "")))) + (add-after 'install 'wrap-pythonpath + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/FreeCAD") + (list "GUIX_PYTHONPATH" + 'prefix (list (getenv "GUIX_PYTHONPATH")))))))))) + (home-page "https://www.freecadweb.org/") + (synopsis "Your Own 3D Parametric Modeler") + (description + "FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties. It is 100% Open Source (LGPL2+ license) and extremely modular, allowing for very advanced extension and customization.") - (license - (list - license:lgpl2.1+ - license:lgpl2.0+ - license:gpl3+ - license:bsd-3))))) + (license + (list + license:lgpl2.1+ + license:lgpl2.0+ + license:gpl3+ + license:bsd-3)))) (define-public libmedfile (package -- cgit v1.2.3 From b2f2fdb37ee0d36f04f6439fce4f5d12ac83a2eb Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 18 Jun 2022 12:54:33 -0300 Subject: gnu: orange: Update to 3.32.0. * gnu/packages/orange.scm (orange): Update to 3.32.0. --- gnu/packages/orange.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/orange.scm b/gnu/packages/orange.scm index 4d146468a3..d579442902 100644 --- a/gnu/packages/orange.scm +++ b/gnu/packages/orange.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2021, 2022 Vinicius Monego ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,13 +102,13 @@ (define-public python-orange-widget-base (define-public orange (package (name "orange") - (version "3.31.1") + (version "3.32.0") (source (origin (method url-fetch) (uri (pypi-uri "Orange3" version)) (sha256 - (base32 "0jqay46nysgfxldik7f6mfi8iylai2gwfpq60vklrfi1rhqf3pn6")))) + (base32 "0pxjwisc209cdgpqlqazc2vlmr0iqz8ry862w7jx95zic54d9p5l")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 3f8bb2d6b973ef017c3034ee9787ae971c9e8e0c Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 18 Jun 2022 19:40:00 +0300 Subject: gnu: Add java-asm-commons. * gnu/packages/java.scm (java-asm-commons-8): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d2fbf840a0..7b0507d93c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5469,6 +5469,18 @@ (define-public java-asm-util-8 (inputs (list java-asm-8 java-asm-analysis-8 java-asm-tree-8)))) +(define-public java-asm-commons-8 + (package + (inherit java-asm-8) + (name "java-asm-commons") + (arguments + (list #:jar-name "asm-commons8.jar" + #:source-dir "asm-commons/src/main/java" + #:test-dir "asm-commons/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs (list java-asm-8 java-asm-analysis-8 java-asm-tree-8)))) + (define-public java-cglib (package (name "java-cglib") -- cgit v1.2.3 From 319b8331b2357e12ec9edb9665513c32bef56622 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 18 Jun 2022 08:53:11 +0200 Subject: guix: self: Do not record reference to gcc-toolchain. The ld-wrapper from gcc-toolchain records a reference to the library path through rpath, but this is not needed. By explicitely using rpath flags instead, we save 150 MB of closure. * guix/self.scm (quiet-guile): Do not record reference to gcc-toolchain. --- guix/self.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/self.scm b/guix/self.scm index 9a64051c32..36ada4d171 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -569,10 +569,12 @@ (define build (filter package? packages)))) ":")) (setenv "LIBRARY_PATH" #$(file-append gcc "/lib")) + (setenv "GUIX_LD_WRAPPER_DISABLE_RPATH" "1") (invoke "gcc" #$(local-file source) "-Wall" "-g0" "-O2" "-I" #$(file-append guile "/include/guile/" effective) "-L" #$(file-append guile "/lib") + "-Wl,-rpath" #$(file-append guile "/lib") #$(string-append "-lguile-" effective) "-o" (string-append #$output "/bin/guile"))))) -- cgit v1.2.3 From df77caf925969106565fdb5d74ab7c0717753853 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 19 Jun 2022 11:53:01 +0200 Subject: gnu: emacs-lispy: Update to 20220209. * gnu/packages/emacs-xyz.scm (emacs-lispy): Update to 20220209. --- 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 79e4ece40e..d02e1dc7d5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9898,10 +9898,10 @@ (define-public emacs-zoutline (define-public emacs-lispy ;; No release since May 2019 and tons of fixes have landed on master. ;; https://github.com/abo-abo/lispy/issues/513 - (let ((commit "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58")) + (let ((commit "df1b7e614fb0f73646755343e8892ddda310f427")) (package (name "emacs-lispy") - (version (git-version "0.27.0" "2" commit)) + (version (git-version "0.27.0" "3" commit)) (home-page "https://github.com/abo-abo/lispy") (source (origin (method git-fetch) @@ -9910,7 +9910,7 @@ (define-public emacs-lispy (commit commit))) (sha256 (base32 - "1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs")) + "02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4")) (patches (search-patches "emacs-lispy-fix-thread-last-test.patch")) (file-name (git-file-name name version)))) -- cgit v1.2.3 From 3cc5ffd3f1e5f589f5691b31559fd5694869863a Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 19 Jun 2022 11:56:47 +0200 Subject: gnu: sbcl-cmd: Update to 20220616. * gnu/packages/lisp-xyz.scm (sbcl-cmd): Update to 20220616. --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 6e4d3c20bc..bbed96e5f6 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -14328,10 +14328,10 @@ (define-public cl-shlex (sbcl-package->cl-source-package sbcl-shlex)) (define-public sbcl-cmd - (let ((commit "b0b79adf1214dbec082f3dd2274a72a0ff58efd7")) + (let ((commit "fda9e6bd9137ea806313151716fd87578cdbc882")) (package (name "sbcl-cmd") - (version (git-version "0.0.1" "5" commit)) + (version (git-version "0.0.1" "6" commit)) (source (origin (method git-fetch) @@ -14340,7 +14340,7 @@ (define-public sbcl-cmd (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0kk29vydmi1fyhpbwy3mrsg3bhvx0478r6r7jcsfkr3ci2h8w8a1")))) + (base32 "0j2yns565mp2rsiz8lc75psk7wws9qz8rh74n4vf9zdyrw16ckpf")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) -- cgit v1.2.3 From e264e250382f55fcb8ef3e799bba001685f4b3d9 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 19 Jun 2022 12:07:04 +0200 Subject: gnu: sbcl-cl-webkit: Update to 3.5.3. * gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Update to 3.5.3. --- gnu/packages/lisp-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index bbed96e5f6..fa0fab7057 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3401,7 +3401,7 @@ (define-public ecl-cl-cffi-gtk (define-public sbcl-cl-webkit (package (name "sbcl-cl-webkit") - (version "3.5.1") + (version "3.5.3") (source (origin (method git-fetch) @@ -3411,7 +3411,7 @@ (define-public sbcl-cl-webkit (file-name (git-file-name "cl-webkit" version)) (sha256 (base32 - "1zfqwr6vmdd9a2nx3j3ihf8y9sah354wi2rgpq7dy4dkc6wxxd48")))) + "076lqj8ns9s7z980g3p2llw3k6hgsqnsvw8vjjslbpas2jzf26nr")))) (build-system asdf-build-system/sbcl) (inputs `(("cffi" ,sbcl-cffi) -- cgit v1.2.3 From 77db24ff5ba50c1169642a849211d558668487aa Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 19 Jun 2022 12:30:26 +0200 Subject: gnu: sbcl-nfiles: Update to 0.4.2. * gnu/packages/lisp-xyz.scm (sbcl-nfiles): Update to 0.4.2. --- gnu/packages/lisp-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index fa0fab7057..ff84c34f1b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20851,7 +20851,7 @@ (define-public ecl-wordnet (define-public sbcl-nfiles (package (name "sbcl-nfiles") - (version "0.4.1") + (version "0.4.2") (source (origin (method git-fetch) @@ -20861,7 +20861,7 @@ (define-public sbcl-nfiles (file-name (git-file-name "cl-nfiles" version)) (sha256 (base32 - "05brlj99grcy2iz84dvl76inp10jxnvjyh2r262d1las112rlcrb")))) + "06cll4l5gbp98wrgdy04ar6z00sag0b46pr4dv4n6bs1ypfcgs01")))) (build-system asdf-build-system/sbcl) (inputs (list gnupg -- cgit v1.2.3 From 1e3046810af92d7a659a942bac1f7ec572bfc1b0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Jun 2022 16:18:40 +0300 Subject: gnu: python-numpy: Skip 2 more tests on riscv64-linux. * gnu/packages/python-xyz.scm (python-numpy)[arguments]: Adjust custom 'check phase to skip two more tests when building for riscv64-linux. --- gnu/packages/python-xyz.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 723980420f..f19f0ed285 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5457,7 +5457,14 @@ (define-public python-numpy ;; These tests may fail on 32-bit systems (see: ;; https://github.com/numpy/numpy/issues/18387). "not test_float_remainder_overflow " - "and not test_pareto")))))))) + "and not test_pareto" + ;; These tests seem to fail on machines without + ;; an FPU is still under investigation upstream. + ;; https://github.com/numpy/numpy/issues/20635 + #$@(if (target-riscv64?) + `(" and not test_float" + " and not test_fpclass") + '()))))))))) (native-inputs (list python-cython python-hypothesis-next -- cgit v1.2.3 From 7f1cb1ebca169e3a4b5ed59fe226bb614b18b57f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Jun 2022 02:00:00 +0200 Subject: gnu: barrier: Fix source hash. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous hash matches that of ‘guix hash -rx .’ on a pristine v2.4.0 checkout — without any submodules. We clone recursive?ly, so update the hash to include them. Closes . * gnu/packages/barrier.scm (barrier)[source]: Fix hash. Reported by Vishakh Kumar . --- gnu/packages/barrier.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/barrier.scm b/gnu/packages/barrier.scm index 1382a0fd71..721fdcf314 100644 --- a/gnu/packages/barrier.scm +++ b/gnu/packages/barrier.scm @@ -46,7 +46,7 @@ (define-public barrier (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "10xk9szxxnqgfym53mcd9hqj1cw2ipncmiixw3i3ajlj1vn88qh1")))) + (base32 "19bwa9qidq2mxv1fkyxxc1xdmv3jx6bj35bkaaw70jzkblnfmlfs")))) (build-system cmake-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 0d461393e444a993a469b521d4cf46dee9e2767e Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 12 Jun 2022 21:42:33 +0300 Subject: gnu: Add maven-doxia-sink-api. * gnu/packages/maven.scm (maven-doxia-sink-api): New variable. (maven-doxia-parent-pom): New private variable. Signed-off-by: Julien Lepiller --- gnu/packages/maven.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index 817fee1c71..e5831ee614 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Björn Höfling ;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2022 Artyom V. Poptsov ;;; ;;; This file is part of GNU Guix. ;;; @@ -3887,3 +3888,53 @@ (define-public maven-jar-plugin (description "This plugin provides the capability to build jars. If you would like to sign jars please use the Maven Jarsigner Plugin instead.") (license license:asl2.0))) + +(define-public maven-doxia-sink-api + (package + (name "maven-doxia-sink-api") + (version "2.0.0-M2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitbox.apache.org/repos/asf/maven-doxia.git") + (commit (string-append "doxia-" version)))) + (file-name (git-file-name "doxia" version)) + (sha256 + (base32 + "0jx96lg0hgjsrm8mynhac4hwh2hmgiwjpwpx2k03yr14040zcr48")))) + (build-system ant-build-system) + (propagated-inputs + (list maven-doxia-parent-pom)) + (arguments + `(#:jar-name "doxia-sink-api.jar" + #:source-dir "doxia-sink-api/src/main/java" + #:tests? #f ; no tests + #:phases (modify-phases %standard-phases + (replace 'install + (install-from-pom "doxia-sink-api/pom.xml"))))) + (home-page "https://maven.apache.org/doxia/index.html") + (synopsis "Generic markup language interface") + (description + "The @code{Sink} interface is a generic markup language +interface provided as a Java API. It contains several methods that +encapsulate common text syntax. A start tag is denoted by @code{xxxx()} +method and a end of tag by @code{xxxx_()} method.") + (license license:asl2.0))) + +(define maven-doxia-parent-pom + (package + (inherit maven-doxia-sink-api) + (name "maven-doxia-parent-pom") + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (install-pom-file "pom.xml"))))) + (propagated-inputs + (list maven-parent-pom-34)) + (synopsis "Content generation framework") + (description "@samp{Doxia} is a content generation framework that provides +powerful techniques for generating static and dynamic content, supporting a +variety of markup languages."))) -- cgit v1.2.3 From a0500442557e2e7f0a138b6079df51290e3016dd Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 19 Jun 2022 21:18:02 +0200 Subject: gnu: Add texlive-floatflt. * gnu/packages/tex.scm (texlive-floatflt): New variable. --- gnu/packages/tex.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a7b62150f8..de0a6d347c 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge +;;; Copyright © 2013, 2014, 2015, 2016, 2022 Andreas Enge ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Roel Janssen @@ -10819,6 +10819,24 @@ (define-public texlive-inriafonts their associated files. These were created using autoinst.") (license (list license:lppl license:silofl1.1)))) +(define-public texlive-floatflt + (package + (inherit (simple-texlive-package + "texlive-floatflt" + (list "doc/latex/floatflt/" + "source/latex/floatflt/" + "tex/latex/floatflt/") + (base32 + "1piy8ajbbcadsjwp0mhlgxm2ggggnb5sn75arfs5fxiaqrwd572j") + #:trivial? #t)) + (home-page "https://ctan.org/macros/latex/contrib/floatflt") + (synopsis "Wrap text around floats") + (description + "The package can float text around figures and tables which do not +span the full width of a page; it improves upon floatfig, and allows +tables and figures to be set left/right or alternating on even/odd pages.") + (license license:lppl1.3+))) + (define-public bibtool (package (name "bibtool") -- cgit v1.2.3 From 6337f62dde24ceaf50c25a0133346bba68c2d849 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 19 Jun 2022 16:05:19 +0200 Subject: doc: Show (service ...) form in 'home-openssh-service-type' example. * doc/guix.texi (Secure Shell): Include the (service ...) form in the example. --- doc/guix.texi | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 86348fc02c..43a5fc85bd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -39718,18 +39718,20 @@ optionally providing a @file{~/.ssh/known_hosts} file so that @file{ssh} can authenticate hosts you connect to. @end itemize -Here is a sample configuration you could add to the @code{services} -field of your @code{home-environment}: - -@lisp -(home-openssh-configuration - (hosts (list (openssh-host (name "ci.guix.gnu.org") - (user "charlie")) - (openssh-host (name "chbouib") - (host-name "chbouib.example.org") - (user "supercharlie") - (port 10022)))) - (authorized-keys (list (local-file "alice.pub")))) +Here is an example of a service and its configuration that you could add +to the @code{services} field of your @code{home-environment}: + +@lisp +(service home-openssh-service-type + (home-openssh-configuration + (hosts + (list (openssh-host (name "ci.guix.gnu.org") + (user "charlie")) + (openssh-host (name "chbouib") + (host-name "chbouib.example.org") + (user "supercharlie") + (port 10022)))) + (authorized-keys (list (local-file "alice.pub"))))) @end lisp The example above lists two hosts and their parameters. For instance, -- cgit v1.2.3 From ab174e16b5832b1ff978740e6b4c48cf194c0a96 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 19 Jun 2022 22:53:52 +0200 Subject: challenge: Colorize output. * guix/scripts/challenge.scm (good-news, bad-news): New procedures. (summarize-report, summarize-report-list): Use them and 'highlight'. --- guix/scripts/challenge.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 96ffe53a85..5c0f837d13 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -18,6 +18,7 @@ (define-module (guix scripts challenge) #:use-module (guix ui) + #:use-module (guix colors) #:use-module (guix scripts) #:use-module (guix store) #:use-module (guix utils) @@ -388,6 +389,11 @@ (define* (report-differing-files/external comparison-report (append command (list directory1 directory2)))))) +(define good-news + (coloring-procedure (color BOLD GREEN))) +(define bad-news + (coloring-procedure (color BOLD RED))) + (define* (summarize-report comparison-report #:key (report-differences (const #f)) @@ -410,7 +416,7 @@ (define (report-hashes item local narinfos) (match comparison-report (($ item 'mismatch local (narinfos ...)) - (report (G_ "~a contents differ:~%") item) + (report (bad-news (G_ "~a contents differ:~%")) item) (report-hashes item local narinfos) (report-differences comparison-report)) (($ item 'inconclusive #f narinfos) @@ -419,7 +425,7 @@ (define (report-hashes item local narinfos) (warning (G_ "could not challenge '~a': no substitutes~%") item)) (($ item 'match local (narinfos ...)) (when verbose? - (report (G_ "~a contents match:~%") item) + (report (good-news (G_ "~a contents match:~%")) item) (report-hashes item local narinfos))))) (define (summarize-report-list reports) @@ -428,10 +434,11 @@ (define (summarize-report-list reports) (inconclusive (count comparison-report-inconclusive? reports)) (matches (count comparison-report-match? reports)) (discrepancies (count comparison-report-mismatch? reports))) - (report (G_ "~h store items were analyzed:~%") total) - (report (G_ " - ~h (~,1f%) were identical~%") + (report (highlight (G_ "~h store items were analyzed:~%")) total) + (report (highlight (G_ " - ~h (~,1f%) were identical~%")) matches (* 100. (/ matches total))) - (report (G_ " - ~h (~,1f%) differed~%") + (report ((if (zero? discrepancies) good-news bad-news) + (G_ " - ~h (~,1f%) differed~%")) discrepancies (* 100. (/ discrepancies total))) (report (G_ " - ~h (~,1f%) were inconclusive~%") inconclusive (* 100. (/ inconclusive total))))) -- cgit v1.2.3 From d5a9f2a404479c92b109dd14eb6fc597abc11aff Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Fri, 17 Jun 2022 07:51:09 -0400 Subject: gnu: Add cctools. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/darwin.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/darwin.scm (cctools): New variable. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/darwin.scm | 107 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 gnu/packages/darwin.scm diff --git a/gnu/local.mk b/gnu/local.mk index 8044c9010b..197c8679eb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -182,6 +182,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cvassistant.scm \ %D%/packages/cybersecurity.scm \ %D%/packages/cyrus-sasl.scm \ + %D%/packages/darwin.scm \ %D%/packages/databases.scm \ %D%/packages/datamash.scm \ %D%/packages/datastructures.scm \ diff --git a/gnu/packages/darwin.scm b/gnu/packages/darwin.scm new file mode 100644 index 0000000000..88990d0404 --- /dev/null +++ b/gnu/packages/darwin.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages darwin) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages gnustep) + #:use-module (gnu packages llvm) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public cctools + (let ((cctools-version "973.0.1") + (ld64-version "609") + (revision "0") + (commit "04663295d0425abfac90a42440a7ec02d7155fea")) + (package + (name "cctools") + (version (git-version (string-append cctools-version + "-ld64-" + ld64-version) + revision + commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tpoechtrager/cctools-port") + (commit commit))) + (sha256 + (base32 "0vihfa8y64vvd3pxy8qh4mhcnzinxh9flpz9dvw4wch4zj2nnfjs")) + (file-name (git-file-name name version)) + (snippet + #~(begin + (use-modules (guix build utils)) + (with-directory-excursion "cctools" + ;; use system libobjc2 + (substitute* "configure.ac" + (("AC_CONFIG_FILES[(]\\[libobjc2/Makefile][)]") + "")) + (substitute* "Makefile.am" + (("SUBDIRS=libobjc2 ") + "SUBDIRS=")) + (substitute* "otool/Makefile.am" + (("\\$[(]top_builddir[)]/libobjc2/libobjc\\.la") + "-lobjc") + (("-I\\$[(]top_srcdir[)]/libobjc2") + "")) + ;; delete files + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file-recursively pth))) + `("include/gnu/symseg.h" ;; obsolete + "libobjc2" ;; unbundle + ;; generated files: + "compile" + "config.guess" + "config.sub" + "configure" + "install-sh" + "ltmain.sh" + "missing" + ,@(find-files "." "^Makefile\\.in$")))))))) + (inputs (list libobjc2 + clang-toolchain)) + (native-inputs (list libtool + autoconf + automake + clang-toolchain)) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "cctools")))))) + (home-page "https://github.com/tpoechtrager/cctools-port") + (synopsis "Darwin's @code{cctools} and @code{ld64}") + ;; Confusingly enough, the program is called ld64, but the command is + ;; just ld (with no symlink), so @command{ld64} would be wrong. + (description + "Darwin's @code{cctools} are a set of tools somewhat similar in purpose +to GNU Binutils, but for Mach-O files targeting Darwin. The suite includes +@command{install_name_tool}, @command{dyldinfo}, and other specialized tools +in addition to standard utilities like @command{ld} and @command{as}. This +package provides portable versions of the tools.") + (license license:apsl2)))) -- cgit v1.2.3 From dbe221a89ac369c1d0f7679acb20544e08357413 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Wed, 15 Jun 2022 23:54:07 -0400 Subject: gnu: lxd: Add ‘attr’ to inputs and use it in wrapper. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes issue with lxd crashing on startup with: Error: exec: "setfattr": executable file not found in $PATH * gnu/packages/virtualization.scm (lxd)[arguments]: In 'install' phase, add "attr" to the list of packages used in 'wrap-program'. [inputs]: Add ATTR. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a7e1ccd6ca..015c291ec3 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1221,7 +1221,7 @@ (define-public lxd '() '("bash" "acl" "rsync" "tar" "xz" "btrfs-progs" "gzip" "dnsmasq" "squashfs-tools" "iproute2" - "criu" "iptables")))) + "criu" "iptables" "attr")))) ;; Remove unwanted binaries. (for-each (lambda (prog) (delete-file (string-append bin-dir prog))) @@ -1247,6 +1247,7 @@ (define-public lxd ("libcap" ,libcap) ("lxc" ,lxc) ;; Run-time dependencies. + ("attr" ,attr) ("bash" ,bash-minimal) ("rsync" ,rsync) ("tar" ,tar) -- cgit v1.2.3 From 73761d8049f483e6685c2c736872d0366e03238a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 19 Jun 2022 23:06:51 +0200 Subject: gnu: lxd: Remove input labels. * gnu/packages/virtualization.scm (lxd)[arguments]: In 'install' phase, refer to "bash-minimal" instead of "bash". [inputs]: Remove labels. --- gnu/packages/virtualization.scm | 44 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 015c291ec3..4cb83b4d85 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013-2017, 2020-2022 Ludovic Courtès ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2016, 2017, 2018. 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2016, 2017 Ricardo Wurmus @@ -1213,13 +1213,15 @@ (define-public lxd (wrap-program (string-append bin-dir "lxd") `("PATH" ":" prefix ,(fold (lambda (input paths) + ;; TODO: Use 'search-input-directory' rather + ;; than look up inputs by name. (let* ((in (assoc-ref inputs input)) (bin (string-append in "/bin")) (sbin (string-append in "/sbin"))) (append (filter file-exists? (list bin sbin)) paths))) '() - '("bash" "acl" "rsync" "tar" "xz" "btrfs-progs" + '("bash-minimal" "acl" "rsync" "tar" "xz" "btrfs-progs" "gzip" "dnsmasq" "squashfs-tools" "iproute2" "criu" "iptables" "attr")))) ;; Remove unwanted binaries. @@ -1240,25 +1242,25 @@ (define-public lxd ;; ("go-golang-org-x-lint" ,go-golang-org-x-lint) pkg-config)) (inputs - `(("acl" ,acl) - ("eudev" ,eudev) - ("libdqlite" ,libdqlite) - ("libraft" ,libraft) - ("libcap" ,libcap) - ("lxc" ,lxc) - ;; Run-time dependencies. - ("attr" ,attr) - ("bash" ,bash-minimal) - ("rsync" ,rsync) - ("tar" ,tar) - ("xz" ,xz) - ("btrfs-progs" ,btrfs-progs) - ("gzip" ,gzip) - ("dnsmasq" ,dnsmasq) - ("squashfs-tools" ,squashfs-tools) - ("iproute2" ,iproute) - ("criu" ,criu) - ("iptables" ,iptables))) + (list acl + eudev + libdqlite + libraft + libcap + lxc + ;; Run-time dependencies. + attr + bash-minimal + rsync + tar + xz + btrfs-progs + gzip + dnsmasq + squashfs-tools + iproute + criu + iptables)) (synopsis "Daemon based on liblxc offering a REST API to manage containers") (home-page "https://linuxcontainers.org/lxd/") (description "LXD is a next generation system container manager. It -- cgit v1.2.3 From 38d7e6d6b7467839c2f577783b6c97194ff5026b Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 20 Jun 2022 12:12:16 +0200 Subject: gnu: xdg-desktop-portal: Update to 1.14.4. * gnu/packages/freedesktop.scm (xdg-desktop-portal): Update to 1.14.4. [inputs]: Add gdk-pixbuf, use fuse@3. [arguments]: Build without systemd, set HOME variable. --- gnu/packages/freedesktop.scm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index c54ce1cf31..c8f6ee1e62 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2243,7 +2243,7 @@ (define-public libportal (define-public xdg-desktop-portal (package (name "xdg-desktop-portal") - (version "1.10.1") + (version "1.14.4") (source (origin (method url-fetch) (uri (string-append @@ -2251,7 +2251,7 @@ (define-public xdg-desktop-portal version "/xdg-desktop-portal-" version ".tar.xz")) (sha256 (base32 - "199lqr2plsy9qqnxx5a381ml8ygcbz4nkjla5pvljjcrwzlqsygd")))) + "0wqc9x3k7lf3mig53i4rjazi0xi8bcykwaaw7r7prvnscnd1k405")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -2262,7 +2262,8 @@ (define-public xdg-desktop-portal ("which" ,which) ("gettext" ,gettext-minimal))) (inputs - `(("glib" ,glib) + `(("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) ("flatpak" ,flatpak) ("fontconfig" ,fontconfig) ("json-glib" ,json-glib) @@ -2270,17 +2271,20 @@ (define-public xdg-desktop-portal ("dbus" ,dbus) ("geoclue" ,geoclue) ("pipewire" ,pipewire-0.3) - ("fuse" ,fuse))) + ("fuse" ,fuse-3))) (arguments - `(#:phases + `(#:configure-flags + (list "--with-systemd=no") + #:phases (modify-phases %standard-phases (add-after 'unpack 'po-chmod (lambda _ ;; Make sure 'msgmerge' can modify the PO files. (for-each (lambda (po) (chmod po #o666)) - (find-files "po" "\\.po$")) - #t))))) + (find-files "po" "\\.po$")))) + (add-after 'unpack 'set-home-directory + (lambda _ (setenv "HOME" "/tmp")))))) (native-search-paths (list (search-path-specification (variable "XDG_DESKTOP_PORTAL_DIR") -- cgit v1.2.3 From a6928240063e43e85a6b27e4d8e46f3d949617fd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 20 Jun 2022 12:14:15 +0200 Subject: gnu: xdg-desktop-portal-gtk: Update to 1.14.0. * gnu/packages/freedesktop.scm (xdg-desktop-portal-gtk): Update to 1.14.0. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index c8f6ee1e62..29bb7c1664 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2306,7 +2306,7 @@ (define-public xdg-desktop-portal (define-public xdg-desktop-portal-gtk (package (name "xdg-desktop-portal-gtk") - (version "1.10.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (string-append @@ -2314,7 +2314,7 @@ (define-public xdg-desktop-portal-gtk version "/xdg-desktop-portal-gtk-" version ".tar.xz")) (sha256 (base32 - "0nlbnd6qvs92fanrmmn123vy0y2ml0v3ndxyk5x0cpfbnmxpa2f8")))) + "0m29b4hm7lq06gcavxw7gdlgqiiy3vgv3v4yjqfq5kx92q3j28gn")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases -- cgit v1.2.3 From d2580a3f2ef9d8b6090a739a7e09fea4c2c64e21 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2022 13:35:11 +0300 Subject: gnu: vlc: Add release-monitoring-url property. * gnu/packages/video.scm (vlc)[properties]: New field. --- gnu/packages/video.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 48c7c3a46d..18eb6d2d24 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2031,6 +2031,8 @@ (define-public vlc (description "VLC is a cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols.") + (properties + '((release-monitoring-url . "https://download.videolan.org/pub/videolan/vlc/last"))) (license license:gpl2+))) (define-public mplayer -- cgit v1.2.3 From 8d342711dd59a68c0f756253404ab84f5a9fc19c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2022 13:57:52 +0300 Subject: gnu: vlc: Update to 3.0.17.4. * gnu/packages/video.scm (vlc): Update to 3.0.17.4. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 18eb6d2d24..3f565867aa 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1886,7 +1886,7 @@ (define-public ffmpegthumbnailer (define-public vlc (package (name "vlc") - (version "3.0.17.3") + (version "3.0.17.4") (source (origin (method url-fetch) (uri (string-append @@ -1895,7 +1895,7 @@ (define-public vlc "/vlc-" version ".tar.xz")) (sha256 (base32 - "0510vqf35f0v9c498yki5441aig3fdqq3nv4vsb1vlvki7pr0zkg")))) + "0cs1vnv91mg7p6253v6wms3zlz91xzphpwaw14dmrd2gibc64nlc")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) -- cgit v1.2.3 From 6f2df20b0f8555ab1568ad1d661cb6e737a4bb8f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2022 14:16:13 +0300 Subject: gnu: rust-libgit2-sys-0.12: Remove bundled library. This fixes . * gnu/packages/crates-io.scm (rust-libgit2-sys-0.12)[source]: Add snippet to remove bundled code. --- gnu/packages/crates-io.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2b05683028..f9bc9b42de 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -31353,7 +31353,10 @@ (define-public rust-libgit2-sys-0.12 (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g")))) + "1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libgit2"))))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- cgit v1.2.3 From ceb508528fbc117b44acab0d57fef1afe6bd6603 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2022 14:31:40 +0300 Subject: gnu: rust-cargo-c: Add missing input. This is a follow-up to 6f2df20b0f8555ab1568ad1d661cb6e737a4bb8f. * gnu/packages/rust-apps.scm (rust-cargo-c)[inputs]: Add libgit2-1.3. --- gnu/packages/rust-apps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 6d97e289c2..0d5034ffb7 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 John Soo -;;; Copyright © 2019, 2020, 2021 Efraim Flashner +;;; Copyright © 2019-2022 Efraim Flashner ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Leo Famulari @@ -1571,7 +1571,7 @@ (define-public rust-cargo-c (native-inputs (list pkg-config)) (inputs - (list curl libssh2 openssl zlib)) + (list curl libgit2-1.3 libssh2 openssl zlib)) (home-page "https://github.com/lu-zero/cargo-c") (synopsis "Build and install C-compatible libraries") (description -- cgit v1.2.3 From a606eea4bc68301fa310290cf6e62f1dfff7e928 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Sun, 19 Jun 2022 07:35:01 +0000 Subject: gnu: Add cl-compiler-macro. * gnu/packages/lisp-xyz.scm (sbcl-compiler-macro, cl-compiler-macro, ecl-compiler-macro): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index ff84c34f1b..a88f19e28e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6241,6 +6241,42 @@ (define-public cl-introspect-environment (define-public ecl-introspect-environment (sbcl-package->ecl-package sbcl-introspect-environment)) +(define-public sbcl-compiler-macro + (let ((commit "7796bda64aec5af3ca175170ad3565167868789c") + (revision "0")) + (package + (name "sbcl-compiler-macro") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bike/compiler-macro") + (commit commit))) + (file-name (git-file-name "cl-compiler-macro" version)) + (sha256 + (base32 "13sswps7s0qy6939mvj8q57hkx0qkga6rl6xjhjr7pk7by0xdsjq")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-fiveam)) + (inputs + (list sbcl-introspect-environment)) + (home-page "https://github.com/Bike/compiler-macro") + (synopsis "Common Lisp compiler macro utilities") + (description "This library is a collection of utilities for writing +compiler macros. It is intended to make it possible to make compiler macros +much more useful, by granting them access to lexical type information, making +the protocol for declining expansion more convenient, and establishing some +information for signaling optimization advice to programmers. Some utilities +to support this, especially for reasoning on types, are also included.") + (license license:cc0)))) + +(define-public cl-compiler-macro + (sbcl-package->cl-source-package sbcl-compiler-macro)) + +(define-public ecl-compiler-macro + (sbcl-package->ecl-package sbcl-compiler-macro)) + (define-public sbcl-type-i (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667") (revision "2")) -- cgit v1.2.3 From 723d1bbbd2292e65e0adc51b67e625e6f8eb373e Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Mon, 20 Jun 2022 00:02:58 +0300 Subject: gnu: gpxsee: Update to 11.1. * gnu/packages/gps.scm (gpxsee): Update to 11.1. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/gps.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 47a7441e70..a18b93c179 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -170,7 +170,7 @@ (define-public gama (define-public gpxsee (package (name "gpxsee") - (version "10.3") + (version "11.1") (source (origin (method git-fetch) (uri (git-reference @@ -179,7 +179,7 @@ (define-public gpxsee (file-name (git-file-name name version)) (sha256 (base32 - "1i1diha617il0s2j9108xlw3vn10m6lc59r8r2fn48wmfzcj79dc")))) + "1klpjiqsvpvhlg5hsfjaszsyqr817hig9r7y7w4cp0kyn8z5fzfj")))) (build-system gnu-build-system) (arguments '(#:phases @@ -194,7 +194,7 @@ (define-public gpxsee (string-append "PREFIX=" (assoc-ref outputs "out")))))))) (inputs - (list qtbase-5 qtlocation)) + (list qtbase-5 qtlocation qtsvg)) (native-inputs (list qttools)) (home-page "https://www.gpxsee.org") -- cgit v1.2.3 From 2af3f5eef045f7d177cc394c89be069bac895688 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2022 15:24:28 +0300 Subject: gnu: libhttpd: Update to 1.4.65. * gnu/packages/web.scm (libhttpd): Update to 1.4.65. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9047578b0a..006ac26ace 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -832,7 +832,7 @@ (define-public nginx-rtmp-module (define-public lighttpd (package (name "lighttpd") - (version "1.4.64") + (version "1.4.65") (source (origin (method url-fetch) (uri (string-append "https://download.lighttpd.net/lighttpd/" @@ -840,7 +840,7 @@ (define-public lighttpd "lighttpd-" version ".tar.xz")) (sha256 (base32 - "09hf3cp4ivy9a9z9drgi4f6d60137dcqncqw0wpbyvs9lygrsj71")))) + "1gi84fsc7x4d7r5vpg4pcwfk6j80wxvv64m94d041g4zca5ac3xz")))) (build-system gnu-build-system) (arguments (list #:configure-flags -- cgit v1.2.3