summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-17 10:07:35 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-17 11:47:09 -0500
commit276f40fdc349d2ad62582b23ea55e061b689cfc0 (patch)
tree8052d91aee78cf0d4317b41ec52134fde48fa5fb
parentb2f6b6f6b9df6bcc24794238e7e97357470af95d (diff)
parent6ba510d76d6847065be725e958718002f3b13c7a (diff)
downloadguix-patches-276f40fdc349d2ad62582b23ea55e061b689cfc0.tar
guix-patches-276f40fdc349d2ad62582b23ea55e061b689cfc0.tar.gz
Merge branch 'version-1.4.0'
With resolved conflicts in: gnu/packages/gnome.scm gnu/packages/openstack.scm gnu/packages/python-xyz.scm
-rw-r--r--gnu/local.mk7
-rw-r--r--gnu/packages/admin.scm57
-rw-r--r--gnu/packages/autotools.scm69
-rw-r--r--gnu/packages/aux-files/python/sanity-check.py2
-rw-r--r--gnu/packages/aux-files/python/sitecustomize.py22
-rw-r--r--gnu/packages/avahi.scm63
-rw-r--r--gnu/packages/base.scm33
-rw-r--r--gnu/packages/bioinformatics.scm178
-rw-r--r--gnu/packages/build-tools.scm48
-rw-r--r--gnu/packages/check.scm103
-rw-r--r--gnu/packages/cmake.scm4
-rw-r--r--gnu/packages/compression.scm26
-rw-r--r--gnu/packages/crates-graphics.scm30
-rw-r--r--gnu/packages/crates-io.scm202
-rw-r--r--gnu/packages/cups.scm9
-rw-r--r--gnu/packages/emacs-xyz.scm2
-rw-r--r--gnu/packages/emacs.scm11
-rw-r--r--gnu/packages/freedesktop.scm13
-rw-r--r--gnu/packages/games.scm1
-rw-r--r--gnu/packages/geo.scm3
-rw-r--r--gnu/packages/gettext.scm7
-rw-r--r--gnu/packages/gl.scm12
-rw-r--r--gnu/packages/glib.scm61
-rw-r--r--gnu/packages/gnome.scm169
-rw-r--r--gnu/packages/gnupg.scm45
-rw-r--r--gnu/packages/gnuzilla.scm10
-rw-r--r--gnu/packages/golang.scm35
-rw-r--r--gnu/packages/graph.scm135
-rw-r--r--gnu/packages/gtk.scm36
-rw-r--r--gnu/packages/ipfs.scm11
-rw-r--r--gnu/packages/kerberos.scm55
-rw-r--r--gnu/packages/linux.scm106
-rw-r--r--gnu/packages/llvm.scm5
-rw-r--r--gnu/packages/machine-learning.scm9
-rw-r--r--gnu/packages/man.scm4
-rw-r--r--gnu/packages/music.scm27
-rw-r--r--gnu/packages/networking.scm14
-rw-r--r--gnu/packages/nss.scm4
-rw-r--r--gnu/packages/openstack.scm4
-rw-r--r--gnu/packages/package-management.scm3
-rw-r--r--gnu/packages/patches/binutils-CVE-2021-45078.patch257
-rw-r--r--gnu/packages/patches/gtk-introspection-test.patch22
-rw-r--r--gnu/packages/patches/libtool-skip-tests2.patch8
-rw-r--r--gnu/packages/patches/shadow-hurd-pctrl.patch16
-rw-r--r--gnu/packages/pciutils.scm7
-rw-r--r--gnu/packages/pdf.scm3
-rw-r--r--gnu/packages/phabricator.scm8
-rw-r--r--gnu/packages/photo.scm1
-rw-r--r--gnu/packages/python-build.scm90
-rw-r--r--gnu/packages/python-compression.scm33
-rw-r--r--gnu/packages/python-science.scm29
-rw-r--r--gnu/packages/python-web.scm40
-rw-r--r--gnu/packages/python-xyz.scm742
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/rust.scm48
-rw-r--r--gnu/packages/samba.scm141
-rw-r--r--gnu/packages/shells.scm1
-rw-r--r--gnu/packages/syncthing.scm9
-rw-r--r--gnu/packages/syndication.scm2
-rw-r--r--gnu/packages/tbb.scm10
-rw-r--r--gnu/packages/tex.scm299
-rw-r--r--gnu/packages/version-control.scm9
-rw-r--r--gnu/packages/video.scm35
-rw-r--r--gnu/packages/virtualization.scm2
-rw-r--r--gnu/packages/webkit.scm15
-rw-r--r--gnu/packages/xdisorg.scm2
-rw-r--r--gnu/packages/xorg.scm22
-rw-r--r--guix/build/gnu-build-system.scm2
-rw-r--r--guix/build/utils.scm8
-rw-r--r--guix/lint.scm4
-rw-r--r--tests/build-utils.scm57
71 files changed, 1940 insertions, 1621 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8163176950..7e044d4a2b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -910,6 +910,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
+ %D%/packages/patches/binutils-CVE-2021-45078.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
@@ -1240,8 +1241,9 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
- %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
- %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
+ %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
+ %D%/packages/patches/gtk-introspection-test.patch \
+ %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
@@ -1804,7 +1806,6 @@ dist_patch_DATA = \
%D%/packages/patches/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
- %D%/packages/patches/shadow-hurd-pctrl.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c2e656db1a..197ccef895 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -805,16 +805,15 @@ hostname.")
(define-public shadow
(package
(name "shadow")
- (version "4.8.1")
+ (version "4.9")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
- "download/" version "/shadow-" version ".tar.xz"))
- (patches (search-patches "shadow-hurd-pctrl.patch"))
+ "download/v" version "/shadow-" version ".tar.xz"))
(sha256
(base32
- "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3"))))
+ "0i4iijbshnwnsrskxzrh18xgmzff0hdpsnnkmyc2gdn1x4n1zv7y"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
@@ -825,9 +824,16 @@ hostname.")
'("--with-libpam"))
"shadow_cv_logdir=/var/log"
"ac_cv_func_setpgrp_void=yes")
-
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-linking-to-pam
+ (lambda _
+ ;; There's a build system problem in 4.9 that causes link
+ ;; failures with the pam libraries (see:
+ ;; https://github.com/shadow-maint/shadow/issues/407).
+ (substitute* "libsubid/Makefile.in"
+ (("\\$\\(LIBTCB\\)" all)
+ (string-append all " $(LIBPAM)")))))
,@(if (%current-target-system)
'((add-before 'configure 'set-runtime-shell
(lambda* (#:key inputs #:allow-other-keys)
@@ -848,8 +854,7 @@ hostname.")
"libc"))))
(substitute* "lib/nscd.c"
(("/usr/sbin/nscd")
- (string-append libc "/sbin/nscd")))
- #t)))
+ (string-append libc "/sbin/nscd"))))))
(add-after 'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils.
@@ -857,9 +862,7 @@ hostname.")
(bin (string-append out "/bin"))
(man (string-append out "/share/man")))
(delete-file (string-append bin "/groups"))
- (for-each delete-file (find-files man "^groups\\."))
- #t))))))
-
+ (for-each delete-file (find-files man "^groups\\."))))))))
(inputs
`(,@(if (hurd-target?)
'()
@@ -1206,8 +1209,7 @@ connection alive.")
(("^RELEASETYPE=.*")
(format #f "RELEASETYPE=~a\n" ,bind-release-type))
(("^RELEASEVER=.*")
- (format #f "RELEASEVER=~a\n" ,bind-release-version)))
- #t))
+ (format #f "RELEASEVER=~a\n" ,bind-release-version)))))
,@(if (%current-target-system)
'((add-before 'configure 'fix-bind-cross-compilation
(lambda _
@@ -1216,8 +1218,7 @@ connection alive.")
"--host=$host_alias"))
;; BIND needs a native compiler because the DHCP
;; build system uses the built 'gen' executable.
- (setenv "BUILD_CC" "gcc")
- #t)))
+ (setenv "BUILD_CC" "gcc"))))
'())
(add-after 'configure 'post-configure
(lambda* (#:key outputs #:allow-other-keys)
@@ -1255,11 +1256,7 @@ connection alive.")
"--owner=root:0"
"--group=root:0")))))
(add-after 'install 'post-install
- ;; TODO(core-updates): native-inputs isn't required anymore.
- (lambda* (#:key ,@(if (%current-target-system)
- '(native-inputs)
- '())
- inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
;; Install the dhclient script for GNU/Linux and make sure
;; if finds all the programs it needs.
(let* ((out (assoc-ref outputs "out"))
@@ -1282,31 +1279,13 @@ connection alive.")
,(map (lambda (dir)
(string-append dir "/bin:"
dir "/sbin"))
- (list inetutils net-tools coreutils sed))))
- ;; TODO(core-updates): should not be required anymore,
- ;; once <https://issues.guix.gnu.org/49290> has been merged.
- ,@(if (%current-target-system)
- '((for-each
- (lambda (file)
- (substitute* file
- (((assoc-ref native-inputs "bash"))
- (assoc-ref inputs "bash"))))
- (list (string-append libexec
- "/dhclient-script")
- (string-append libexec
- "/.dhclient-script-real"))))
- '())
- #t))))))
+ (list inetutils net-tools coreutils sed))))))))))
(native-inputs
(list perl file))
(inputs `(("inetutils" ,inetutils)
- ;; TODO(core-updates): simply make this unconditional
- ,@(if (%current-target-system)
- ;; for wrap-program
- `(("bash" ,(canonical-package bash-minimal)))
- '())
+ ("bash" ,(canonical-package bash-minimal)) ;for wrap-program
,@(if (hurd-target?) '()
`(("net-tools" ,net-tools)
("iproute" ,iproute)))
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index a8bf36a966..1eea731233 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -68,29 +68,38 @@
`(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
;; should use our own "cpp" instead of "/lib/cpp".
#:tests? #f
- ,@(if (%current-target-system)
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'patch-non-shebang-references
- (lambda* (#:key build inputs outputs #:allow-other-keys)
- ;; `patch-shebangs' patches shebangs only, and the Perl
- ;; scripts use a re-exec feature that references the
- ;; build hosts' perl. Also, BASH and M4 store references
- ;; hide in the scripts.
- (let ((bash (assoc-ref inputs "bash"))
- (m4 (assoc-ref inputs "m4"))
- (perl (assoc-ref inputs "perl"))
- (out (assoc-ref outputs "out"))
- (store-directory (%store-directory)))
- (substitute* (find-files (string-append out "/bin"))
- (((string-append store-directory "/[^/]*-bash-[^/]*"))
- bash)
- (((string-append store-directory "/[^/]*-m4-[^/]*"))
- m4)
- (((string-append store-directory "/[^/]*-perl-[^/]*"))
- perl))
- #t)))))
- '())))
+ #:phases
+ (modify-phases %standard-phases
+ ,@(if (%current-target-system)
+ '((add-after 'install 'patch-non-shebang-references
+ (lambda* (#:key build inputs outputs #:allow-other-keys)
+ ;; `patch-shebangs' patches shebangs only, and the Perl
+ ;; scripts use a re-exec feature that references the
+ ;; build hosts' perl. Also, BASH and M4 store references
+ ;; hide in the scripts.
+ (let ((bash (assoc-ref inputs "bash"))
+ (m4 (assoc-ref inputs "m4"))
+ (perl (assoc-ref inputs "perl"))
+ (out (assoc-ref outputs "out"))
+ (store-directory (%store-directory)))
+ (substitute* (find-files (string-append out "/bin"))
+ (((string-append store-directory "/[^/]*-bash-[^/]*"))
+ bash)
+ (((string-append store-directory "/[^/]*-m4-[^/]*"))
+ m4)
+ (((string-append store-directory "/[^/]*-perl-[^/]*"))
+ perl))))))
+ '())
+ (add-after 'install 'unpatch-shebangs
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Scripts that "autoconf -i" installs (config.guess,
+ ;; config.sub, and install-sh) must use a regular shebang
+ ;; rather than a reference to the store. Restore it.
+ (let* ((out (assoc-ref outputs "out"))
+ (build-aux (string-append
+ out "/share/autoconf/build-aux")))
+ (substitute* (find-files build-aux)
+ (("^#!.*/bin/sh") "#!/bin/sh"))))))))
(home-page "https://www.gnu.org/software/autoconf/")
(synopsis "Create source code configuration scripts")
(description
@@ -130,19 +139,7 @@ know anything about Autoconf or M4.")
(executable-file? file)))
(find-files "bin"
(lambda (file stat)
- (executable-file? file)))))
- #t))
- (add-after 'install 'unpatch-shebangs
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Scripts that "autoconf -i" installs (config.guess,
- ;; config.sub, and install-sh) must use a regular shebang
- ;; rather than a reference to the store. Restore it.
- ;; TODO: Move this phase to 'autoconf-2.69'.
- (let* ((out (assoc-ref outputs "out"))
- (build-aux (string-append
- out "/share/autoconf/build-aux")))
- (substitute* (find-files build-aux)
- (("^#!.*/bin/sh") "#!/bin/sh")))))))))))
+ (executable-file? file)))))))))))))
(define-public autoconf autoconf-2.69)
diff --git a/gnu/packages/aux-files/python/sanity-check.py b/gnu/packages/aux-files/python/sanity-check.py
index a84f8f03c0..182133bb3d 100644
--- a/gnu/packages/aux-files/python/sanity-check.py
+++ b/gnu/packages/aux-files/python/sanity-check.py
@@ -44,7 +44,7 @@ for dist in ws:
pkg_resources.require(req)
print('OK')
except Exception as e:
- print('ERROR:', req, e)
+ print('ERROR:', req, repr(e))
ret = 1
continue
diff --git a/gnu/packages/aux-files/python/sitecustomize.py b/gnu/packages/aux-files/python/sitecustomize.py
index 71e328b9ac..e2348e0356 100644
--- a/gnu/packages/aux-files/python/sitecustomize.py
+++ b/gnu/packages/aux-files/python/sitecustomize.py
@@ -18,6 +18,7 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
import os
+import site
import sys
# Commentary:
@@ -47,9 +48,18 @@ all_sites_norm = [os.path.normpath(p) for p in all_sites_raw]
matching_sites = [p for p in all_sites_norm
if p.endswith(site_packages_prefix)]
-# Insert sites matching the current version into sys.path, right before
-# Python's own site. This way, the user can override the libraries provided
-# by Python itself.
-sys_path_absolute = [os.path.realpath(p) for p in sys.path]
-index = sys_path_absolute.index(python_site)
-sys.path[index:index] = matching_sites
+if matching_sites:
+ # Deduplicate the entries, append them to sys.path, and handle any
+ # .pth files they contain.
+ for s in matching_sites:
+ site.addsitedir(s)
+
+ # Move the entries that were appended to sys.path in front of
+ # Python's own site-packages directory. This enables Guix
+ # packages to override Python's bundled packages, such as 'pip'.
+ python_site_index = sys.path.index(python_site)
+ new_site_start_index = sys.path.index(matching_sites[0])
+ if python_site_index < new_site_start_index:
+ sys.path = (sys.path[:python_site_index]
+ + sys.path[new_site_start_index:]
+ + sys.path[python_site_index:new_site_start_index])
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index 7dcaa17a76..65d3ede131 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -43,22 +43,21 @@
(version "0.8")
(home-page "https://avahi.org")
(source (origin
- (method url-fetch)
- (uri (string-append home-page "/download/avahi-"
- version ".tar.gz"))
- (sha256
- (base32
- "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6"))
- (patches (search-patches "avahi-localstatedir.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Fix version constraint in the avahi-libevent pkg-config file.
- ;; This can be removed for Avahi versions > 0.8.
- (substitute* "avahi-libevent.pc.in"
- (("libevent-2\\.1\\.5")
- "libevent >= 2.1.5"))
- #t))))
+ (method url-fetch)
+ (uri (string-append home-page "/download/avahi-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6"))
+ (patches (search-patches "avahi-localstatedir.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Fix version constraint in the avahi-libevent pkg-config file.
+ ;; This can be removed for Avahi versions > 0.8.
+ (substitute* "avahi-libevent.pc.in"
+ (("libevent-2\\.1\\.5")
+ "libevent >= 2.1.5"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-distro=none"
@@ -75,26 +74,20 @@
,@(if (%current-target-system)
'("ac_cv_prog_have_pkg_config=yes")
'()))
- ;; TODO(core-updates): Make this unconditional.
- ,@(if (%current-target-system)
- `(#:modules ((srfi srfi-26)
- (guix build utils)
- (guix build gnu-build-system))
- #:phases
- ,#~(modify-phases %standard-phases
- (add-after 'patch-shebangs 'patch-more-shebangs
- (lambda* (#:key inputs #:allow-other-keys)
- (define path
- `(,(dirname (search-input-file inputs "bin/sh"))))
- (for-each
- (cut patch-shebang <> path)
- (find-files (string-append #$output "/etc/avahi")))))))
- '())))
+ #:modules ((srfi srfi-26)
+ (guix build utils)
+ (guix build gnu-build-system))
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (add-after 'patch-shebangs 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define path
+ `(,(dirname (search-input-file inputs "bin/sh"))))
+ (for-each
+ (cut patch-shebang <> path)
+ (find-files (string-append #$output "/etc/avahi"))))))))
(inputs
- ;; TODO(core-updates): Make this input unconditional.
- `(,@(if (%current-target-system)
- `(("bash-minimal" ,bash-minimal))
- '())
+ `(("bash-minimal" ,bash-minimal)
("dbus" ,dbus)
("expat" ,expat)
("gdbm" ,gdbm)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 8e21176081..0e49b6044c 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -521,10 +521,12 @@ change. GNU make offers many powerful extensions over the standard utility.")
(sha256
(base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37"))
(patches (search-patches "binutils-loongson-workaround.patch"
- "binutils-2.37-file-descriptor-leak.patch"))))
+ "binutils-2.37-file-descriptor-leak.patch"
+ "binutils-CVE-2021-45078.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
+ `(#:out-of-source? #t ;recommended in the README
+ #:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc"
@@ -543,7 +545,13 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Make sure 'ar' and 'ranlib' produce archives in a
;; deterministic fashion.
- "--enable-deterministic-archives")))
+ "--enable-deterministic-archives"
+
+ "--enable-64-bit-bfd"
+ "--enable-compressed-debug-sections=all"
+ "--enable-lto"
+ "--enable-separate-code"
+ "--enable-threads")))
(synopsis "Binary utilities: bfd gas gprof ld")
(description
@@ -556,23 +564,6 @@ included.")
(license gpl3+)
(home-page "https://www.gnu.org/software/binutils/")))
-;;; TODO: Merge into binutils on the next world rebuild.
-(define-public binutils-next
- (package/inherit binutils
- (name "binutils-next")
- (version "2.37")
- (arguments
- (substitute-keyword-arguments (package-arguments binutils)
- ((#:out-of-source? _ #f) ;recommended in the README
- #t)
- ((#:configure-flags flags)
- `(cons* "--enable-64-bit-bfd"
- "--enable-compressed-debug-sections=all"
- "--enable-lto"
- "--enable-separate-code"
- "--enable-threads"
- ,flags))))))
-
;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
;; Keep this version around until the patch is updated.
@@ -594,7 +585,7 @@ included.")
(properties '())))
(define-public binutils-gold
- (package/inherit binutils-next
+ (package/inherit binutils
(name "binutils-gold")
(arguments
(substitute-keyword-arguments (package-arguments binutils)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 9986a4a563..6caeec80f7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -373,7 +373,7 @@ single executable called @code{bam}.")
(define-public bcftools
(package
(name "bcftools")
- (version "1.12")
+ (version "1.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/samtools/bcftools/"
@@ -381,12 +381,11 @@ single executable called @code{bam}.")
version "/bcftools-" version ".tar.bz2"))
(sha256
(base32
- "1x94l1hy2pi3lbz0sxlbw0g6q5z5apcrhrlcwda94ns9n4r6a3ks"))
+ "1jqrma16fx8kpvb3c0462dg0asvmiv5yi8myqmc5ddgwi6p8ivxp"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
- (delete-file-recursively "htslib-1.12")
- #t))))
+ (delete-file-recursively "htslib-1.14")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -397,8 +396,7 @@ single executable called @code{bam}.")
(add-before 'check 'patch-tests
(lambda _
(substitute* "test/test.pl"
- (("/bin/bash") (which "bash")))
- #t)))))
+ (("/bin/bash") (which "bash"))))))))
(native-inputs
(list htslib perl))
(inputs
@@ -412,9 +410,25 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
;; The sources are dual MIT/GPL, but becomes GPL-only when USE_GPL=1.
(license (list license:gpl3+ license:expat))))
+(define-public bcftools-1.12
+ (package/inherit bcftools
+ (version "1.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/samtools/bcftools/"
+ "releases/download/"
+ version "/bcftools-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1x94l1hy2pi3lbz0sxlbw0g6q5z5apcrhrlcwda94ns9n4r6a3ks"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Delete bundled htslib.
+ (delete-file-recursively "htslib-1.12")))))
+ (native-inputs (list htslib-1.12 perl))))
+
(define-public bcftools-1.10
- (package (inherit bcftools)
- (name "bcftools")
+ (package/inherit bcftools
(version "1.10")
(source (origin
(method url-fetch)
@@ -427,11 +441,8 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
- (delete-file-recursively "htslib-1.10")
- #t))))
- (build-system gnu-build-system)
- (native-inputs
- (list htslib-1.10 perl))))
+ (delete-file-recursively "htslib-1.10")))))
+ (native-inputs (list htslib-1.10 perl))))
(define-public bedops
(package
@@ -1064,13 +1075,7 @@ Python.")
(("^(.+)def test_from_hdf5_issue_731" m indent)
(string-append indent
"@npt.dec.skipif(True, msg='Guix')\n"
- m)))))
-
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (file) (chmod file #o644))
- (find-files out "\\.gz"))))))))
+ m))))))))
(propagated-inputs
(list python-anndata
python-numpy
@@ -2316,7 +2321,7 @@ has several key features:
(define-public python-pysam
(package
(name "python-pysam")
- (version "0.16.0.1")
+ (version "0.18.0")
(source (origin
(method git-fetch)
;; Test data is missing on PyPi.
@@ -2326,11 +2331,10 @@ has several key features:
(file-name (git-file-name name version))
(sha256
(base32
- "168bwwm8c2k22m7paip8q0yajyl7xdxgnik0bgjl7rhqg0majz0f"))
+ "042ca27r6634xg2ixgvq1079cp714wmm6ml7bwc1snn0wxxzywfg"))
(modules '((guix build utils)))
(snippet '(begin
- ;; Drop bundled htslib. TODO: Also remove samtools
- ;; and bcftools.
+ ;; FIXME: Unbundle samtools and bcftools.
(delete-file-recursively "htslib")))))
(build-system python-build-system)
(arguments
@@ -2347,35 +2351,24 @@ has several key features:
(setenv "CFLAGS" "-D_CURSES_LIB=1")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
- ;; FIXME: These tests fail with "AttributeError: 'array.array'
- ;; object has no attribute 'tostring'".
- (delete-file "tests/AlignmentFile_test.py")
(when tests?
;; Step out of source dir so python does not import from CWD.
(with-directory-excursion "tests"
(setenv "HOME" "/tmp")
(invoke "make" "-C" "pysam_data")
(invoke "make" "-C" "cbcf_data")
- (invoke "pytest" "-k"
- (string-append
- ;; requires network access.
- "not FileHTTP"
- ;; bug in test suite with samtools update
- ;; https://github.com/pysam-developers/pysam/issues/961
- " and not TestHeaderBAM"
- " and not TestHeaderCRAM"
- " and not test_text_processing")))))))))
+ ;; The FileHTTP test requires network access.
+ (invoke "pytest" "-k" "not FileHTTP"))))))))
(propagated-inputs
- (list htslib-1.10)) ; Included from installed header files.
+ (list htslib)) ; Included from installed header files.
(inputs
(list ncurses curl zlib))
(native-inputs
(list python-cython
python-pytest
;; Dependencies below are are for tests only.
- samtools-1.10
- bcftools-1.10
- python-nose))
+ samtools
+ bcftools))
(home-page "https://github.com/pysam-developers/pysam")
(synopsis "Python bindings to the SAMtools C API")
(description
@@ -2584,13 +2577,6 @@ databases.")
`(#:tests? #false
#:phases
(modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$")))))
(add-after 'unpack 'use-python3-for-cython
(lambda _
(substitute* "setup.py"
@@ -4786,7 +4772,7 @@ performance.")
(define-public htslib
(package
(name "htslib")
- (version "1.12")
+ (version "1.14")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4794,7 +4780,7 @@ performance.")
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
- "1jplnvizgr0fyyvvmkfmnsywrrpqhid3760vw15bllz98qdi9012"))))
+ "0pwk8yhhvb85mi1d2qhwsb4samc3rmbcrq7b1s0jz0glaa7in8pd"))))
(build-system gnu-build-system)
;; Let htslib translate "gs://" and "s3://" to regular https links with
;; "--enable-gcs" and "--enable-s3". For these options to work, we also
@@ -4820,9 +4806,20 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
;; the rest is released under the Expat license
(license (list license:expat license:bsd-3))))
+(define-public htslib-1.12
+ (package/inherit htslib
+ (version "1.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/samtools/htslib/releases/download/"
+ version "/htslib-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1jplnvizgr0fyyvvmkfmnsywrrpqhid3760vw15bllz98qdi9012"))))))
+
(define-public htslib-1.10
- (package (inherit htslib)
- (name "htslib")
+ (package/inherit htslib
(version "1.10")
(source (origin
(method url-fetch)
@@ -4834,8 +4831,7 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
"0wm9ay7qgypj3mwx9zl1mrpnr36298b1aj5vx69l4k7bzbclvr3s"))))))
(define-public htslib-1.9
- (package (inherit htslib)
- (name "htslib")
+ (package/inherit htslib
(version "1.9")
(source (origin
(method url-fetch)
@@ -4848,8 +4844,7 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
;; This package should be removed once no packages rely upon it.
(define htslib-1.3
- (package
- (inherit htslib)
+ (package/inherit htslib
(version "1.3.1")
(source (origin
(method url-fetch)
@@ -4861,8 +4856,7 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
"1rja282fwdc25ql6izkhdyh8ppw8x2fs0w0js78zgkmqjlikmma9"))))))
(define htslib-for-samtools-1.2
- (package
- (inherit htslib)
+ (package/inherit htslib
(version "1.2.1")
(source (origin
(method url-fetch)
@@ -6148,7 +6142,7 @@ to the user's query of interest.")
(define-public samtools
(package
(name "samtools")
- (version "1.12")
+ (version "1.14")
(source
(origin
(method url-fetch)
@@ -6157,40 +6151,21 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
- "1jrdj2idpma5ja9cg0rr73b565vdbr9wyy6zig54bidicc2pg8vd"))
+ "0x3xdda78ac5vx66b3jdsv9sfhyz4npl4znl1zbaf3lbm6xdlhck"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
- (delete-file-recursively "htslib-1.12")
- #t))))
+ (delete-file-recursively "htslib-1.14")))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((ice-9 ftw)
- (ice-9 regex)
- (guix build gnu-build-system)
- (guix build utils))
- #:configure-flags (list "--with-ncurses")
+ `(#:configure-flags (list "--with-ncurses")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "test/test.pl"
;; The test script calls out to /bin/bash
- (("/bin/bash") (which "bash")))
- #t))
- (add-after 'install 'install-library
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
- (install-file "libbam.a" lib)
- #t)))
- (add-after 'install 'install-headers
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((include (string-append (assoc-ref outputs "out")
- "/include/samtools/")))
- (for-each (lambda (file)
- (install-file file include))
- (scandir "." (lambda (name) (string-match "\\.h$" name))))
- #t))))))
+ (("/bin/bash") (which "bash"))))))))
(native-inputs (list pkg-config))
(inputs
(list htslib ncurses perl python zlib))
@@ -6203,6 +6178,47 @@ variant calling (in conjunction with bcftools), and a simple alignment
viewer.")
(license license:expat)))
+(define-public samtools-1.12
+ (package/inherit samtools
+ (version "1.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/samtools/samtools/"
+ version "/samtools-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1jrdj2idpma5ja9cg0rr73b565vdbr9wyy6zig54bidicc2pg8vd"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Delete bundled htslib.
+ (delete-file-recursively "htslib-1.12")))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments samtools)
+ ((#:modules _ #f)
+ '((ice-9 ftw)
+ (ice-9 regex)
+ (guix build gnu-build-system)
+ (guix build utils)))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'install 'install-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
+ (install-file "libbam.a" lib))))
+ (add-after 'install 'install-headers
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((include (string-append (assoc-ref outputs "out")
+ "/include/samtools/")))
+ (for-each (lambda (file)
+ (install-file file include))
+ (scandir "." (lambda (name)
+ (string-match "\\.h$" name)))))))))))
+ (native-inputs (list pkg-config))
+ (inputs
+ (list htslib-1.12 ncurses perl python zlib))))
+
(define-public samtools-1.10
(package (inherit samtools)
(name "samtools")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 9d3fd5171e..437b0d3550 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -264,7 +264,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.60.0")
+ (version "0.60.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -272,7 +272,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "0irdn7hx5a182jbvq2kmdwd1v7mljzh5fm27pg4xk879hnv6h388"))
+ "13mrrizg4vl6n5k7fz6amyafnn3i097dcarr552qc0ca6nlmzjl7"))
(patches (search-patches
"meson-allow-dirs-outside-of-prefix.patch"))))
(build-system python-build-system)
@@ -283,38 +283,6 @@ files and generates build instructions for the Ninja build system.")
#:phases (modify-phases %standard-phases
;; Meson calls the various executables in out/bin through the
;; Python interpreter, so we cannot use the shell wrapper.
- (delete 'wrap))))
- (inputs (list ninja))
-
- ;; XXX: Python is propagated just to 'GUIX_PYTHONPATH' is set (!).
- ;; MESON-WRAPPED below fixes that by wrapping the 'meson' executable.
- ;; TODO: Make MESON-WRAPPED the new MESON on the next core update cycle.
- (propagated-inputs (list python))
-
- (home-page "https://mesonbuild.com/")
- (properties '((hidden? . #t)))
- (synopsis "Build system designed to be fast and user-friendly")
- (description
- "The Meson build system is focused on user-friendliness and speed.
-It can compile code written in C, C++, Fortran, Java, Rust, and other
-languages. Meson provides features comparable to those of the
-Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
-files}, are written in a custom domain-specific language (@dfn{DSL}) that
-resembles Python.")
- (license license:asl2.0)))
-
-(define-public meson-wrapped
- (package/inherit meson
- (propagated-inputs '()) ;don't propagate Python
- (inputs (modify-inputs (package-inputs meson)
- (prepend python-wrapper)))
- (arguments
- `(;; FIXME: Tests require many additional inputs and patching many
- ;; hard-coded file system locations in "run_unittests.py".
- #:tests? #f
- #:phases (modify-phases %standard-phases
- ;; Meson calls the various executables in out/bin through the
- ;; Python interpreter, so we cannot use the shell wrapper.
(replace 'wrap
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((python-version
@@ -327,7 +295,17 @@ import sys
sys.path.insert(0, '~a/lib/python~a/site-packages')
# EASY-INSTALL-ENTRY-SCRIPT"
output python-version)))))))))
- (properties '())))
+ (inputs (list python-wrapper ninja))
+ (home-page "https://mesonbuild.com/")
+ (synopsis "Build system designed to be fast and user-friendly")
+ (description
+ "The Meson build system is focused on user-friendliness and speed.
+It can compile code written in C, C++, Fortran, Java, Rust, and other
+languages. Meson provides features comparable to those of the
+Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
+files}, are written in a custom domain-specific language (@dfn{DSL}) that
+resembles Python.")
+ (license license:asl2.0)))
;;; This older Meson variant is kept for now for gtkmm and others that may
;;; have problems with 0.60.
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0a90a3b167..d380b8fa80 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -79,6 +79,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
@@ -845,6 +846,7 @@ available via the @code{unittest.mock} module.")
("python2-funcsigs" ,python2-funcsigs)
,@(package-propagated-inputs base))))))
+;;; This package is unmaintained (see the note at the top of doc/index.rst).
(define-public python-nose
(package
(name "python-nose")
@@ -858,15 +860,26 @@ available via the @code{unittest.mock} module.")
"164a43k7k2wsqqk1s6vavcdamvss4mz0vd6pwzv2h9n8rgwzxgzi"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ; FIXME: test suite fails
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'invoke-2to3
+ (lambda _
+ (invoke "2to3" "-w" "."))))))
(home-page "http://readthedocs.org/docs/nose/")
(synopsis "Python testing library")
(description
"Nose extends the unittest library to make testing easier.")
- (license license:lgpl2.0+)))
+ (license license:lgpl2.0+)
+ (properties `((python2-variant . ,(delay python2-nose))))))
(define-public python2-nose
- (package-with-python2 python-nose))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-nose))))
+ (package/inherit base
+ (arguments (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'invoke-2to3))))))))
(define-public python-nose2
(package
@@ -1410,14 +1423,14 @@ result back.")
(define-public python-pytest-timeout
(package
(name "python-pytest-timeout")
- (version "1.4.2")
+ (version "2.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-timeout" version))
(sha256
(base32
- "0xnsigs0kmpq1za0d4i522sp3f71x5bgpdh3ski0rs74yqy13cr0"))))
+ "04l1cd2qyp3fbccw95a8nqg682r647v7yil8807dgs7xv9a8pyg6"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -1853,7 +1866,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(define-public python-testpath
(package
(name "python-testpath")
- (version "0.4.4")
+ (version "0.5.0")
(source
(origin
(method git-fetch)
@@ -1863,35 +1876,33 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk"))))
+ "08r1c6bhvj8pcdvzkqv1950k36a6q3v81fd2p1yqdq3c07mcwgif"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; this package does not even have a setup.py
- #:modules ((guix build python-build-system)
- (guix build utils)
- (srfi srfi-1))
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda _
- ;; A ZIP archive should be generated, but it fails with "ZIP does
- ;; not support timestamps before 1980". Luckily,
- ;; SOURCE_DATE_EPOCH is respected, which we set to some time in
- ;; 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "flit" "build")))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (wheel)
- (format #true wheel)
- (invoke "python" "-m" "pip" "install"
- wheel (string-append "--prefix=" out)))
- (find-files "dist" "\\.whl$"))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("flit_core >=3.2.0,<3.3")
+ "flit_core >=3.2.0"))))
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs
- (list python-flit))
- (home-page "https://github.com/takluyver/testpath")
+ (list python-pypa-build python-flit-core python-pytest))
+ (home-page "https://github.com/jupyter/testpath")
(synopsis "Test utilities for code working with files and commands")
(description
"Testpath is a collection of utilities for Python code working with files
@@ -2244,7 +2255,7 @@ statements in the module it tests.")
(define-public python-pylint
(package
(name "python-pylint")
- (version "2.9.6")
+ (version "2.12.2")
(source
(origin
(method git-fetch)
@@ -2253,15 +2264,31 @@ statements in the module it tests.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "15yw69v1cj6zkndk60c2g0dgl0khh8bfm1lrwhjffpdjfc7nkc9a"))))
+ (base32 "0spmy7j1vvh55shzgma80q61y0d1cj45dcgslb4g5w3y602miq5i"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The unused but collected 'primer'-related test files require
+ ;; the extraneous 'git' Python module; remove them.
+ (delete-file "tests/primer/test_primer_external.py")
+ (delete-file "tests/testutils/test_package_to_lint.py")
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-k" "test_functional")))))))
(native-inputs
- (list python-pytest python-pytest-benchmark python-pytest-runner))
+ (list python-pytest))
(propagated-inputs
- (list python-astroid python-isort python-mccabe python-toml))
+ (list python-astroid
+ python-isort
+ python-mccabe
+ python-platformdirs
+ python-toml
+ python-typing-extensions))
(home-page "https://github.com/PyCQA/pylint")
- (synopsis "Python source code analyzer which looks for coding standard
-errors")
+ (synopsis "Advanced Python code static checker")
(description "Pylint is a Python source code analyzer which looks
for programming errors, helps enforcing a coding standard and sniffs
for some code smells (as defined in Martin Fowler's Refactoring book).
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 36f8dcf8ff..4207f14310 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -150,7 +150,7 @@ using the CMake build system.")
(define-public cmake-bootstrap
(package
(name "cmake-bootstrap")
- (version "3.21.3")
+ (version "3.21.4")
(source (origin
(method url-fetch)
(uri (string-append "https://cmake.org/files/v"
@@ -158,7 +158,7 @@ using the CMake build system.")
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "0kvrhgbrvm0lv7jshzd4nsvp3d5q1jkgal2d5kj4w4v58bghckfi"))
+ "0y2rk316j9m1iqimgwah0z1ii3ggli65dw6hdn4ckx0mqaahlmyr"))
(patches (search-patches "cmake-curl-certificates.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 2989d2abaf..8185a6157e 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1394,6 +1394,32 @@ handles the 7z format which features very high compression ratios.")
functionality in a C++ iostream.")
(license license:lgpl2.1+)))
+(define-public zopfli
+ (package
+ (name "zopfli")
+ (version "1.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/zopfli")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dr8n4j5nj2h9n208jns56wglw59gg4qm3s7c6y3hs75d0nnkhm4"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ (home-page "https://github.com/google/zopfli")
+ (synopsis "Very good, but slow, deflate or zlib compression")
+ (description "Zopfli Compression Algorithm is a compression library
+programmed in C to perform very good, but slow, deflate or zlib compression.
+ZopfliCompress supports the deflate, gzip and zlib output formats. This
+library can only compress, not decompress; existing zlib or deflate libraries
+can decompress the data.")
+ (license license:asl2.0)))
+
(define-public zpaq
(package
(name "zpaq")
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index b3319e4ac1..2658f1b20a 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -192,10 +192,10 @@ text or blue underlined text, on ANSI terminals.")
"1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
(arguments `())))
-(define-public rust-aom-sys-0.2
+(define-public rust-aom-sys-0.3
(package
(name "rust-aom-sys")
- (version "0.2.1")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
@@ -204,7 +204,7 @@ text or blue underlined text, on ANSI terminals.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "03a0xhaafjn0hlpcf9ba73hv557m0jqnmj9wl57wzrcnka96zvgj"))))
+ "0dhikfl7l5nacspajbllbhhysad3vl845cpfplqgm5mf67nmx9w8"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -219,30 +219,6 @@ text or blue underlined text, on ANSI terminals.")
(description "This package provides FFI bindings to aom.")
(license license:expat)))
-(define-public rust-aom-sys-0.1
- (package
- (inherit rust-aom-sys-0.2)
- (name "rust-aom-sys")
- (version "0.1.4")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "aom-sys" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1bqcpkycv1d67r6jcl9npfbw6rkl829rdq9w6vlpb0rjqxp0xzsn"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-bindgen" ,rust-bindgen-0.53)
- ("rust-metadeps" ,rust-metadeps-1))))
- (native-inputs
- (list pkg-config))
- (inputs
- (list libaom clang llvm))))
-
(define-public rust-ascii-canvas-2
(package
(name "rust-ascii-canvas")
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9281bc25de..7cd13ea8c8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4463,29 +4463,31 @@ iteratively in Rust.")
in Rust.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-av-metrics-0.6
+(define-public rust-av-metrics-0.7
(package
(name "rust-av-metrics")
- (version "0.6.2")
+ (version "0.7.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "av-metrics" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1g4k2q3226246jad3jl8pny7aphq8i03x4qyilzj4zgp27350hsz"))))
+ (base32 "1y1q61lhahljxh1l2brp8v795qf6g7gr4h4vdmq43g5z5pq2dw50"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
+ `(#:cargo-inputs
(("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-itertools" ,rust-itertools-0.10)
- ("rust-lab" ,rust-lab-0.8)
+ ("rust-lab" ,rust-lab-0.11)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-1)
- ("rust-v-frame" ,rust-v-frame-0.2))))
+ ("rust-v-frame" ,rust-v-frame-0.2))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.3)
+ ("rust-y4m" ,rust-y4m-0.7))))
(home-page "https://github.com/rust-av/av-metrics")
(synopsis "Collection of algorithms for measuring audio/video metrics")
(description
@@ -6129,40 +6131,17 @@ types.")
(define-public rust-bitflags-1
(package
(name "rust-bitflags")
- (version "1.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "bitflags" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg"))))
- (build-system cargo-build-system)
- (home-page "https://github.com/bitflags/bitflags")
- (synopsis "Macro to generate structures which behave like bitflags")
- (description "This package provides a macro to generate structures which
-behave like a set of bitflags.")
- (license (list license:asl2.0
- license:expat))))
-
-;; TODO: Absorb this package into rust-bitflags-1 in core-updates with the
-;; newer version of rust so we don't have to track down all dependants of this
-;; package to ensure a compatible version of rust.
-(define-public rust-bitflags-1.3
- (package
- (inherit rust-bitflags-1)
- (name "rust-bitflags")
(version "1.3.2")
(source
- (origin
- (method url-fetch)
- (uri (crate-uri "bitflags" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"))))
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bitflags" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"))))
+ (build-system cargo-build-system)
(arguments
- `(#:tests? #f ; Tests require rust-1.46 or newer.
+ `(#:tests? #f ; Tests require rust-1.46 or newer.
#:cargo-inputs
(("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
@@ -6172,7 +6151,13 @@ behave like a set of bitflags.")
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-trybuild" ,rust-trybuild-1)
- ("rust-walkdir" ,rust-walkdir-2))))))
+ ("rust-walkdir" ,rust-walkdir-2))))
+ (home-page "https://github.com/bitflags/bitflags")
+ (synopsis "Macro to generate structures which behave like bitflags")
+ (description "This package provides a macro to generate structures which
+behave like a set of bitflags.")
+ (license (list license:asl2.0
+ license:expat))))
(define-public rust-bitflags-0.9
(package
@@ -10337,6 +10322,54 @@ diagnostics easy and relatively painless for everyone!")
(description "This package provides colorful panic backtraces.")
(license (list license:expat license:asl2.0))))
+(define-public rust-concolor-query
+ (package
+ (name "rust-concolor-query")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "concolor-query" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1isbqpyiwblp0rglnaqzai5hav23095s82mwgi09v3xcck4rq5dd"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/rust-cli/concolor")
+ (synopsis "Rust library to query low level terminal capabilities")
+ (description "@code{concolor-query} can be used to query a terminal
+capabilities, for example to find out about its colored console abilities.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-concolor-control
+ (package
+ (name "rust-concolor-control")
+ (version "0.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "concolor-control" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1nplakbdb9sbd3h62d9zkan0xm1w0c7cbl3rk0iqgn405yf1213i"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;see https://github.com/rust-cli/concolor/issues/4
+ #:cargo-inputs
+ (("rust-atty" ,rust-atty-0.2)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-concolor-query" ,rust-concolor-query))))
+ (home-page "https://github.com/rust-cli/concolor")
+ (synopsis "Rust library for managing terminal styling")
+ (description "@code{concolor-control} is a terminal styling library that
+can be used to:
+@itemize
+@item Detect interactive @samp{stdout} or @samp{stderr}
+@item Detect terminal capabilities via @samp{TERM}
+@item Support @url{https://bixense.com/clicolors/, CLICOLOR} and
+@url{https://no-color.org/, NO_COLOR}.
+@end itemize")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-color-quant-1
(package
(name "rust-color-quant")
@@ -27165,10 +27198,10 @@ currently supports parsing (fully conformant parser), formatting and comparing
language tags.")
(license license:expat)))
-(define-public rust-lab-0.8
+(define-public rust-lab-0.11
(package
(name "rust-lab")
- (version "0.8.1")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
@@ -27177,15 +27210,15 @@ language tags.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ysnbviwi35mq6xyz9c59mpgigyfp4s4y2mispxzrms4vk83bx15"))))
+ "13ymsn5cwl5i9pmp5mfmbap7q688dcp9a17q82crkvb784yifdmz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-development-inputs
- (("rust-approx" ,rust-approx-0.3)
+ (("rust-approx" ,rust-approx-0.5)
("rust-criterion" ,rust-criterion-0.3)
("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
- ("rust-rand" ,rust-rand-0.5))))
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
+ ("rust-rand" ,rust-rand-0.8))))
(home-page "https://github.com/TooManyBees/lab")
(synopsis "Convert RGB to CIE-LAB for Rust")
(description
@@ -27195,7 +27228,7 @@ space, and comparing differences in color.")
(define-public rust-lab-0.7
(package
- (inherit rust-lab-0.8)
+ (inherit rust-lab-0.11)
(name "rust-lab")
(version "0.7.2")
(source
@@ -27217,18 +27250,18 @@ space, and comparing differences in color.")
(define-public rust-lab-0.4
(package
- (inherit rust-lab-0.8)
+ (inherit rust-lab-0.7)
(name "rust-lab")
(version "0.4.4")
(source
- (origin
- (method url-fetch)
- (uri (crate-uri "lab" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s"))))
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "lab" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s"))))
(arguments
`(#:cargo-development-inputs
(("rust-rand" ,rust-rand-0.3))))))
@@ -46210,22 +46243,24 @@ require unstable language features.")
"small helper to generate version information for git packages")
(license (list license:expat license:asl2.0))))
-(define-public rust-rustc-version-0.3
+(define-public rust-rustc-version-0.4
(package
(name "rust-rustc-version")
- (version "0.3.3")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rustc_version" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
+ (base32 "0rpk9rcdk405xhbmgclsh4pai0svn49x35aggl4nhbkd4a2zb85z"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
- (("rust-semver" ,rust-semver-0.11))))
+ (("rust-semver" ,rust-semver-1))
+ #:cargo-development-inputs
+ (("rust-doc-comment" ,rust-doc-comment-0.3))))
(home-page "https://github.com/djc/rustc-version-rs")
(synopsis "Library for querying the version of an installed rustc compiler")
(description
@@ -46233,6 +46268,22 @@ require unstable language features.")
rustc compiler.")
(license (list license:expat license:asl2.0))))
+(define-public rust-rustc-version-0.3
+ (package/inherit rust-rustc-version-0.4
+ (name "rust-rustc-version")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rustc_version" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-semver" ,rust-semver-0.11))))))
+
(define-public rust-rustc-version-0.2
(package
(inherit rust-rustc-version-0.3)
@@ -54715,6 +54766,30 @@ processors, disks, components and networks.")
(description "Send log messages to syslog.")
(license license:expat)))
+(define-public rust-cfg-expr-0.8
+ (package
+ (name "rust-cfg-expr")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cfg-expr" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "03lgv8psc2qrr93hxgdfmfwbj1crpzghxd7qh6w2nz0l4qryh4ml"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-smallvec" ,rust-smallvec-1)
+ ("rust-target-lexicon" ,rust-target-lexicon-0.12))
+ #:cargo-development-inputs
+ (("rust-difference" ,rust-difference-2))))
+ (home-page "https://github.com/EmbarkStudios/cfg-expr")
+ (synopsis "Parser and evaluator for Rust @samp{cfg} expressions")
+ (description "This package provides a parser and evaluator for Rust
+@samp{cfg} expressions.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-system-deps-3
(package
(name "rust-system-deps")
@@ -62273,22 +62348,23 @@ first byte.")
(define-public rust-v-frame-0.2
(package
(name "rust-v-frame")
- (version "0.2.1")
+ (version "0.2.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "v_frame" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0ia1j0j1v5zp9bp91imbnbxnv937x3xfpc06nyj96yjfk8zbmxhp"))))
+ (base32 "1ay6p0arqg8cnyzv6iiad77plvjkxnmlmyvgz2qcpadv7y5942n7"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
+ `(#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-hawktracer" ,rust-rust-hawktracer-0.7)
("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1)
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
(home-page "https://github.com/xiph/rav1e")
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 6342f85404..da113ac168 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -309,15 +309,6 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
(("/bin/sh") (which "sh")))
#t))
- ;; Make the compressed manpages writable so that the
- ;; reset-gzip-timestamps phase does not error out.
- (add-before 'reset-gzip-timestamps 'make-manpages-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man (string-append out "/share/man")))
- (for-each (lambda (file) (chmod file #o644))
- (find-files man "\\.gz"))
- #t)))
(add-before 'build 'patch-tests
(lambda _
(substitute* "tools/ippeveprinter.c"
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 77ee7a4477..fc221a2678 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21291,7 +21291,7 @@ maps the thread tree.")
"1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
(build-system emacs-build-system)
(propagated-inputs
- (list gnupg-2.2.32))
+ (list gnupg))
(home-page "https://elpa.gnu.org/packages/pinentry.html")
(synopsis "GnuPG Pinentry server implementation")
(description
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 12046f0d39..bfb3f9790e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -245,16 +245,7 @@
;; environment variables from emacs.
;; Likewise, we don't need to patch helper binaries
;; like etags, ctags or ebrowse.
- "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))
- #t)))
- (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
- ;; The 'reset-gzip-timestamps phase will throw a permission error
- ;; if gzip files aren't writable then. This phase is needed when
- ;; building from a git checkout.
- (lambda _
- (for-each make-file-writable
- (find-files %output ".*\\.t?gz$"))
- #t)))))
+ "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
(inputs
`(("gnutls" ,gnutls)
("ncurses" ,ncurses)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 9312c9a1bc..818d9966dd 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -354,8 +354,7 @@ tests.")
(base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
;; AppInfo not available inside build environment.
@@ -623,10 +622,6 @@ the freedesktop.org XDG Base Directory specification.")
;; existing in the build environment.
(invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g"
"-i" "src/test/meson.build")
- ;; FIXME: This one times out for unknown reasons.
- (invoke "sed"
- "/src\\/libelogind\\/sd-event\\/test-event.c/,+2s/^/#/g"
- "-i" "src/test/meson.build")
;; This test tries to copy some bytes from /usr/lib/os-release,
;; which does not exist in the build container. Choose something
;; more likely to be available.
@@ -1002,6 +997,7 @@ Python.")
("dot" ,graphviz)
("doxygen" ,doxygen)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("xmlto" ,xmlto)
("xsltproc" ,libxslt)
,@(if (%current-target-system)
@@ -1038,7 +1034,7 @@ fullscreen) or other display servers.")
(inputs
(list wayland))
(native-inputs
- (list pkg-config))
+ (list pkg-config python))
(synopsis "Wayland protocols")
(description "Wayland-Protocols contains Wayland protocols that add
functionality not available in the Wayland core protocol. Such protocols either
@@ -1379,8 +1375,7 @@ message bus.")
(base32 "16wwd633jak9ajyr1f1h047rmd09fhf3kzjz6g5xjsz0lwcj8azz"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;see https://github.com/mesonbuild/meson/issues/6470
- #:tests? #f ; XXX: tests require DocBook 4.1.2
+ `(#:tests? #f ; XXX: tests require DocBook 4.1.2
#:configure-flags
'("--localstatedir=/var"
"-Dsystemdsystemunitdir=/tmp/empty"
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 725838ca1f..dab1d797e0 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1757,7 +1757,6 @@ destroying an ancient book using a special wand.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2e253e081a..8da4989bf1 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -229,8 +229,7 @@ topology functions.")
"037xmkmcmcw87vb1c1s3y225m8757k331cvk1m8cshf6mx61p0l1"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index d5fd197922..d606acf798 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -259,13 +259,6 @@ from Markdown files.")
`("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.*$"))
#t)))
- (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each make-file-writable
- (find-files (string-append (assoc-ref outputs "out")
- "/share/man")
- ".*\\.gz$"))
- #t))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." ".*\\.xml(-good)?")
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 6dd90eaf93..fa49679870 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
@@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "21.2.5")
+ (version "21.3.2")
(source
(origin
(method url-fetch)
@@ -239,7 +239,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "1fxcdf4qs4vmyjcns7jv62w4jy3gr383ar5b7mr77nb0nxgmhjcf"))
+ "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2"))
(patches
(search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system)
@@ -352,6 +352,12 @@ also known as DXTn or DXTC) for Mesa.")
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
+ ;; Disable the intel vulkan (anv_state_pool) tests, as they may
+ ;; fail in a nondeterministic fashion (see:
+ ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/5446).
+ (substitute* "src/intel/vulkan/meson.build"
+ (("if with_tests")
+ "if false"))
,@(match (%current-system)
("powerpc64le-linux"
;; Disable some of the llvmpipe tests.
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1bd1d6c138..30e5433776 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -179,7 +179,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
- (version "2.70.0")
+ (version "2.70.2")
(source
(origin
(method url-fetch)
@@ -188,7 +188,7 @@ shared NFS home directories.")
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "0hh7hk02fkm1bn48k4z8f3kgv9qbni5z22gizd567fn527w7s390"))
+ (base32 "0vw08p4jllavp9qmlqg1yl1zanmy53yid46wipas6gfdhnf4al85"))
(patches
(search-patches "glib-appinfo-watch.patch"
"glib-skip-failing-test.patch"))
@@ -212,12 +212,11 @@ shared NFS home directories.")
`(,(this-package-native-input "python")
,(this-package-native-input "python-wrapper")))
'()))
- #:configure-flags (list "--default-library=both"
- "-Dman=false"
- "-Dselinux=disabled"
- (string-append "--bindir="
- (assoc-ref %outputs "bin")
- "/bin"))
+ #:configure-flags ,#~(list "--default-library=both"
+ "-Dman=false"
+ "-Dselinux=disabled"
+ (string-append "--bindir="
+ #$output:bin "/bin"))
#:phases
(modify-phases %standard-phases
;; Needed to pass the test phase on slower ARM and i686 machines.
@@ -365,8 +364,8 @@ functions for strings and common data structures.")
(arguments
(substitute-keyword-arguments (package-arguments glib)
((#:configure-flags flags ''())
- `(cons "-Dgtk_doc=true"
- (delete "-Dman=false" ,flags)))
+ #~(cons "-Dgtk_doc=true"
+ (delete "-Dman=false" #$flags)))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-docbook-xml
@@ -467,8 +466,7 @@ be used when cross-compiling."
(lambda _
(substitute* "tools/g-ir-tool-template.in"
(("#!@PYTHON_CMD@")
- (string-append "#!" (which "python3"))))
- #t))
+ (string-append "#!" (which "python3"))))))
#$@(if (%current-target-system)
;; Meson gives python extensions an incorrect name, see
;; <https://github.com/mesonbuild/meson/issues/7049>.
@@ -482,12 +480,8 @@ be used when cross-compiling."
(native-inputs
`(("glib" ,glib "bin")
("pkg-config" ,pkg-config)
- ;; TODO(core-updates): Unconditionally place "flex" and "bison"
- ;; in 'native-inputs'.
- ,@(if (%current-target-system)
- `(("bison" ,bison)
- ("flex" ,flex))
- '())))
+ ("bison" ,bison)
+ ("flex" ,flex)))
(inputs
`(,@(if (%current-target-system)
`(("python" ,python))
@@ -753,7 +747,7 @@ by GDBus included in Glib.")
(define glibmm
(package
(name "glibmm")
- (version "2.68.0")
+ (version "2.70.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -761,13 +755,12 @@ by GDBus included in Glib.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
+ "085mzpphz71sh5wh71ppikwnxsgn4pk3s4bzz6ingj6wxn5gs240"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
- (list
- "-Dbuild-documentation=true")
+ (list "-Dbuild-documentation=true")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
@@ -778,8 +771,7 @@ by GDBus included in Glib.")
(("[ \t]*.*giomm_simple.*$") "")
;; This test does a DNS lookup, and then expects to be able
;; to open a TLS session; just skip it.
- (("[ \t]*.*giomm_tls_client.*$") ""))
- #t))
+ (("[ \t]*.*giomm_tls_client.*$") ""))))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -787,17 +779,16 @@ by GDBus included in Glib.")
(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
- `(("dot" ,graphviz)
- ("doxygen" ,doxygen)
- ("glib:bin" ,glib "bin")
- ("m4" ,m4)
- ("mm-common" ,mm-common)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
+ (list graphviz
+ doxygen
+ `(,glib "bin")
+ m4
+ mm-common
+ perl
+ pkg-config
+ libxslt))
(propagated-inputs
(list libsigc++ glib))
(home-page "https://gtkmm.org/")
@@ -823,7 +814,7 @@ useful for C++.")
(base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs glibmm)
- (prepend libsigc++-2)))))
+ (replace "libsigc++" libsigc++-2)))))
(define-public python2-pygobject-2
(package
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d8d34c89ed..591356f72f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -888,8 +888,7 @@ tomorrow, the rest of the week and for special occasions.")
"1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
(list "-Ddogtail=false" ; Not available
;; Required for RUNPATH validation.
@@ -960,8 +959,7 @@ cloud integration is offered through GNOME Online Accounts.")
"0lcdal4qdhclr8961p57xf010y92l6wwmkw86lyi9wy224z6gjr0"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gnome-music
@@ -1496,8 +1494,7 @@ extraction, and lookup for applications on the desktop.")
"06q3p4f8g9zr7a4mw3qr556mi0dg9qzrj8n46ybdz93fxs26aaj1"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:configure-flags '(;; Enable camera support for user selfie.
+ `(#:configure-flags '(;; Enable camera support for user selfie.
"-Dcheese=auto"
"-Dsystemd=false")
#:phases (modify-phases %standard-phases
@@ -1562,8 +1559,7 @@ tour of all gnome components and allows the user to set them up.")
"04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
`("-Dsystemduserunitdir=/tmp/empty"
;; Enable nautilus extension for file sharing.
@@ -2042,8 +2038,7 @@ to other formats.")
"0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases (modify-phases %standard-phases
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
@@ -2279,8 +2274,7 @@ and keep up to date translations of documentation.")
"1rr1ypb89p51b6428yqvczmpmylwjfnhnkgx78hzm3vxm3m15lff"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:configure-flags '("-Dlogind=libelogind")
+ `(#:configure-flags '("-Dlogind=libelogind")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -2329,8 +2323,7 @@ and keep up to date translations of documentation.")
"0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-post-install-script
(lambda _
@@ -2599,8 +2592,7 @@ forgotten when the session ends.")
"0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:build-type "release"
#:configure-flags
'("-Dnautilus=false"
@@ -2675,25 +2667,24 @@ on the GNOME Desktop with a single simple application.")
"1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p"))))
(build-system meson-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-schemas
(lambda* (#:key inputs #:allow-other-keys)
- (let ((theme (assoc-ref inputs "gnome-backgrounds")))
- (substitute* (find-files "schemas"
- "\\.gschema\\.xml\\.in$")
- ;; Provide the correct file name of the default
- ;; GNOME background, 'adwaita-timed.xml'.
- (("@datadir@/backgrounds/gnome")
- (string-append theme "/share/backgrounds/gnome"))
- ;; Do not reference fonts, that may not exist.
- (("'Source Code Pro 10'") "'Monospace 11'"))))))))
- (inputs
- (list glib gnome-backgrounds))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ; glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
+ (substitute* (find-files "schemas"
+ "\\.gschema\\.xml\\.in$")
+ ;; Provide the correct file name of the default
+ ;; GNOME background, 'adwaita-timed.xml'.
+ (("@datadir@/backgrounds/gnome")
+ (search-input-directory inputs
+ "/share/backgrounds/gnome"))
+ ;; Do not reference fonts, that may not exist.
+ (("'Source Code Pro 10'") "'Monospace 11'")))))))
+ (inputs (list glib gnome-backgrounds))
+ (native-inputs (list gettext-minimal
+ `(,glib "bin") ;glib-compile-schemas, etc.
+ gobject-introspection
+ pkg-config
+ python)) ;for build-aux/meson/post-install.py
(home-page "https://launchpad.net/gsettings-desktop-schemas")
(synopsis "GNOME settings for various desktop components")
(description "Gsettings-desktop-schemas contains a collection of GSettings
@@ -3193,8 +3184,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
"glade-test-widget-null-icon.patch"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
@@ -3238,6 +3228,7 @@ current/manpages/docbook.xsl")
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin")
+ ("python" ,python)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
@@ -4620,6 +4611,7 @@ and RDP protocols.")
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("vala" ,vala)))
(arguments
`(#:glib-or-gtk? #t
@@ -5098,7 +5090,6 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -5180,7 +5171,6 @@ once.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -5542,6 +5532,7 @@ service via the system message bus.")
`(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("vala" ,vala)
("intltool" ,intltool)
("python-pygobject" ,python-pygobject)))
@@ -5578,8 +5569,7 @@ services for numerous locations.")
(patches (search-patches "gnome-settings-daemon-gc.patch"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
(list (string-append "-Dudev_dir="
(assoc-ref %outputs "out") "/lib/udev")
@@ -5752,7 +5742,6 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -6283,8 +6272,7 @@ discovery protocols.")
grilo-plugins
vala))
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
;; Disable automatic GStreamer plugin installation via PackageKit and
;; all that.
@@ -6438,8 +6426,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(patches (search-patches "eog-update-libportal-usage.patch"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:configure-flags
+ `(#:configure-flags
;; Otherwise, the RUNPATH will lack the final 'eog' path component.
(list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib/eog"))
@@ -6570,8 +6557,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
"1hlxl6368h6nyqp1888szxs9hnpcw98k3h23dgqi29xd38klzsmj"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
(list "-Dsystemduserunitdir=no"
"-Dtmpfilesdir=no"
@@ -6650,7 +6636,7 @@ DAV, and others.")
"-Dvapi=false")
'()))))
(native-inputs
- (list gobject-introspection pkg-config vala))
+ (list gobject-introspection pkg-config python vala))
(propagated-inputs
;; Both of these are required by gusb.pc.
(list glib libusb))
@@ -6690,13 +6676,13 @@ USB transfers with your high-level application or system daemon.")
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t))
+ `(#:glib-or-gtk? #t))
(native-inputs
(list gettext-minimal
itstool
`(,glib "bin") ; glib-compile-schemas, etc.
pkg-config
+ python
vala
libxml2))
(inputs
@@ -6790,7 +6776,7 @@ a secret password store, an adblocker, and a modern UI.")
(define-public epiphany
(package
(name "epiphany")
- (version "40.3")
+ (version "41.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/epiphany/"
@@ -6804,7 +6790,6 @@ a secret password store, an adblocker, and a modern UI.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -7162,6 +7147,7 @@ share them with others via social networking and more.")
intltool
itstool
pkg-config
+ python
`(,gtk+ "bin") ; gtk-update-icon-cache
`(,glib "bin")))
;; TODO: Add libnautilus.
@@ -7194,8 +7180,7 @@ such as gzip tarballs.")
(base32
"02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl"))))
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gnome-session
@@ -7262,7 +7247,10 @@ configuration program to choose applications starting on login.")
(("☭") ""))))))
(build-system meson-build-system)
(arguments
- '(#:configure-flags '("-Dinstalled_tests=false")
+ ;; Use meson-0.59, otherwise we'd get "ERROR: "install_dir" must be
+ ;; specified when installing a target".
+ `(#:meson ,meson-0.59
+ #:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
@@ -7308,8 +7296,7 @@ javascript engine and the GObject introspection framework.")
"149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
;; Otherwise, the RUNPATH will lack the final path component.
(list (string-append "-Dc_link_args=-Wl,-rpath="
@@ -7550,6 +7537,7 @@ to display dialog boxes from the commandline and shell scripts.")
("adwaita-icon-theme" ,adwaita-icon-theme)
("libxcursor" ,libxcursor) ;for XCURSOR_PATH
("pipewire" ,pipewire-0.3)
+ ("python" ,python)
("python-dbus" ,python-dbus)
("python-dbusmock" ,python-dbusmock)
("tini" ,tini))) ;acting as init (zombie reaper)
@@ -7862,6 +7850,13 @@ users.")
(string-append "-Ddhclient=" dhclient)))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dlopen-call-to-libjansson.so
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/libnm-glib-aux/nm-json-aux.c"
+ (("(handle = dlopen\\()soname" _ head)
+ (string-append
+ head "\"" (search-input-file inputs
+ "lib/libjansson.so") "\"")))))
(add-before 'configure 'pre-configure
(lambda _
;; These tests try to test aspects of network-manager's
@@ -7880,12 +7875,7 @@ users.")
((".*test-link-linux.*") "")
((".*test-lldp.*") "")
((".*test-route-linux.*") "")
- ((".*test-tc-linux.*") ""))
- ;; FIXME: The jansson check fails (see:
- ;; https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/837
- (substitute* "src/libnm-core-impl/tests/test-setting.c"
- (("g_assert\\(nm_json_vt\\(\\)\\);")
- "return TRUE;"))))
+ ((".*test-tc-linux.*") ""))))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
@@ -8158,8 +8148,7 @@ Cisco's AnyConnect SSL VPN.")
"1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
'("-Dappindicator=yes")))
(native-inputs
@@ -8513,7 +8502,6 @@ usage and information about running processes.")
(base32
"1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"))))
(build-system meson-build-system)
- (arguments `(#:meson ,meson-0.59))
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
@@ -8549,8 +8537,7 @@ devices using the GNOME desktop.")
"0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags
(list "-Dcheese=false"
(string-append "-Dgnome_session_libexecdir="
@@ -8662,8 +8649,7 @@ properties, screen resolution, and other GNOME parameters.")
"0ragmcln210zvzhc2br33yprbkj9drjzd7inp5sdxra0a7l73yaj"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:disallowed-references ,(list (gexp-input glib "bin")
(gexp-input libxslt)
(gexp-input ruby-sass))
@@ -8940,6 +8926,7 @@ easy, safe, and automatic.")
("intltool" ,intltool)
("dbus" ,dbus)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("vala" ,vala)))
(inputs
`(("dbus" ,dbus)
@@ -9200,6 +9187,7 @@ files.")
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("itstool" ,itstool)
@@ -9220,7 +9208,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds
(package
(name "gnome-backgrounds")
- (version "40.1")
+ (version "41.0")
(source
(origin
(method url-fetch)
@@ -9229,10 +9217,9 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03m7ldfk00cly9igrq0qizq1y0f45vijmm23f1dl5kh1lc6qmpv0"))))
+ "0i9id5z72dqddh94648zylyf41amqq5lhny8sbyg1v8v4q6sr88x"))))
(build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)))
+ (native-inputs (list gettext-minimal))
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
(synopsis "Background images for the GNOME desktop")
(description
@@ -9268,14 +9255,14 @@ can add your own files to the collection.")
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "build-aux/postinstall.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
+ (("gtk-update-icon-cache") "true")))))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("intltool" ,intltool)
("appstream-glib" ,appstream-glib)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
(inputs
(list gtk+ libcanberra libhandy libx11 libxext))
(home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
@@ -9308,8 +9295,6 @@ beautifying border effects.")
("vala" ,vala)))
(inputs
(list dconf gtk+ libxml2))
- (arguments
- `(#:meson ,meson-0.59))
(home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
(synopsis "Graphical editor for GNOME's dconf configuration system")
(description
@@ -9406,8 +9391,7 @@ associations for GNOME.")
libgweather
libhandy))
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
,#~(modify-phases %standard-phases
(add-after 'unpack 'fix-service-file
@@ -9769,7 +9753,6 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
;; gnome-calendar has to be installed before the tests can be run
;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
#:tests? #f
@@ -9909,7 +9892,6 @@ existing databases over the internet.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:configure-flags '("-Dlocalstatedir=/tmp"
"-Dsysconfdir=/tmp")
#:imported-modules ((guix build python-build-system)
@@ -10166,7 +10148,8 @@ handling the startup notification side.")
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("itstool" ,itstool)
("vala" ,vala)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
(inputs
`(("glib" ,glib)
("gtksourceview" ,gtksourceview)
@@ -10697,8 +10680,7 @@ photo-booth-like software, such as Cheese.")
"0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"))
(patches (search-patches "cheese-vala-update.patch"))))
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
;; Tests require GDK.
#:tests? #f
#:phases
@@ -11114,11 +11096,6 @@ functionality.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
-
- ;; See
- ;; <https://github.com/mesonbuild/meson/issues/9492#issuecomment-973117289>.
- #:meson ,meson-0.59
-
#:configure-flags
;; Ensure the RUNPATH contains all installed library locations.
(list (string-append "-Dc_link_args=-Wl,-rpath="
@@ -11354,8 +11331,7 @@ higher level porcelain stuff.")
"0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-post-install-partially
@@ -11615,8 +11591,7 @@ environment.")
"001h9gppn79gnj7dl61jl9gas5wmbjdx0v8xwsx7v4xsv2hwz91g"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -11679,8 +11654,7 @@ integrate seamlessly with the GNOME desktop.")
(search-patches "gnome-boxes-add-guix-logo.patch"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59 ;positional arguments error with meson 0.60
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t
#:configure-flags (list "-Drdp=false"
(string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out")
@@ -12594,8 +12568,7 @@ your data.")
(propagated-inputs
(list gtksourceview)) ; required for source view
(arguments
- `(#:meson ,meson-0.59
- #:build-type "release"
+ `(#:build-type "release"
#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index f0333befa5..cde7427d07 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -279,15 +279,19 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.2.30")
+ ;; Note: The 2.2.X releases are Long Term Support (LTS), so stick to it
+ ;; for our stable 'gnupg'.
+ ;; Note2: 2.2.33 currently suffers from regressions, so do not update to it
+ ;; (see: https://dev.gnupg.org/T5742).
+ (version "2.2.32")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
+ (uri (string-append "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-" version
".tar.bz2"))
(patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
- "1111ry31gaxv76miqsy6l0kwxwlx8sz0jk41jhyrjwx649p6sqyc"))))
+ "0506gv54z10c96z5821z9p0ksibk1pfilsmag39ffqrcz0sinmxj"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@@ -347,21 +351,6 @@ libskba (working with X.509 certificates and CMS data).")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/gnupg")))))
-;; This package fixes <https://issues.guix.gnu.org/52483>, "GnuPG 2.2.30 cannot
-;; do symmetric encryption"
-(define-public gnupg-2.2.32
- (package
- (inherit gnupg)
- (version "2.2.32")
- (source (origin
- (inherit (package-source gnupg))
- (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
- ".tar.bz2"))
- (patches (search-patches "gnupg-default-pinentry.patch"))
- (sha256
- (base32
- "0506gv54z10c96z5821z9p0ksibk1pfilsmag39ffqrcz0sinmxj"))))))
-
(define-public gnupg-1
(package (inherit gnupg)
(version "1.4.23")
@@ -382,8 +371,7 @@ libskba (working with X.509 certificates and CMS data).")
(add-after 'unpack 'patch-check-sh
(lambda _
(substitute* "checks/Makefile.in"
- (("/bin/sh") (which "sh")))
- #t)))))))
+ (("/bin/sh") (which "sh"))))))))))
(define-public gpgme
(package
@@ -433,14 +421,9 @@ and every application benefits from this.")
"lang/cpp/src/libgpgmepp.la")
(symlink (string-append gpgme "/lib/libgpgme.la")
"src/libgpgme.la"))
- (chdir "lang/qt")
- #t)))))
+ (chdir "lang/qt"))))))
(native-inputs
- ;; Use GnuPG 2.2.32. With 2.2.30, 'testSymmetricEncryptDecrypt' in
- ;; t-encrypt.cpp fails because 'gpg' wrongfully ask for a passphrase do
- ;; decrypt the cypher text.
(modify-inputs (package-native-inputs gpgme)
- (replace "gnupg" gnupg-2.2.32)
(prepend pkg-config)))
(inputs
(modify-inputs (package-inputs gpgme)
@@ -593,14 +576,14 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(define-public python-gnupg
(package
(name "python-gnupg")
- (version "0.4.7")
+ (version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-gnupg" version))
(sha256
(base32
- "1isazrg2h126xg3vvk4wrhx8k8yfsg5sxybvfa99phj235mzaq90"))))
+ "1mq7hljy3bjkxdvh3qx2bv4y0b66l9pmc6i06ys75y7dbjpf2kdn"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -615,8 +598,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(setenv "USERNAME" "guixbuilder")
;; The doctests are extremely slow and sometimes time out,
;; so we disable them.
- (invoke "python"
- "test_gnupg.py" "--no-doctests")))))))
+ (invoke "python" "test_gnupg.py" "--no-doctests")))))))
(native-inputs
(list gnupg))
(home-page "https://pythonhosted.org/python-gnupg/index.html")
@@ -626,9 +608,6 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
and signature functionality from Python programs.")
(license license:bsd-3)))
-(define-public python2-gnupg
- (package-with-python2 python-gnupg))
-
(define-public perl-gnupg-interface
(package
(name "perl-gnupg-interface")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index f5d8d054cd..cda41041f6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -369,10 +369,7 @@ in C/C++.")
`(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway.
#:test-target "check-jstests"
#:configure-flags
- ;; TODO(core-updates): unconditionally use 'quasiquote
- ,#~(#$(if (%current-target-system)
- #~quasiquote
- #~quote)
+ ,#~(quasiquote
("--enable-ctypes"
"--enable-optimize"
"--enable-pie"
@@ -466,7 +463,10 @@ in C/C++.")
"--enable-hardening"
"--enable-optimize"
"--enable-release"
- "--enable-rust-simd"
+ ;; FIXME: rust-simd is disabled otherwise the build fails with
+ ;; "error: `[u32; 64]` is forbidden as the type of a const generic
+ ;; parameter".
+ "--disable-rust-simd"
"--enable-readline"
"--enable-shared-js"
"--with-system-icu"
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index db95ef1309..e808d8ebf6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2451,16 +2451,7 @@ Go programming language.")
#:phases
(modify-phases %standard-phases
;; Source-only package
- (delete 'build)
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (string-append (assoc-ref outputs "out")
- "/src/golang.org/x/crypto/ed25519/testdata")
- ".*\\.gz$"))
- #t)))))
+ (delete 'build))))
(propagated-inputs
(list go-golang-org-x-sys))
(synopsis "Supplementary cryptographic libraries in Go")
@@ -3738,17 +3729,7 @@ SysVinit, and more.")
(list go-golang-org-x-sys go-github-com-sirupsen-logrus
go-golang-org-x-crypto))
(arguments
- '(#:import-path "github.com/docker/distribution"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (assoc-ref outputs "out")
- ".*\\.gz$"))
- #t)))))
+ '(#:import-path "github.com/docker/distribution"))
(home-page
"https://github.com/docker/distribution")
(synopsis "This package is a Docker toolset to pack, ship, store, and
@@ -5571,17 +5552,7 @@ non-UTF-friendly sources.")
"0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/gdamore/tcell"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))
- #t))))))
+ `(#:import-path "github.com/gdamore/tcell"))
(inputs
(list go-github.com-mattn-go-runewidth go-golang-org-colorful
go-golang-org-x-text go-github-com-gdamore-encoding))
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index c48301ca35..8810617795 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,7 @@
(define-module (gnu packages graph)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -60,31 +62,81 @@
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
+(define-public plfit
+ (package
+ (name "plfit")
+ (version "0.9.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ntamas/plfit")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03x5jbvg8vwr92682swy58ljxrhqwmga1xzd0cpfbfmda41gm2fb"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
+ (home-page "https://github.com/ntamas/plfit")
+ (synopsis "Tool for fitting power-law distributions to empirical data")
+ (description "The @command{plfit} command fits power-law distributions to
+empirical (discrete or continuous) data, according to the method of Clauset,
+Shalizi and Newman (@cite{Clauset A, Shalizi CR and Newman MEJ: Power-law
+distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
+ (license license:gpl2+)))
+
(define-public igraph
(package
(name "igraph")
- (version "0.8.4")
+ (version "0.9.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/igraph/igraph/releases/"
"download/" version "/igraph-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Fully unbundle igraph (see:
+ ;; https://github.com/igraph/igraph/issues/1897).
+ (delete-file-recursively "vendor")
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(vendor\\).*")
+ ""))
+ (substitute* "src/CMakeLists.txt"
+ ;; Remove bundling related variables.
+ ((".*_IS_VENDORED.*") "")
+ ;; Remove link/install directives to bundled plfit.
+ (("plfit") "")
+ ;; Patch in support to find plfit from the system.
+ (("# Link igraph statically to some.*" all)
+ (string-append "\
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(PLFIT REQUIRED libplfit IMPORTED_TARGET)
+target_link_libraries(igraph PUBLIC PkgConfig::PLFIT)\n"
+ all)))
+ (substitute* (find-files "." "(\\.h|\\.c)$")
+ ;; Adjust includes for the newer plfit used.
+ (("plfit/error.h")
+ "plfit/plfit_error.h")
+ ;; And the newer SuiteSparse.
+ (("cs/cs.h")
+ "cs.h"))))
(sha256
- (base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf"))))
- (build-system gnu-build-system)
+ (base32 "0ym1jnj6rqrrjad0dk7jsrm9351zdd0654brbn38gqp1j9wgdqy4"))))
+ (build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list "--disable-static"
- "--with-external-glpk"
- "--with-external-blas"
- "--with-external-lapack")))
+ '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
+ (native-inputs (list pkg-config))
(inputs
- (list gmp
+ (list arpack-ng
+ gmp
glpk
libxml2
lapack
openblas
- zlib))
+ plfit
+ suitesparse))
(home-page "https://igraph.org")
(synopsis "Network analysis and visualization")
(description
@@ -95,36 +147,46 @@ more.")
(license license:gpl2+)))
(define-public python-igraph
- (package (inherit igraph)
+ (package/inherit igraph
(name "python-igraph")
- (version "0.8.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "python-igraph" version))
- (sha256
- (base32 "0wkxrs28qdvnrz7d4jzcf2bh6v2yqzx3wyfziihfgsi2gn6n60a6"))))
+ (version "0.9.8")
+ (source (origin
+ (method git-fetch)
+ ;; The PyPI archive lacks tests.
+ (uri (git-reference
+ (url "https://github.com/igraph/python-igraph")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nwwfqvj4gp91b9j67zq4l58srr4r8qfqh90ygx17zyrybkx7ns6"))))
(build-system python-build-system)
(arguments
- '(#:configure-flags
- (list "--use-pkg-config")
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda _
- (invoke "python" "./setup.py" "build" "--use-pkg-config")))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'specify-libigraph-location
+ (lambda _
+ (let ((igraph #$(this-package-input "igraph")))
+ (substitute* "setup.py"
+ (("(LIBIGRAPH_FALLBACK_INCLUDE_DIRS = ).*" _ var)
+ (string-append
+ var (format #f "[~s]~%" (string-append igraph
+ "/include/igraph"))))
+ (("(LIBIGRAPH_FALLBACK_LIBRARY_DIRS = ).*" _ var)
+ (string-append
+ var (format #f "[~s]~%" (string-append igraph "/lib"))))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-v")))))))
(inputs
(list igraph))
(propagated-inputs
(list python-texttable))
(native-inputs
- (list pkg-config python-pytest))
- (home-page "https://pypi.org/project/python-igraph/")
+ (list python-pytest))
+ (home-page "https://igraph.org/python/")
(synopsis "Python bindings for the igraph network analysis library")))
(define-public r-rbiofabric
@@ -181,14 +243,7 @@ lines.")
(invoke "pytest" "-x" "plotly/tests/test_io")
;; FIXME: Add optional dependencies and enable their tests.
;; (invoke "pytest" "-x" "plotly/tests/test_optional")
- (invoke "pytest" "_plotly_utils/tests"))
- #t))
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (file) (chmod file #o644))
- (find-files out "\\.gz"))
- #t))))))
+ (invoke "pytest" "_plotly_utils/tests")))))))
(native-inputs
(list python-ipywidgets python-pytest python-xarray))
(propagated-inputs
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a5b804d848..ced9d621aa 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -188,10 +188,7 @@ tools have full access to view and control running applications.")
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(inputs
- ;; TODO(core-updates): make this unconditional
- `(,@(if (%current-target-system)
- `(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap
- '())
+ `(("bash-minimal" ,bash-minimal)
("drm" ,libdrm)
("ghostscript" ,ghostscript)
("libspectre" ,libspectre)
@@ -1062,7 +1059,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
- (version "4.2.1")
+ (version "4.4.1")
(source
(origin
(method url-fetch)
@@ -1070,9 +1067,10 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1rh9fd5axf79pmd93hb2fmmflic5swcvqvq6vqghlgz4bmvnjc82"))
+ (base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg"))
(patches
- (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
+ (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"
+ "gtk-introspection-test.patch"))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@@ -1125,7 +1123,7 @@ application suites.")
(lambda _
(setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
@@ -1134,7 +1132,10 @@ application suites.")
;; Tests look for those variables.
(setenv "XDG_RUNTIME_DIR" (getcwd))
;; For missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0")))
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ ;; Required for the calendar test.
+ (setenv "TZDIR" (search-input-directory inputs
+ "share/zoneinfo"))))
(add-after 'install 'move-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1169,10 +1170,12 @@ application suites.")
("gettext-minimal" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection) ;for building introspection data
+ ("graphene" ,graphene)
("gtk-doc" ,gtk-doc) ;for building documentation
("intltool" ,intltool)
("libxslt" ,libxslt) ;for building man-pages
("pkg-config" ,pkg-config)
+ ("python-pygobject" ,python-pygobject)
;; These python modules are required for building documentation.
("python-jinja2" ,python-jinja2)
("python-markdown" ,python-markdown)
@@ -1181,6 +1184,7 @@ application suites.")
("python-toml" ,python-toml)
("python-typogrify" ,python-typogrify)
("sassc" ,sassc) ;for building themes
+ ("tzdata" ,tzdata-for-tests)
("vala" ,vala)
("xorg-server-for-tests" ,xorg-server-for-tests)))
(inputs
@@ -1633,6 +1637,7 @@ library.")
("mm-common" ,mm-common)
("perl" ,perl)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("xsltproc" ,libxslt)))
(propagated-inputs
(list cairo cairomm glibmm pango))
@@ -1688,8 +1693,7 @@ library.")
(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
`(("dot" ,graphviz)
("doxygen" ,doxygen)
@@ -1697,6 +1701,7 @@ library.")
("mm-common" ,mm-common)
("perl" ,perl)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("xsltproc" ,libxslt)))
(propagated-inputs
(list glibmm atk))
@@ -1726,7 +1731,7 @@ library.")
(base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs atkmm)
- (prepend glibmm-2.64)))))
+ (replace "glibmm" glibmm-2.64)))))
(define-public gtkmm
(package
@@ -1776,6 +1781,7 @@ library.")
("mm-common" ,mm-common)
("perl" ,perl)
("pkg-config" ,pkg-config)
+ ("python" ,python)
("xsltproc" ,libxslt)
("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
@@ -1809,12 +1815,6 @@ tutorial.")
name "-" version ".tar.xz"))
(sha256
(base32 "1ri2msp3cmzi6r65ghwb8gfavfaxv0axpwi3q60nm7v8hvg36qw5"))))
- (arguments
- (substitute-keyword-arguments (package-arguments gtkmm)
- ;; Use meson 0.59 to workaround a new issue with meson 0.60 (see:
- ;; https://github.com/mesonbuild/meson/issues/9350#issuecomment-953799600).
- ((#:meson _ #f)
- meson-0.59)))
(propagated-inputs
`(("atkmm-2.28" ,atkmm-2.28)
("cairomm-1.14" ,cairomm-1.14)
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 7e9a49a31b..ccc36007b4 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -230,16 +230,7 @@ written in Go.")
(build-system go-build-system)
(arguments
`(#:unpack-path "github.com/ipfs/go-ipfs"
- #:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"
- #:phases (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))
- #t))))))
+ #:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"))
(native-inputs
(list python-minimal-wrapper zsh))
(home-page "https://ipfs.io")
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 717d43190c..dec09ca791 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -216,40 +216,27 @@ After installation, the system administrator should generate keys using
#~()))
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
- ;; TODO(core-updates): Unconditionally use the
- ;; %current-target-system branch.
- (,(if (%current-target-system)
- 'lambda*
- 'lambda)
- ,(if (%current-target-system)
- '(#:key inputs #:allow-other-keys)
- '_)
- ,@(if (%current-target-system)
- `((substitute* "configure"
- ;; The e2fsprogs input is included for libcom_err,
- ;; let's use it even if cross-compiling.
- (("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"")
- ":")
- ;; Our 'compile_et' is not in --with-cross-tools,
- ;; which confuses heimdal.
- (("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et")
- "ac_cv_PROG_COMPILE_ET=compile_et")))
- '())
- ,@(if (%current-target-system)
- '((substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c")
- (("/bin/sh")
- (search-input-file inputs "bin/sh"))
- ;; Use the cross-compiled bash instead of the
- ;; native bash (XXX shouldn't _PATH_BSHELL point
- ;; to a cross-compiled bash?).
- (("_PATH_BSHELL")
- (string-append
- "\"" (search-input-file inputs "bin/sh") "\"")))
- (substitute* '("tools/Makefile.in")
- (("/bin/sh") (which "sh"))))
- '((substitute* '("appl/afsutil/pagsh.c"
- "tools/Makefile.in")
- (("/bin/sh") (which "sh")))))))
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "configure"
+ ;; The e2fsprogs input is included for libcom_err,
+ ;; let's use it even if cross-compiling.
+ (("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"")
+ ":")
+ ;; Our 'compile_et' is not in --with-cross-tools,
+ ;; which confuses heimdal.
+ (("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et")
+ "ac_cv_PROG_COMPILE_ET=compile_et"))
+ (substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c")
+ (("/bin/sh")
+ (search-input-file inputs "bin/sh"))
+ ;; Use the cross-compiled bash instead of the
+ ;; native bash (XXX shouldn't _PATH_BSHELL point
+ ;; to a cross-compiled bash?).
+ (("_PATH_BSHELL")
+ (string-append
+ "\"" (search-input-file inputs "bin/sh") "\"")))
+ (substitute* '("tools/Makefile.in")
+ (("/bin/sh") (which "sh")))))
(add-before 'check 'pre-check
(lambda _
;; For 'getxxyyy-test'.
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c3ea49fd6a..5f471beaaf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1815,7 +1815,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
- (version "2.37.1")
+ (version "2.37.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
@@ -1823,7 +1823,7 @@ providing the system administrator with some help in common tasks.")
"util-linux-" version ".tar.xz"))
(sha256
(base32
- "0xkb7vw2040zi4m0sbhs5qn5l8nrq4xsf4sdxf3cy9mpachd8jwf"))
+ "1ng9517c37mdp858425a4zyybma7dh7jrpd6z1z61yz7mb0n81va"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
@@ -2903,42 +2903,33 @@ configuration (iptunnel, ipmaddr).")
(define-public libcap
(package
(name "libcap")
- (version "2.51")
+ (version "2.62")
(source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kernel.org/linux/libs/security/linux-privs/"
- "libcap2/libcap-" version ".tar.xz"))
- (sha256
- (base32
- "1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6"))))
- (build-system gnu-build-system)
- (arguments `(#:phases
- ,#~(modify-phases %standard-phases
- (replace 'configure
- ;; Add $libdir to the RUNPATH of executables.
- (lambda _
- (substitute* "Make.Rules"
- (("LDFLAGS \\?= #-g")
- (string-append "LDFLAGS ?= -Wl,-rpath="
- ;; TODO(core-updates): Use #$output
- ;; unconditionally.
- #$(if (%current-target-system)
- #~#$output
- '%output)
- "/lib"))))))
- #:test-target "test"
- #:make-flags
- (list "lib=lib"
- (string-append "prefix=" (assoc-ref %outputs "out"))
- "RAISE_SETFCAP=no"
- ;; Tell the makefile to use TARGET-gcc and friends
- ;; when cross-compiling.
- ,@(if (%current-target-system)
- `(,(string-append "CROSS_COMPILE="
- (%current-target-system) "-")
- "BUILD_CC=gcc")
- '()))))
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/libs/security/linux-privs/"
+ "libcap2/libcap-" version ".tar.xz"))
+ (sha256
+ (base32
+ "18l3pngsbaahdjzz01rmzrjgcqny4zld685fkq96mq5yr6m5n30r"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))
+ #:test-target "test"
+ #:make-flags
+ #~(list "lib=lib"
+ (string-append "prefix=" #$output)
+ (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
+ "RAISE_SETFCAP=no"
+ ;; Tell the makefile to use TARGET-gcc and friends
+ ;; when cross-compiling.
+ #$@(if (%current-target-system)
+ `((list (string-append "CROSS_COMPILE="
+ ,(%current-target-system) "-")
+ "BUILD_CC=gcc"))
+ '()))))
(native-inputs (list perl))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://sites.google.com/site/fullycapable/")
@@ -3776,7 +3767,7 @@ to the in-kernel OOM killer.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.9")
+ (version "3.2.11")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev")
@@ -3784,36 +3775,19 @@ to the in-kernel OOM killer.")
(file-name (git-file-name name version))
(sha256
(base32
- "1g9z3d33m0i3hmbhm0wxpvkzf6ac7xj1drwcfrhzlfhhi63sg9h7"))
+ "0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'make-source-writable
- (lambda _
- ;; XXX: Git checkouts are read-only, but this package needs to
- ;; modify some of its files.
- (for-each make-file-writable (find-files "."))
- #t))
(add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(string-append (assoc-ref
(or native-inputs inputs) "xsltproc")
- "/bin/xsltproc")))
- #t))
- (add-before 'configure 'patch-bindir-in-btrfs-rules
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The "@bindir@" substitution incorrectly expands to a literal
- ;; "${exec_prefix}" (see <https://bugs.gnu.org/39926>). Work
- ;; around it.
- (let ((out (assoc-ref outputs "out")))
- (substitute* "rules/64-btrfs.rules.in"
- (("@bindir@")
- (string-append out "/bin")))
- #t)))
+ "/bin/xsltproc")))))
(add-after 'install 'move-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -3827,8 +3801,7 @@ to the in-kernel OOM killer.")
;; such that Libtool looks for it in the usual places.
(substitute* (string-append out "/lib/libudev.la")
(("old_library=.*")
- "old_library=''\n"))
- #t)))
+ "old_library=''\n")))))
(add-after 'install 'build-hwdb
(lambda* (#:key outputs #:allow-other-keys)
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
@@ -7386,11 +7359,8 @@ available in the kernel Linux.")
(add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
- (("\\$\\(BUILDROOT\\)/usr") (assoc-ref outputs "out")))
- ;; Make the compressed manpages writable so that the
- ;; reset-gzip-timestamps phase does not error out.
- (substitute* "Makefile"
- (("-m 444") "-m 644")))))))
+ (("\\$\\(BUILDROOT\\)/usr")
+ (assoc-ref outputs "out"))))))))
(inputs (list perl))
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "http://www.etallen.com/cpuid.html")
@@ -8323,7 +8293,7 @@ tools for managing PipeWire.")
(define-public ell
(package
(name "ell")
- (version "0.41")
+ (version "0.46")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8332,7 +8302,7 @@ tools for managing PipeWire.")
(file-name (git-file-name name version))
(sha256
(base32
- "14scs8vqpcf2810gvabsplg9yzh9y4sz47407bjy6vd604z3w8ah"))))
+ "15hwqicmll23cbrj13h3wd4lgrby416ap7l6w0434jsza4s4yv82"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -8378,8 +8348,8 @@ platforms, it is not limited to resource-constrained systems.")
;; This variant of binutils is used for the 64 bit support needed to
;; assemble the `purgatory/arch/i386/compat_x86_64.S' program on i686-linux.
(native-inputs (list (make-ld-wrapper "ld-wrapper"
- #:binutils binutils-next)
- binutils-next))
+ #:binutils binutils)
+ binutils))
(home-page "https://projects.horms.net/projects/kexec/")
(synopsis "Tools for booting directly into different kernels")
(description "This package provides the @code{kexec} program and ancillary
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index e708c02884..83f57ec28e 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -578,11 +578,8 @@ output), and Binutils.")
(propagated-inputs
(list zlib)) ;to use output from llvm-config
(arguments
- ;; TODO(core-updates): Unconditionally use quasiquote
`(#:configure-flags
- ,#~(#$(if (%current-target-system)
- #~quasiquote
- #~quote)
+ ,#~(quasiquote
;; These options are required for cross-compiling LLVM according to
;; https://llvm.org/docs/HowToCrossCompileLLVM.html.
(#$@(if (%current-target-system)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index e5dbba21dd..4f30ab6f9c 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1108,14 +1108,7 @@ computing environments.")
(invoke "pytest" "sklearn" "-m" "not network"
;; This test tries to access the internet.
- "-k" "not test_load_boston_alternative"))))
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))))))))
+ "-k" "not test_load_boston_alternative")))))))
(inputs
(list openblas))
(native-inputs
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index c6d8b8881d..a434c70576 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -319,7 +319,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
;; input "locales" contain the original (English) text.
(package
(name "help2man")
- (version "1.48.3")
+ (version "1.48.5")
(source
(origin
(method url-fetch)
@@ -327,7 +327,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
- "1b58s40dh2lflrkgbyxg1s48p8icb5a5yzp9ch83kg9zchygyqc3"))))
+ "1gl24n9am3ivhql1gs9lffb415irg758fhxyk4ryssiflk5f8fb7"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 8de79fd9fa..43b1059304 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2161,15 +2161,7 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "jalv.select.cpp"
(("echo \\$PATH.*tr ':'.*xargs ls")
- (string-append "ls -1 " (assoc-ref inputs "jalv") "/bin")))
- #t))
- (add-before 'reset-gzip-timestamps 'make-manpages-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each make-file-writable
- (find-files (string-append (assoc-ref outputs "out")
- "/share/man")
- ".*\\.gz$"))
- #t)))))
+ (string-append "ls -1 " (assoc-ref inputs "jalv") "/bin"))))))))
(inputs
(list lilv lv2 jalv gtkmm-2))
(native-inputs
@@ -4747,16 +4739,7 @@ are a C compiler and glib. Full API documentation and examples are included.")
(assoc-ref outputs "out") "/lib/lmms"
":"
(assoc-ref outputs "out") "/lib/lmms/ladspa"
- "\""))
- #t))
- (add-before 'reset-gzip-timestamps 'make-manpages-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files (string-append (assoc-ref outputs "out")
- "/share/man")
- ".*\\.gz$"))
- #t)))))
+ "\"")))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
@@ -6280,12 +6263,6 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
(substitute* "Makefile"
(("/usr") ""))
#t))
- (add-before 'reset-gzip-timestamps 'make-gz-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each make-file-writable
- (find-files (string-append (assoc-ref outputs "out"))
- ".*\\.gz$"))
- #t))
(delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 805df42abb..26f4be421a 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2248,13 +2248,9 @@ sockets in Perl.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
- ;; TODO(core-updates): Make this unconditional.
- ,(if (%current-target-system)
- '(lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ctest" "-E" "url-test")))
- '(lambda _
- (invoke "ctest" "-E" "url-test")))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E" "url-test")))))))
(synopsis "Library providing automatic proxy configuration management")
(description "Libproxy handles the details of HTTP/HTTPS proxy
configuration for applications across all scenarios. Applications using
@@ -3529,7 +3525,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(define-public iwd
(package
(name "iwd")
- (version "1.15")
+ (version "1.20")
(source (origin
;; FIXME: We're using the bootstrapped sources because
;; otherwise using an external ell library is impossible.
@@ -3539,7 +3535,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
"/wireless/iwd-" version ".tar.xz"))
(sha256
(base32
- "0ngng9a9ra5w0mp2813yy2ihfibyx10ns6v5icdcp99db608xax7"))))
+ "03q5scahyg86h4bdxqxm32shyssgpmfp5b3183j01ig7mg6f4lbx"))))
(build-system gnu-build-system)
(inputs
(list dbus ell readline))
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index bb449352a6..aae8886095 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -112,7 +112,7 @@ in the Mozilla clients.")
(name "nss")
;; Also update and test the nss-certs package, which duplicates version and
;; source to avoid a top-level variable reference & module cycle.
- (version "3.71")
+ (version "3.72")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -123,7 +123,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
- "0ly2l3dv6z5hlxs72h5x6796ni3x1bq60saavaf42ddgv4ax7b4r"))
+ "0bnh683nij6s0gvjcgwhyw5d3yx9fpm42pxj5bm97r0ky6ghm9kf"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-3.56-pkgconfig.patch"
"nss-getcwd-nonnull.patch"
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index e1ffc0ff23..1b0f278605 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -269,9 +269,9 @@ to docs.openstack.org and developer.openstack.org.")
;; when building the package. Skip the tests for now.
`(#:tests? #f))
(propagated-inputs
- (list python-stestr))
+ (list python-babel python-stestr python-testrepository python-testtools))
(native-inputs
- (list python-pbr python-testtools python-babel python-testrepository))
+ (list python-pbr))
(home-page "https://www.openstack.org/")
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ba5736f851..8891690daa 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1836,8 +1836,7 @@ cp -r /tmp/locale/*/en_US.*")))
("python-pyparsing" ,python-pyparsing)
("socat" ,socat)
("which" ,which)))
- (propagated-inputs (list glib-networking gnupg-2.2.32
- gsettings-desktop-schemas))
+ (propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas))
(inputs
`(("appstream-glib" ,appstream-glib)
("bubblewrap" ,bubblewrap)
diff --git a/gnu/packages/patches/binutils-CVE-2021-45078.patch b/gnu/packages/patches/binutils-CVE-2021-45078.patch
new file mode 100644
index 0000000000..fca692bdb5
--- /dev/null
+++ b/gnu/packages/patches/binutils-CVE-2021-45078.patch
@@ -0,0 +1,257 @@
+Fix CVE-2021-45078 (incomplete fix for CVE-2018-12699):
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45078
+https://sourceware.org/bugzilla/show_bug.cgi?id=28694
+
+Patch copied from upstream source repository:
+
+https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=161e87d12167b1e36193385485c1f6ce92f74f02
+
+From 161e87d12167b1e36193385485c1f6ce92f74f02 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 15 Dec 2021 11:48:42 +1030
+Subject: [PATCH] PR28694, Out-of-bounds write in stab_xcoff_builtin_type
+
+ PR 28694
+ * stabs.c (stab_xcoff_builtin_type): Make typenum unsigned.
+ Negate typenum earlier, simplifying bounds checking. Correct
+ off-by-one indexing. Adjust switch cases.
+---
+ binutils/stabs.c | 87 ++++++++++++++++++++++++------------------------
+ 1 file changed, 43 insertions(+), 44 deletions(-)
+
+diff --git a/binutils/stabs.c b/binutils/stabs.c
+index 274bfb0e7fa..83ee3ea5fa4 100644
+--- a/binutils/stabs.c
++++ b/binutils/stabs.c
+@@ -202,7 +202,7 @@ static debug_type stab_find_type (void *, struct stab_handle *, const int *);
+ static bool stab_record_type
+ (void *, struct stab_handle *, const int *, debug_type);
+ static debug_type stab_xcoff_builtin_type
+- (void *, struct stab_handle *, int);
++ (void *, struct stab_handle *, unsigned int);
+ static debug_type stab_find_tagged_type
+ (void *, struct stab_handle *, const char *, int, enum debug_type_kind);
+ static debug_type *stab_demangle_argtypes
+@@ -3496,166 +3496,167 @@ stab_record_type (void *dhandle ATTRIBUTE_UNUSED, struct stab_handle *info,
+
+ static debug_type
+ stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info,
+- int typenum)
++ unsigned int typenum)
+ {
+ debug_type rettype;
+ const char *name;
+
+- if (typenum >= 0 || typenum < -XCOFF_TYPE_COUNT)
++ typenum = -typenum - 1;
++ if (typenum >= XCOFF_TYPE_COUNT)
+ {
+- fprintf (stderr, _("Unrecognized XCOFF type %d\n"), typenum);
++ fprintf (stderr, _("Unrecognized XCOFF type %d\n"), -typenum - 1);
+ return DEBUG_TYPE_NULL;
+ }
+- if (info->xcoff_types[-typenum] != NULL)
+- return info->xcoff_types[-typenum];
++ if (info->xcoff_types[typenum] != NULL)
++ return info->xcoff_types[typenum];
+
+- switch (-typenum)
++ switch (typenum)
+ {
+- case 1:
++ case 0:
+ /* The size of this and all the other types are fixed, defined
+ by the debugging format. */
+ name = "int";
+ rettype = debug_make_int_type (dhandle, 4, false);
+ break;
+- case 2:
++ case 1:
+ name = "char";
+ rettype = debug_make_int_type (dhandle, 1, false);
+ break;
+- case 3:
++ case 2:
+ name = "short";
+ rettype = debug_make_int_type (dhandle, 2, false);
+ break;
+- case 4:
++ case 3:
+ name = "long";
+ rettype = debug_make_int_type (dhandle, 4, false);
+ break;
+- case 5:
++ case 4:
+ name = "unsigned char";
+ rettype = debug_make_int_type (dhandle, 1, true);
+ break;
+- case 6:
++ case 5:
+ name = "signed char";
+ rettype = debug_make_int_type (dhandle, 1, false);
+ break;
+- case 7:
++ case 6:
+ name = "unsigned short";
+ rettype = debug_make_int_type (dhandle, 2, true);
+ break;
+- case 8:
++ case 7:
+ name = "unsigned int";
+ rettype = debug_make_int_type (dhandle, 4, true);
+ break;
+- case 9:
++ case 8:
+ name = "unsigned";
+ rettype = debug_make_int_type (dhandle, 4, true);
+ break;
+- case 10:
++ case 9:
+ name = "unsigned long";
+ rettype = debug_make_int_type (dhandle, 4, true);
+ break;
+- case 11:
++ case 10:
+ name = "void";
+ rettype = debug_make_void_type (dhandle);
+ break;
+- case 12:
++ case 11:
+ /* IEEE single precision (32 bit). */
+ name = "float";
+ rettype = debug_make_float_type (dhandle, 4);
+ break;
+- case 13:
++ case 12:
+ /* IEEE double precision (64 bit). */
+ name = "double";
+ rettype = debug_make_float_type (dhandle, 8);
+ break;
+- case 14:
++ case 13:
+ /* This is an IEEE double on the RS/6000, and different machines
+ with different sizes for "long double" should use different
+ negative type numbers. See stabs.texinfo. */
+ name = "long double";
+ rettype = debug_make_float_type (dhandle, 8);
+ break;
+- case 15:
++ case 14:
+ name = "integer";
+ rettype = debug_make_int_type (dhandle, 4, false);
+ break;
+- case 16:
++ case 15:
+ name = "boolean";
+ rettype = debug_make_bool_type (dhandle, 4);
+ break;
+- case 17:
++ case 16:
+ name = "short real";
+ rettype = debug_make_float_type (dhandle, 4);
+ break;
+- case 18:
++ case 17:
+ name = "real";
+ rettype = debug_make_float_type (dhandle, 8);
+ break;
+- case 19:
++ case 18:
+ /* FIXME */
+ name = "stringptr";
+ rettype = NULL;
+ break;
+- case 20:
++ case 19:
+ /* FIXME */
+ name = "character";
+ rettype = debug_make_int_type (dhandle, 1, true);
+ break;
+- case 21:
++ case 20:
+ name = "logical*1";
+ rettype = debug_make_bool_type (dhandle, 1);
+ break;
+- case 22:
++ case 21:
+ name = "logical*2";
+ rettype = debug_make_bool_type (dhandle, 2);
+ break;
+- case 23:
++ case 22:
+ name = "logical*4";
+ rettype = debug_make_bool_type (dhandle, 4);
+ break;
+- case 24:
++ case 23:
+ name = "logical";
+ rettype = debug_make_bool_type (dhandle, 4);
+ break;
+- case 25:
++ case 24:
+ /* Complex type consisting of two IEEE single precision values. */
+ name = "complex";
+ rettype = debug_make_complex_type (dhandle, 8);
+ break;
+- case 26:
++ case 25:
+ /* Complex type consisting of two IEEE double precision values. */
+ name = "double complex";
+ rettype = debug_make_complex_type (dhandle, 16);
+ break;
+- case 27:
++ case 26:
+ name = "integer*1";
+ rettype = debug_make_int_type (dhandle, 1, false);
+ break;
+- case 28:
++ case 27:
+ name = "integer*2";
+ rettype = debug_make_int_type (dhandle, 2, false);
+ break;
+- case 29:
++ case 28:
+ name = "integer*4";
+ rettype = debug_make_int_type (dhandle, 4, false);
+ break;
+- case 30:
++ case 29:
+ /* FIXME */
+ name = "wchar";
+ rettype = debug_make_int_type (dhandle, 2, false);
+ break;
+- case 31:
++ case 30:
+ name = "long long";
+ rettype = debug_make_int_type (dhandle, 8, false);
+ break;
+- case 32:
++ case 31:
+ name = "unsigned long long";
+ rettype = debug_make_int_type (dhandle, 8, true);
+ break;
+- case 33:
++ case 32:
+ name = "logical*8";
+ rettype = debug_make_bool_type (dhandle, 8);
+ break;
+- case 34:
++ case 33:
+ name = "integer*8";
+ rettype = debug_make_int_type (dhandle, 8, false);
+ break;
+@@ -3664,9 +3665,7 @@ stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info,
+ }
+
+ rettype = debug_name_type (dhandle, name, rettype);
+-
+- info->xcoff_types[-typenum] = rettype;
+-
++ info->xcoff_types[typenum] = rettype;
+ return rettype;
+ }
+
+--
+2.27.0
+
diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch
new file mode 100644
index 0000000000..570ea806a9
--- /dev/null
+++ b/gnu/packages/patches/gtk-introspection-test.patch
@@ -0,0 +1,22 @@
+# Extend rather than stomp environment variables.
+# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268
+diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build
+index 6202fb7446..b59191eb0f 100644
+--- a/testsuite/introspection/meson.build
++++ b/testsuite/introspection/meson.build
+@@ -1,9 +1,10 @@
++env = environment()
++env.prepend('GI_TYPELIB_PATH',
++ join_paths(project_build_root, 'gtk'),
++ gi_dep.get_pkgconfig_variable('typelibdir'))
++env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so'))
+
+ test('api',
+ find_program('api.py', dirs: meson.current_source_dir()),
+ suite: ['introspection'],
+- env: [
+- 'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root,
+- gi_dep.get_pkgconfig_variable('typelibdir')),
+- 'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root),
+- ])
++ env: env)
diff --git a/gnu/packages/patches/libtool-skip-tests2.patch b/gnu/packages/patches/libtool-skip-tests2.patch
index c9d61e3b41..3f86191b4f 100644
--- a/gnu/packages/patches/libtool-skip-tests2.patch
+++ b/gnu/packages/patches/libtool-skip-tests2.patch
@@ -1,4 +1,4 @@
-Skip the nopic test on ARM and MIPS systems.
+Skip the nopic test on ARM, MIPS and RISC-V systems.
--- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500
+++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500
@@ -7,7 +7,7 @@ Skip the nopic test on ARM and MIPS systems.
AT_CHECK([case $host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
@@ -18,7 +18,7 @@ Skip the nopic test on ARM and MIPS systems.
{ set +x
$as_echo "$at_srcdir/demo.at:535: case \$host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
@@ -27,7 +27,7 @@ Skip the nopic test on ARM and MIPS systems.
at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
( $at_check_trace; case $host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
diff --git a/gnu/packages/patches/shadow-hurd-pctrl.patch b/gnu/packages/patches/shadow-hurd-pctrl.patch
deleted file mode 100644
index 2e376e19a9..0000000000
--- a/gnu/packages/patches/shadow-hurd-pctrl.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Avoid including sys/prctl.h on the Hurd.
-
-Upstream status: Not submitted.
-
---- shadow-4.8.1/libmisc/idmapping.c.orig 2020-03-07 16:32:05.000000000 -0500
-+++ shadow-4.8.1/libmisc/idmapping.c 2020-03-07 16:32:27.000000000 -0500
-@@ -36,8 +36,8 @@
- #include <stdio.h>
- #include "prototypes.h"
- #include "idmapping.h"
--#include <sys/prctl.h>
- #if HAVE_SYS_CAPABILITY_H
-+#include <sys/prctl.h>
- #include <sys/capability.h>
- #endif
-
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index 47275a8ff0..b6b1e3ad85 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -87,8 +87,7 @@
(("^IDSDIR=.*$")
;; Installation directory of 'pci.ids.gz'.
- "IDSDIR = $(SHAREDIR)/hwdata\n"))
- #t))
+ "IDSDIR = $(SHAREDIR)/hwdata\n"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the commands, library, and .pc files.
@@ -111,9 +110,7 @@
(native-inputs
(list which pkg-config))
(inputs
- `(,@(if (member (or (%current-target-system)
- (%current-system))
- (package-supported-systems kmod))
+ `(,@(if (not (hurd-target?))
`(("kmod" ,kmod))
'())
,@(if (hurd-target?)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index de4ad2582a..d4e97e1d82 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -632,8 +632,7 @@ by using the poppler rendering engine.")
(files '("lib/zathura")))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.59
- #:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/phabricator.scm b/gnu/packages/phabricator.scm
index b0d5a04a24..df9b369506 100644
--- a/gnu/packages/phabricator.scm
+++ b/gnu/packages/phabricator.scm
@@ -62,13 +62,7 @@
`("PATH" ":" prefix
(,@(map (lambda (i)
(string-append (assoc-ref %build-inputs i) "/bin"))
- '("php" "git" "mercurial" "subversion"))))))
- #t))
- (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
- (lambda _
- (for-each make-file-writable
- (find-files %output ".*\\.t?gz$"))
- #t)))))
+ '("php" "git" "mercurial" "subversion")))))))))))
(inputs
(list php git mercurial subversion))
(home-page "https://github.com/phacility/arcanist")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 913e1070f7..a05fd166b8 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -622,7 +622,6 @@ such as Batch image processing.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59 ;fails to build with Meson 0.60
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 1db5a6b335..2abb781f76 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -26,6 +26,7 @@
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system python)
+ #:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages))
@@ -41,14 +42,14 @@
(define-public python-wheel
(package
(name "python-wheel")
- (version "0.33.6")
+ (version "0.37.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wheel" version))
(sha256
(base32
- "0ii6f34rvpjg3nmw4bc2h7fhdsy38y1h93hghncfs5akfrldmj8h"))))
+ "1bbga5i49rj1cwi4sjpkvfhl1f8vl9lfky2lblsy768nk4wp5vz2"))))
(build-system python-build-system)
(arguments
;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn
@@ -92,6 +93,38 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
Language (TOML) configuration files.")
(license license:expat)))
+(define-public python-tomli-w
+ (package
+ (name "python-tomli-w")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tomli_w" version))
+ (sha256
+ (base32 "1fg13bfq5qy1ym4x77815nhxh1xpfs0drhn9r9464cz00m1l6qzl"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f ;to avoid extra dependencies
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs (list python-pypa-build python-flit-core))
+ (home-page "https://github.com/hukkin/tomli-w")
+ (synopsis "Minimal TOML writer")
+ (description "Tomli-W is a Python library for writing TOML. It is a
+write-only counterpart to Tomli, which is a read-only TOML parser.")
+ (license license:expat)))
+
(define-public python-pytoml
(package
(name "python-pytoml")
@@ -138,13 +171,13 @@ Python file, so it can be easily copied into your project.")
(define-public python-tomli
(package
(name "python-tomli")
- (version "1.2.2")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomli" version))
(sha256
- (base32 "1vjg44narb7hdiazdmbv8bfv7pi6phnq7nxm6aphx0iqxcah1kn6"))))
+ (base32 "1q8lrh9ypa6zpgbc5f7z23p7phzblp4vpxdrpfr1wajhb17w74n2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;disabled to avoid extra dependencies
@@ -163,7 +196,7 @@ Python file, so it can be easily copied into your project.")
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" out whl)))))))
(native-inputs
- `(("python-flit-core" ,python-flit-core)
+ `(("python-flit-core-bootstrap" ,python-flit-core-bootstrap)
("python-pypa-build" ,python-pypa-build)
("python-six", python-six-bootstrap)))
(home-page "https://github.com/hukkin/tomli")
@@ -199,13 +232,13 @@ Python file, so it can be easily copied into your project.")
(define-public python-pyparsing
(package
(name "python-pyparsing")
- (version "2.4.7")
+ (version "3.0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyparsing" version))
(sha256
- (base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))
+ (base32 "109b9r802wb472hgmxclljprh5cid0w3p6mk9alba7pg2c0frgfr"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
@@ -234,8 +267,10 @@ Python file, so it can be easily copied into your project.")
executing simple grammars, vs. the traditional lex/yacc approach, or the use
of regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-pyparsing))))))
+;;; This is the last release compatible with Python 2.
(define-public python-pyparsing-2.4.7
(package
(inherit python-pyparsing)
@@ -248,22 +283,19 @@ that client code uses to construct the grammar directly in Python code.")
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
(define-public python2-pyparsing
- (package-with-python2 python-pyparsing))
+ (package-with-python2 (strip-python2-variant python-pyparsing-2.4.7)))
(define-public python-packaging-bootstrap
(package
(name "python-packaging-bootstrap")
- (version "20.0")
+ (version "21.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "packaging" version))
- ;; XXX: The URL in the patch file is wrong, it should be
- ;; <https://github.com/pypa/packaging/pull/256>.
- (patches (search-patches "python-packaging-test-arch.patch"))
(sha256
(base32
- "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))
+ "1sygirdrqgv4f1ckh9nhpcw1yfidrh3qjl86wq8vk6nq4wlw8iyx"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;disabled to avoid extra dependencies
(propagated-inputs
@@ -280,7 +312,19 @@ information.")
(license (list license:asl2.0 license:bsd-2))))
(define-public python2-packaging-bootstrap
- (package-with-python2 python-packaging-bootstrap))
+ (let ((base (package-with-python2 python-packaging-bootstrap)))
+ (package/inherit base
+ (version "20.0") ;last version with Python 2 support
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "packaging" version))
+ ;; XXX: The URL in the patch file is wrong, it should be
+ ;; <https://github.com/pypa/packaging/pull/256>.
+ (patches (search-patches "python-packaging-test-arch.patch"))
+ (sha256
+ (base32
+ "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy")))))))
;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid
;;; a name clash with python-build from (guix build-system python).
@@ -336,16 +380,17 @@ a light weight, fully compliant, self-contained package allowing PEP 517
compatible build front-ends to build Poetry managed projects.")
(license license:expat)))
-(define-public python-flit-core
+;;; This package exists to bootstrap python-tomli.
+(define-public python-flit-core-bootstrap
(package
- (name "python-flit-core")
- (version "3.4.0")
+ (name "python-flit-core-bootstrap")
+ (version "3.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flit" version))
(sha256
- (base32 "10vjqnybvjdqdbmyc0asbhhvq51yjnnj00645yiq9849gnr8h0ir"))))
+ (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(build-system python-build-system)
(propagated-inputs
(list python-toml))
@@ -376,3 +421,10 @@ compatible build front-ends to build Poetry managed projects.")
backend for packages using Flit. The only public interface is the API
specified by PEP 517, @code{flit_core.buildapi}.")
(license license:bsd-3)))
+
+(define-public python-flit-core
+ (package/inherit python-flit-core-bootstrap
+ (name "python-flit-core")
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-flit-core-bootstrap)
+ (replace "python-toml" python-tomli)))))
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index afb2caf13b..e7f008e112 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -28,6 +28,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
@@ -416,6 +417,38 @@ wrapper. It provides a backport of the @code{Path} object.")
(native-inputs
`(("python-setuptools-scm" ,python2-setuptools-scm))))))
+(define-public python-zopfli
+ (package
+ (name "python-zopfli")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "zopfli" version ".zip"))
+ (sha256
+ (base32 "0yqdwvlpbvhhri0qmzag076ddi0sv43qjlk17l0siylfib03rpkq"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-system-zopfli
+ (lambda _
+ (setenv "USE_SYSTEM_ZOPFLI" "1")))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "tests/tests.py" "-v")))))))
+ (native-inputs (list unzip python-setuptools-scm))
+ (inputs (list zopfli))
+ (home-page "https://github.com/fonttools/py-zopfli")
+ (synopsis "Python bindings for Zopfli")
+ (description "@code{pyzopfli} is a straight forward wrapper around the
+@code{ZlibCompress} method of the the @code{zopfli} library.")
+ (license license:asl2.0)))
+
(define-public python-zstandard
(package
(name "python-zstandard")
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 1ecd4fbc7a..1cfc8e5869 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
@@ -330,13 +330,13 @@ of the SGP4 satellite tracking algorithm.")
(define-public python-pandas
(package
(name "python-pandas")
- (version "1.3.4")
+ (version "1.3.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
- (base32 "1z3gm521wpm3j13rwhlb4f2x0645zvxkgxij37i3imdpy39iiam2"))))
+ (base32 "1wd92ra8xcjgigbypid53gvby89myg68ica6r8hdw4hhvvsqahhy"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
@@ -373,23 +373,23 @@ of the SGP4 satellite tracking algorithm.")
(invoke "pytest" "-vv" "pandas" "--skip-slow"
"--skip-network"
"-k"
- ;; These tets access the internet:
- ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml]
- ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree]
- ;; TODO: the excel tests fail for unknown reasons
- (string-append "not test_wrong_url"
- " and not test_excelwriter_fspath"
- " and not test_ExcelWriter_dispatch"
- ;; TODO: Missing input
- " and not TestS3"
- " and not s3"))))))))))
+ (string-append
+ ;; These test access the internet (see:
+ ;; https://github.com/pandas-dev/pandas/issues/45085).:
+ ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml]
+ ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree]
+ "not test_wrong_url"
+ ;; TODO: Missing input
+ " and not TestS3"
+ " and not s3"))))))))))
(propagated-inputs
(list python-jinja2
python-numpy
python-openpyxl
python-pytz
python-dateutil
- python-xlrd))
+ python-xlrd
+ python-xlsxwriter))
(inputs
(list which xclip xsel))
(native-inputs
@@ -397,7 +397,6 @@ of the SGP4 satellite tracking algorithm.")
python-beautifulsoup4
python-lxml
python-html5lib
- python-nose
python-pytest
python-pytest-mock
;; Needed to test clipboard support.
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 708528983c..997b98e2a9 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -689,7 +689,7 @@ other HTTP libraries.")
'(#:tests? #f))
(propagated-inputs
(list python-colorama python-pygments python-requests
- python-requests-toolbelt-0.9.1))
+ python-requests-toolbelt))
(home-page "https://httpie.io")
(synopsis "cURL-like tool for humans")
(description
@@ -2667,14 +2667,23 @@ portions of your testing code.")
(define-public python-requests-toolbelt
(package
(name "python-requests-toolbelt")
- (version "0.8.0")
+ (version "0.9.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "requests-toolbelt" version))
(sha256
(base32
- "1dc7l42i4080r8i4m9fj51jx367lqkai170vrv7wd93gdj9k39gn"))))
+ "1h3gm88dcjbd7gm229a7x5qkkhnsqsjz0m0l2xyavm2ab3a8k04n"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'delete-problematic-tests
+ (lambda _
+ ;; Fails because of expired certificate.
+ (delete-file "tests/test_x509_adapter.py")
+ ;; Fails due to networking (socket.gaierror: [Errno -2]
+ ;; Name or service not known).
+ (delete-file "tests/test_multipart_encoder.py"))))))
(native-inputs
(list python-betamax python-mock python-pytest))
(propagated-inputs
@@ -2682,26 +2691,9 @@ portions of your testing code.")
(synopsis "Extensions to python-requests")
(description "This is a toolbelt of useful classes and functions to be used
with python-requests.")
- (home-page "https://github.com/sigmavirus24/requests-toolbelt")
+ (home-page "https://github.com/requests/toolbelt/")
(license license:asl2.0)))
-(define-public python2-requests-toolbelt
- (package-with-python2 python-requests-toolbelt))
-
-(define-public python-requests-toolbelt-0.9.1
- (package
- (inherit python-requests-toolbelt)
- (version "0.9.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "requests-toolbelt" version))
- (sha256
- (base32
- "1h3gm88dcjbd7gm229a7x5qkkhnsqsjz0m0l2xyavm2ab3a8k04n"))))
- (arguments
- `(;; FIXME: Some tests require network access.
- #:tests? #f))))
-
(define-public python-requests-ftp
(package
(name "python-requests-ftp")
@@ -3223,7 +3215,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(define-public python-cachecontrol
(package
(name "python-cachecontrol")
- (version "0.12.5")
+ (version "0.12.10")
(source
(origin
(method git-fetch)
@@ -3234,7 +3226,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(file-name (git-file-name name version))
(sha256
(base32
- "03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz"))))
+ "0fviacb13h72l5c77p35lgr6kvlidfdb9xsicg3v6lblmp9cn2ws"))))
(build-system python-build-system)
(arguments
;; Versions > 0.11.6 depend on CherryPy for testing.
@@ -5960,7 +5952,7 @@ Encoding for HTTP.")
(list python-js2py
python-polling2
python-requests
- python-requests-toolbelt-0.9.1
+ python-requests-toolbelt
python-responses
python-pyparsing-2.4.7))
(native-inputs
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 80ce58400a..42670f34c3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2400,7 +2400,7 @@ of @code{xmlfile}.")
(define-public python-openpyxl
(package
(name "python-openpyxl")
- (version "3.0.5")
+ (version "3.0.9")
(source
(origin
;; We use the upstream repository, as the tests are not included in the
@@ -2411,7 +2411,7 @@ of @code{xmlfile}.")
(changeset version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "0s6fgwwkcfz1bnrp5gjd4g2lcbl4a76147ylkrmkbabi2nf4xlli"))))
+ (base32 "1p8xvc2gjw6zyzbd7qdvc3x178sm00ymrbyh9539l4fpzgxh0j9c"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -6333,17 +6333,19 @@ comparison.
(define-public python-matplotlib
(package
(name "python-matplotlib")
- (version "3.4.3")
+ (version "3.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
- (base32 "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw"))))
+ (base32 "076f8qi265x8jy89c03r3vv5h4is4ir5mawwrrrpp96314783sdj"))))
(build-system python-build-system)
- (propagated-inputs ; the following packages are all needed at run time
+ (propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
+ ("python-fonttools" ,python-fonttools)
("python-kiwisolver" ,python-kiwisolver)
+ ("python-packaging" ,python-packaging)
("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("python-certifi" ,python-certifi)
@@ -6354,6 +6356,7 @@ comparison.
("python-pillow" ,python-pillow)
("python-pytz" ,python-pytz)
("python-six" ,python-six)
+ ("python-wxpython" ,python-wxpython)
;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of
;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context'
;; object. For this reason we need to import both libraries.
@@ -6366,101 +6369,87 @@ comparison.
qhull
cairo
glib
- ;; FIXME: Add backends when available.
- ;("python-wxpython" ,python-wxpython)
tcl
tk))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)
- ("python-wheel" ,python-wheel)
- ("unzip" ,unzip)
- ("jquery-ui"
- ,(origin
- (method url-fetch)
- (uri "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip")
- (sha256
- (base32
- "0kb21xf38diqgxcdi1z3s9ssq36pldvyqxy56hn6pcva6rs3c8zq"))))))
+ ("python-pytest-timeout" ,python-pytest-timeout)
+ ("python-pytest-xdist" ,python-pytest-xdist)
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive)))
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; XXX We disable all image comparison tests because we're using a
- ;; newer version of FreeType than matplotlib expects. This leads to
- ;; minor differences throughout the tests.
- (add-after 'unpack 'fix-and-disable-failing-tests
- (lambda _
- (substitute* (append (find-files "lib/matplotlib/tests/"
- "test_.*\\.py$")
- (find-files "lib/mpl_toolkits/tests"
- "test_.*\\.py$"))
- (("^from matplotlib" match)
- (string-append "import pytest\n" match))
- (("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match
- indent)
- (string-append indent
- "@pytest.mark.skip(reason=\"unknown minor image differences\")\n"
- match)))
- (substitute* "lib/matplotlib/tests/test_animation.py"
- (("/bin/sh") (which "sh")))
- (for-each delete-file
- ;; test_normal_axes, test_get_tightbbox_polar
- '("lib/matplotlib/tests/test_axes.py"
- "lib/matplotlib/tests/test_polar.py"
- ;; We don't use the webagg backend and this test
- ;; forces it.
- "lib/matplotlib/tests/test_backend_webagg.py"
- ;; test_outward_ticks
- "lib/matplotlib/tests/test_tightlayout.py"
- ;; test_hidden_axes fails with minor extent
- ;; differences, possibly due to the use of a
- ;; different version of FreeType.
- "lib/matplotlib/tests/test_constrainedlayout.py"
- ;; Fontconfig returns no fonts.
- "lib/matplotlib/tests/test_font_manager.py"))
- #t))
- (add-before 'install 'install-jquery-ui
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((python-version (python-version
- (assoc-ref inputs "python")))
- (dir
- (string-append (assoc-ref outputs "out")
- "/lib/python" python-version
- "/site-packages"
- "/matplotlib/backends/web_backend/")))
- (mkdir-p dir)
- (invoke "unzip"
- (assoc-ref inputs "jquery-ui")
- "-d" dir))
- #t))
- (replace 'check
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "python" "tests.py" "-v"
- "-m" "not network and not webagg")))
- (add-before 'build 'configure-environment
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((cairo (assoc-ref inputs "cairo")))
- ;; Setting this directory in the 'basedirlist' of 'setup.cfg'
- ;; has not effect.
- (setenv "LD_LIBRARY_PATH" (string-append cairo "/lib"))
- (setenv "HOME" (getcwd))
- ;; Fix rounding errors when using the x87 FPU.
- (when (string-prefix? "i686" ,(%current-system))
- (setenv "CFLAGS" "-ffloat-store"))
- (call-with-output-file "setup.cfg"
- (lambda (port)
- (format port "[libs]~%
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pretend-version
+ ;; The version string is usually derived via setuptools-scm, but
+ ;; without the git metadata available, the version string is set to
+ ;; '0.0.0'.
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
+ (add-after 'unpack 'fix-and-disable-failing-tests
+ ;; XXX: Disable all image comparison tests because we're using a
+ ;; newer version of FreeType than matplotlib expects. This leads
+ ;; to minor differences throughout the tests.
+ (lambda _
+ (substitute* (append (find-files "lib/matplotlib/tests/"
+ "test_.*\\.py$")
+ (find-files "lib/mpl_toolkits/tests"
+ "test_.*\\.py$"))
+ (("^from matplotlib" match)
+ (string-append "import pytest\n" match))
+ (("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match
+ indent)
+ (string-append indent "@pytest.mark.skip(\
+reason=\"unknown minor image differences\")\n" match)))
+ (substitute* "lib/matplotlib/tests/test_animation.py"
+ (("/bin/sh") (which "sh")))
+ (for-each delete-file
+ ;; test_normal_axes, test_get_tightbbox_polar
+ '("lib/matplotlib/tests/test_axes.py"
+ "lib/matplotlib/tests/test_polar.py"
+ ;; We don't use the webagg backend and this test
+ ;; forces it.
+ "lib/matplotlib/tests/test_backend_webagg.py"
+ ;; test_outward_ticks
+ "lib/matplotlib/tests/test_tightlayout.py"
+ ;; test_hidden_axes fails with minor extent
+ ;; differences, possibly due to the use of a
+ ;; different version of FreeType.
+ "lib/matplotlib/tests/test_constrainedlayout.py"
+ ;; Fontconfig returns no fonts.
+ "lib/matplotlib/tests/test_font_manager.py"))))
+ (add-before 'build 'configure-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix rounding errors when using the x87 FPU.
+ (when (string-prefix? "i686" #$(%current-system))
+ (setenv "CFLAGS" "-ffloat-store"))
+ (call-with-output-file "mplsetup.cfg"
+ (lambda (port)
+ (format port "\
+[libs]
system_freetype = true
system_qhull = true
-[directories]~%
-basedirlist = ~a,~a~%
-[packages]~%
-tests = True~%"
- (assoc-ref inputs "tcl")
- (assoc-ref inputs "tk")))))
- #t)))))
+
+[rc_options]
+backend=Agg
+
+[directories]
+basedirlist = ~a,~a
+
+[packages]
+tests = True~%" (assoc-ref inputs "tcl") (assoc-ref inputs "tk"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Step out of the source directory to avoid interference.
+ (with-directory-excursion "/tmp"
+ ;; Run the installed tests, which is what we want since not
+ ;; everything gets built in the source directory.
+ (invoke "pytest"
+ "-n" (number->string (parallel-job-count))
+ "-m" "not network" "--pyargs" "matplotlib"))))))))
(home-page "https://matplotlib.org/")
(synopsis "2D plotting library for Python")
(description
@@ -6475,53 +6464,47 @@ toolkits.")
(define-public python2-matplotlib
(let ((matplotlib (package-with-python2
(strip-python2-variant python-matplotlib))))
- (package (inherit matplotlib)
- (version "2.2.4")
+ (package/inherit matplotlib
+ (version "2.2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
- "09i1gnrra1590brc1f8d5rh2zvnknmfgzp613ab0462qkrwj15h2"))))
+ "1sk05fdai9rw35l983rw2ymvz0nafs7szs7yz4nxrpyr1j27l0x3"))))
(arguments
(substitute-keyword-arguments (package-arguments matplotlib)
((#:phases phases)
- `(modify-phases ,phases
- (replace 'install-jquery-ui
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((dir (string-append (assoc-ref outputs "out")
- "/lib/python2.7/site-packages/"
- "matplotlib/backends/web_backend/")))
- (mkdir-p dir)
- (invoke "unzip"
- (assoc-ref inputs "jquery-ui")
- "-d" dir))))
- ;; Without this file mpl_toolkits cannot be imported.
- (add-after 'install 'create-init-file
- (lambda* (#:key outputs #:allow-other-keys)
- (with-output-to-file
- (string-append
- (assoc-ref outputs "out")
- "/lib/python2.7/site-packages/mpl_toolkits/__init__.py")
- (lambda _ (display "")))))
- (delete 'fix-and-disable-failing-tests)
- (delete 'check))))) ; These tests weren't run the the past.
- ;; Make sure to use special packages for Python 2 instead
- ;; of those automatically rewritten by package-with-python2.
+ #~(modify-phases #$phases
+ (add-after 'install 'create-init-file
+ (lambda _
+ (with-output-to-file
+ (string-append
+ #$output
+ "/lib/python2.7/site-packages/mpl_toolkits/__init__.py")
+ (lambda _ (display "")))))
+ (delete 'fix-and-disable-failing-tests)
+ (delete 'check))))) ; These tests weren't run the the past.
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(propagated-inputs
- `(("python2-pycairo" ,python2-pycairo)
- ("python2-backports-functools-lru-cache"
- ,python2-backports-functools-lru-cache)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("python2-backports-functools-lru-cache" ,python2-backports-functools-lru-cache)
+ ("python2-certifi" ,python2-certifi)
+ ("python2-cycler" ,python2-cycler)
+ ("python2-dateutil" ,python2-dateutil)
("python2-functools32" ,python2-functools32)
+ ("python2-kiwisolver" ,python2-kiwisolver)
+ ("python2-numpy" ,python2-numpy)
+ ("python2-pillow" ,python2-pillow)
+ ("python2-pycairo" ,python2-pycairo)
("python2-pygobject-2" ,python2-pygobject-2)
+ ("python2-pyparsing" ,python2-pyparsing)
+ ("python2-pytz" ,python2-pytz)
+ ("python2-six" ,python2-six)
("python2-subprocess32" ,python2-subprocess32)
- ("python2-tkinter" ,python-2 "tk")
- ,@(fold alist-delete (package-propagated-inputs matplotlib)
- '("python-cairocffi"
- "python-pycairo"
- "python-pygobject"
- "python-tkinter")))))))
+ ("python2-tkinter" ,python-2 "tk"))))))
(define-public python-matplotlib-documentation
(package
@@ -9259,27 +9242,17 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(define-public python-beautifulsoup4
(package
(name "python-beautifulsoup4")
- (version "4.9.3")
+ (version "4.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beautifulsoup4" version))
(sha256
(base32
- "09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4"))))
+ "14c8z4gh9bi38agx9ls8ym5rscc02pc6f6hmliaqk08xa8yd4fn2"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; The Python 2 source is the definitive source of beautifulsoup4. We
- ;; must use this conversion script when building with Python 3. The
- ;; conversion script also runs the tests.
- ;; For more information, see the file 'convert-py3k' in the source
- ;; distribution.
- (replace 'check
- (lambda _ (invoke "./convert-py3k"))))))
(propagated-inputs
- (list python-soupsieve))
+ (list python-soupsieve python-html5lib python-lxml))
(home-page
"https://www.crummy.com/software/BeautifulSoup/bs4/")
(synopsis
@@ -9296,8 +9269,16 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
(define-public python2-beautifulsoup4
(let ((base (package-with-python2
(strip-python2-variant python-beautifulsoup4))))
- (package/inherit base
- (arguments `(#:python ,python-2)))))
+ (package/inherit base
+ (version "4.9.3") ;last version to support Python 2
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "beautifulsoup4" version))
+ (sha256
+ (base32
+ "09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4"))))
+ (arguments `(#:python ,python-2)))))
(define-public python-soupsieve
(package
@@ -10834,28 +10815,170 @@ add functionality and customization to your projects with their own plugins.")
(define-public python2-straight-plugin
(package-with-python2 python-straight-plugin))
-(define-public python-fonttools
+(define-public python-pysendfile
(package
- (name "python-fonttools")
- (version "4.6.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "fonttools" version ".zip"))
- (sha256
- (base32
- "1mq9kdzhcsp96bhv7smnrpdg1s4z5wh70bsl99c0jmcrahqdisqq"))))
+ (name "python-pysendfile")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pysendfile" version))
+ (sha256
+ (base32 "05qf0m32isflln1zjgxlpw0wf469lj86vdwwqyizp1h94x5l22ji"))))
(build-system python-build-system)
- (native-inputs
- (list unzip python-pytest python-pytest-runner))
- (home-page "https://github.com/fonttools/fonttools")
- (synopsis "Tools to manipulate font files")
- (description
- "FontTools/TTX is a library to manipulate font files from Python. It
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "make" "test")))))))
+ (home-page "https://github.com/giampaolo/pysendfile")
+ (synopsis "Python interface to sendfile(2)")
+ (description "The @{pysendfile} Python library provides an interface to
+the @code{sendfile(2)} system call.")
+ (license license:expat)))
+
+(define-public python-pyftpdlib
+ (package
+ (name "python-pyftpdlib")
+ (version "1.5.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyftpdlib" version))
+ (sha256
+ (base32 "0pnv2byzmzg84q5nmmhn1xafvfil85qa5y52bj455br93zc5b9px"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke
+ "pytest"
+ ;; Deselect failing tests.
+ "-k" (string-append
+ ;; Using Pytest instead of the Makefile causes the
+ ;; command line tests to fail on unknown Pytest
+ ;; arguments.
+ "not TestCommandLineParser "
+ ;; https://github.com/giampaolo/pyftpdlib/issues/478
+ "and not test_use_gmt_times "
+ ;; https://github.com/giampaolo/pyftpdlib/issues/550
+ "and not test_masquerade_address "
+ ;; https://github.com/giampaolo/pyftpdlib/issues/500
+ "and not test_rest_on_stor "
+ "and not test_stor_ascii"))))))))
+ (native-inputs (list python-psutil python-pytest))
+ (propagated-inputs (list python-pyopenssl python-pysendfile))
+ (home-page "https://github.com/giampaolo/pyftpdlib/")
+ (synopsis "Asynchronous and scalable Python FTP server library")
+ (description "The Python FTP server library provides a high-level
+interface to write efficient, scalable and asynchronous FTP servers with
+Python. It is the most complete @url{http://www.faqs.org/rfcs/rfc959.html,
+RFC-959} FTP server implementation available for Python, and has the following
+traits:
+@itemize
+@item
+It is lightweight, fast and scalable.
+@item
+It uses the @code{sendfile(2)} system call for uploads.
+@item
+It uses @code{epoll}, @code{kqueue} and @code{select} to handle concurrency
+asynchronously.
+@item
+It supports FTPS (@url{http://tools.ietf.org/html/rfc4217, RFC-4217}),
+IPv6 (RFC-2428), Unicode file names (@url{http://tools.ietf.org/html/rfc2640,
+RFC-2640}) and MLSD/MLST commands (RFC-3659).
+@item
+It has a flexible system of @samp{authorizers} able to manage both
+@samp{virtual} and @samp{real} users.
+@end itemize")
+ (license license:expat)))
+
+(define-public python-fs
+ (package
+ (name "python-fs")
+ (version "2.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fs" version))
+ (sha256
+ (base32 "0v5kqzi0vd8ar4j4qf5440nzwa9dcagpxb3q6k0cln4cqlmxqmcm"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-m" "not slow")))))))
+ (propagated-inputs
+ (list python-appdirs python-pytz python-typing python-six))
+ (native-inputs
+ (list python-mock python-parameterized python-pyftpdlib python-pytest))
+ (home-page "https://github.com/PyFilesystem/pyfilesystem2/")
+ (synopsis "File system abstraction layer for Python")
+ (description "PyFilesystem's @code{FS} object is a file system abstraction
+sharing similarities with Python's own @code{file} object for single files.
+It allows opening all the files under a given directory recursively, as a
+single @code{FS} object. This enables, for example, counting the combined
+number of lines in the contained files easily.")
+ (license license:expat)))
+
+;;; Tests are left out in the main package to avoid cycles.
+(define-public python-fonttools
+ (hidden-package
+ (package
+ (name "python-fonttools")
+ (version "4.28.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fonttools" version ".zip"))
+ (sha256
+ (base32
+ "1jhl5n3rfqq7fznvsh6r80n7ylap1a7ppq1040y8cflhyz80ap2l"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list unzip))
+ (arguments '(#:tests? #f))
+ (home-page "https://github.com/fonttools/fonttools")
+ (synopsis "Tools to manipulate font files")
+ (description
+ "FontTools/TTX is a library to manipulate font files from Python. It
supports reading and writing of TrueType/OpenType fonts, reading and writing
of AFM files, reading (and partially writing) of PS Type 1 fonts. The package
also contains a tool called “TTX” which converts TrueType/OpenType fonts to and
from an XML-based format.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-fonttools)))))))
+
+(define-public python-fonttools-with-tests
+ (package/inherit python-fonttools
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-fonttools)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"))))))))
+ (native-inputs
+ (modify-inputs (package-inputs python-fonttools)
+ (append python-pytest ;FIXME: indentation is broken
+ python-brotli
+ python-fs
+ python-scipy
+ python-zopfli)))
+ (properties (alist-delete 'hidden? (package-properties python-fonttools)))))
;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
(define-public python2-fonttools
@@ -10966,13 +11089,13 @@ third-party code.")
(define-public python-msgpack
(package
(name "python-msgpack")
- (version "1.0.0")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "msgpack" version))
(sha256
(base32
- "1h5mxh84rcw04dvxy1qbfn2hisavfqgilh9k09rgyjhd936dad4m"))))
+ "07m84yisf8m6gr68ip9v6vzxax7kqbn8qxg7ir18clk1jgxwgzai"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
@@ -11244,23 +11367,20 @@ native modules.")
(define-public python-xlrd
(package
(name "python-xlrd")
- (version "1.2.0")
+ (version "2.0.1")
(source (origin
- (method url-fetch)
- (uri (pypi-uri "xlrd" version))
+ ;; The tests are not included in the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/python-excel/xlrd")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl"))))
+ "170asszffvf6rh5w169ic4h5kxgjkmdl3060vw737d4g1qfifvzz"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Some tests depend on writing a temporary file to the user's home
- ;; directory.
- (add-after 'unpack 'fix-tests
- (lambda _
- (delete-file "tests/test_open_workbook.py")
- #t)))))
+ (native-inputs
+ (list python-pytest))
(home-page "http://www.python-excel.org/")
(synopsis "Library for extracting data from Excel files")
(description "This package provides a library to extract data from
@@ -11272,6 +11392,7 @@ Unicode-aware. It is not intended as an end-user tool.")
(define-public python2-xlrd
(package-with-python2 python-xlrd))
+;;; Note: this package is unmaintained since 2018 (archived on GitHub).
(define-public python-xlwt
(package
(name "python-xlwt")
@@ -11361,11 +11482,16 @@ printing of sub-tables by specifying a row range.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-vv" "-k"
- ;; Tries to open an outgoing connection.
- "not test_ssl_outgoing"))))))
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ ;; Tries to open an outgoing connection.
+ "not test_ssl_outgoing "
+ ;; This test fails since Python 3.9.9 (see:
+ ;; https://github.com/dabeaz/curio/issues/347).
+ "and not test_timeout"))))))))
(native-inputs
(list python-pytest))
(home-page "https://github.com/dabeaz/curio")
@@ -15011,13 +15137,7 @@ module, adding support for Unicode strings.")
#t))
(replace 'check
(lambda _
- (invoke "make" "test")))
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))
- #t))))))
+ (invoke "make" "test"))))))
(propagated-inputs
(list python-chardet python-cryptography python-sortedcontainers))
(native-inputs
@@ -16172,29 +16292,25 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry
(package
(name "poetry")
- (version "1.1.11")
- ;; Poetry can only be built from source with Poetry.
+ (version "1.1.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry" version))
(sha256
(base32
- "17pnf2j4adlm9fhyg5jkkvs8bzcigb6nj72vr0687fxybzsj4zbx"))))
+ "0rr54mvcfcv9cv6vw2122y28xvd2pwqpv2x8c8j5ayz3gwsy4rjw"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ;; Pypi does not have tests.
+ `(#:tests? #f ;PyPI does not have tests
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-setup-py
(lambda _
(substitute* "setup.py"
- ;; Allow newer versions of python-keyring.
+ ;; Relax some of the requirements.
(("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
- ;; TODO: remove after the next release cycle,
- ;; when packaging has been updated.
- (("packaging>=20.4,<21.0") "packaging>=20.0,<21.0"))
- #t)))))
+ (("(packaging>=20.4),<21.0" _ packaging) packaging)))))))
(propagated-inputs
(list python-cachecontrol
python-cachy
@@ -16212,7 +16328,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
python-pkginfo
python-poetry-core
python-requests
- python-requests-toolbelt-0.9.1
+ python-requests-toolbelt
python-shellingham
python-tomlkit
python-virtualenv))
@@ -18478,7 +18594,7 @@ multitouch applications.")
(define-public python-astroid
(package
(name "python-astroid")
- (version "2.6.6")
+ (version "2.9.0")
(source
(origin
(method git-fetch)
@@ -18487,12 +18603,12 @@ multitouch applications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1amzf996inwmh4r3mlpzmch60xs6lrg86vppfnwl1y0l8r0y7zxh"))))
+ (base32 "19iiys4233cicpm48fd7lrkm31kk47qiv44wvk952rqbcn4rd2dh"))))
(build-system python-build-system)
(propagated-inputs
(list python-lazy-object-proxy python-wrapt))
(native-inputs
- (list python-pytest python-pytest-runner))
+ (list python-pytest python-pytest-runner python-typing-extensions))
(home-page "https://github.com/PyCQA/astroid")
(synopsis "Common base representation of python source code for pylint and
other projects")
@@ -18505,43 +18621,7 @@ multitouch applications.")
additional methods and attributes for different usages. They include some
support for static inference and local name scopes. Furthermore, astroid
builds partial trees by inspecting living objects.")
- (license license:lgpl2.1+)
- (properties `((python2-variant . ,(delay python2-astroid))))))
-
-(define-public python2-astroid
- (let ((base (package-with-python2
- (strip-python2-variant python-astroid))))
- (package (inherit base)
- ;; Version 2.x removes python2 support.
- (version "1.6.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "astroid" version))
- (sha256
- (base32
- "0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw"))))
- (arguments
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-spurious-test
- (lambda _
- ;; https://github.com/PyCQA/astroid/issues/276
- (delete-file "astroid/tests/unittest_brain.py")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "unittest" "discover"
- "-p" "unittest*.py")))))))
- (native-inputs `())
- (propagated-inputs
- (list python2-backports-functools-lru-cache
- python2-enum34
- python2-lazy-object-proxy
- python2-singledispatch
- python2-six
- python2-wrapt)))))
+ (license license:lgpl2.1+)))
(define-public python-isbnlib
(package
@@ -21169,7 +21249,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(define-public python-typed-ast
(package
(name "python-typed-ast")
- (version "1.4.2")
+ (version "1.5.1")
(source
(origin
(method git-fetch)
@@ -21177,7 +21257,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(url "https://github.com/python/typed_ast")
(commit version)))
(sha256
- (base32 "1wr6pkvvrq6rzjjw88pd5xy8fy06msam4hlxbkglvdmwh4c083l0"))
+ (base32 "1xfcs5246c8v5600aaa8zs7ii4sxb62q6r3sb2fgazyjx97wrxd9"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
@@ -21257,13 +21337,13 @@ Python 3.6+ type hints.")
(define-public python-typing
(package
(name "python-typing")
- (version "3.7.4.3")
+ (version "3.10.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing" version))
(sha256
- (base32 "1j8wnz8c9s049w9xbf7ssr1dmgg4rz7vdfq7m880srzxhafgp1qi"))))
+ (base32 "0c5il4d68fd4qrm5k3dps70j0xz0n5krj6lhwn9vzpal3whsvd0k"))))
(build-system python-build-system)
(home-page "https://docs.python.org/3/library/typing.html")
(synopsis "Type hints for Python")
@@ -21281,17 +21361,41 @@ and other tools.")
(define-public python-typing-extensions
(package
(name "python-typing-extensions")
- (version "3.10.0.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "typing_extensions" version))
- (sha256
- (base32
- "0zk7kbcms828by6avmqp09bsag1az37qr60viqjwvw8izwb5vxs9"))))
+ (version "4.0.1")
+ (source (origin
+ ;; The test script is missing from the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/python/typing")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a35fh5wk9s538x0w3dz95y0avnhd2srzyv9s1a372711n8hdl4p"))))
(build-system python-build-system)
- (home-page
- "https://github.com/python/typing/blob/master/typing_extensions/README.rst")
+ (arguments
+ (list
+ #:tests? #f ;requires Python's test module, not available in Guix
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enter-source-directory
+ (lambda _
+ (chdir "typing_extensions")))
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "src/test_typing_extensions.py"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs (list python-pypa-build python-flit-core))
+ (home-page "https://github.com/python/typing/typing_extensions")
(synopsis "Experimental type hints for Python")
(description
"The typing_extensions module contains additional @code{typing} hints not
@@ -24341,92 +24445,52 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(define-public python-flit
(package
(name "python-flit")
- (version "3.3.0")
- ;; We fetch the sources via git because on pypi the package is split into
- ;; two parts: flit and flit_core; flit_core cannot be built without flit.
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/takluyver/flit")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mvyymw3zqsnip4x4ca6anr5rbx30hcmpqwrnhjwcm7s8mycd01x"))))
+ (version "3.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flit" version))
+ (sha256
+ (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'bootstrap
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((home (string-append (getcwd) "/home")))
- (mkdir-p home)
- (setenv "HOME" home))
- (for-each make-file-writable (find-files "."))
- (copy-recursively (assoc-ref inputs "python-testpath")
- (string-append (getcwd) "/testpath"))
- (substitute* "pyproject.toml"
- (("\"testpath\",") ""))
- (invoke "python" "bootstrap_dev.py")))
- (replace 'build
- (lambda _
- ;; A ZIP archive should be generated, but it fails with "ZIP does
- ;; not support timestamps before 1980". Luckily,
- ;; SOURCE_DATE_EPOCH is respected, which we set to some time in
- ;; 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (for-each (lambda (toml)
- (invoke "python3" "-m" "flit"
- "--debug" "--ini-file" toml
- "build"))
- '("testpath/pyproject.toml"
- "pyproject.toml"))
- (with-directory-excursion "flit_core"
- (invoke "python" "build_dists.py"))))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (let ((out (assoc-ref outputs "out")))
- (delete-file-recursively "./home")
- (for-each (lambda (wheel)
- (format #true wheel)
- (invoke "python" "-m" "pip" "install"
- wheel (string-append "--prefix=" out)))
- (append
- (find-files "flit_core/dist" "\\.whl$")
- (find-files "dist" "\\.whl$")))))))
- #:tests? #f)) ; XXX: Check requires network access.
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (setenv "FLIT_NO_NETWORK" "1"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
(propagated-inputs
- (list python-pytoml python-toml))
+ (list python-pypa-build
+ python-tomli-w
+ python-flit-core
+ python-docutils
+ python-requests))
(native-inputs
- `(("python-docutils" ,python-docutils)
- ("python-responses" ,python-responses)
- ("python-pygments-github-lexers" ,python-pygments-github-lexers)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-sphinx" ,python-sphinx)
- ("python-sphinxcontrib-github-alt" ,python-sphinxcontrib-github-alt)
- ;; This package needs testpath, but testpath also needs flit...
- ("python-testpath"
- ,(let ((name "python-testpath")
- (version "0.4.4"))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jupyter/testpath")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))))))
+ (list python-responses
+ python-pygments-github-lexers
+ python-pytest
+ python-pytest-cov
+ python-sphinx
+ python-sphinxcontrib-github-alt
+ python-testpath))
(home-page "https://flit.readthedocs.io/")
- (synopsis
- "Simple packaging tool for simple packages")
- (description
- "Flit is a simple way to put Python packages and modules on PyPI. Flit
-packages a single importable module or package at a time, using the import
-name as the name on PyPI. All subpackages and data files within a package
-are included automatically.")
+ (synopsis "Simple packaging tool for simple packages")
+ (description "Flit is a simple way to put Python packages and modules on
+PyPI. Flit packages a single importable module or package at a time, using
+the import name as the name on PyPI. All subpackages and data files within a
+package are included automatically.")
(license license:bsd-3)))
(define-public python-pathtools
@@ -27960,13 +28024,21 @@ compatible with a wide range of versions of the Stripe API.")
(base32 "1njz0h4iky8iglrb85cd07hpa3lp1a2dfr934dj65hxwzvfk61j4"))))
(build-system python-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "pytest" "-vv")))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pretend-version
+ ;; The version string is usually derived via setuptools-scm, but
+ ;; without the git metadata available, the version string is set to
+ ;; '0.0.0'.
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
(native-inputs
- (list python-appdirs python-pytest python-pytest-mock
- python-setuptools-scm))
+ (list python-appdirs python-pytest python-pytest-cov
+ python-pytest-mock python-setuptools-scm))
(home-page "https://github.com/platformdirs/platformdirs")
(synopsis "Determine the appropriate platform-specific directories")
(description "When writing applications, finding the right location to
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 23f188c6f9..3bc3346c21 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -431,7 +431,7 @@ data types.")
(package
(inherit python-2)
(name "python")
- (version "3.9.6")
+ (version "3.9.9")
(source (origin
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
@@ -445,7 +445,7 @@ data types.")
"python-3-no-static-lib.patch"))
(sha256
(base32
- "12hhw2685i68pwfx5hdkqngzhbji4ccyjmqb5rzvkigg6fpj0y9r"))
+ "09vd7g71i11iz5ydqghwc8kaxr0vgji94hhwwnj77h3kll28r0h6"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f8a7222005..739ffb3192 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -122,7 +122,7 @@
;;; 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 "474bec9cfd7862a20e7288cecd7fcf5e18648b9a")
+(define %mrustc-commit "c7066542f8e93d320323749216bf3c82aecb67c2")
(define %mrustc-source
(let* ((version "0.9")
(commit %mrustc-commit)
@@ -136,7 +136,7 @@
(file-name (git-file-name name (git-version version revision commit)))
(sha256
(base32
- "1zacz5qia0r457mv74wvrvznnv4az5g2w9j8ji9ssy727wljhvz7")))))
+ "0zv1x6601s5fnnkcdlqkc4bknisqz569qb0iyb9rjsmaf1kh0na3")))))
;;; Rust 1.39 is special in that it is built with mrustc, which shortens the
;;; bootstrap path.
@@ -623,14 +623,29 @@ safety and thread safety guarantees.")
(define rust-1.54
(let ((base-rust
(rust-bootstrapped-package
- rust-1.53 "1.54.0"
- "0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc")))
- (package
- (inherit base-rust)
+ rust-1.53
+ "1.54.0" "0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc")))
+ (package/inherit base-rust
(source
(origin
(inherit (package-source base-rust))
- (snippet '(delete-file-recursively "src/llvm-project"))))
+ (snippet '(delete-file-recursively "src/llvm-project")))))))
+
+(define rust-1.55
+ (rust-bootstrapped-package
+ rust-1.54 "1.55.0" "07l28f7grdmi65naq71pbmvdd61hwcpi40ry7kp7dy7m233rldxj"))
+
+(define rust-1.56
+ (rust-bootstrapped-package
+ rust-1.55 "1.56.1" "04cmqx7nn63hzz7z27b2b0dj2qx18rck9ifvip43s6dampx8v2f3"))
+
+(define rust-1.57
+ (let ((base-rust
+ (rust-bootstrapped-package
+ rust-1.56 "1.57.0"
+ "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim")))
+ (package
+ (inherit base-rust)
(outputs (cons "rustfmt" (package-outputs base-rust)))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
@@ -718,11 +733,6 @@ safety and thread safety guarantees.")
((file) file))
(("fn ctrl_c_kills_everyone")
"#[ignore]\nfn ctrl_c_kills_everyone"))))
- (add-after 'configure 'enable-docs
- (lambda _
- (substitute* "config.toml"
- (("docs = false")
- "docs = true"))))
(add-after 'configure 'add-gdb-to-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((gdb (assoc-ref inputs "gdb")))
@@ -772,20 +782,8 @@ safety and thread safety guarantees.")
`("procps" ,procps)
(package-native-inputs base-rust))))))
-(define-public rust-1.55
- (rust-bootstrapped-package
- rust-1.54 "1.55.0" "07l28f7grdmi65naq71pbmvdd61hwcpi40ry7kp7dy7m233rldxj"))
-
-(define-public rust-1.56
- (rust-bootstrapped-package
- rust-1.55 "1.56.1" "04cmqx7nn63hzz7z27b2b0dj2qx18rck9ifvip43s6dampx8v2f3"))
-
-(define-public rust-1.57
- (rust-bootstrapped-package
- rust-1.56 "1.57.0" "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim"))
-
;;; Note: Only the latest versions of Rust are supported and tested. The
;;; intermediate rusts are built for bootstrapping purposes and should not
;;; be relied upon. This is to ease maintenance and reduce the time
;;; required to build the full Rust bootstrap chain.
-(define-public rust rust-1.54)
+(define-public rust rust-1.57)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index bb5b402eee..4330b1b9af 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages samba)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -55,6 +56,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages time)
@@ -181,64 +183,58 @@ external dependencies.")
(define-public samba
(package
(name "samba")
- (version "4.13.14")
+ (version "4.15.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
- (base32 "103zy09mszjlfrsnm2vzrw5d9ph5jckddb9cxsrhrslkzblah4b6"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; XXX: Some bundled libraries (e.g, popt, cmocka) are used from
- ;; the system, but their bundled sources must be kept as they
- ;; include the WAF scripts used for detecting them.
- (delete-file-recursively "third_party/pyiso8601")
- #t))))
+ (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags '("TEST_OPTIONS=--quick") ;some tests are very long
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'setup-docbook-stylesheets
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Append Samba's own DTDs to XML_CATALOG_FILES
- ;; (c.f. docs-xml/build/README).
- (copy-file "docs-xml/build/catalog.xml.in"
- "docs-xml/build/catalog.xml")
- (substitute* "docs-xml/build/catalog.xml"
- (("/@abs_top_srcdir@")
- (string-append (getcwd) "/docs-xml")))
- ;; Honor XML_CATALOG_FILES.
- (substitute* "buildtools/wafsamba/wafsamba.py"
- (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
- (string-append all " $XML_CATALOG_FILES")))
- #t))
- (replace 'configure
- ;; Samba uses a custom configuration script that runs WAF.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libdir (string-append out "/lib")))
- (invoke "./configure"
- "--enable-selftest"
- "--enable-fhs"
- (string-append "--prefix=" out)
- "--sysconfdir=/etc"
- "--localstatedir=/var"
- ;; Install public and private libraries into
- ;; a single directory to avoid RPATH issues.
- (string-append "--libdir=" libdir)
- (string-append "--with-privatelibdir=" libdir)))))
- (add-before 'install 'disable-etc,var-samba-directories-setup
- (lambda _
- (substitute* "dynconfig/wscript"
- (("bld\\.INSTALL_DIR.*") ""))
- #t)))
- ;; FIXME: The test suite seemingly hangs after failing to provision the
- ;; test environment.
- #:tests? #f))
+ (list
+ #:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'setup-docbook-stylesheets
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Append Samba's own DTDs to XML_CATALOG_FILES
+ ;; (c.f. docs-xml/build/README).
+ (copy-file "docs-xml/build/catalog.xml.in"
+ "docs-xml/build/catalog.xml")
+ (substitute* "docs-xml/build/catalog.xml"
+ (("/@abs_top_srcdir@")
+ (string-append (getcwd) "/docs-xml")))
+ ;; Honor XML_CATALOG_FILES.
+ (substitute* "buildtools/wafsamba/wafsamba.py"
+ (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
+ (string-append all " $XML_CATALOG_FILES")))))
+ (replace 'configure
+ ;; Samba uses a custom configuration script that runs WAF.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((libdir (string-append #$output "/lib")))
+ (invoke "./configure"
+ "--enable-selftest"
+ "--enable-fhs"
+ (string-append "--prefix=" #$output)
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ ;; Install public and private libraries into
+ ;; a single directory to avoid RPATH issues.
+ (string-append "--libdir=" libdir)
+ (string-append "--with-privatelibdir=" libdir)
+ "--with-system-mitkrb5" ;#$(this-package-input "mit-krb5")
+ (string-append "--with-system-mitkdc="
+ (search-input-file inputs "sbin/krb5kdc"))
+ "--with-experimental-mit-ad-dc"))))
+ (add-before 'install 'disable-etc,var-samba-directories-setup
+ (lambda _
+ (substitute* "dynconfig/wscript"
+ (("bld\\.INSTALL_DIR.*") "")))))
+ ;; FIXME: The test suite seemingly hangs after failing to provision the
+ ;; test environment.
+ #:tests? #f))
(inputs
(list acl
cmocka
@@ -247,12 +243,12 @@ external dependencies.")
dbus
gpgme
gnutls
- heimdal
jansson
libarchive
libtirpc
linux-pam
lmdb
+ mit-krb5
openldap
perl
python
@@ -263,15 +259,19 @@ external dependencies.")
;; In Requires or Requires.private of pkg-config files.
(list ldb talloc tevent))
(native-inputs
- `(("perl-parse-yapp" ,perl-parse-yapp)
- ("pkg-config" ,pkg-config)
- ("python-iso8601" ,python-iso8601)
- ("rpcsvc-proto" ,rpcsvc-proto) ; for 'rpcgen'
- ;; For generating man pages.
- ("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)
- ("xsltproc" ,libxslt)
- ("libxml2" ,libxml2))) ;for XML_CATALOG_FILES
+ (list perl-parse-yapp
+ pkg-config
+ python-cryptography ;for krb5 tests
+ python-dnspython
+ python-iso8601
+ python-markdown
+ rpcsvc-proto ;for 'rpcgen'
+ python-pyasn1 ;for krb5 tests
+ ;; For generating man pages.
+ docbook-xml-4.2
+ docbook-xsl
+ libxslt
+ libxml2)) ;for XML_CATALOG_FILES
(home-page "https://www.samba.org/")
(synopsis
"The standard Windows interoperability suite of programs for GNU and Unix")
@@ -286,15 +286,16 @@ Desktops into Active Directory environments using the winbind daemon.")
(define-public samba/fixed
;; Version that rarely changes, depended on by libsoup.
- (package/inherit samba
- (version "4.13.10")
- (source
- (origin
- (inherit (package-source samba))
- (uri (string-append "https://download.samba.org/pub/samba/stable/"
- "samba-" version ".tar.gz"))
- (sha256
- (base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh"))))))
+ (hidden-package
+ (package/inherit samba
+ (version "4.15.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.samba.org/pub/samba/stable/"
+ "samba-" version ".tar.gz"))
+ (sha256
+ (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si")))))))
(define-public talloc
(package
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 52f675ea1d..2c3979ca18 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -952,7 +952,6 @@ files and text.")
(build-system cargo-build-system)
(arguments
`(#:tests? #false ;missing files
- #:rust ,rust-1.56
#:features '("extra")
#:cargo-inputs
(("rust-ctrlc" ,rust-ctrlc-3)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 75a69c8d87..c19cc97862 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -893,15 +893,6 @@ message streaming.")
#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (string-append (assoc-ref outputs "out")
- "/src/github.com/prometheus/common/expfmt/testdata/")
- ".*\\.gz$"))
- #t))
;; Source-only package
(delete 'build))))
(propagated-inputs
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 6d4a61efbd..c3c5c243eb 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -247,7 +247,7 @@ cards.")
#:install-source? #f
#:cargo-inputs
(("rust-backtrace" ,rust-backtrace-0.3)
- ("rust-bitflags" ,rust-bitflags-1.3)
+ ("rust-bitflags" ,rust-bitflags-1)
("rust-chrono" ,rust-chrono-0.4)
("rust-curl-sys" ,rust-curl-sys-0.4)
("rust-cxx" ,rust-cxx-1)
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 427f281686..e5d8394f5f 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -89,7 +89,8 @@ tasks, synchronization primitives, atomic operations, and more.")
(arguments
`(#:test-target "test"
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib"))
+ (assoc-ref %outputs "out") "/lib")
+ "CFLAGS=-fuse-ld=gold")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fail-on-test-errors
@@ -121,6 +122,13 @@ tasks, synchronization primitives, atomic operations, and more.")
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
(copy-recursively "include" include)))))))
+ (native-inputs
+ ;; XXX: For some reason, since commit "gnu: binutils: Absorb
+ ;; binutils-next", the build of just this version of TBB crashes during
+ ;; tests. Workaround it by linking the binaries with ld.gold.
+ (list (module-ref (resolve-interface
+ '(gnu packages commencement))
+ 'ld-gold-wrapper)))
(home-page "https://www.threadingbuildingblocks.org")
(synopsis "C++ library for parallel programming")
(description
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 6601a49c59..bd4c2461a2 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -254,19 +254,17 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
- '(begin
- (with-directory-excursion "libs"
- (let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf")))
- ;; Delete bundled software, except Lua which cannot easily be
- ;; used as an external dependency, pplib and xpdf which aren't
- ;; supported as system libraries (see m4/kpse-xpdf-flags.m4).
- (for-each delete-file-recursively
- (scandir "."
- (lambda (file)
- (and (not (member file preserved-directories))
- (eq? 'directory (stat:type (stat file)))))))))
- ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
- #t))))
+ ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
+ '(with-directory-excursion "libs"
+ (let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf")))
+ ;; Delete bundled software, except Lua which cannot easily be
+ ;; used as an external dependency, pplib and xpdf which aren't
+ ;; supported as system libraries (see m4/kpse-xpdf-flags.m4).
+ (for-each delete-file-recursively
+ (scandir "."
+ (lambda (file)
+ (and (not (member file preserved-directories))
+ (eq? 'directory (stat:type (stat file))))))))))))
(build-system gnu-build-system)
(inputs
`(("texlive-extra-src" ,texlive-extra-src)
@@ -368,24 +366,21 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(("gswin32c") "gs"))
(substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl"
(("\"gs\"")
- (string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))
- #t))
+ (string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))))
(add-after 'unpack 'patch-dvisvgm-build-files
(lambda _
;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so
;; the appropriate linker flags are not added.
(substitute* "texk/dvisvgm/configure"
(("^have_libgs=yes" all)
- (string-append all "\nHAVE_LIBGS=1")))
- #t))
+ (string-append all "\nHAVE_LIBGS=1")))))
(add-after 'unpack 'disable-failing-test
(lambda _
;; FIXME: This test fails on 32-bit architectures since Glibc 2.28:
;; <https://bugzilla.redhat.com/show_bug.cgi?id=1631847>.
(substitute* "texk/web2c/omegafonts/check.test"
(("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1")
- "./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))
- #t))
+ "./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))))
,@(if (target-ppc32?)
;; Some mendex tests fail on some architectures.
`((add-after 'unpack 'skip-mendex-tests
@@ -430,9 +425,16 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
iso-8859-1-encoded-scripts))
(with-fluids ((%default-port-encoding "ISO-8859-1"))
- (substitute-commands iso-8859-1-encoded-scripts))
-
- #t)))
+ (substitute-commands iso-8859-1-encoded-scripts)))))
+ ;; When ST_NLINK_TRICK is set, kpathsea attempts to avoid work when
+ ;; searching files by assuming that a directory with exactly two
+ ;; links has no subdirectories. This assumption does not hold in our
+ ;; case, so some directories with symlinked subdirectories would not
+ ;; be traversed.
+ (add-after 'patch-scripts 'patch-directory-traversal
+ (lambda _
+ (substitute* "texk/kpathsea/config.h"
+ (("#define ST_NLINK_TRICK") ""))))
(add-after 'check 'customize-texmf.cnf
;; The default texmf.cnf is provided by this package, texlive-bin.
;; Every variable of interest is set relatively to the GUIX_TEXMF
@@ -457,8 +459,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
;; Don't truncate lines.
(("^error_line = .*$") "error_line = 254\n")
(("^half_error_line = .*$") "half_error_line = 238\n")
- (("^max_print_line = .*$") "max_print_line = 1000\n")))
- #t))
+ (("^max_print_line = .*$") "max_print_line = 1000\n")))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(let* ((out (assoc-ref outputs "out"))
@@ -480,11 +481,12 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(config.guess (search-input-file inputs
"/bin/config.guess")))
- ;; Create symbolic links for the latex variants and their
- ;; man pages.
+ ;; Create symbolic links for the latex variants and their man
+ ;; pages. We link lualatex to luahbtex; see issue #51252 for
+ ;; details.
(with-directory-excursion (string-append out "/bin/")
(for-each symlink
- '("pdftex" "pdftex" "xetex" "luatex")
+ '("pdftex" "pdftex" "xetex" "luahbtex")
'("latex" "pdflatex" "xelatex" "lualatex")))
(with-directory-excursion (string-append share "/man/man1/")
(symlink "luatex.1" "lualatex.1"))
@@ -497,6 +499,14 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
source "/texlive-scripts/source/")
scripts)
+ ;; Patch them.
+ (let ((dirs (map dirname (list (which "sed") (which "awk")))))
+ (with-directory-excursion scripts
+ (substitute* '("mktexpk" "mktexmf" "mktexlsr")
+ (("^version=" m)
+ (format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a"
+ dirs m)))))
+
;; Make sure that fmtutil can find its Perl modules.
(substitute* (string-append scripts "/fmtutil.pl")
(("\\$TEXMFROOT/")
@@ -2580,48 +2590,65 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.")
(license license:lppl))))
(define-public texlive-kpathsea
- (package
- (inherit (simple-texlive-package
- "texlive-kpathsea"
- (list "/web2c/amiga-pl.tcx"
- "/web2c/cp1250cs.tcx"
- "/web2c/cp1250pl.tcx"
- "/web2c/cp1250t1.tcx"
- "/web2c/cp227.tcx"
- "/web2c/cp852-cs.tcx"
- "/web2c/cp852-pl.tcx"
- "/web2c/cp8bit.tcx"
- "/web2c/empty.tcx"
- "/web2c/fmtutil.cnf"
- "/web2c/il1-t1.tcx"
- "/web2c/il2-cs.tcx"
- "/web2c/il2-pl.tcx"
- "/web2c/il2-t1.tcx"
- "/web2c/kam-cs.tcx"
- "/web2c/kam-t1.tcx"
- "/web2c/macce-pl.tcx"
- "/web2c/macce-t1.tcx"
- "/web2c/maz-pl.tcx"
- "/web2c/mktex.cnf"
- "/web2c/mktex.opt"
- "/web2c/mktexdir"
- "/web2c/mktexdir.opt"
- "/web2c/mktexnam"
- "/web2c/mktexnam.opt"
- "/web2c/mktexupd"
- "/web2c/natural.tcx"
- "/web2c/tcvn-t5.tcx"
- "/web2c/viscii-t5.tcx")
- (base32
- "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
- #:trivial? #t))
- (home-page "https://www.tug.org/texlive/")
- (synopsis "Files related to the path searching library for TeX")
- (description "Kpathsea is a library and utility programs which provide
+ (let ((template (simple-texlive-package
+ "texlive-kpathsea"
+ (list "/web2c/amiga-pl.tcx"
+ "/web2c/cp1250cs.tcx"
+ "/web2c/cp1250pl.tcx"
+ "/web2c/cp1250t1.tcx"
+ "/web2c/cp227.tcx"
+ "/web2c/cp852-cs.tcx"
+ "/web2c/cp852-pl.tcx"
+ "/web2c/cp8bit.tcx"
+ "/web2c/empty.tcx"
+ "/web2c/fmtutil.cnf"
+ "/web2c/il1-t1.tcx"
+ "/web2c/il2-cs.tcx"
+ "/web2c/il2-pl.tcx"
+ "/web2c/il2-t1.tcx"
+ "/web2c/kam-cs.tcx"
+ "/web2c/kam-t1.tcx"
+ "/web2c/macce-pl.tcx"
+ "/web2c/macce-t1.tcx"
+ "/web2c/maz-pl.tcx"
+ "/web2c/mktex.cnf"
+ "/web2c/mktex.opt"
+ "/web2c/mktexdir"
+ "/web2c/mktexdir.opt"
+ "/web2c/mktexnam"
+ "/web2c/mktexnam.opt"
+ "/web2c/mktexupd"
+ "/web2c/natural.tcx"
+ "/web2c/tcvn-t5.tcx"
+ "/web2c/viscii-t5.tcx")
+ (base32
+ "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (arguments
+ (substitute-keyword-arguments (package-arguments template)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((dirs (map dirname (list (which "sed")
+ (which "awk")))))
+ (substitute* '("web2c/mktexdir"
+ "web2c/mktexnam"
+ "web2c/mktexupd")
+ (("^version=" m)
+ (format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a"
+ dirs m))))))))))
+ (inputs
+ (list sed gawk))
+ (home-page "https://www.tug.org/texlive/")
+ (synopsis "Files related to the path searching library for TeX")
+ (description "Kpathsea is a library and utility programs which provide
path searching facilities for TeX file types, including the self-locating
feature required for movable installations, layered on top of a general search
mechanism. This package provides supporting files.")
- (license license:lgpl3+)))
+ (license license:lgpl3+))))
(define-public texlive-latexconfig
(package
@@ -2673,8 +2700,7 @@ formats.")
(add-after 'unpack 'fix-lua-sources
(lambda _
(substitute* "source/latex/base/ltluatex.dtx"
- ((" ") " "))
- #t))
+ ((" ") " "))))
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
;; Find required fonts
@@ -2746,8 +2772,7 @@ formats.")
"--fmtdir=web2c"
(string-append "--cnffile=web2c/fmtutil.cnf"))
;; We don't actually want to install it.
- (delete-file "web2c/fmtutil.cnf")
- #t))
+ (delete-file "web2c/fmtutil.cnf")))
(add-after 'install 'install-more
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -2768,8 +2793,7 @@ formats.")
(for-each (cut install-file <> target)
(find-files "build" ".*"))
(for-each (cut install-file <> web2c)
- (find-files "web2c" ".*"))
- #t)))))))
+ (find-files "web2c" ".*")))))))))
(native-inputs
`(("texlive-bin" ,texlive-bin)
("texlive-tex-ini-files" ,texlive-tex-ini-files)
@@ -3657,35 +3681,21 @@ releases. The bundle consists of a Lua script to run the tasks and a
@code{.tex} file which provides the testing environment.")
(license license:lppl1.3c+))))
-;; The SVN directory contains little more than a dtx file that generates three
-;; of the many lua files that should be installed as part of this package.
-;; This is why we take the release from GitHub instead.
-(define-public texlive-luatex-lualibs
- (package
- (name "texlive-luatex-lualibs")
- (version "2.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/lualatex/lualibs/"
- "releases/download/v"
- version "/lualibs.zip"))
- (file-name (string-append name "-" version ".zip"))
- (sha256
- (base32
- "1xx9blvrmx9hyhrl345lpai9m6xxnw997261a1ahn1bm5r2j5fqy"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags
- (list (string-append "DESTDIR="
- (assoc-ref %outputs "out")
- "/share/texmf-dist"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list texlive-bin unzip zip))
- (home-page "https://github.com/lualatex/lualibs")
- (synopsis "Lua modules for general programming (in the (La)TeX world)")
+(define-public texlive-lualibs
+ (package
+ (inherit
+ (simple-texlive-package
+ "texlive-lualibs"
+ (list "doc/luatex/lualibs/"
+ "source/luatex/lualibs/"
+ "tex/luatex/lualibs/")
+ (base32 "0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz")
+ ;; The source dtx file only unpacks three files. This is why we
+ ;; install all the files as they are, because there is no clear
+ ;; way to generate them all.
+ #:trivial? #true))
+ (home-page "https://ctan.org/macros/luatex/generic/lualibs")
+ (synopsis "Additional Lua functions for LuaTeX macro programmers")
(description
"Lualibs is a collection of Lua modules useful for general programming.
The bundle is based on Lua modules shipped with ConTeXt, and made available in
@@ -3693,6 +3703,23 @@ this bundle for use independent of ConTeXt.")
;; GPL version 2 only
(license license:gpl2)))
+(define-deprecated-package texlive-luatex-lualibs texlive-lualibs)
+
+(define-public texlive-lua-alt-getopt
+ (package
+ (inherit
+ (simple-texlive-package
+ "texlive-lua-alt-getopt"
+ (list "doc/support/lua-alt-getopt/" "scripts/lua-alt-getopt/")
+ (base32 "0cizxzn33n3pn98xkqnxb8s6vdwkar3xrwhraqrs05pjfdn9d4wz")
+ #:trivial? #t))
+ (home-page "https://ctan.org/support/lualibs/lua-alt-getopt")
+ (synopsis "Process application arguments the same way as getopt_long")
+ (description
+ "This package provides a Lua module for processing application arguments
+in the same way as BSD/GNU @code{getopt_long(3)} functions do.")
+ (license license:expat)))
+
;; TODO: We should be able to build this from the sources on Github with
;; texlive-l3build, but I haven't been able to get it to work.
(define-public texlive-luaotfload
@@ -3711,7 +3738,8 @@ this bundle for use independent of ConTeXt.")
(package
(inherit template)
(propagated-inputs
- (list texlive-luatex-lualibs))
+ (list texlive-lua-alt-getopt ;for luaotfload-tool
+ texlive-lualibs))
(home-page "https://github.com/lualatex/luaotfload")
(synopsis "OpenType font loader for LuaTeX")
(description
@@ -3725,71 +3753,6 @@ loading fonts by their proper names instead of file names.")
(define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload)
-;; FIXME: This package is a temporary workaround to provide ‘lualatex.fmt’ for
-;; the LuaTeX engine. It is needed because it was discovered too late in the
-;; core-updates-frozen cycle that texlive-latex-base only provides it for
-;; LuaHBTeX. See https://issues.guix.gnu.org/51252.
-(define-public texlive-latex-luatex
- (package
- (name "texlive-latex-luatex")
- (version (number->string %texlive-revision))
- (source #f)
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (ice-9 rdelim)
- (ice-9 string-fun))
- #:phases
- (modify-phases %standard-phases
- (delete 'unpack)
- (delete 'bootstrap)
- (delete 'configure)
- (delete 'check)
- (replace 'build
- (lambda* (#:key inputs #:allow-other-keys)
- (mkdir "web2c")
- (let ((fmtutil.cnf-in (open-file
- (string-append
- (assoc-ref inputs "texlive-kpathsea")
- "/share/texmf-dist/web2c/fmtutil.cnf")
- "r"))
- (fmtutil.cnf-out (open-file "web2c/fmtutil.cnf" "w")))
-
- ;; Copy ‘lualatex’ format lines to the new fmtutil.cnf, changing
- ;; the engine from ‘luahbtex’ to ‘luatex’.
- (do ((line "" (read-line fmtutil.cnf-in 'concat)))
- ((eof-object? line))
- (when (string-prefix? "lualatex" line)
- (display (string-replace-substring line "luahbtex" "luatex")
- fmtutil.cnf-out)))
- (close-port fmtutil.cnf-out)
- (close-port fmtutil.cnf-in)
-
- (invoke "fmtutil" "--sys" "--all" "--fmtdir=web2c"
- "--cnffile=web2c/fmtutil.cnf")
-
- ;; Don't risk this file interfering with anything else.
- (delete-file "web2c/fmtutil.cnf"))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((web2c (string-append %output "/share/texmf-dist/web2c")))
- (mkdir-p web2c)
- (copy-recursively "web2c" web2c)))))))
- (native-inputs
- (list texlive-bin
- texlive-babel
- texlive-cm
- texlive-fonts-latex
- texlive-kpathsea
- texlive-latex-base
- texlive-lm
- texlive-tex-ini-files))
- (home-page (package-home-page texlive-latex-base))
- (synopsis "LuaLaTeX format files for LuaTeX")
- (description "This package is necessary to use LaTeX with the LuaTeX engine.")
- (license (package-license texlive-latex-base))))
-
(define-public texlive-latex-amsmath
(package
(name "texlive-latex-amsmath")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 5ff1fe9901..5a78dc3a6f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1675,14 +1675,7 @@ visualize your public Git repositories on a web interface.")
"not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"
" and not test_installed_from_venv"
- " and not test_healthy_venv_creator")))))
- (add-before 'reset-gzip-timestamps 'make-gz-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))))))))
+ " and not test_healthy_venv_creator"))))))))
(native-inputs
`(("git" ,git-minimal)
("python-covdefaults" ,python-covdefaults)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a9996e477e..89738e83b0 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -49,7 +49,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021,2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
@@ -4387,9 +4387,6 @@ tools for styling them, including a built-in real-time video preview.")
("pkg-config" ,pkg-config)))
(arguments
`(#:glib-or-gtk? #t
- ;; Pitivi is not yet compatible with Meson 0.60:
- ;; https://gitlab.gnome.org/GNOME/pitivi/-/issues/2593
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'wrap-other-dependencies
@@ -5206,7 +5203,7 @@ result in several formats:
(define-public rav1e
(package
(name "rav1e")
- (version "0.4.1")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
@@ -5215,15 +5212,18 @@ result in several formats:
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09"))))
+ "006bfcmjwg0phg8gc25b1sl2ngjrb2bh1b3fd0s5gbf9nlkr8qsn"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-aom-sys" ,rust-aom-sys-0.2)
+ `(;; Strip the '--release' flag to work around the doctest failures with
+ ;; Rust 1.57 (see: https://github.com/xiph/rav1e/issues/2851).
+ #:cargo-test-flags '()
+ #:cargo-inputs
+ (("rust-aom-sys" ,rust-aom-sys-0.3)
("rust-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
- ("rust-arrayvec" ,rust-arrayvec-0.5)
- ("rust-av-metrics" ,rust-av-metrics-0.6)
+ ("rust-arrayvec" ,rust-arrayvec-0.7)
+ ("rust-av-metrics" ,rust-av-metrics-0.7)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1)
("rust-byteorder" ,rust-byteorder-1)
@@ -5231,7 +5231,7 @@ result in several formats:
("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.14)
("rust-crossbeam" ,rust-crossbeam-0.8)
- ("rust-dav1d-sys" ,rust-dav1d-sys-0.3.2)
+ ("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
("rust-fern" ,rust-fern-0.6)
("rust-image" ,rust-image-0.23)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
@@ -5250,7 +5250,7 @@ result in several formats:
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1)
("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
- ("rust-rustc-version" ,rust-rustc-version-0.3)
+ ("rust-rustc-version" ,rust-rustc-version-0.4)
("rust-scan-fmt" ,rust-scan-fmt-0.2)
("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.3)
@@ -5262,16 +5262,21 @@ result in several formats:
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
("rust-y4m" ,rust-y4m-0.7))
#:cargo-development-inputs
- (("rust-assert-cmd" ,rust-assert-cmd-1)
+ (("rust-assert-cmd" ,rust-assert-cmd-2)
("rust-cc" ,rust-cc-1)
("rust-criterion" ,rust-criterion-0.3)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
- ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-rand" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3)
- ("rust-semver" ,rust-semver-0.11))
+ ("rust-semver" ,rust-semver-1))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'relax-versions
+ (lambda _
+ (substitute* "Cargo.toml"
+ ;; Allow using more recent versions of
+ (("~3.1.2") "~3"))))
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 4a9ac08bc9..a16a12c7aa 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1340,8 +1340,6 @@ to integrate other virtualization mechanisms if needed.")
(base32
"1gdcvqz88qkp402zra9csc6391f2xki1270x683n6ixakl3gf8w4"))))
(build-system meson-build-system)
- (arguments
- `(#:meson ,meson-0.59)) ;KeyError: 'install_dir' with meson 0.60
(inputs
(list openssl cyrus-sasl lvm2 ; for libdevmapper
libyajl))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 8e9aa2b1b5..cfe24f41b0 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -251,15 +251,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
"-DUSE_SYSTEMD=OFF"
(string-append ; uses lib64 by default
"-DLIB_INSTALL_DIR="
- (assoc-ref %outputs "out") "/lib")
- ;; XXX Adding GStreamer GL support would apparently
- ;; require adding gst-plugins-bad to the inputs,
- ;; which might entail a security risk as a result of
- ;; the plugins of dubious code quality that are
- ;; included. More investigation is needed. For
- ;; now, we explicitly disable it to prevent an error
- ;; at configuration time.
- "-DUSE_GSTREAMER_GL=OFF")
+ (assoc-ref %outputs "out") "/lib"))
#:make-flags
;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
(list "-j" (number->string (max 2 (parallel-job-count))))
@@ -350,7 +342,10 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
(description
"WebKitGTK+ is a full-featured port of the WebKit rendering engine,
suitable for projects requiring any kind of web integration, from hybrid
-HTML/CSS applications to full-fledged web browsers.")
+HTML/CSS applications to full-fledged web browsers. WebKitGTK+ video playing
+capabilities can be extended through the use of GStreamer plugins (not
+propagated by default) such as @code{gst-plugins-good} and
+@code{gst-plugins-bad}.")
;; WebKit's JavaScriptCore and WebCore components are available under
;; the GNU LGPL, while the rest is available under a BSD-style license.
(license (list license:lgpl2.0
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 74a6ea38b8..865ffdb61f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -431,7 +431,7 @@ avoiding password prompts when X11 forwarding has already been setup.")
wayland-protocols
xkeyboard-config))
(native-inputs
- (list bison doxygen pkg-config))
+ (list bison doxygen pkg-config python))
(arguments
`(#:configure-flags
(list (string-append "-Dxkb-config-root="
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index c54417c586..14e35d19ae 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5532,18 +5532,18 @@ Wayland.")
(define-public libx11
(package
(name "libx11")
- (version "1.7.2")
+ (version "1.7.3.1")
(source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://xorg/individual/lib/libX11-"
- version ".tar.bz2"))
- (sha256
- (base32
- "0v7aj8q3rlchdyfwdna7n7vgpyzyir391dlv5rwy9fxagbikbyhw"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://xorg.freedesktop.org/archive/"
+ "/individual/lib/libX11-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1289nvs52q9fnp7zl30bdpbvqggnjjb39vy0zll511zvcrr43z9g"))))
(build-system gnu-build-system)
(outputs '("out"
- "doc")) ;8 MiB of man pages + XML
+ "doc")) ;8 MiB of man pages + XML
(arguments
`(#:configure-flags
(list (string-append "--mandir="
@@ -5552,9 +5552,9 @@ Wayland.")
"--disable-static"
,@(malloc0-flags))))
(propagated-inputs
- (list xorgproto libxcb))
+ (list xorgproto libxcb))
(inputs
- (list xtrans))
+ (list xtrans))
(native-inputs
(list pkg-config xorgproto))
(home-page "https://www.x.org/wiki/")
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index d0f7413268..d84411c090 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -598,6 +598,8 @@ and 'man/'. This phase moves directories to the right place if needed."
(string-suffix? ".tgz" file))
(gzip-file? file)))
#:stat lstat)))
+ ;; Ensure the files are writable.
+ (for-each make-file-writable files)
(for-each reset-gzip-timestamp files)))
(match outputs
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index 3beb7da67a..dd5a91f52f 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1462,10 +1463,9 @@ not supported."
`(let ((cl (command-line)))
(apply execl ,interpreter
(car cl)
- (cons (car cl)
- (append
- ',(string-split args #\space)
- cl))))))
+ (append
+ ',(string-tokenize args char-set:graphic)
+ cl)))))
(template (string-append prog ".XXXXXX"))
(out (mkstemp! template))
(st (stat prog))
diff --git a/guix/lint.scm b/guix/lint.scm
index 379bd0e80b..3ca7a0b608 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -571,9 +571,7 @@ or \"bash-minimal\" is not in its inputs. 'wrap-script' is not supported."
input-names)))
(define (check-procedure-body body)
(match body
- ;; Explicitely setting an interpreter is acceptable,
- ;; #:sh support is added on 'core-updates'.
- ;; TODO(core-updates): remove mention of core-updates.
+ ;; Explicitely setting an interpreter is acceptable.
(('wrap-program _ '#:sh . _) '())
(('wrap-program _ . _)
(list (report-wrap-program-error package 'wrap-program)))
diff --git a/tests/build-utils.scm b/tests/build-utils.scm
index 6b131c0af8..7f4f12ccc7 100644
--- a/tests/build-utils.scm
+++ b/tests/build-utils.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -167,9 +168,7 @@ echo hello world"))
"/some/path:/some/other/path"))))
'(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/sh"
- (car cl)
- (cons (car cl)
- (append '("") cl)))))
+ (car cl) (append (quote ()) cl))))
script-contents)
(call-with-temporary-directory
(lambda (directory)
@@ -208,8 +207,7 @@ print('hello world')"))
`(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/python3"
(car cl)
- (cons (car cl)
- (append '("" "-and" "-args") cl)))))
+ (append '("-and" "-args") cl))))
script-contents)
(call-with-temporary-directory
(lambda (directory)
@@ -243,6 +241,54 @@ print('hello world')"))
"/some/other/path")))
#f)))))
+(define (arg-test bash-args)
+ (call-with-temporary-directory
+ (lambda (directory)
+ (let ((script-file-name (string-append directory "/bash-test.sh")))
+ (call-with-output-file script-file-name
+ (lambda (port)
+ (display (string-append "\
+#!" (which "bash") bash-args "
+echo \"$#$0$*${A}\"")
+ port)))
+
+ (display "Unwrapped script contents:\n")
+ (call-with-input-file script-file-name
+ (lambda (port) (display (get-string-all port))))
+ (newline) (newline)
+ (chmod script-file-name #o777)
+ (setenv "A" "A")
+ (let* ((run-script (lambda _
+ (open-pipe*
+ OPEN_READ
+ script-file-name "1" "2" "3 3" "4")))
+ (pipe (run-script))
+ (unwrapped-output (get-string-all pipe)))
+ (close-pipe pipe)
+
+ (wrap-script script-file-name `("A" = ("A\nA")))
+
+ (display "Wrapped script contents:\n")
+ (call-with-input-file script-file-name
+ (lambda (port) (display (get-string-all port))))
+ (newline) (newline)
+
+ (let* ((pipe (run-script))
+ (wrapped-output (get-string-all pipe)))
+ (close-pipe pipe)
+ (display "./bash-test.sh 1 2 3\\ 3 4 # Output:\n")
+ (display unwrapped-output) (newline)
+ (display "./bash-test.sh 1 2 3\\ 3 4 # Output (wrapped):\n")
+ (display wrapped-output) (newline)
+ (string=? (string-append unwrapped-output "A\n")
+ wrapped-output)))))))
+
+(test-assert "wrap-script, argument handling"
+ (arg-test ""))
+
+(test-assert "wrap-script, argument handling, bash --norc"
+ (arg-test " --norc"))
+
(test-equal "substitute*, text contains a NUL byte, UTF-8"
"c\0d"
(with-fluids ((%default-port-encoding "UTF-8")
@@ -287,5 +333,4 @@ print('hello world')"))
("guile/bin" . ,(dirname (which "guile"))))
"guile"))))
-
(test-end)