aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/base.scm6
-rw-r--r--gnu/packages/certs.scm47
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/databases.scm100
-rw-r--r--gnu/packages/glib.scm2
-rw-r--r--gnu/packages/gnome.scm13
-rw-r--r--gnu/packages/golang.scm10
-rw-r--r--gnu/packages/image.scm28
-rw-r--r--gnu/packages/linux.scm1
-rw-r--r--gnu/packages/man.scm96
-rw-r--r--gnu/packages/password-utils.scm1
-rw-r--r--gnu/packages/patches/python2-pyopenssl-openssl-compat.patch51
-rw-r--r--gnu/packages/python-crypto.scm193
-rw-r--r--gnu/packages/python-web.scm15
-rw-r--r--gnu/packages/python-xyz.scm88
-rw-r--r--gnu/packages/radio.scm4
-rw-r--r--gnu/packages/tex.scm272
-rw-r--r--gnu/packages/time.scm25
-rw-r--r--gnu/packages/unicode.scm5
-rw-r--r--gnu/packages/video.scm1
-rw-r--r--gnu/packages/virtualization.scm5
-rw-r--r--gnu/packages/web-browsers.scm1
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/wget.scm1
-rw-r--r--gnu/packages/xorg.scm1
26 files changed, 430 insertions, 549 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 3b7db46b26..28e173636b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1693,6 +1693,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-pyflakes-test-location.patch \
+ %D%/packages/patches/python2-pyopenssl-openssl-compat.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-magic-python-bytecode.patch \
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 @@ command.")
(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 @@ command.")
version ".tar.gz"))
(sha256
(base32
- "1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07"))))
+ "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f
@@ -1317,7 +1317,7 @@ command.")
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)
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 @@
#: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 @@ that was originally contributed to Debian.")
(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)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 335ab7ab11..1171d1c28b 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1150,13 +1150,13 @@ following improvements:
(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
@@ -2737,13 +2737,13 @@ mocks, stubs and fakes.")
(define-public python-flaky
(package
(name "python-flaky")
- (version "3.5.3")
+ (version "3.7.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
(sha256
(base32
- "1nm1kjf857z5aw7v642ffsy1vwf255c6wjvmil71kckjyd0mxg8j"))))
+ "03daz352021211kvdb056f3afrd2gsdq0rd1awgr38910xw01l9s"))))
(build-system python-build-system)
(arguments
;; TODO: Tests require 'coveralls' and 'genty' which are not in Guix yet.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 90fbd14844..3b9c136ca4 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -32,7 +32,7 @@
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
-;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
@@ -56,6 +56,7 @@
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,6 +91,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@@ -1239,38 +1241,43 @@ and high-availability (HA).")
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--with-uuid=e2fs" "--with-openssl"
- ;; PostgreSQL installs its own Makefile (should it?).
- ;; Prevent it from retaining needless references to
- ;; the build tools in order to save size.
- "MKDIR_P=mkdir -p" "INSTALL_BIN=install -c"
- "LD=ld" "TAR=tar")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-/bin/sh
- (lambda _
- ;; Refer to the actual shell.
- (substitute* '("src/bin/pg_ctl/pg_ctl.c"
- "src/bin/psql/command.c")
- (("/bin/sh") (which "sh")))
- #t))
- (add-before 'configure 'set-socket-dir
- (lambda _
- (substitute* '("src/include/pg_config_manual.h")
- (("DEFAULT_PGSOCKET_DIR[^\n]*")
- "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\""))
- #t))
- (add-after 'build 'build-contrib
- (lambda _
- (invoke "make" "-C" "contrib")))
- (add-after 'install 'install-contrib
- (lambda _
- (invoke "make" "-C" "contrib" "install"))))))
- (inputs
- `(("readline" ,readline)
- ("libuuid" ,util-linux "lib")
- ("openssl" ,openssl)
- ("zlib" ,zlib)))
+ (list
+ #:configure-flags
+ #~(list "--with-uuid=e2fs" "--with-openssl"
+ (string-append "--mandir=" #$output "/share/man")
+ ;; PostgreSQL installs its own Makefile (should it?).
+ ;; Prevent it from retaining needless references to
+ ;; the build tools in order to save size.
+ "MKDIR_P=mkdir -p" "INSTALL_BIN=install -c"
+ "LD=ld" "TAR=tar")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'patch-/bin/sh
+ (lambda _
+ ;; Refer to the actual shell.
+ (substitute* '("src/bin/pg_ctl/pg_ctl.c"
+ "src/bin/psql/command.c")
+ (("/bin/sh") (which "sh")))))
+ (add-before 'configure 'set-socket-dir
+ (lambda _
+ (substitute* '("src/include/pg_config_manual.h")
+ (("DEFAULT_PGSOCKET_DIR[^\n]*")
+ "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\""))))
+ (add-after 'build 'build-contrib
+ (lambda _
+ (invoke "make" "-C" "contrib")))
+ (add-after 'install 'install-contrib
+ (lambda _
+ (invoke "make" "-C" "contrib" "install")))
+ (add-after 'install 'install-manuals
+ (lambda _
+ (with-directory-excursion "doc/src/sgml"
+ (invoke "make" "install-man")
+ (invoke "make" "postgres.info")
+ (install-file "postgres.info"
+ (string-append #$output "/share/info"))))))))
+ (native-inputs (list docbook-xml docbook2x libxml2 perl texinfo))
+ (inputs (list readline `(,util-linux "lib") openssl zlib))
(home-page "https://www.postgresql.org/")
(synopsis "Powerful object-relational database system")
(description
@@ -1285,36 +1292,15 @@ pictures, sounds, or video.")
(define-public postgresql-13
(package
(inherit postgresql-14)
- (version "13.4")
+ (version "13.6")
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1kf0gcsrl5n25rjlvkh87aywmn28kbwvakm5c7j1qpr4j01y34za"))))
- (arguments
- (if (target-riscv64?)
- `(,@(substitute-keyword-arguments (package-arguments postgresql-14)
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'apply-riscv-spinlock-patch
- ;; The patch is applied in this custom phase and not via the
- ;; "origin" object above to avoid rebuilding a large number
- ;; of packages on other platforms.
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch-file
- #$(local-file
- (search-patch
- "postgresql-riscv-spinlocks.patch"))))
- (invoke "patch" "-p1" "-i" patch-file))))))))
- `(,@(package-arguments postgresql-14))))
- (native-inputs
- (if (target-riscv64?)
- (list
- (local-file (search-patch "postgresql-riscv-spinlocks.patch"))
- patch)
- '()))))
+ "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
+ (patches (search-patches "postgresql-riscv-spinlocks.patch"))))))
(define-public postgresql-11
(package
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 30e5433776..7e6acc0984 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index dae6692109..51ce1cd936 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3508,18 +3508,9 @@ for dealing with different structured file formats.")
`(,glib "bin")
gobject-introspection
pkg-config
- python-wrapper
- ruby
vala))
(inputs
- (list bzip2
- fontconfig
- freetype
- harfbuzz
- libcroco
- libgsf
- libxml2
- pango))
+ (list freetype harfbuzz libxml2 pango))
(propagated-inputs
(list cairo gdk-pixbuf glib))
(synopsis "SVG rendering library")
@@ -3610,7 +3601,7 @@ diagrams.")
`(,glib "bin") ; glib-mkenums, etc.
gobject-introspection)) ; g-ir-compiler, etc.
(inputs
- (list pango libcroco bzip2 libgsf libxml2))
+ (list pango libcroco libxml2))
(propagated-inputs
;; librsvg-2.0.pc refers to all of that.
(list cairo gdk-pixbuf glib))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 820e6b54ab..5cf925f199 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -626,7 +626,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.16)
(name "go")
- (version "1.17.8")
+ (version "1.17.9")
(source
(origin
(method git-fetch)
@@ -636,7 +636,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version))
(sha256
(base32
- "05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy"))))
+ "02l6gxn738kam1niy2nl2wpsbzl4x87h2wik6hd3py19kq4z2flw"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments
`(#:modules ((ice-9 match)
@@ -2684,8 +2684,8 @@ packages.")
(license license:bsd-3))))
(define-public go-golang-org-x-sys
- (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
- (revision "7"))
+ (let ((commit "ed5796bab16455f104b6a384d51b7f9990cb9806")
+ (revision "8"))
(package
(name "go-golang-org-x-sys")
(version (git-version "0.0.0" revision commit))
@@ -2697,7 +2697,7 @@ packages.")
(file-name (git-file-name name version))
(sha256
(base32
- "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
+ "081vs5bg91mwg5bdmlcvy2qyrvg766aicj47smcwfk4bbh0nc0qa"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys"
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index d45a14ec14..ec6793aa9a 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1003,31 +1003,31 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.")
(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")))
(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")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9bb2314ebd..7814078e08 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -50,6 +50,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 David Dashyan <mail@davie.li>
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
+;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index a434c70576..1c1d82758b 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -125,14 +126,14 @@ a flexible and convenient way.")
(define-public man-db
(package
(name "man-db")
- (version "2.9.4")
+ (version "2.10.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/man-db/man-db-"
version ".tar.xz"))
(sha256
(base32
- "0mk7n7yn6scy785jhg1j14b3q9l0cgvpry49r0ldjsnizbnrjv5n"))))
+ "0kaiymd5lh4dnp6z15fnvfg0ir81kdxp5l690ccp64ra956rb5zf"))))
(build-system gnu-build-system)
(arguments
(list #:phases
@@ -145,9 +146,7 @@ a flexible and convenient way.")
(substitute* file
(("#! /bin/sh")
(string-append "#!" (which "sh")))))
- (remove file-is-directory?
- (find-files "src/tests" ".*")))
- #t)))
+ (find-files "src/tests")))))
(add-after 'unpack 'patch-absolute-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/man.c"
@@ -160,64 +159,53 @@ a flexible and convenient way.")
(("groff_preconv = NULL")
(string-append "groff_preconv = \""
(assoc-ref inputs "groff-minimal")
- "/bin/preconv\"")))
- #t)))
+ "/bin/preconv\""))))))
#:configure-flags
- #~(let ((groff (assoc-ref %build-inputs "groff"))
- (groff-minimal (assoc-ref %build-inputs "groff-minimal"))
- (less (assoc-ref %build-inputs "less"))
- (gzip (assoc-ref %build-inputs "gzip"))
- (bzip2 (assoc-ref %build-inputs "bzip2"))
- (xz (assoc-ref %build-inputs "xz"))
- (util (assoc-ref %build-inputs "util-linux")))
- ;; Invoke groff, less, gzip, bzip2, & xz directly from the store.
- (append (list ;; Disable setuid man user.
- "--disable-setuid"
- ;; Don't constrain ownership of system-wide cache files.
- ;; Otherwise creating the manpage database fails with
- ;; man-db > 2.7.5.
- "--disable-cache-owner"
- (string-append "--with-pager=" less "/bin/less")
- (string-append "--with-gzip=" gzip "/bin/gzip")
- (string-append "--with-bzip2=" bzip2 "/bin/gzip")
- (string-append "--with-xz=" xz "/bin/xz")
- (string-append "--with-col=" util "/bin/col")
- ;; The default systemd directories ignore --prefix.
- ;; XXX TODO: Replace with simply #$OUTPUT on staging.
- (string-append "--with-systemdsystemunitdir="
- #$(if (%current-target-system)
- #~#$output
- #~%output)
- "/lib/systemd/system")
- (string-append "--with-systemdtmpfilesdir="
- #$(if (%current-target-system)
- #~#$output
- #~%output)
- "/lib/tmpfiles.d"))
- (map (lambda (prog)
- (string-append "--with-" prog "=" groff-minimal
- "/bin/" prog))
- '("nroff" "eqn" "neqn" "tbl" "refer" "pic"))))
-
+ #~(cons*
+ ;; Disable setuid man user.
+ "--disable-setuid"
+ ;; Don't constrain ownership of system-wide cache files.
+ ;; Otherwise creating the manpage database fails with
+ ;; man-db > 2.7.5.
+ "--disable-cache-owner"
+ (string-append "--with-pager="
+ (search-input-file %build-inputs "bin/less"))
+ (string-append "--with-gzip="
+ (search-input-file %build-inputs "bin/gzip"))
+ (string-append "--with-bzip2="
+ (search-input-file %build-inputs "bin/bzip2"))
+ (string-append "--with-xz="
+ (search-input-file %build-inputs "bin/xz"))
+ (string-append "--with-zstd="
+ (search-input-file %build-inputs "bin/zstd"))
+ (string-append "--with-col="
+ (search-input-file %build-inputs "bin/col"))
+ ;; The default systemd directories ignore --prefix.
+ (string-append "--with-systemdsystemunitdir="
+ #$output "/lib/systemd/system")
+ (string-append "--with-systemdtmpfilesdir="
+ #$output "/lib/tmpfiles.d")
+ (map (lambda (prog)
+ (string-append
+ "--with-" prog "="
+ #$(this-package-input "groff-minimal")
+ (string-append "/bin/" prog)))
+ '("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)) ;needed at build time (troff, grops, soelim, etc.)
+ (list pkg-config flex
+ ;; Groff is needed at build time for troff, grops, soelim, etc.
+ groff))
(inputs
(list gdbm
groff-minimal
less
libpipeline
- ;; FIXME: 4.8 and later can use libseccomp, but it causes test
- ;; failures in the build chroot.
- ;;("libseccomp" ,libseccomp)
- util-linux))
+ libseccomp
+ util-linux
+ zstd))
(native-search-paths
(list (search-path-specification
(variable "MANPATH")
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 1891a2cf09..86e80e8328 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
diff --git a/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch b/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch
new file mode 100644
index 0000000000..a185f4172d
--- /dev/null
+++ b/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch
@@ -0,0 +1,51 @@
+Adjust for OpenSSL 1.1.1:
+
+ https://github.com/pyca/pyopenssl/issues/1043
+
+Taken from upstream:
+
+ https://github.com/pyca/pyopenssl/commit/cc5c00ae5fd3c19d07fff79b5c4a08f5e58697ad
+
+diff --git a/src/OpenSSL/SSL.py b/src/OpenSSL/SSL.py
+index 59f21cec..fcdee047 100644
+--- a/src/OpenSSL/SSL.py
++++ b/src/OpenSSL/SSL.py
+@@ -1421,6 +1421,12 @@ def set_alpn_protos(self, protos):
+ This list should be a Python list of bytestrings representing the
+ protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``.
+ """
++ # Different versions of OpenSSL are inconsistent about how they handle empty
++ # proto lists (see #1043), so we avoid the problem entirely by rejecting them
++ # ourselves.
++ if not protos:
++ raise ValueError("at least one protocol must be specified")
++
+ # Take the list of protocols and join them together, prefixing them
+ # with their lengths.
+ protostr = b"".join(
+@@ -2449,6 +2455,12 @@ def set_alpn_protos(self, protos):
+ This list should be a Python list of bytestrings representing the
+ protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``.
+ """
++ # Different versions of OpenSSL are inconsistent about how they handle empty
++ # proto lists (see #1043), so we avoid the problem entirely by rejecting them
++ # ourselves.
++ if not protos:
++ raise ValueError("at least one protocol must be specified")
++
+ # Take the list of protocols and join them together, prefixing them
+ # with their lengths.
+ protostr = b"".join(
+diff --git a/tests/test_ssl.py b/tests/test_ssl.py
+index ffc505d8..ca363b45 100644
+--- a/tests/test_ssl.py
++++ b/tests/test_ssl.py
+@@ -1928,7 +1928,7 @@ def test_alpn_call_failure(self):
+ protocols list. Ensure that we produce a user-visible error.
+ """
+ context = Context(SSLv23_METHOD)
+- with pytest.raises(Error):
++ with pytest.raises(ValueError):
+ context.set_alpn_protos([])
+
+ def test_alpn_set_on_connection(self):
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 2e16392c9d..d331601c66 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -459,13 +459,13 @@ for example, for recording or replaying web content.")
(define-public python-certifi
(package
(name "python-certifi")
- (version "2020.12.5")
+ (version "2021.10.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "certifi" version))
(sha256
(base32
- "177mdbw0livdjvp17sz6wsfrc32838m9y59v871gpgv2888raj8s"))))
+ "0wl8ln7acd797i1q7mmb430l6hqwhmk4bd37x8ycw02b3my4x23q"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;no tests
(home-page "https://certifi.io/")
@@ -481,14 +481,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "3.3.1")
+ (version "36.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03"))))
+ "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@@ -497,75 +497,9 @@ is used by the Requests library to verify HTTPS requests.")
;; Distributed under either BSD-3 or ASL2.0
(license (list license:bsd-3 license:asl2.0))))
-(define-public python2-cryptography-vectors
- (package-with-python2 python-cryptography-vectors))
-
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "3.3.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "cryptography" version))
- (sha256
- (base32
- "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy"))))
- (build-system python-build-system)
- (inputs
- (list openssl))
- (propagated-inputs
- (list python-asn1crypto python-cffi python-six python-idna
- python-iso8601))
- (native-inputs
- (list python-cryptography-vectors python-hypothesis python-pretend
- python-pytz python-pytest))
- (home-page "https://github.com/pyca/cryptography")
- (synopsis "Cryptographic recipes and primitives for Python")
- (description
- "cryptography is a package which provides cryptographic recipes and
-primitives to Python developers. It aims to be the “cryptographic standard
-library” for Python. The package includes both high level recipes, and low
-level interfaces to common cryptographic algorithms such as symmetric ciphers,
-message digests and key derivation functions.")
- ;; Distributed under either BSD-3 or ASL2.0
- (license (list license:bsd-3 license:asl2.0))
- (properties `((python2-variant . ,(delay python2-cryptography))))))
-
-(define-public python2-cryptography
- (let ((crypto (package-with-python2
- (strip-python2-variant python-cryptography))))
- (package/inherit crypto
- (arguments
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- ;; The sanity-check attempts attempts to import the non-existent
- ;; modules "_openssl" and "_padding".
- (delete 'sanity-check))))
- (propagated-inputs
- `(("python2-ipaddress" ,python2-ipaddress)
- ("python2-backport-ssl-match-hostname"
- ,python2-backport-ssl-match-hostname)
- ("python2-enum34" ,python2-enum34)
- ,@(package-propagated-inputs crypto))))))
-
-;; TODO: Make this the default in the next staging cycle.
-(define-public python-cryptography-vectors-next
- (package
- (inherit python-cryptography-vectors)
- (version "36.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "cryptography_vectors" version))
- (sha256
- (base32
- "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w"))))))
-
-(define-public python-cryptography-next
- (package
- (inherit python-cryptography)
(version "36.0.1")
(source
(origin
@@ -663,50 +597,103 @@ message digests and key derivation functions.")
(list python-asn1crypto python-cffi python-six python-idna
python-iso8601))
(native-inputs
- (list python-cryptography-vectors-next
+ (list python-cryptography-vectors
python-hypothesis
python-pretend
python-pytz
python-pytest
python-pytest-subtests
python-setuptools-rust
- rust `(,rust "cargo")))
- (properties '())))
+ rust
+ `(,rust "cargo")))
+ (home-page "https://github.com/pyca/cryptography")
+ (synopsis "Cryptographic recipes and primitives for Python")
+ (description
+ "cryptography is a package which provides cryptographic recipes and
+primitives to Python developers. It aims to be the “cryptographic standard
+library” for Python. The package includes both high level recipes, and low
+level interfaces to common cryptographic algorithms such as symmetric ciphers,
+message digests and key derivation functions.")
+ ;; Distributed under either BSD-3 or ASL2.0
+ (license (list license:bsd-3 license:asl2.0))
+ (properties `((python2-variant . ,(delay python2-cryptography))))))
+
+(define-public python2-cryptography-vectors
+ (package
+ (inherit python-cryptography-vectors)
+ (version "3.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cryptography_vectors" version))
+ (sha256
+ (base32
+ "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03"))))
+ (arguments
+ (list #:python python-2))))
+
+(define-public python2-cryptography
+ (let ((crypto (package-with-python2
+ (strip-python2-variant python-cryptography))))
+ (package
+ (inherit crypto)
+ (version "3.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cryptography" version))
+ (sha256
+ (base32
+ "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy"))))
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ ;; The sanity-check attempts attempts to import the non-existent
+ ;; modules "_openssl" and "_padding".
+ (delete 'sanity-check))))
+ (native-inputs
+ (list python2-cryptography-vectors python2-hypothesis python2-pretend
+ python2-pytz python2-pytest))
+ (inputs (list openssl))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs crypto)
+ (prepend python2-ipaddress
+ python2-backport-ssl-match-hostname
+ python2-enum34))))))
(define-public python-pyopenssl
(package
(name "python-pyopenssl")
- (version "20.0.1")
+ (version "22.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyOpenSSL" version))
(sha256
(base32
- "0labcbh2g0jhgisd79wx9kixmi6fip28096d1xb05fj3jmsiq8sc"))))
+ "1gzihw09sqi71lwx97c69hab7w4rbnl6hhfrl6za3i5a4la1n2v6"))))
(build-system python-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- ;; PyOpenSSL runs tests against a certificate with a fixed
- ;; expiry time. To ensure successful builds in the future,
- ;; set the time to roughly the release date.
- (invoke "faketime" "2021-05-01" "py.test" "-v" "-k"
- (string-append
- ;; This test tries to look up certificates from
- ;; the compiled-in default path in OpenSSL, which
- ;; does not exist in the build environment.
- "not test_fallback_default_verify_paths "
- ;; This test attempts to make a connection to
- ;; an external web service.
- "and not test_set_default_verify_paths "
- ;; Fails on i686-linux and possibly other 32-bit platforms
- ;; https://github.com/pyca/pyopenssl/issues/974
- "and not test_verify_with_time")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; PyOpenSSL runs tests against a certificate with a fixed
+ ;; expiry time. To ensure successful builds in the future,
+ ;; set the time to roughly the release date.
+ (invoke "faketime" "2022-02-01" "py.test" "-v" "-k"
+ (string-append
+ ;; This test tries to look up certificates from
+ ;; the compiled-in default path in OpenSSL, which
+ ;; does not exist in the build environment.
+ "not test_fallback_default_verify_paths "
+ ;; This test attempts to make a connection to
+ ;; an external web service.
+ "and not test_set_default_verify_paths "
+ ;; Fails on i686-linux and possibly other 32-bit platforms
+ ;; https://github.com/pyca/pyopenssl/issues/974
+ "and not test_verify_with_time"))))))))
(propagated-inputs
(list python-cryptography python-six))
(inputs
@@ -718,10 +705,22 @@ message digests and key derivation functions.")
(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
- (package-with-python2 python-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")))))))
(define-public python-ed25519
(package
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0f9f1e8786..38f92fd3b1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2554,17 +2554,19 @@ APIs.")
(define-public python-requests
(package
(name "python-requests")
- (version "2.26.0")
+ (version "2.27.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "requests" version))
(sha256
(base32
- "19q73fq7hip7b74fwls3p9x6zwvfwqcwpn6kha3zsgvrrzw5iamq"))))
+ "0qcsbi919d689xqlgyhw9zkppp1fs6k09wwffa3ri6d8smpwbmv8"))))
(build-system python-build-system)
(propagated-inputs
- (list python-certifi python-chardet python-charset-normalizer
- python-idna python-urllib3))
+ (list python-certifi
+ python-charset-normalizer
+ python-idna
+ python-urllib3))
(arguments
;; FIXME: Some tests require network access.
'(#:tests? #f))
@@ -2583,6 +2585,7 @@ than Python’s urllib2 library.")
;; The python-charset-normalizer dependency is necessary on Python 3
;; only.
(propagated-inputs (modify-inputs (package-propagated-inputs base)
+ (append python2-chardet)
(delete "python-charset-normalizer"))))))
(define-public python-requests-unixsocket
@@ -2833,14 +2836,14 @@ addon for removing tracking fields from URLs.")
(define-public python-urllib3
(package
(name "python-urllib3")
- (version "1.26.7")
+ (version "1.26.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urllib3" version))
(sha256
(base32
- "1kkf6gi8a1fs0dqkf6kpmdpsy97iirvliz8q1krxp8ppaiawd1s9"))))
+ "0g18xk7gfm88gr4bp3f58vgvsbzwps3sq2kqhv5xyz9ylvck6z0f"))))
(build-system python-build-system)
(arguments `(#:tests? #f))
(propagated-inputs
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 659538d193..f6c4ca076f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6738,7 +6738,7 @@ toolkits.")
("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
@@ -7617,26 +7617,22 @@ data, and scientific formats.")
(define-public python-pycparser
(package
(name "python-pycparser")
- (version "2.20")
+ (version "2.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycparser" version))
(sha256
(base32
- "1w0m3xvlrzq4lkbvd1ngfm8mdw64r1yxy6n7djlw6qj5d0km6ird"))))
+ "01kjlyn5w2nn2saj8w1rhq7v26328pd91xwgqn32z1zp2bngsi76"))))
(outputs '("out" "doc"))
(build-system python-build-system)
- (native-inputs
- (list pkg-config))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (with-directory-excursion "tests"
- (invoke "python" "all_tests.py"))
- #t))
+ (invoke "python" "-m" "unittest" "discover")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
@@ -7647,8 +7643,7 @@ data, and scientific formats.")
(copy-file (string-append "." file)
(string-append doc file)))
'("/README.rst" "/CHANGES" "/LICENSE"))
- (copy-recursively "examples" examples)
- #t))))))
+ (copy-recursively "examples" examples)))))))
(home-page "https://github.com/eliben/pycparser")
(synopsis "C parser in Python")
(description
@@ -12328,14 +12323,14 @@ versions of Python.")
(define-public python-idna
(package
(name "python-idna")
- (version "2.10")
+ (version "3.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "idna" version))
(sha256
(base32
- "1xmk3s92d2vq42684p61wixfmh3qpr2mw762w0n6662vhlpqf1xk"))))
+ "0v8f6qjfi5i7qc5icsbv2pi24qy6k6m8wjqjvdf2sxjvlpq3yr4x"))))
(build-system python-build-system)
(home-page "https://github.com/kjd/idna")
(synopsis "Internationalized domain names in applications")
@@ -12347,10 +12342,20 @@ from the earlier standard from 2003. The library is also intended to act as a
suitable drop-in replacement for the “encodings.idna” module that comes with
the Python standard library but currently only supports the older 2003
specification.")
+ (properties `((python2-variant . ,(delay python2-idna))))
(license license:bsd-4)))
(define-public python2-idna
- (package-with-python2 python-idna))
+ (let ((base (package-with-python2 (strip-python2-variant python-idna))))
+ (package
+ (inherit base)
+ (version "2.10")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "idna" version))
+ (sha256
+ (base32
+ "1xmk3s92d2vq42684p61wixfmh3qpr2mw762w0n6662vhlpqf1xk")))))))
(define-public python-libsass
(package
@@ -13040,7 +13045,7 @@ time.")
texlive-fonts-rsfs
texlive-generic-iftex
texlive-jknappen
- texlive-latex-amsmath
+ texlive-amsmath
texlive-latex-fancyvrb
texlive-latex-float
texlive-fontspec
@@ -13351,19 +13356,40 @@ simulation, statistical modeling, machine learning and much more.")
(define-public python-chardet
(package
(name "python-chardet")
- (version "3.0.4")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "chardet" version))
(sha256
(base32
- "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4"))))
+ "1ykr04qyhgpc0h5b7dhqw4g92b1xv7ki2ky910mhy4mlbnhm6vqd"))))
(native-inputs
- (list python-hypothesis python-pytest python-pytest-runner))
+ (list python-pytest))
(build-system python-build-system)
- ;; XXX: Incompatible with Pytest 4: <https://github.com/chardet/chardet/issues/173>.
- (arguments `(#:tests? #f))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv")))
+ ;; This package provides a 'chardetect' executable that only
+ ;; depends on Python, so customize the wrap phase to avoid
+ ;; adding pytest and friends in order to save size.
+ ;; (See also <https://bugs.gnu.org/25235>.)
+ (replace 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((sitedir (site-packages inputs outputs))
+ (python (dirname (dirname
+ (search-input-file
+ inputs "bin/python"))))
+ (python-sitedir
+ (string-append python "/lib/python"
+ (python-version python)
+ "/site-packages")))
+ (wrap-program (string-append #$output "/bin/chardetect")
+ `("GUIX_PYTHONPATH" ":" suffix
+ ,(list sitedir python-sitedir)))))))))
(home-page "https://github.com/chardet/chardet")
(synopsis "Universal encoding detector for Python 2 and 3")
(description
@@ -13377,14 +13403,34 @@ automatically detect a wide range of file encodings.")
(define-public python-charset-normalizer
(package
(name "python-charset-normalizer")
- (version "2.0.5")
+ (version "2.0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "charset-normalizer" version))
(sha256
- (base32 "0rr3iv2xw4rz5ijnfqk229fw85cq6p6rhqqsilm0ldzncblfg63h"))))
+ (base32 "071pi2kd222rjjrjdllffqv3iz4bfaj93a9bfs65907fd6fqlfcq"))))
(build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ ;; This package provides a 'normalizer' executable that only
+ ;; depends on Python, so customize the wrap phase to avoid
+ ;; adding pytest and friends in order to save size.
+ ;; (See also <https://bugs.gnu.org/25235>.)
+ (replace 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((sitedir (site-packages inputs outputs))
+ (python (dirname (dirname
+ (search-input-file
+ inputs "bin/python"))))
+ (python-sitedir
+ (string-append python "/lib/python"
+ (python-version python)
+ "/site-packages")))
+ (wrap-program (string-append #$output "/bin/normalizer")
+ `("GUIX_PYTHONPATH" ":" suffix
+ ,(list sitedir python-sitedir)))))))))
(native-inputs
(list python-pytest))
(home-page "https://github.com/ousret/charset_normalizer")
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 1d8167553f..ac81d337a3 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -554,7 +554,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
("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 @@ to access different radio hardware.")
("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 34e9aa1e06..b214344667 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -1310,139 +1310,6 @@ Taco Hoekwater.")
"/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/"
- "/fonts/afm/public/amsfonts/"
"/fonts/tfm/public/amsfonts/"
"/fonts/map/dvips/amsfonts/"
"/tex/plain/amsfonts/"
@@ -3901,37 +3768,6 @@ loading fonts by their proper names instead of file names.")
(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"
@@ -3977,6 +3813,8 @@ mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar)
definitions.")
(license license:lppl1.3c+))))
+(define-deprecated-package texlive-latex-amsmath texlive-amsmath)
+
(define-public texlive-amscls
(let ((template (simple-texlive-package
"texlive-amscls"
@@ -4017,8 +3855,6 @@ distribution.")
"0qr5vjp79g1c1l6k173qhfdfabgbky73wymzhm56pazx4a8r08wz"))))
(package
(inherit template)
- ;; TODO: This package is missing files.
- (replacement texlive-babel/fixed)
(arguments
(substitute-keyword-arguments (package-arguments template)
((#:tex-directory _ #t)
@@ -4026,14 +3862,27 @@ distribution.")
((#: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 "../../..")))
+ (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
@@ -4056,29 +3905,6 @@ what has to be done for each language. Users of XeTeX are advised to use the
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
@@ -4313,8 +4139,6 @@ language that is written in a Cyrillic alphabet.")
"11f14dzhwsy4pli21acccip43d36nf3pac33ihjffnps1i2mhqkd"))))
(package
(inherit template)
- ;; TODO: This package is missing files.
- (replacement texlive-psnfss/fixed)
(arguments
(substitute-keyword-arguments (package-arguments template)
((#:tex-directory _ #t)
@@ -4323,7 +4147,15 @@ language that is written in a Cyrillic alphabet.")
`(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")
@@ -4342,23 +4174,6 @@ means to select single glyphs from symbol fonts. The bundle as a whole is
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
@@ -4374,7 +4189,7 @@ part of the LaTeX required set of packages.")
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
@@ -6414,8 +6229,6 @@ use this package to insert PostScript files, in addition to PDF files.")
"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")
@@ -6431,7 +6244,15 @@ use this package to insert PostScript files, in addition to PDF files.")
(("^%% 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
@@ -6442,25 +6263,6 @@ use under LaTeX; the package supports the @code{only} option (provided by the
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
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 9b57fe41fb..bdaa9c9a25 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -126,14 +126,14 @@ expressions.")
(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")
@@ -353,14 +353,14 @@ ISO 8601 dates, time and duration.")
(define-public python-iso8601
(package
(name "python-iso8601")
- (version "0.1.13")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iso8601" version))
(sha256
(base32
- "1cgfj91khil4ii5gb8s6nxwm73vx7hqc2k79dd9d8990ylmc5ppp"))))
+ "1ccl6plks706hxm35cn1wsvxhqh3bfwi5cjgjpdxjib81qi07x97"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -368,16 +368,27 @@ ISO 8601 dates, time and duration.")
(lambda _
(invoke "pytest" "-vv" "iso8601"))))))
(native-inputs
- (list python-pytest))
- (home-page "https://bitbucket.org/micktwomey/pyiso8601")
+ (list python-pytest python-pytz))
+ (home-page "https://github.com/micktwomey/pyiso8601")
(synopsis "Module to parse ISO 8601 dates")
(description
"This module parses the most common forms of ISO 8601 date strings (e.g.
@code{2007-01-14T20:34:22+00:00}) into @code{datetime} objects.")
+ (properties `((python2-variant . ,(delay python2-iso8601))))
(license expat)))
(define-public python2-iso8601
- (package-with-python2 python-iso8601))
+ (let ((base (package-with-python2 (strip-python2-variant python-iso8601))))
+ (package
+ (inherit base)
+ (version "0.1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "iso8601" version))
+ (sha256
+ (base32
+ "0ny8dlycapxr8n2m13jxy0r7kbqvgypfshb6y7l981c0rivjylrn")))))))
(define-public python-monotonic
(package
diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm
index 23c5de195c..bda0de04cc 100644
--- a/gnu/packages/unicode.scm
+++ b/gnu/packages/unicode.scm
@@ -78,15 +78,14 @@ renderer.")
(define-public ucd
(package
(name "ucd")
- (version "12.0.0")
+ (version "14.0.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://www.unicode.org/Public/zipped/" version
"/UCD.zip"))
(sha256
- (base32
- "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh"))))
+ (base32 "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e42a696ddd..77b565ede6 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -46,6 +46,7 @@
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com>
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 <go.wigust@gmail.com>
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1950,7 +1951,7 @@ virtual machines.")
(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 @@ virtual machines.")
version ".tar.xz"))
(sha256
(base32
- "0608l2sjwhnb1c0mslah1h6yjvqr17wk60by6i710qwxg4rszz8n"))
+ "10ij62jg7p2scwdx0pm141ss7p2gjdkbbymb56y8miib2vfcf2cn"))
(patches (search-patches "bubblewrap-fix-locale-in-tests.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 198d289ef3..f30e654856 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021, 2022 Cage <cage-dev@twistfold.it>
;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
;;; Copyright © 2021 Alexander Krotov <krotov@iitp.ru>
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index bc913664e3..5eaebd2ced 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1637,7 +1637,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.12.9")
+ (version "0.14.0")
(source
(origin
(method git-fetch)
@@ -1646,7 +1646,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10bz1xq2frdja7mbx04m009svg8b5rj7vfq3sc2gc88n31v21b1j"))
+ (base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 9d23ecdaef..ec655b95bd 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 75a7bbd01c..ca01cd0b5a 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
+;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>