me
/
guix
Archived
1
0
Fork 0

Merge branch 'version-1.4.0'

With resolved conflicts in:
	gnu/packages/gnome.scm
	gnu/packages/openstack.scm
	gnu/packages/python-xyz.scm
Maxim Cournoyer 2022-01-17 10:07:35 -05:00
commit 276f40fdc3
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
71 changed files with 1962 additions and 1643 deletions

View File

@ -910,6 +910,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \ %D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.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/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.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/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.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/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.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/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \ %D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.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/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \ %D%/packages/patches/slim-config.patch \

View File

@ -805,16 +805,15 @@ hostname.")
(define-public shadow (define-public shadow
(package (package
(name "shadow") (name "shadow")
(version "4.8.1") (version "4.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/shadow-maint/shadow/releases/" "https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz")) "download/v" version "/shadow-" version ".tar.xz"))
(patches (search-patches "shadow-hurd-pctrl.patch"))
(sha256 (sha256
(base32 (base32
"0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3")))) "0i4iijbshnwnsrskxzrh18xgmzff0hdpsnnkmyc2gdn1x4n1zv7y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU `(;; Assume System V `setpgrp (void)', which is the default on GNU
@ -825,9 +824,16 @@ hostname.")
'("--with-libpam")) '("--with-libpam"))
"shadow_cv_logdir=/var/log" "shadow_cv_logdir=/var/log"
"ac_cv_func_setpgrp_void=yes") "ac_cv_func_setpgrp_void=yes")
#:phases #:phases
(modify-phases %standard-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) ,@(if (%current-target-system)
'((add-before 'configure 'set-runtime-shell '((add-before 'configure 'set-runtime-shell
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -848,8 +854,7 @@ hostname.")
"libc")))) "libc"))))
(substitute* "lib/nscd.c" (substitute* "lib/nscd.c"
(("/usr/sbin/nscd") (("/usr/sbin/nscd")
(string-append libc "/sbin/nscd"))) (string-append libc "/sbin/nscd"))))))
#t)))
(add-after 'install 'remove-groups (add-after 'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils. ;; Remove `groups', which is already provided by Coreutils.
@ -857,9 +862,7 @@ hostname.")
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(man (string-append out "/share/man"))) (man (string-append out "/share/man")))
(delete-file (string-append bin "/groups")) (delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\.")) (for-each delete-file (find-files man "^groups\\."))))))))
#t))))))
(inputs (inputs
`(,@(if (hurd-target?) `(,@(if (hurd-target?)
'() '()
@ -1206,8 +1209,7 @@ connection alive.")
(("^RELEASETYPE=.*") (("^RELEASETYPE=.*")
(format #f "RELEASETYPE=~a\n" ,bind-release-type)) (format #f "RELEASETYPE=~a\n" ,bind-release-type))
(("^RELEASEVER=.*") (("^RELEASEVER=.*")
(format #f "RELEASEVER=~a\n" ,bind-release-version))) (format #f "RELEASEVER=~a\n" ,bind-release-version)))))
#t))
,@(if (%current-target-system) ,@(if (%current-target-system)
'((add-before 'configure 'fix-bind-cross-compilation '((add-before 'configure 'fix-bind-cross-compilation
(lambda _ (lambda _
@ -1216,8 +1218,7 @@ connection alive.")
"--host=$host_alias")) "--host=$host_alias"))
;; BIND needs a native compiler because the DHCP ;; BIND needs a native compiler because the DHCP
;; build system uses the built 'gen' executable. ;; build system uses the built 'gen' executable.
(setenv "BUILD_CC" "gcc") (setenv "BUILD_CC" "gcc"))))
#t)))
'()) '())
(add-after 'configure 'post-configure (add-after 'configure 'post-configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -1255,11 +1256,7 @@ connection alive.")
"--owner=root:0" "--owner=root:0"
"--group=root:0"))))) "--group=root:0")))))
(add-after 'install 'post-install (add-after 'install 'post-install
;; TODO(core-updates): native-inputs isn't required anymore. (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key ,@(if (%current-target-system)
'(native-inputs)
'())
inputs outputs #:allow-other-keys)
;; Install the dhclient script for GNU/Linux and make sure ;; Install the dhclient script for GNU/Linux and make sure
;; if finds all the programs it needs. ;; if finds all the programs it needs.
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1282,31 +1279,13 @@ connection alive.")
,(map (lambda (dir) ,(map (lambda (dir)
(string-append dir "/bin:" (string-append dir "/bin:"
dir "/sbin")) dir "/sbin"))
(list inetutils net-tools coreutils sed)))) (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))))))
(native-inputs (native-inputs
(list perl file)) (list perl file))
(inputs `(("inetutils" ,inetutils) (inputs `(("inetutils" ,inetutils)
;; TODO(core-updates): simply make this unconditional ("bash" ,(canonical-package bash-minimal)) ;for wrap-program
,@(if (%current-target-system)
;; for wrap-program
`(("bash" ,(canonical-package bash-minimal)))
'())
,@(if (hurd-target?) '() ,@(if (hurd-target?) '()
`(("net-tools" ,net-tools) `(("net-tools" ,net-tools)
("iproute" ,iproute))) ("iproute" ,iproute)))

View File

@ -68,29 +68,38 @@
`(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It `(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
;; should use our own "cpp" instead of "/lib/cpp". ;; should use our own "cpp" instead of "/lib/cpp".
#:tests? #f #:tests? #f
,@(if (%current-target-system) #:phases
`(#:phases (modify-phases %standard-phases
(modify-phases %standard-phases ,@(if (%current-target-system)
(add-after 'install 'patch-non-shebang-references '((add-after 'install 'patch-non-shebang-references
(lambda* (#:key build inputs outputs #:allow-other-keys) (lambda* (#:key build inputs outputs #:allow-other-keys)
;; `patch-shebangs' patches shebangs only, and the Perl ;; `patch-shebangs' patches shebangs only, and the Perl
;; scripts use a re-exec feature that references the ;; scripts use a re-exec feature that references the
;; build hosts' perl. Also, BASH and M4 store references ;; build hosts' perl. Also, BASH and M4 store references
;; hide in the scripts. ;; hide in the scripts.
(let ((bash (assoc-ref inputs "bash")) (let ((bash (assoc-ref inputs "bash"))
(m4 (assoc-ref inputs "m4")) (m4 (assoc-ref inputs "m4"))
(perl (assoc-ref inputs "perl")) (perl (assoc-ref inputs "perl"))
(out (assoc-ref outputs "out")) (out (assoc-ref outputs "out"))
(store-directory (%store-directory))) (store-directory (%store-directory)))
(substitute* (find-files (string-append out "/bin")) (substitute* (find-files (string-append out "/bin"))
(((string-append store-directory "/[^/]*-bash-[^/]*")) (((string-append store-directory "/[^/]*-bash-[^/]*"))
bash) bash)
(((string-append store-directory "/[^/]*-m4-[^/]*")) (((string-append store-directory "/[^/]*-m4-[^/]*"))
m4) m4)
(((string-append store-directory "/[^/]*-perl-[^/]*")) (((string-append store-directory "/[^/]*-perl-[^/]*"))
perl)) perl))))))
#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.
(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/") (home-page "https://www.gnu.org/software/autoconf/")
(synopsis "Create source code configuration scripts") (synopsis "Create source code configuration scripts")
(description (description
@ -130,19 +139,7 @@ know anything about Autoconf or M4.")
(executable-file? file))) (executable-file? file)))
(find-files "bin" (find-files "bin"
(lambda (file stat) (lambda (file stat)
(executable-file? file))))) (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")))))))))))
(define-public autoconf autoconf-2.69) (define-public autoconf autoconf-2.69)

View File

@ -44,7 +44,7 @@ for dist in ws:
pkg_resources.require(req) pkg_resources.require(req)
print('OK') print('OK')
except Exception as e: except Exception as e:
print('ERROR:', req, e) print('ERROR:', req, repr(e))
ret = 1 ret = 1
continue continue

View File

@ -18,6 +18,7 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
import os import os
import site
import sys import sys
# Commentary: # 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 matching_sites = [p for p in all_sites_norm
if p.endswith(site_packages_prefix)] if p.endswith(site_packages_prefix)]
# Insert sites matching the current version into sys.path, right before if matching_sites:
# Python's own site. This way, the user can override the libraries provided # Deduplicate the entries, append them to sys.path, and handle any
# by Python itself. # .pth files they contain.
sys_path_absolute = [os.path.realpath(p) for p in sys.path] for s in matching_sites:
index = sys_path_absolute.index(python_site) site.addsitedir(s)
sys.path[index:index] = matching_sites
# 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])

View File

@ -43,22 +43,21 @@
(version "0.8") (version "0.8")
(home-page "https://avahi.org") (home-page "https://avahi.org")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page "/download/avahi-" (uri (string-append home-page "/download/avahi-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6")) "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6"))
(patches (search-patches "avahi-localstatedir.patch")) (patches (search-patches "avahi-localstatedir.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Fix version constraint in the avahi-libevent pkg-config file. ;; Fix version constraint in the avahi-libevent pkg-config file.
;; This can be removed for Avahi versions > 0.8. ;; This can be removed for Avahi versions > 0.8.
(substitute* "avahi-libevent.pc.in" (substitute* "avahi-libevent.pc.in"
(("libevent-2\\.1\\.5") (("libevent-2\\.1\\.5")
"libevent >= 2.1.5")) "libevent >= 2.1.5"))))))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-distro=none" `(#:configure-flags '("--with-distro=none"
@ -75,26 +74,20 @@
,@(if (%current-target-system) ,@(if (%current-target-system)
'("ac_cv_prog_have_pkg_config=yes") '("ac_cv_prog_have_pkg_config=yes")
'())) '()))
;; TODO(core-updates): Make this unconditional. #:modules ((srfi srfi-26)
,@(if (%current-target-system) (guix build utils)
`(#:modules ((srfi srfi-26) (guix build gnu-build-system))
(guix build utils) #:phases
(guix build gnu-build-system)) ,#~(modify-phases %standard-phases
#:phases (add-after 'patch-shebangs 'patch-more-shebangs
,#~(modify-phases %standard-phases (lambda* (#:key inputs #:allow-other-keys)
(add-after 'patch-shebangs 'patch-more-shebangs (define path
(lambda* (#:key inputs #:allow-other-keys) `(,(dirname (search-input-file inputs "bin/sh"))))
(define path (for-each
`(,(dirname (search-input-file inputs "bin/sh")))) (cut patch-shebang <> path)
(for-each (find-files (string-append #$output "/etc/avahi"))))))))
(cut patch-shebang <> path)
(find-files (string-append #$output "/etc/avahi")))))))
'())))
(inputs (inputs
;; TODO(core-updates): Make this input unconditional. `(("bash-minimal" ,bash-minimal)
`(,@(if (%current-target-system)
`(("bash-minimal" ,bash-minimal))
'())
("dbus" ,dbus) ("dbus" ,dbus)
("expat" ,expat) ("expat" ,expat)
("gdbm" ,gdbm) ("gdbm" ,gdbm)

View File

@ -521,10 +521,12 @@ change. GNU make offers many powerful extensions over the standard utility.")
(sha256 (sha256
(base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37")) (base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37"))
(patches (search-patches "binutils-loongson-workaround.patch" (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) (build-system gnu-build-system)
(arguments (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. ;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc" "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 ;; Make sure 'ar' and 'ranlib' produce archives in a
;; deterministic fashion. ;; 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") (synopsis "Binary utilities: bfd gas gprof ld")
(description (description
@ -556,23 +564,6 @@ included.")
(license gpl3+) (license gpl3+)
(home-page "https://www.gnu.org/software/binutils/"))) (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 ;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream). ;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
;; Keep this version around until the patch is updated. ;; Keep this version around until the patch is updated.
@ -594,7 +585,7 @@ included.")
(properties '()))) (properties '())))
(define-public binutils-gold (define-public binutils-gold
(package/inherit binutils-next (package/inherit binutils
(name "binutils-gold") (name "binutils-gold")
(arguments (arguments
(substitute-keyword-arguments (package-arguments binutils) (substitute-keyword-arguments (package-arguments binutils)

View File

@ -373,7 +373,7 @@ single executable called @code{bam}.")
(define-public bcftools (define-public bcftools
(package (package
(name "bcftools") (name "bcftools")
(version "1.12") (version "1.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/samtools/bcftools/" (uri (string-append "https://github.com/samtools/bcftools/"
@ -381,12 +381,11 @@ single executable called @code{bam}.")
version "/bcftools-" version ".tar.bz2")) version "/bcftools-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1x94l1hy2pi3lbz0sxlbw0g6q5z5apcrhrlcwda94ns9n4r6a3ks")) "1jqrma16fx8kpvb3c0462dg0asvmiv5yi8myqmc5ddgwi6p8ivxp"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Delete bundled htslib. ;; Delete bundled htslib.
(delete-file-recursively "htslib-1.12") (delete-file-recursively "htslib-1.14")))))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -397,8 +396,7 @@ single executable called @code{bam}.")
(add-before 'check 'patch-tests (add-before 'check 'patch-tests
(lambda _ (lambda _
(substitute* "test/test.pl" (substitute* "test/test.pl"
(("/bin/bash") (which "bash"))) (("/bin/bash") (which "bash"))))))))
#t)))))
(native-inputs (native-inputs
(list htslib perl)) (list htslib perl))
(inputs (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. ;; The sources are dual MIT/GPL, but becomes GPL-only when USE_GPL=1.
(license (list license:gpl3+ license:expat)))) (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 (define-public bcftools-1.10
(package (inherit bcftools) (package/inherit bcftools
(name "bcftools")
(version "1.10") (version "1.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -427,11 +441,8 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Delete bundled htslib. ;; Delete bundled htslib.
(delete-file-recursively "htslib-1.10") (delete-file-recursively "htslib-1.10")))))
#t)))) (native-inputs (list htslib-1.10 perl))))
(build-system gnu-build-system)
(native-inputs
(list htslib-1.10 perl))))
(define-public bedops (define-public bedops
(package (package
@ -1064,13 +1075,7 @@ Python.")
(("^(.+)def test_from_hdf5_issue_731" m indent) (("^(.+)def test_from_hdf5_issue_731" m indent)
(string-append indent (string-append indent
"@npt.dec.skipif(True, msg='Guix')\n" "@npt.dec.skipif(True, msg='Guix')\n"
m))))) 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"))))))))
(propagated-inputs (propagated-inputs
(list python-anndata (list python-anndata
python-numpy python-numpy
@ -2316,7 +2321,7 @@ has several key features:
(define-public python-pysam (define-public python-pysam
(package (package
(name "python-pysam") (name "python-pysam")
(version "0.16.0.1") (version "0.18.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
;; Test data is missing on PyPi. ;; Test data is missing on PyPi.
@ -2326,11 +2331,10 @@ has several key features:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"168bwwm8c2k22m7paip8q0yajyl7xdxgnik0bgjl7rhqg0majz0f")) "042ca27r6634xg2ixgvq1079cp714wmm6ml7bwc1snn0wxxzywfg"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Drop bundled htslib. TODO: Also remove samtools ;; FIXME: Unbundle samtools and bcftools.
;; and bcftools.
(delete-file-recursively "htslib"))))) (delete-file-recursively "htslib")))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
@ -2347,35 +2351,24 @@ has several key features:
(setenv "CFLAGS" "-D_CURSES_LIB=1"))) (setenv "CFLAGS" "-D_CURSES_LIB=1")))
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (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? (when tests?
;; Step out of source dir so python does not import from CWD. ;; Step out of source dir so python does not import from CWD.
(with-directory-excursion "tests" (with-directory-excursion "tests"
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
(invoke "make" "-C" "pysam_data") (invoke "make" "-C" "pysam_data")
(invoke "make" "-C" "cbcf_data") (invoke "make" "-C" "cbcf_data")
(invoke "pytest" "-k" ;; The FileHTTP test requires network access.
(string-append (invoke "pytest" "-k" "not FileHTTP"))))))))
;; 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")))))))))
(propagated-inputs (propagated-inputs
(list htslib-1.10)) ; Included from installed header files. (list htslib)) ; Included from installed header files.
(inputs (inputs
(list ncurses curl zlib)) (list ncurses curl zlib))
(native-inputs (native-inputs
(list python-cython (list python-cython
python-pytest python-pytest
;; Dependencies below are are for tests only. ;; Dependencies below are are for tests only.
samtools-1.10 samtools
bcftools-1.10 bcftools))
python-nose))
(home-page "https://github.com/pysam-developers/pysam") (home-page "https://github.com/pysam-developers/pysam")
(synopsis "Python bindings to the SAMtools C API") (synopsis "Python bindings to the SAMtools C API")
(description (description
@ -2584,13 +2577,6 @@ databases.")
`(#:tests? #false `(#:tests? #false
#:phases #:phases
(modify-phases %standard-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 (add-after 'unpack 'use-python3-for-cython
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
@ -4786,7 +4772,7 @@ performance.")
(define-public htslib (define-public htslib
(package (package
(name "htslib") (name "htslib")
(version "1.12") (version "1.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -4794,7 +4780,7 @@ performance.")
version "/htslib-" version ".tar.bz2")) version "/htslib-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1jplnvizgr0fyyvvmkfmnsywrrpqhid3760vw15bllz98qdi9012")))) "0pwk8yhhvb85mi1d2qhwsb4samc3rmbcrq7b1s0jz0glaa7in8pd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; Let htslib translate "gs://" and "s3://" to regular https links with ;; Let htslib translate "gs://" and "s3://" to regular https links with
;; "--enable-gcs" and "--enable-s3". For these options to work, we also ;; "--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 ;; the rest is released under the Expat license
(license (list license:expat license:bsd-3)))) (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 (define-public htslib-1.10
(package (inherit htslib) (package/inherit htslib
(name "htslib")
(version "1.10") (version "1.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -4834,8 +4831,7 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
"0wm9ay7qgypj3mwx9zl1mrpnr36298b1aj5vx69l4k7bzbclvr3s")))))) "0wm9ay7qgypj3mwx9zl1mrpnr36298b1aj5vx69l4k7bzbclvr3s"))))))
(define-public htslib-1.9 (define-public htslib-1.9
(package (inherit htslib) (package/inherit htslib
(name "htslib")
(version "1.9") (version "1.9")
(source (origin (source (origin
(method url-fetch) (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. ;; This package should be removed once no packages rely upon it.
(define htslib-1.3 (define htslib-1.3
(package (package/inherit htslib
(inherit htslib)
(version "1.3.1") (version "1.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -4861,8 +4856,7 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
"1rja282fwdc25ql6izkhdyh8ppw8x2fs0w0js78zgkmqjlikmma9")))))) "1rja282fwdc25ql6izkhdyh8ppw8x2fs0w0js78zgkmqjlikmma9"))))))
(define htslib-for-samtools-1.2 (define htslib-for-samtools-1.2
(package (package/inherit htslib
(inherit htslib)
(version "1.2.1") (version "1.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -6148,6 +6142,44 @@ to the user's query of interest.")
(define-public samtools (define-public samtools
(package (package
(name "samtools") (name "samtools")
(version "1.14")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/samtools/samtools/"
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
"0x3xdda78ac5vx66b3jdsv9sfhyz4npl4znl1zbaf3lbm6xdlhck"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
(delete-file-recursively "htslib-1.14")))))
(build-system gnu-build-system)
(arguments
`(#: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"))))))))
(native-inputs (list pkg-config))
(inputs
(list htslib ncurses perl python zlib))
(home-page "http://samtools.sourceforge.net")
(synopsis "Utilities to efficiently manipulate nucleotide sequence alignments")
(description
"Samtools implements various utilities for post-processing nucleotide
sequence alignments in the SAM, BAM, and CRAM formats, including indexing,
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") (version "1.12")
(source (source
(origin (origin
@ -6161,47 +6193,31 @@ to the user's query of interest.")
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Delete bundled htslib. ;; Delete bundled htslib.
(delete-file-recursively "htslib-1.12") (delete-file-recursively "htslib-1.12")))))
#t))))
(build-system gnu-build-system)
(arguments (arguments
`(#:modules ((ice-9 ftw) (substitute-keyword-arguments (package-arguments samtools)
(ice-9 regex) ((#:modules _ #f)
(guix build gnu-build-system) '((ice-9 ftw)
(guix build utils)) (ice-9 regex)
#:configure-flags (list "--with-ncurses") (guix build gnu-build-system)
#:phases (guix build utils)))
(modify-phases %standard-phases ((#:phases phases)
(add-after 'unpack 'patch-tests `(modify-phases ,phases
(lambda _ (add-after 'install 'install-library
(substitute* "test/test.pl" (lambda* (#:key outputs #:allow-other-keys)
;; The test script calls out to /bin/bash (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(("/bin/bash") (which "bash"))) (install-file "libbam.a" lib))))
#t)) (add-after 'install 'install-headers
(add-after 'install 'install-library (lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key outputs #:allow-other-keys) (let ((include (string-append (assoc-ref outputs "out")
(let ((lib (string-append (assoc-ref outputs "out") "/lib"))) "/include/samtools/")))
(install-file "libbam.a" lib) (for-each (lambda (file)
#t))) (install-file file include))
(add-after 'install 'install-headers (scandir "." (lambda (name)
(lambda* (#:key outputs #:allow-other-keys) (string-match "\\.h$" name)))))))))))
(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))))))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(inputs (inputs
(list htslib ncurses perl python zlib)) (list htslib-1.12 ncurses perl python zlib))))
(home-page "http://samtools.sourceforge.net")
(synopsis "Utilities to efficiently manipulate nucleotide sequence alignments")
(description
"Samtools implements various utilities for post-processing nucleotide
sequence alignments in the SAM, BAM, and CRAM formats, including indexing,
variant calling (in conjunction with bcftools), and a simple alignment
viewer.")
(license license:expat)))
(define-public samtools-1.10 (define-public samtools-1.10
(package (inherit samtools) (package (inherit samtools)

View File

@ -264,7 +264,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson (define-public meson
(package (package
(name "meson") (name "meson")
(version "0.60.0") (version "0.60.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/" (uri (string-append "https://github.com/mesonbuild/meson/"
@ -272,42 +272,10 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0irdn7hx5a182jbvq2kmdwd1v7mljzh5fm27pg4xk879hnv6h388")) "13mrrizg4vl6n5k7fz6amyafnn3i097dcarr552qc0ca6nlmzjl7"))
(patches (search-patches (patches (search-patches
"meson-allow-dirs-outside-of-prefix.patch")))) "meson-allow-dirs-outside-of-prefix.patch"))))
(build-system python-build-system) (build-system python-build-system)
(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.
(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 (arguments
`(;; FIXME: Tests require many additional inputs and patching many `(;; FIXME: Tests require many additional inputs and patching many
;; hard-coded file system locations in "run_unittests.py". ;; hard-coded file system locations in "run_unittests.py".
@ -327,7 +295,17 @@ import sys
sys.path.insert(0, '~a/lib/python~a/site-packages') sys.path.insert(0, '~a/lib/python~a/site-packages')
# EASY-INSTALL-ENTRY-SCRIPT" # EASY-INSTALL-ENTRY-SCRIPT"
output python-version))))))))) 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 ;;; This older Meson variant is kept for now for gtkmm and others that may
;;; have problems with 0.60. ;;; have problems with 0.60.

View File

@ -79,6 +79,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
@ -845,6 +846,7 @@ available via the @code{unittest.mock} module.")
("python2-funcsigs" ,python2-funcsigs) ("python2-funcsigs" ,python2-funcsigs)
,@(package-propagated-inputs base)))))) ,@(package-propagated-inputs base))))))
;;; This package is unmaintained (see the note at the top of doc/index.rst).
(define-public python-nose (define-public python-nose
(package (package
(name "python-nose") (name "python-nose")
@ -858,15 +860,26 @@ available via the @code{unittest.mock} module.")
"164a43k7k2wsqqk1s6vavcdamvss4mz0vd6pwzv2h9n8rgwzxgzi")))) "164a43k7k2wsqqk1s6vavcdamvss4mz0vd6pwzv2h9n8rgwzxgzi"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (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/") (home-page "http://readthedocs.org/docs/nose/")
(synopsis "Python testing library") (synopsis "Python testing library")
(description (description
"Nose extends the unittest library to make testing easier.") "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 (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 (define-public python-nose2
(package (package
@ -1410,14 +1423,14 @@ result back.")
(define-public python-pytest-timeout (define-public python-pytest-timeout
(package (package
(name "python-pytest-timeout") (name "python-pytest-timeout")
(version "1.4.2") (version "2.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pytest-timeout" version)) (uri (pypi-uri "pytest-timeout" version))
(sha256 (sha256
(base32 (base32
"0xnsigs0kmpq1za0d4i522sp3f71x5bgpdh3ski0rs74yqy13cr0")))) "04l1cd2qyp3fbccw95a8nqg682r647v7yil8807dgs7xv9a8pyg6"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#: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 (define-public python-testpath
(package (package
(name "python-testpath") (name "python-testpath")
(version "0.4.4") (version "0.5.0")
(source (source
(origin (origin
(method git-fetch) (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))) "08r1c6bhvj8pcdvzkqv1950k36a6q3v81fd2p1yqdq3c07mcwgif"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ; this package does not even have a setup.py (list
#:modules ((guix build python-build-system) #:phases
(guix build utils) #~(modify-phases %standard-phases
(srfi srfi-1)) (add-after 'unpack 'relax-requirements
#:phases (lambda _
(modify-phases %standard-phases (substitute* "pyproject.toml"
(replace 'build (("flit_core >=3.2.0,<3.3")
(lambda _ "flit_core >=3.2.0"))))
;; A ZIP archive should be generated, but it fails with "ZIP does ;; XXX: PEP 517 manual build copied from python-isort.
;; not support timestamps before 1980". Luckily, (replace 'build
;; SOURCE_DATE_EPOCH is respected, which we set to some time in (lambda _
;; 1980. (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(setenv "SOURCE_DATE_EPOCH" "315532800") (replace 'check
(invoke "flit" "build"))) (lambda* (#:key tests? #:allow-other-keys)
(replace 'install (when tests?
(lambda* (#:key inputs outputs #:allow-other-keys) (invoke "pytest"))))
(add-installed-pythonpath inputs outputs) (replace 'install
(let ((out (assoc-ref outputs "out"))) (lambda _
(for-each (lambda (wheel) (let ((whl (car (find-files "dist" "\\.whl$"))))
(format #true wheel) (invoke "pip" "--no-cache-dir" "--no-input"
(invoke "python" "-m" "pip" "install" "install" "--no-deps" "--prefix" #$output whl)))))))
wheel (string-append "--prefix=" out)))
(find-files "dist" "\\.whl$"))))))))
(native-inputs (native-inputs
(list python-flit)) (list python-pypa-build python-flit-core python-pytest))
(home-page "https://github.com/takluyver/testpath") (home-page "https://github.com/jupyter/testpath")
(synopsis "Test utilities for code working with files and commands") (synopsis "Test utilities for code working with files and commands")
(description (description
"Testpath is a collection of utilities for Python code working with files "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 (define-public python-pylint
(package (package
(name "python-pylint") (name "python-pylint")
(version "2.9.6") (version "2.12.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2253,15 +2264,31 @@ statements in the module it tests.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "15yw69v1cj6zkndk60c2g0dgl0khh8bfm1lrwhjffpdjfc7nkc9a")))) (base32 "0spmy7j1vvh55shzgma80q61y0d1cj45dcgslb4g5w3y602miq5i"))))
(build-system python-build-system) (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 (native-inputs
(list python-pytest python-pytest-benchmark python-pytest-runner)) (list python-pytest))
(propagated-inputs (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") (home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard (synopsis "Advanced Python code static checker")
errors")
(description "Pylint is a Python source code analyzer which looks (description "Pylint is a Python source code analyzer which looks
for programming errors, helps enforcing a coding standard and sniffs for programming errors, helps enforcing a coding standard and sniffs
for some code smells (as defined in Martin Fowler's Refactoring book). for some code smells (as defined in Martin Fowler's Refactoring book).

View File

@ -150,7 +150,7 @@ using the CMake build system.")
(define-public cmake-bootstrap (define-public cmake-bootstrap
(package (package
(name "cmake-bootstrap") (name "cmake-bootstrap")
(version "3.21.3") (version "3.21.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://cmake.org/files/v" (uri (string-append "https://cmake.org/files/v"
@ -158,7 +158,7 @@ using the CMake build system.")
"/cmake-" version ".tar.gz")) "/cmake-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0kvrhgbrvm0lv7jshzd4nsvp3d5q1jkgal2d5kj4w4v58bghckfi")) "0y2rk316j9m1iqimgwah0z1ii3ggli65dw6hdn4ckx0mqaahlmyr"))
(patches (search-patches "cmake-curl-certificates.patch")))) (patches (search-patches "cmake-curl-certificates.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -1394,6 +1394,32 @@ handles the 7z format which features very high compression ratios.")
functionality in a C++ iostream.") functionality in a C++ iostream.")
(license license:lgpl2.1+))) (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 (define-public zpaq
(package (package
(name "zpaq") (name "zpaq")

View File

@ -192,10 +192,10 @@ text or blue underlined text, on ANSI terminals.")
"1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13")))) "1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
(arguments `()))) (arguments `())))
(define-public rust-aom-sys-0.2 (define-public rust-aom-sys-0.3
(package (package
(name "rust-aom-sys") (name "rust-aom-sys")
(version "0.2.1") (version "0.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -204,7 +204,7 @@ text or blue underlined text, on ANSI terminals.")
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"03a0xhaafjn0hlpcf9ba73hv557m0jqnmj9wl57wzrcnka96zvgj")))) "0dhikfl7l5nacspajbllbhhysad3vl845cpfplqgm5mf67nmx9w8"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
@ -219,30 +219,6 @@ text or blue underlined text, on ANSI terminals.")
(description "This package provides FFI bindings to aom.") (description "This package provides FFI bindings to aom.")
(license license:expat))) (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 (define-public rust-ascii-canvas-2
(package (package
(name "rust-ascii-canvas") (name "rust-ascii-canvas")

View File

@ -4463,29 +4463,31 @@ iteratively in Rust.")
in Rust.") in Rust.")
(license (list license:asl2.0 license:expat)))) (license (list license:asl2.0 license:expat))))
(define-public rust-av-metrics-0.6 (define-public rust-av-metrics-0.7
(package (package
(name "rust-av-metrics") (name "rust-av-metrics")
(version "0.6.2") (version "0.7.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "av-metrics" version)) (uri (crate-uri "av-metrics" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1g4k2q3226246jad3jl8pny7aphq8i03x4qyilzj4zgp27350hsz")))) (base32 "1y1q61lhahljxh1l2brp8v795qf6g7gr4h4vdmq43g5z5pq2dw50"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:cargo-inputs
#:cargo-inputs
(("rust-crossbeam" ,rust-crossbeam-0.8) (("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-itertools" ,rust-itertools-0.10) ("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-num-traits" ,rust-num-traits-0.2)
("rust-rayon" ,rust-rayon-1) ("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1) ("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-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") (home-page "https://github.com/rust-av/av-metrics")
(synopsis "Collection of algorithms for measuring audio/video metrics") (synopsis "Collection of algorithms for measuring audio/video metrics")
(description (description
@ -6128,41 +6130,18 @@ types.")
(define-public rust-bitflags-1 (define-public rust-bitflags-1
(package (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") (name "rust-bitflags")
(version "1.3.2") (version "1.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "bitflags" version)) (uri (crate-uri "bitflags" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy")))) (base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"))))
(build-system cargo-build-system)
(arguments (arguments
`(#:tests? #f ; Tests require rust-1.46 or newer. `(#:tests? #f ; Tests require rust-1.46 or newer.
#:cargo-inputs #:cargo-inputs
(("rust-compiler-builtins" ,rust-compiler-builtins-0.1) (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-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-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1) ("rust-serde-json" ,rust-serde-json-1)
("rust-trybuild" ,rust-trybuild-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 (define-public rust-bitflags-0.9
(package (package
@ -10337,6 +10322,54 @@ diagnostics easy and relatively painless for everyone!")
(description "This package provides colorful panic backtraces.") (description "This package provides colorful panic backtraces.")
(license (list license:expat license:asl2.0)))) (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 (define-public rust-color-quant-1
(package (package
(name "rust-color-quant") (name "rust-color-quant")
@ -27165,10 +27198,10 @@ currently supports parsing (fully conformant parser), formatting and comparing
language tags.") language tags.")
(license license:expat))) (license license:expat)))
(define-public rust-lab-0.8 (define-public rust-lab-0.11
(package (package
(name "rust-lab") (name "rust-lab")
(version "0.8.1") (version "0.11.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -27177,15 +27210,15 @@ language tags.")
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ysnbviwi35mq6xyz9c59mpgigyfp4s4y2mispxzrms4vk83bx15")))) "13ymsn5cwl5i9pmp5mfmbap7q688dcp9a17q82crkvb784yifdmz"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-development-inputs `(#:cargo-development-inputs
(("rust-approx" ,rust-approx-0.3) (("rust-approx" ,rust-approx-0.5)
("rust-criterion" ,rust-criterion-0.3) ("rust-criterion" ,rust-criterion-0.3)
("rust-lazy-static" ,rust-lazy-static-1) ("rust-lazy-static" ,rust-lazy-static-1)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6) ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-rand" ,rust-rand-0.5)))) ("rust-rand" ,rust-rand-0.8))))
(home-page "https://github.com/TooManyBees/lab") (home-page "https://github.com/TooManyBees/lab")
(synopsis "Convert RGB to CIE-LAB for Rust") (synopsis "Convert RGB to CIE-LAB for Rust")
(description (description
@ -27195,7 +27228,7 @@ space, and comparing differences in color.")
(define-public rust-lab-0.7 (define-public rust-lab-0.7
(package (package
(inherit rust-lab-0.8) (inherit rust-lab-0.11)
(name "rust-lab") (name "rust-lab")
(version "0.7.2") (version "0.7.2")
(source (source
@ -27217,18 +27250,18 @@ space, and comparing differences in color.")
(define-public rust-lab-0.4 (define-public rust-lab-0.4
(package (package
(inherit rust-lab-0.8) (inherit rust-lab-0.7)
(name "rust-lab") (name "rust-lab")
(version "0.4.4") (version "0.4.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "lab" version)) (uri (crate-uri "lab" version))
(file-name (file-name
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s")))) "0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s"))))
(arguments (arguments
`(#:cargo-development-inputs `(#:cargo-development-inputs
(("rust-rand" ,rust-rand-0.3)))))) (("rust-rand" ,rust-rand-0.3))))))
@ -46210,8 +46243,33 @@ require unstable language features.")
"small helper to generate version information for git packages") "small helper to generate version information for git packages")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-rustc-version-0.3 (define-public rust-rustc-version-0.4
(package (package
(name "rust-rustc-version")
(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 "0rpk9rcdk405xhbmgclsh4pai0svn49x35aggl4nhbkd4a2zb85z"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("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
"This package provides a library for querying the version of an installed
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") (name "rust-rustc-version")
(version "0.3.3") (version "0.3.3")
(source (source
@ -46221,17 +46279,10 @@ require unstable language features.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh")))) (base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
(build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:skip-build? #t
#:cargo-inputs #:cargo-inputs
(("rust-semver" ,rust-semver-0.11)))) (("rust-semver" ,rust-semver-0.11))))))
(home-page "https://github.com/djc/rustc-version-rs")
(synopsis "Library for querying the version of an installed rustc compiler")
(description
"This package provides a library for querying the version of an installed
rustc compiler.")
(license (list license:expat license:asl2.0))))
(define-public rust-rustc-version-0.2 (define-public rust-rustc-version-0.2
(package (package
@ -54715,6 +54766,30 @@ processors, disks, components and networks.")
(description "Send log messages to syslog.") (description "Send log messages to syslog.")
(license license:expat))) (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 (define-public rust-system-deps-3
(package (package
(name "rust-system-deps") (name "rust-system-deps")
@ -62273,22 +62348,23 @@ first byte.")
(define-public rust-v-frame-0.2 (define-public rust-v-frame-0.2
(package (package
(name "rust-v-frame") (name "rust-v-frame")
(version "0.2.1") (version "0.2.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "v_frame" version)) (uri (crate-uri "v_frame" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "0ia1j0j1v5zp9bp91imbnbxnv937x3xfpc06nyj96yjfk8zbmxhp")))) (base32 "1ay6p0arqg8cnyzv6iiad77plvjkxnmlmyvgz2qcpadv7y5942n7"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:cargo-inputs
#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1) (("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-noop-proc-macro" ,rust-noop-proc-macro-0.3)
("rust-num-derive" ,rust-num-derive-0.3) ("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2) ("rust-num-traits" ,rust-num-traits-0.2)
("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1) ("rust-serde" ,rust-serde-1)
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
(home-page "https://github.com/xiph/rav1e") (home-page "https://github.com/xiph/rav1e")

View File

@ -309,15 +309,6 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@") (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
#t)) #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 (add-before 'build 'patch-tests
(lambda _ (lambda _
(substitute* "tools/ippeveprinter.c" (substitute* "tools/ippeveprinter.c"

View File

@ -21291,7 +21291,7 @@ maps the thread tree.")
"1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik")))) "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
(list gnupg-2.2.32)) (list gnupg))
(home-page "https://elpa.gnu.org/packages/pinentry.html") (home-page "https://elpa.gnu.org/packages/pinentry.html")
(synopsis "GnuPG Pinentry server implementation") (synopsis "GnuPG Pinentry server implementation")
(description (description

View File

@ -245,16 +245,7 @@
;; environment variables from emacs. ;; environment variables from emacs.
;; Likewise, we don't need to patch helper binaries ;; Likewise, we don't need to patch helper binaries
;; like etags, ctags or ebrowse. ;; like etags, ctags or ebrowse.
"^emacs(-[0-9]+(\\.[0-9]+)*)?$")) "^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)))))
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("ncurses" ,ncurses) ("ncurses" ,ncurses)

View File

@ -354,8 +354,7 @@ tests.")
(base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3")))) (base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; AppInfo not available inside build environment. ;; AppInfo not available inside build environment.
@ -623,10 +622,6 @@ the freedesktop.org XDG Base Directory specification.")
;; existing in the build environment. ;; existing in the build environment.
(invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g" (invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g"
"-i" "src/test/meson.build") "-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, ;; This test tries to copy some bytes from /usr/lib/os-release,
;; which does not exist in the build container. Choose something ;; which does not exist in the build container. Choose something
;; more likely to be available. ;; more likely to be available.
@ -1002,6 +997,7 @@ Python.")
("dot" ,graphviz) ("dot" ,graphviz)
("doxygen" ,doxygen) ("doxygen" ,doxygen)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("xmlto" ,xmlto) ("xmlto" ,xmlto)
("xsltproc" ,libxslt) ("xsltproc" ,libxslt)
,@(if (%current-target-system) ,@(if (%current-target-system)
@ -1038,7 +1034,7 @@ fullscreen) or other display servers.")
(inputs (inputs
(list wayland)) (list wayland))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config python))
(synopsis "Wayland protocols") (synopsis "Wayland protocols")
(description "Wayland-Protocols contains Wayland protocols that add (description "Wayland-Protocols contains Wayland protocols that add
functionality not available in the Wayland core protocol. Such protocols either functionality not available in the Wayland core protocol. Such protocols either
@ -1379,8 +1375,7 @@ message bus.")
(base32 "16wwd633jak9ajyr1f1h047rmd09fhf3kzjz6g5xjsz0lwcj8azz")))) (base32 "16wwd633jak9ajyr1f1h047rmd09fhf3kzjz6g5xjsz0lwcj8azz"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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 #:configure-flags
'("--localstatedir=/var" '("--localstatedir=/var"
"-Dsystemdsystemunitdir=/tmp/empty" "-Dsystemdsystemunitdir=/tmp/empty"

View File

@ -1757,7 +1757,6 @@ destroying an ancient book using a special wand.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache

View File

@ -229,8 +229,7 @@ topology functions.")
"037xmkmcmcw87vb1c1s3y225m8757k331cvk1m8cshf6mx61p0l1")))) "037xmkmcmcw87vb1c1s3y225m8757k331cvk1m8cshf6mx61p0l1"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache

View File

@ -259,13 +259,6 @@ from Markdown files.")
`("PERL5LIB" ":" prefix (,path)))) `("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.*$")) (find-files bin "\\.*$"))
#t))) #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 (add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." ".*\\.xml(-good)?") (substitute* (find-files "." ".*\\.xml(-good)?")

View File

@ -12,7 +12,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; 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 © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "21.2.5") (version "21.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -239,7 +239,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz"))) version "/mesa-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"1fxcdf4qs4vmyjcns7jv62w4jy3gr383ar5b7mr77nb0nxgmhjcf")) "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2"))
(patches (patches
(search-patches "mesa-skip-tests.patch")))) (search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -352,6 +352,12 @@ also known as DXTn or DXTC) for Mesa.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test (add-after 'unpack 'disable-failing-test
(lambda _ (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) ,@(match (%current-system)
("powerpc64le-linux" ("powerpc64le-linux"
;; Disable some of the llvmpipe tests. ;; Disable some of the llvmpipe tests.

View File

@ -179,7 +179,7 @@ shared NFS home directories.")
(define glib (define glib
(package (package
(name "glib") (name "glib")
(version "2.70.0") (version "2.70.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -188,7 +188,7 @@ shared NFS home directories.")
name "/" (string-take version 4) "/" name "/" (string-take version 4) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "0hh7hk02fkm1bn48k4z8f3kgv9qbni5z22gizd567fn527w7s390")) (base32 "0vw08p4jllavp9qmlqg1yl1zanmy53yid46wipas6gfdhnf4al85"))
(patches (patches
(search-patches "glib-appinfo-watch.patch" (search-patches "glib-appinfo-watch.patch"
"glib-skip-failing-test.patch")) "glib-skip-failing-test.patch"))
@ -212,12 +212,11 @@ shared NFS home directories.")
`(,(this-package-native-input "python") `(,(this-package-native-input "python")
,(this-package-native-input "python-wrapper"))) ,(this-package-native-input "python-wrapper")))
'())) '()))
#:configure-flags (list "--default-library=both" #:configure-flags ,#~(list "--default-library=both"
"-Dman=false" "-Dman=false"
"-Dselinux=disabled" "-Dselinux=disabled"
(string-append "--bindir=" (string-append "--bindir="
(assoc-ref %outputs "bin") #$output:bin "/bin"))
"/bin"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Needed to pass the test phase on slower ARM and i686 machines. ;; Needed to pass the test phase on slower ARM and i686 machines.
@ -365,8 +364,8 @@ functions for strings and common data structures.")
(arguments (arguments
(substitute-keyword-arguments (package-arguments glib) (substitute-keyword-arguments (package-arguments glib)
((#:configure-flags flags ''()) ((#:configure-flags flags ''())
`(cons "-Dgtk_doc=true" #~(cons "-Dgtk_doc=true"
(delete "-Dman=false" ,flags))) (delete "-Dman=false" #$flags)))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-after 'unpack 'patch-docbook-xml (add-after 'unpack 'patch-docbook-xml
@ -467,8 +466,7 @@ be used when cross-compiling."
(lambda _ (lambda _
(substitute* "tools/g-ir-tool-template.in" (substitute* "tools/g-ir-tool-template.in"
(("#!@PYTHON_CMD@") (("#!@PYTHON_CMD@")
(string-append "#!" (which "python3")))) (string-append "#!" (which "python3"))))))
#t))
#$@(if (%current-target-system) #$@(if (%current-target-system)
;; Meson gives python extensions an incorrect name, see ;; Meson gives python extensions an incorrect name, see
;; <https://github.com/mesonbuild/meson/issues/7049>. ;; <https://github.com/mesonbuild/meson/issues/7049>.
@ -482,12 +480,8 @@ be used when cross-compiling."
(native-inputs (native-inputs
`(("glib" ,glib "bin") `(("glib" ,glib "bin")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
;; TODO(core-updates): Unconditionally place "flex" and "bison" ("bison" ,bison)
;; in 'native-inputs'. ("flex" ,flex)))
,@(if (%current-target-system)
`(("bison" ,bison)
("flex" ,flex))
'())))
(inputs (inputs
`(,@(if (%current-target-system) `(,@(if (%current-target-system)
`(("python" ,python)) `(("python" ,python))
@ -753,7 +747,7 @@ by GDBus included in Glib.")
(define glibmm (define glibmm
(package (package
(name "glibmm") (name "glibmm")
(version "2.68.0") (version "2.70.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/" (uri (string-append "mirror://gnome/sources/glibmm/"
@ -761,13 +755,12 @@ by GDBus included in Glib.")
"/glibmm-" version ".tar.xz")) "/glibmm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1")))) "085mzpphz71sh5wh71ppikwnxsgn4pk3s4bzz6ingj6wxn5gs240"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (list "-Dbuild-documentation=true")
"-Dbuild-documentation=true")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests (add-after 'unpack 'disable-failing-tests
@ -778,8 +771,7 @@ by GDBus included in Glib.")
(("[ \t]*.*giomm_simple.*$") "") (("[ \t]*.*giomm_simple.*$") "")
;; This test does a DNS lookup, and then expects to be able ;; This test does a DNS lookup, and then expects to be able
;; to open a TLS session; just skip it. ;; to open a TLS session; just skip it.
(("[ \t]*.*giomm_tls_client.*$") "")) (("[ \t]*.*giomm_tls_client.*$") ""))))
#t))
(add-after 'install 'move-doc (add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -787,17 +779,16 @@ by GDBus included in Glib.")
(mkdir-p (string-append doc "/share")) (mkdir-p (string-append doc "/share"))
(rename-file (rename-file
(string-append out "/share/doc") (string-append out "/share/doc")
(string-append doc "/share/doc")) (string-append doc "/share/doc"))))))))
#t))))))
(native-inputs (native-inputs
`(("dot" ,graphviz) (list graphviz
("doxygen" ,doxygen) doxygen
("glib:bin" ,glib "bin") `(,glib "bin")
("m4" ,m4) m4
("mm-common" ,mm-common) mm-common
("perl" ,perl) perl
("pkg-config" ,pkg-config) pkg-config
("xsltproc" ,libxslt))) libxslt))
(propagated-inputs (propagated-inputs
(list libsigc++ glib)) (list libsigc++ glib))
(home-page "https://gtkmm.org/") (home-page "https://gtkmm.org/")
@ -823,7 +814,7 @@ useful for C++.")
(base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh")))) (base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
(propagated-inputs (propagated-inputs
(modify-inputs (package-propagated-inputs glibmm) (modify-inputs (package-propagated-inputs glibmm)
(prepend libsigc++-2))))) (replace "libsigc++" libsigc++-2)))))
(define-public python2-pygobject-2 (define-public python2-pygobject-2
(package (package

View File

@ -888,8 +888,7 @@ tomorrow, the rest of the week and for special occasions.")
"1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0")))) "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
(list "-Ddogtail=false" ; Not available (list "-Ddogtail=false" ; Not available
;; Required for RUNPATH validation. ;; Required for RUNPATH validation.
@ -960,8 +959,7 @@ cloud integration is offered through GNOME Online Accounts.")
"0lcdal4qdhclr8961p57xf010y92l6wwmkw86lyi9wy224z6gjr0")))) "0lcdal4qdhclr8961p57xf010y92l6wwmkw86lyi9wy224z6gjr0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-gnome-music (add-after 'install 'wrap-gnome-music
@ -1496,8 +1494,7 @@ extraction, and lookup for applications on the desktop.")
"06q3p4f8g9zr7a4mw3qr556mi0dg9qzrj8n46ybdz93fxs26aaj1")))) "06q3p4f8g9zr7a4mw3qr556mi0dg9qzrj8n46ybdz93fxs26aaj1"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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" "-Dcheese=auto"
"-Dsystemd=false") "-Dsystemd=false")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
@ -1562,8 +1559,7 @@ tour of all gnome components and allows the user to set them up.")
"04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x")))) "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
`("-Dsystemduserunitdir=/tmp/empty" `("-Dsystemduserunitdir=/tmp/empty"
;; Enable nautilus extension for file sharing. ;; Enable nautilus extension for file sharing.
@ -2042,8 +2038,7 @@ to other formats.")
"0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha")))) "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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 #:phases (modify-phases %standard-phases
(add-after 'install 'wrap (add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -2279,8 +2274,7 @@ and keep up to date translations of documentation.")
"1rr1ypb89p51b6428yqvczmpmylwjfnhnkgx78hzm3vxm3m15lff")))) "1rr1ypb89p51b6428yqvczmpmylwjfnhnkgx78hzm3vxm3m15lff"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:configure-flags '("-Dlogind=libelogind")
#:configure-flags '("-Dlogind=libelogind")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
@ -2329,8 +2323,7 @@ and keep up to date translations of documentation.")
"0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j")))) "0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:phases
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-post-install-script (add-after 'unpack 'patch-post-install-script
(lambda _ (lambda _
@ -2599,8 +2592,7 @@ forgotten when the session ends.")
"0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg")))) "0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:build-type "release" #:build-type "release"
#:configure-flags #:configure-flags
'("-Dnautilus=false" '("-Dnautilus=false"
@ -2675,25 +2667,24 @@ on the GNOME Desktop with a single simple application.")
"1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p")))) "1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-schemas (add-after 'unpack 'patch-schemas
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((theme (assoc-ref inputs "gnome-backgrounds"))) (substitute* (find-files "schemas"
(substitute* (find-files "schemas" "\\.gschema\\.xml\\.in$")
"\\.gschema\\.xml\\.in$") ;; Provide the correct file name of the default
;; Provide the correct file name of the default ;; GNOME background, 'adwaita-timed.xml'.
;; GNOME background, 'adwaita-timed.xml'. (("@datadir@/backgrounds/gnome")
(("@datadir@/backgrounds/gnome") (search-input-directory inputs
(string-append theme "/share/backgrounds/gnome")) "/share/backgrounds/gnome"))
;; Do not reference fonts, that may not exist. ;; Do not reference fonts, that may not exist.
(("'Source Code Pro 10'") "'Monospace 11'")))))))) (("'Source Code Pro 10'") "'Monospace 11'")))))))
(inputs (inputs (list glib gnome-backgrounds))
(list glib gnome-backgrounds)) (native-inputs (list gettext-minimal
(native-inputs `(,glib "bin") ;glib-compile-schemas, etc.
`(("gettext" ,gettext-minimal) gobject-introspection
("glib" ,glib "bin") ; glib-compile-schemas, etc. pkg-config
("gobject-introspection" ,gobject-introspection) python)) ;for build-aux/meson/post-install.py
("pkg-config" ,pkg-config)))
(home-page "https://launchpad.net/gsettings-desktop-schemas") (home-page "https://launchpad.net/gsettings-desktop-schemas")
(synopsis "GNOME settings for various desktop components") (synopsis "GNOME settings for various desktop components")
(description "Gsettings-desktop-schemas contains a collection of GSettings (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")))) "glade-test-widget-null-icon.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:phases
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'. ;; Don't create 'icon-theme.cache'.
@ -3238,6 +3228,7 @@ current/manpages/docbook.xsl")
("docbook-xml" ,docbook-xml-4.2) ("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl) ("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("python" ,python)
("python-pygobject" ,python-pygobject) ("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
@ -4620,6 +4611,7 @@ and RDP protocols.")
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc/stable) ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("vala" ,vala))) ("vala" ,vala)))
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -5098,7 +5090,6 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
@ -5180,7 +5171,6 @@ once.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (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 `(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("vala" ,vala) ("vala" ,vala)
("intltool" ,intltool) ("intltool" ,intltool)
("python-pygobject" ,python-pygobject))) ("python-pygobject" ,python-pygobject)))
@ -5578,8 +5569,7 @@ services for numerous locations.")
(patches (search-patches "gnome-settings-daemon-gc.patch")))) (patches (search-patches "gnome-settings-daemon-gc.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
(list (string-append "-Dudev_dir=" (list (string-append "-Dudev_dir="
(assoc-ref %outputs "out") "/lib/udev") (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) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
@ -6283,8 +6272,7 @@ discovery protocols.")
grilo-plugins grilo-plugins
vala)) vala))
(arguments (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 ;; Disable automatic GStreamer plugin installation via PackageKit and
;; all that. ;; all that.
@ -6438,8 +6426,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(patches (search-patches "eog-update-libportal-usage.patch")))) (patches (search-patches "eog-update-libportal-usage.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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. ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
(list (string-append "-Dc_link_args=-Wl,-rpath=" (list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib/eog")) (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")))) "1hlxl6368h6nyqp1888szxs9hnpcw98k3h23dgqi29xd38klzsmj"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
(list "-Dsystemduserunitdir=no" (list "-Dsystemduserunitdir=no"
"-Dtmpfilesdir=no" "-Dtmpfilesdir=no"
@ -6650,7 +6636,7 @@ DAV, and others.")
"-Dvapi=false") "-Dvapi=false")
'())))) '()))))
(native-inputs (native-inputs
(list gobject-introspection pkg-config vala)) (list gobject-introspection pkg-config python vala))
(propagated-inputs (propagated-inputs
;; Both of these are required by gusb.pc. ;; Both of these are required by gusb.pc.
(list glib libusb)) (list glib libusb))
@ -6690,13 +6676,13 @@ USB transfers with your high-level application or system daemon.")
(build-system meson-build-system) (build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu. ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t))
#:glib-or-gtk? #t))
(native-inputs (native-inputs
(list gettext-minimal (list gettext-minimal
itstool itstool
`(,glib "bin") ; glib-compile-schemas, etc. `(,glib "bin") ; glib-compile-schemas, etc.
pkg-config pkg-config
python
vala vala
libxml2)) libxml2))
(inputs (inputs
@ -6790,7 +6776,7 @@ a secret password store, an adblocker, and a modern UI.")
(define-public epiphany (define-public epiphany
(package (package
(name "epiphany") (name "epiphany")
(version "40.3") (version "41.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/epiphany/" (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) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
@ -7162,6 +7147,7 @@ share them with others via social networking and more.")
intltool intltool
itstool itstool
pkg-config pkg-config
python
`(,gtk+ "bin") ; gtk-update-icon-cache `(,gtk+ "bin") ; gtk-update-icon-cache
`(,glib "bin"))) `(,glib "bin")))
;; TODO: Add libnautilus. ;; TODO: Add libnautilus.
@ -7194,8 +7180,7 @@ such as gzip tarballs.")
(base32 (base32
"02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl")))) "02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl"))))
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-gnome-session (add-after 'install 'wrap-gnome-session
@ -7262,7 +7247,10 @@ configuration program to choose applications starting on login.")
(("☭") "")))))) (("☭") ""))))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'pre-check (add-before 'check 'pre-check
@ -7308,8 +7296,7 @@ javascript engine and the GObject introspection framework.")
"149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm")))) "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
;; Otherwise, the RUNPATH will lack the final path component. ;; Otherwise, the RUNPATH will lack the final path component.
(list (string-append "-Dc_link_args=-Wl,-rpath=" (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) ("adwaita-icon-theme" ,adwaita-icon-theme)
("libxcursor" ,libxcursor) ;for XCURSOR_PATH ("libxcursor" ,libxcursor) ;for XCURSOR_PATH
("pipewire" ,pipewire-0.3) ("pipewire" ,pipewire-0.3)
("python" ,python)
("python-dbus" ,python-dbus) ("python-dbus" ,python-dbus)
("python-dbusmock" ,python-dbusmock) ("python-dbusmock" ,python-dbusmock)
("tini" ,tini))) ;acting as init (zombie reaper) ("tini" ,tini))) ;acting as init (zombie reaper)
@ -7862,6 +7850,13 @@ users.")
(string-append "-Ddhclient=" dhclient))) (string-append "-Ddhclient=" dhclient)))
#:phases #:phases
(modify-phases %standard-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 (add-before 'configure 'pre-configure
(lambda _ (lambda _
;; These tests try to test aspects of network-manager's ;; These tests try to test aspects of network-manager's
@ -7880,12 +7875,7 @@ users.")
((".*test-link-linux.*") "") ((".*test-link-linux.*") "")
((".*test-lldp.*") "") ((".*test-lldp.*") "")
((".*test-route-linux.*") "") ((".*test-route-linux.*") "")
((".*test-tc-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;"))))
(add-after 'unpack 'patch-docbook-xml (add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((xmldoc (string-append (assoc-ref inputs "docbook-xml") (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
@ -8158,8 +8148,7 @@ Cisco's AnyConnect SSL VPN.")
"1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7")))) "1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
'("-Dappindicator=yes"))) '("-Dappindicator=yes")))
(native-inputs (native-inputs
@ -8513,7 +8502,6 @@ usage and information about running processes.")
(base32 (base32
"1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c")))) "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments `(#:meson ,meson-0.59))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
@ -8549,8 +8537,7 @@ devices using the GNOME desktop.")
"0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1")))) "0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:configure-flags #:configure-flags
(list "-Dcheese=false" (list "-Dcheese=false"
(string-append "-Dgnome_session_libexecdir=" (string-append "-Dgnome_session_libexecdir="
@ -8662,8 +8649,7 @@ properties, screen resolution, and other GNOME parameters.")
"0ragmcln210zvzhc2br33yprbkj9drjzd7inp5sdxra0a7l73yaj")))) "0ragmcln210zvzhc2br33yprbkj9drjzd7inp5sdxra0a7l73yaj"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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") #:disallowed-references ,(list (gexp-input glib "bin")
(gexp-input libxslt) (gexp-input libxslt)
(gexp-input ruby-sass)) (gexp-input ruby-sass))
@ -8940,6 +8926,7 @@ easy, safe, and automatic.")
("intltool" ,intltool) ("intltool" ,intltool)
("dbus" ,dbus) ("dbus" ,dbus)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("vala" ,vala))) ("vala" ,vala)))
(inputs (inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
@ -9200,6 +9187,7 @@ files.")
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("itstool" ,itstool) ("itstool" ,itstool)
@ -9220,7 +9208,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds (define-public gnome-backgrounds
(package (package
(name "gnome-backgrounds") (name "gnome-backgrounds")
(version "40.1") (version "41.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -9229,10 +9217,9 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"03m7ldfk00cly9igrq0qizq1y0f45vijmm23f1dl5kh1lc6qmpv0")))) "0i9id5z72dqddh94648zylyf41amqq5lhny8sbyg1v8v4q6sr88x"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs (list gettext-minimal))
`(("gettext" ,gettext-minimal)))
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
(synopsis "Background images for the GNOME desktop") (synopsis "Background images for the GNOME desktop")
(description (description
@ -9268,14 +9255,14 @@ can add your own files to the collection.")
;; Don't create 'icon-theme.cache'. ;; Don't create 'icon-theme.cache'.
(lambda _ (lambda _
(substitute* "build-aux/postinstall.py" (substitute* "build-aux/postinstall.py"
(("gtk-update-icon-cache") "true")) (("gtk-update-icon-cache") "true")))))))
#t)))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("intltool" ,intltool) ("intltool" ,intltool)
("appstream-glib" ,appstream-glib) ("appstream-glib" ,appstream-glib)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)
("python" ,python)))
(inputs (inputs
(list gtk+ libcanberra libhandy libx11 libxext)) (list gtk+ libcanberra libhandy libx11 libxext))
(home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
@ -9308,8 +9295,6 @@ beautifying border effects.")
("vala" ,vala))) ("vala" ,vala)))
(inputs (inputs
(list dconf gtk+ libxml2)) (list dconf gtk+ libxml2))
(arguments
`(#:meson ,meson-0.59))
(home-page "https://gitlab.gnome.org/GNOME/dconf-editor") (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
(synopsis "Graphical editor for GNOME's dconf configuration system") (synopsis "Graphical editor for GNOME's dconf configuration system")
(description (description
@ -9406,8 +9391,7 @@ associations for GNOME.")
libgweather libgweather
libhandy)) libhandy))
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
,#~(modify-phases %standard-phases ,#~(modify-phases %standard-phases
(add-after 'unpack 'fix-service-file (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) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
;; gnome-calendar has to be installed before the tests can be run ;; gnome-calendar has to be installed before the tests can be run
;; https://bugzilla.gnome.org/show_bug.cgi?id=788224 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
#:tests? #f #:tests? #f
@ -9909,7 +9892,6 @@ existing databases over the internet.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59
#:configure-flags '("-Dlocalstatedir=/tmp" #:configure-flags '("-Dlocalstatedir=/tmp"
"-Dsysconfdir=/tmp") "-Dsysconfdir=/tmp")
#:imported-modules ((guix build python-build-system) #: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 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("itstool" ,itstool) ("itstool" ,itstool)
("vala" ,vala) ("vala" ,vala)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)
("python" ,python)))
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)
("gtksourceview" ,gtksourceview) ("gtksourceview" ,gtksourceview)
@ -10697,8 +10680,7 @@ photo-booth-like software, such as Cheese.")
"0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")) "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"))
(patches (search-patches "cheese-vala-update.patch")))) (patches (search-patches "cheese-vala-update.patch"))))
(arguments (arguments
`(#:meson ,meson-0.59 ;positional arguments error with meson 0.60 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
;; Tests require GDK. ;; Tests require GDK.
#:tests? #f #:tests? #f
#:phases #:phases
@ -11114,11 +11096,6 @@ functionality.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
;; See
;; <https://github.com/mesonbuild/meson/issues/9492#issuecomment-973117289>.
#:meson ,meson-0.59
#:configure-flags #:configure-flags
;; Ensure the RUNPATH contains all installed library locations. ;; Ensure the RUNPATH contains all installed library locations.
(list (string-append "-Dc_link_args=-Wl,-rpath=" (list (string-append "-Dc_link_args=-Wl,-rpath="
@ -11354,8 +11331,7 @@ higher level porcelain stuff.")
"0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914")))) "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'disable-post-install-partially (add-after 'unpack 'disable-post-install-partially
@ -11615,8 +11591,7 @@ environment.")
"001h9gppn79gnj7dl61jl9gas5wmbjdx0v8xwsx7v4xsv2hwz91g")))) "001h9gppn79gnj7dl61jl9gas5wmbjdx0v8xwsx7v4xsv2hwz91g"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:glib-or-gtk? #t
#:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (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")))) (search-patches "gnome-boxes-add-guix-logo.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (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" #:configure-flags (list "-Drdp=false"
(string-append "-Dc_link_args=-Wl,-rpath=" (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
@ -12594,8 +12568,7 @@ your data.")
(propagated-inputs (propagated-inputs
(list gtksourceview)) ; required for source view (list gtksourceview)) ; required for source view
(arguments (arguments
`(#:meson ,meson-0.59 `(#:build-type "release"
#:build-type "release"
#:glib-or-gtk? #t #:glib-or-gtk? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View File

@ -279,15 +279,19 @@ compatible to GNU Pth.")
(define-public gnupg (define-public gnupg
(package (package
(name "gnupg") (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 (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version (uri (string-append "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-" version
".tar.bz2")) ".tar.bz2"))
(patches (search-patches "gnupg-default-pinentry.patch")) (patches (search-patches "gnupg-default-pinentry.patch"))
(sha256 (sha256
(base32 (base32
"1111ry31gaxv76miqsy6l0kwxwlx8sz0jk41jhyrjwx649p6sqyc")))) "0506gv54z10c96z5821z9p0ksibk1pfilsmag39ffqrcz0sinmxj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@ -347,21 +351,6 @@ libskba (working with X.509 certificates and CMS data).")
(properties '((ftp-server . "ftp.gnupg.org") (properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/gnupg"))))) (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 (define-public gnupg-1
(package (inherit gnupg) (package (inherit gnupg)
(version "1.4.23") (version "1.4.23")
@ -382,8 +371,7 @@ libskba (working with X.509 certificates and CMS data).")
(add-after 'unpack 'patch-check-sh (add-after 'unpack 'patch-check-sh
(lambda _ (lambda _
(substitute* "checks/Makefile.in" (substitute* "checks/Makefile.in"
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh"))))))))))
#t)))))))
(define-public gpgme (define-public gpgme
(package (package
@ -433,14 +421,9 @@ and every application benefits from this.")
"lang/cpp/src/libgpgmepp.la") "lang/cpp/src/libgpgmepp.la")
(symlink (string-append gpgme "/lib/libgpgme.la") (symlink (string-append gpgme "/lib/libgpgme.la")
"src/libgpgme.la")) "src/libgpgme.la"))
(chdir "lang/qt") (chdir "lang/qt"))))))
#t)))))
(native-inputs (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) (modify-inputs (package-native-inputs gpgme)
(replace "gnupg" gnupg-2.2.32)
(prepend pkg-config))) (prepend pkg-config)))
(inputs (inputs
(modify-inputs (package-inputs gpgme) (modify-inputs (package-inputs gpgme)
@ -593,14 +576,14 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(define-public python-gnupg (define-public python-gnupg
(package (package
(name "python-gnupg") (name "python-gnupg")
(version "0.4.7") (version "0.4.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "python-gnupg" version)) (uri (pypi-uri "python-gnupg" version))
(sha256 (sha256
(base32 (base32
"1isazrg2h126xg3vvk4wrhx8k8yfsg5sxybvfa99phj235mzaq90")))) "1mq7hljy3bjkxdvh3qx2bv4y0b66l9pmc6i06ys75y7dbjpf2kdn"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -615,8 +598,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(setenv "USERNAME" "guixbuilder") (setenv "USERNAME" "guixbuilder")
;; The doctests are extremely slow and sometimes time out, ;; The doctests are extremely slow and sometimes time out,
;; so we disable them. ;; so we disable them.
(invoke "python" (invoke "python" "test_gnupg.py" "--no-doctests")))))))
"test_gnupg.py" "--no-doctests")))))))
(native-inputs (native-inputs
(list gnupg)) (list gnupg))
(home-page "https://pythonhosted.org/python-gnupg/index.html") (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.") and signature functionality from Python programs.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-gnupg
(package-with-python2 python-gnupg))
(define-public perl-gnupg-interface (define-public perl-gnupg-interface
(package (package
(name "perl-gnupg-interface") (name "perl-gnupg-interface")

View File

@ -369,10 +369,7 @@ in C/C++.")
`(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway. `(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway.
#:test-target "check-jstests" #:test-target "check-jstests"
#:configure-flags #:configure-flags
;; TODO(core-updates): unconditionally use 'quasiquote ,#~(quasiquote
,#~(#$(if (%current-target-system)
#~quasiquote
#~quote)
("--enable-ctypes" ("--enable-ctypes"
"--enable-optimize" "--enable-optimize"
"--enable-pie" "--enable-pie"
@ -466,7 +463,10 @@ in C/C++.")
"--enable-hardening" "--enable-hardening"
"--enable-optimize" "--enable-optimize"
"--enable-release" "--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-readline"
"--enable-shared-js" "--enable-shared-js"
"--with-system-icu" "--with-system-icu"

View File

@ -2451,16 +2451,7 @@ Go programming language.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Source-only package ;; Source-only package
(delete 'build) (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)))))
(propagated-inputs (propagated-inputs
(list go-golang-org-x-sys)) (list go-golang-org-x-sys))
(synopsis "Supplementary cryptographic libraries in Go") (synopsis "Supplementary cryptographic libraries in Go")
@ -3738,17 +3729,7 @@ SysVinit, and more.")
(list go-golang-org-x-sys go-github-com-sirupsen-logrus (list go-golang-org-x-sys go-github-com-sirupsen-logrus
go-golang-org-x-crypto)) go-golang-org-x-crypto))
(arguments (arguments
'(#:import-path "github.com/docker/distribution" '(#: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)))))
(home-page (home-page
"https://github.com/docker/distribution") "https://github.com/docker/distribution")
(synopsis "This package is a Docker toolset to pack, ship, store, and (synopsis "This package is a Docker toolset to pack, ship, store, and
@ -5571,17 +5552,7 @@ non-UTF-friendly sources.")
"0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d")))) "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/gdamore/tcell" `(#: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))))))
(inputs (inputs
(list go-github.com-mattn-go-runewidth go-golang-org-colorful (list go-github.com-mattn-go-runewidth go-golang-org-colorful
go-golang-org-x-text go-github-com-gdamore-encoding)) go-golang-org-x-text go-github-com-gdamore-encoding))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org> ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -26,6 +27,7 @@
(define-module (gnu packages graph) (define-module (gnu packages graph)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
@ -60,31 +62,81 @@
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages xml)) #: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 (define-public igraph
(package (package
(name "igraph") (name "igraph")
(version "0.8.4") (version "0.9.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/igraph/igraph/releases/" (uri (string-append "https://github.com/igraph/igraph/releases/"
"download/" version "/igraph-" version ".tar.gz")) "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 (sha256
(base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf")))) (base32 "0ym1jnj6rqrrjad0dk7jsrm9351zdd0654brbn38gqp1j9wgdqy4"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(list "--disable-static" (native-inputs (list pkg-config))
"--with-external-glpk"
"--with-external-blas"
"--with-external-lapack")))
(inputs (inputs
(list gmp (list arpack-ng
gmp
glpk glpk
libxml2 libxml2
lapack lapack
openblas openblas
zlib)) plfit
suitesparse))
(home-page "https://igraph.org") (home-page "https://igraph.org")
(synopsis "Network analysis and visualization") (synopsis "Network analysis and visualization")
(description (description
@ -95,36 +147,46 @@ more.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python-igraph (define-public python-igraph
(package (inherit igraph) (package/inherit igraph
(name "python-igraph") (name "python-igraph")
(version "0.8.2") (version "0.9.8")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) ;; The PyPI archive lacks tests.
(uri (pypi-uri "python-igraph" version)) (uri (git-reference
(sha256 (url "https://github.com/igraph/python-igraph")
(base32 "0wkxrs28qdvnrz7d4jzcf2bh6v2yqzx3wyfziihfgsi2gn6n60a6")))) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0nwwfqvj4gp91b9j67zq4l58srr4r8qfqh90ygx17zyrybkx7ns6"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:configure-flags (list
(list "--use-pkg-config") #:phases
#:phases #~(modify-phases %standard-phases
(modify-phases %standard-phases (add-after 'unpack 'specify-libigraph-location
(replace 'build (lambda _
(lambda _ (let ((igraph #$(this-package-input "igraph")))
(invoke "python" "./setup.py" "build" "--use-pkg-config"))) (substitute* "setup.py"
(delete 'check) (("(LIBIGRAPH_FALLBACK_INCLUDE_DIRS = ).*" _ var)
(add-after 'install 'check (string-append
(lambda* (#:key inputs outputs #:allow-other-keys) var (format #f "[~s]~%" (string-append igraph
(add-installed-pythonpath inputs outputs) "/include/igraph"))))
(invoke "pytest" "-v")))))) (("(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 (inputs
(list igraph)) (list igraph))
(propagated-inputs (propagated-inputs
(list python-texttable)) (list python-texttable))
(native-inputs (native-inputs
(list pkg-config python-pytest)) (list python-pytest))
(home-page "https://pypi.org/project/python-igraph/") (home-page "https://igraph.org/python/")
(synopsis "Python bindings for the igraph network analysis library"))) (synopsis "Python bindings for the igraph network analysis library")))
(define-public r-rbiofabric (define-public r-rbiofabric
@ -181,14 +243,7 @@ lines.")
(invoke "pytest" "-x" "plotly/tests/test_io") (invoke "pytest" "-x" "plotly/tests/test_io")
;; FIXME: Add optional dependencies and enable their tests. ;; FIXME: Add optional dependencies and enable their tests.
;; (invoke "pytest" "-x" "plotly/tests/test_optional") ;; (invoke "pytest" "-x" "plotly/tests/test_optional")
(invoke "pytest" "_plotly_utils/tests")) (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))))))
(native-inputs (native-inputs
(list python-ipywidgets python-pytest python-xarray)) (list python-ipywidgets python-pytest python-xarray))
(propagated-inputs (propagated-inputs

View File

@ -188,10 +188,7 @@ tools have full access to view and control running applications.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper))) ("python" ,python-wrapper)))
(inputs (inputs
;; TODO(core-updates): make this unconditional `(("bash-minimal" ,bash-minimal)
`(,@(if (%current-target-system)
`(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap
'())
("drm" ,libdrm) ("drm" ,libdrm)
("ghostscript" ,ghostscript) ("ghostscript" ,ghostscript)
("libspectre" ,libspectre) ("libspectre" ,libspectre)
@ -1062,7 +1059,7 @@ application suites.")
(define-public gtk (define-public gtk
(package (package
(name "gtk") (name "gtk")
(version "4.2.1") (version "4.4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1070,9 +1067,10 @@ application suites.")
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "1rh9fd5axf79pmd93hb2fmmflic5swcvqvq6vqghlgz4bmvnjc82")) (base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg"))
(patches (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) (build-system meson-build-system)
(outputs '("out" "bin" "doc")) (outputs '("out" "bin" "doc"))
(arguments (arguments
@ -1125,7 +1123,7 @@ application suites.")
(lambda _ (lambda _
(setenv "XDG_CACHE_HOME" (getcwd)))) (setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server. ;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &") (system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1") (setenv "DISPLAY" ":1")
@ -1134,7 +1132,10 @@ application suites.")
;; Tests look for those variables. ;; Tests look for those variables.
(setenv "XDG_RUNTIME_DIR" (getcwd)) (setenv "XDG_RUNTIME_DIR" (getcwd))
;; For missing '/etc/machine-id'. ;; 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 (add-after 'install 'move-files
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1169,10 +1170,12 @@ application suites.")
("gettext-minimal" ,gettext-minimal) ("gettext-minimal" ,gettext-minimal)
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection) ;for building introspection data ("gobject-introspection" ,gobject-introspection) ;for building introspection data
("graphene" ,graphene)
("gtk-doc" ,gtk-doc) ;for building documentation ("gtk-doc" ,gtk-doc) ;for building documentation
("intltool" ,intltool) ("intltool" ,intltool)
("libxslt" ,libxslt) ;for building man-pages ("libxslt" ,libxslt) ;for building man-pages
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python-pygobject" ,python-pygobject)
;; These python modules are required for building documentation. ;; These python modules are required for building documentation.
("python-jinja2" ,python-jinja2) ("python-jinja2" ,python-jinja2)
("python-markdown" ,python-markdown) ("python-markdown" ,python-markdown)
@ -1181,6 +1184,7 @@ application suites.")
("python-toml" ,python-toml) ("python-toml" ,python-toml)
("python-typogrify" ,python-typogrify) ("python-typogrify" ,python-typogrify)
("sassc" ,sassc) ;for building themes ("sassc" ,sassc) ;for building themes
("tzdata" ,tzdata-for-tests)
("vala" ,vala) ("vala" ,vala)
("xorg-server-for-tests" ,xorg-server-for-tests))) ("xorg-server-for-tests" ,xorg-server-for-tests)))
(inputs (inputs
@ -1633,6 +1637,7 @@ library.")
("mm-common" ,mm-common) ("mm-common" ,mm-common)
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("xsltproc" ,libxslt))) ("xsltproc" ,libxslt)))
(propagated-inputs (propagated-inputs
(list cairo cairomm glibmm pango)) (list cairo cairomm glibmm pango))
@ -1688,8 +1693,7 @@ library.")
(mkdir-p (string-append doc "/share")) (mkdir-p (string-append doc "/share"))
(rename-file (rename-file
(string-append out "/share/doc") (string-append out "/share/doc")
(string-append doc "/share/doc")) (string-append doc "/share/doc"))))))))
#t))))))
(native-inputs (native-inputs
`(("dot" ,graphviz) `(("dot" ,graphviz)
("doxygen" ,doxygen) ("doxygen" ,doxygen)
@ -1697,6 +1701,7 @@ library.")
("mm-common" ,mm-common) ("mm-common" ,mm-common)
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("xsltproc" ,libxslt))) ("xsltproc" ,libxslt)))
(propagated-inputs (propagated-inputs
(list glibmm atk)) (list glibmm atk))
@ -1726,7 +1731,7 @@ library.")
(base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i")))) (base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i"))))
(propagated-inputs (propagated-inputs
(modify-inputs (package-propagated-inputs atkmm) (modify-inputs (package-propagated-inputs atkmm)
(prepend glibmm-2.64))))) (replace "glibmm" glibmm-2.64)))))
(define-public gtkmm (define-public gtkmm
(package (package
@ -1776,6 +1781,7 @@ library.")
("mm-common" ,mm-common) ("mm-common" ,mm-common)
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
("xsltproc" ,libxslt) ("xsltproc" ,libxslt)
("xorg-server" ,xorg-server-for-tests))) ("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs (propagated-inputs
@ -1809,12 +1815,6 @@ tutorial.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "1ri2msp3cmzi6r65ghwb8gfavfaxv0axpwi3q60nm7v8hvg36qw5")))) (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 (propagated-inputs
`(("atkmm-2.28" ,atkmm-2.28) `(("atkmm-2.28" ,atkmm-2.28)
("cairomm-1.14" ,cairomm-1.14) ("cairomm-1.14" ,cairomm-1.14)

View File

@ -230,16 +230,7 @@ written in Go.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:unpack-path "github.com/ipfs/go-ipfs" `(#:unpack-path "github.com/ipfs/go-ipfs"
#:import-path "github.com/ipfs/go-ipfs/cmd/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))))))
(native-inputs (native-inputs
(list python-minimal-wrapper zsh)) (list python-minimal-wrapper zsh))
(home-page "https://ipfs.io") (home-page "https://ipfs.io")

View File

@ -216,40 +216,27 @@ After installation, the system administrator should generate keys using
#~())) #~()))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure (add-before 'configure 'pre-configure
;; TODO(core-updates): Unconditionally use the (lambda* (#:key inputs #:allow-other-keys)
;; %current-target-system branch. (substitute* "configure"
(,(if (%current-target-system) ;; The e2fsprogs input is included for libcom_err,
'lambda* ;; let's use it even if cross-compiling.
'lambda) (("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"")
,(if (%current-target-system) ":")
'(#:key inputs #:allow-other-keys) ;; Our 'compile_et' is not in --with-cross-tools,
'_) ;; which confuses heimdal.
,@(if (%current-target-system) (("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et")
`((substitute* "configure" "ac_cv_PROG_COMPILE_ET=compile_et"))
;; The e2fsprogs input is included for libcom_err, (substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c")
;; let's use it even if cross-compiling. (("/bin/sh")
(("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"") (search-input-file inputs "bin/sh"))
":") ;; Use the cross-compiled bash instead of the
;; Our 'compile_et' is not in --with-cross-tools, ;; native bash (XXX shouldn't _PATH_BSHELL point
;; which confuses heimdal. ;; to a cross-compiled bash?).
(("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et") (("_PATH_BSHELL")
"ac_cv_PROG_COMPILE_ET=compile_et"))) (string-append
'()) "\"" (search-input-file inputs "bin/sh") "\"")))
,@(if (%current-target-system) (substitute* '("tools/Makefile.in")
'((substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c") (("/bin/sh") (which "sh")))))
(("/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")))))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
;; For 'getxxyyy-test'. ;; For 'getxxyyy-test'.

View File

@ -1815,7 +1815,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux (define-public util-linux
(package (package
(name "util-linux") (name "util-linux")
(version "2.37.1") (version "2.37.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/" (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")) "util-linux-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0xkb7vw2040zi4m0sbhs5qn5l8nrq4xsf4sdxf3cy9mpachd8jwf")) "1ng9517c37mdp858425a4zyybma7dh7jrpd6z1z61yz7mb0n81va"))
(patches (search-patches "util-linux-tests.patch")) (patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -2903,42 +2903,33 @@ configuration (iptunnel, ipmaddr).")
(define-public libcap (define-public libcap
(package (package
(name "libcap") (name "libcap")
(version "2.51") (version "2.62")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://kernel.org/linux/libs/security/linux-privs/" "mirror://kernel.org/linux/libs/security/linux-privs/"
"libcap2/libcap-" version ".tar.xz")) "libcap2/libcap-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6")))) "18l3pngsbaahdjzz01rmzrjgcqny4zld685fkq96mq5yr6m5n30r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:phases (arguments
,#~(modify-phases %standard-phases (list #:phases
(replace 'configure #~(modify-phases %standard-phases
;; Add $libdir to the RUNPATH of executables. (delete 'configure))
(lambda _ #:test-target "test"
(substitute* "Make.Rules" #:make-flags
(("LDFLAGS \\?= #-g") #~(list "lib=lib"
(string-append "LDFLAGS ?= -Wl,-rpath=" (string-append "prefix=" #$output)
;; TODO(core-updates): Use #$output (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
;; unconditionally. "RAISE_SETFCAP=no"
#$(if (%current-target-system) ;; Tell the makefile to use TARGET-gcc and friends
#~#$output ;; when cross-compiling.
'%output) #$@(if (%current-target-system)
"/lib")))))) `((list (string-append "CROSS_COMPILE="
#:test-target "test" ,(%current-target-system) "-")
#:make-flags "BUILD_CC=gcc"))
(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")
'()))))
(native-inputs (list perl)) (native-inputs (list perl))
(supported-systems (delete "i586-gnu" %supported-systems)) (supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://sites.google.com/site/fullycapable/") (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. ;; The post-systemd fork, maintained by Gentoo.
(package (package
(name "eudev") (name "eudev")
(version "3.2.9") (version "3.2.11")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev") (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1g9z3d33m0i3hmbhm0wxpvkzf6ac7xj1drwcfrhzlfhhi63sg9h7")) "0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av"))
(patches (search-patches "eudev-rules-directory.patch")))) (patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-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 (add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs native-inputs #:allow-other-keys) (lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "man/make.sh" (substitute* "man/make.sh"
(("/usr/bin/xsltproc") (("/usr/bin/xsltproc")
(string-append (assoc-ref (string-append (assoc-ref
(or native-inputs inputs) "xsltproc") (or native-inputs inputs) "xsltproc")
"/bin/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)))
(add-after 'install 'move-static-library (add-after 'install 'move-static-library
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (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. ;; such that Libtool looks for it in the usual places.
(substitute* (string-append out "/lib/libudev.la") (substitute* (string-append out "/lib/libudev.la")
(("old_library=.*") (("old_library=.*")
"old_library=''\n")) "old_library=''\n")))))
#t)))
(add-after 'install 'build-hwdb (add-after 'install 'build-hwdb
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
@ -7386,11 +7359,8 @@ available in the kernel Linux.")
(add-before 'install 'fix-makefile (add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile" (substitute* "Makefile"
(("\\$\\(BUILDROOT\\)/usr") (assoc-ref outputs "out"))) (("\\$\\(BUILDROOT\\)/usr")
;; Make the compressed manpages writable so that the (assoc-ref outputs "out"))))))))
;; reset-gzip-timestamps phase does not error out.
(substitute* "Makefile"
(("-m 444") "-m 644")))))))
(inputs (list perl)) (inputs (list perl))
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(home-page "http://www.etallen.com/cpuid.html") (home-page "http://www.etallen.com/cpuid.html")
@ -8323,7 +8293,7 @@ tools for managing PipeWire.")
(define-public ell (define-public ell
(package (package
(name "ell") (name "ell")
(version "0.41") (version "0.46")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -8332,7 +8302,7 @@ tools for managing PipeWire.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"14scs8vqpcf2810gvabsplg9yzh9y4sz47407bjy6vd604z3w8ah")))) "15hwqicmll23cbrj13h3wd4lgrby416ap7l6w0434jsza4s4yv82"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#: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 ;; 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. ;; assemble the `purgatory/arch/i386/compat_x86_64.S' program on i686-linux.
(native-inputs (list (make-ld-wrapper "ld-wrapper" (native-inputs (list (make-ld-wrapper "ld-wrapper"
#:binutils binutils-next) #:binutils binutils)
binutils-next)) binutils))
(home-page "https://projects.horms.net/projects/kexec/") (home-page "https://projects.horms.net/projects/kexec/")
(synopsis "Tools for booting directly into different kernels") (synopsis "Tools for booting directly into different kernels")
(description "This package provides the @code{kexec} program and ancillary (description "This package provides the @code{kexec} program and ancillary

View File

@ -578,11 +578,8 @@ output), and Binutils.")
(propagated-inputs (propagated-inputs
(list zlib)) ;to use output from llvm-config (list zlib)) ;to use output from llvm-config
(arguments (arguments
;; TODO(core-updates): Unconditionally use quasiquote
`(#:configure-flags `(#:configure-flags
,#~(#$(if (%current-target-system) ,#~(quasiquote
#~quasiquote
#~quote)
;; These options are required for cross-compiling LLVM according to ;; These options are required for cross-compiling LLVM according to
;; https://llvm.org/docs/HowToCrossCompileLLVM.html. ;; https://llvm.org/docs/HowToCrossCompileLLVM.html.
(#$@(if (%current-target-system) (#$@(if (%current-target-system)

View File

@ -1108,14 +1108,7 @@ computing environments.")
(invoke "pytest" "sklearn" "-m" "not network" (invoke "pytest" "sklearn" "-m" "not network"
;; This test tries to access the internet. ;; This test tries to access the internet.
"-k" "not test_load_boston_alternative")))) "-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$"))))))))
(inputs (inputs
(list openblas)) (list openblas))
(native-inputs (native-inputs

View File

@ -319,7 +319,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
;; input "locales" contain the original (English) text. ;; input "locales" contain the original (English) text.
(package (package
(name "help2man") (name "help2man")
(version "1.48.3") (version "1.48.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -327,7 +327,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1b58s40dh2lflrkgbyxg1s48p8icb5a5yzp9ch83kg9zchygyqc3")))) "1gl24n9am3ivhql1gs9lffb415irg758fhxyk4ryssiflk5f8fb7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(;; There's no `check' target. (arguments `(;; There's no `check' target.
#:tests? #f #:tests? #f

View File

@ -2161,15 +2161,7 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "jalv.select.cpp" (substitute* "jalv.select.cpp"
(("echo \\$PATH.*tr ':'.*xargs ls") (("echo \\$PATH.*tr ':'.*xargs ls")
(string-append "ls -1 " (assoc-ref inputs "jalv") "/bin"))) (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)))))
(inputs (inputs
(list lilv lv2 jalv gtkmm-2)) (list lilv lv2 jalv gtkmm-2))
(native-inputs (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"
":" ":"
(assoc-ref outputs "out") "/lib/lmms/ladspa" (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 (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("qttools" ,qttools) ("qttools" ,qttools)
@ -6280,12 +6263,6 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
(substitute* "Makefile" (substitute* "Makefile"
(("/usr") "")) (("/usr") ""))
#t)) #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)))) (delete 'configure))))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)

View File

@ -2248,13 +2248,9 @@ sockets in Perl.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
;; TODO(core-updates): Make this unconditional. (lambda* (#:key tests? #:allow-other-keys)
,(if (%current-target-system) (when tests?
'(lambda* (#:key tests? #:allow-other-keys) (invoke "ctest" "-E" "url-test")))))))
(when tests?
(invoke "ctest" "-E" "url-test")))
'(lambda _
(invoke "ctest" "-E" "url-test")))))))
(synopsis "Library providing automatic proxy configuration management") (synopsis "Library providing automatic proxy configuration management")
(description "Libproxy handles the details of HTTP/HTTPS proxy (description "Libproxy handles the details of HTTP/HTTPS proxy
configuration for applications across all scenarios. Applications using 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 (define-public iwd
(package (package
(name "iwd") (name "iwd")
(version "1.15") (version "1.20")
(source (origin (source (origin
;; FIXME: We're using the bootstrapped sources because ;; FIXME: We're using the bootstrapped sources because
;; otherwise using an external ell library is impossible. ;; 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")) "/wireless/iwd-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ngng9a9ra5w0mp2813yy2ihfibyx10ns6v5icdcp99db608xax7")))) "03q5scahyg86h4bdxqxm32shyssgpmfp5b3183j01ig7mg6f4lbx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list dbus ell readline)) (list dbus ell readline))

View File

@ -112,7 +112,7 @@ in the Mozilla clients.")
(name "nss") (name "nss")
;; Also update and test the nss-certs package, which duplicates version and ;; Also update and test the nss-certs package, which duplicates version and
;; source to avoid a top-level variable reference & module cycle. ;; source to avoid a top-level variable reference & module cycle.
(version "3.71") (version "3.72")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (let ((version-with-underscores (uri (let ((version-with-underscores
@ -123,7 +123,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz"))) "nss-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0ly2l3dv6z5hlxs72h5x6796ni3x1bq60saavaf42ddgv4ax7b4r")) "0bnh683nij6s0gvjcgwhyw5d3yx9fpm42pxj5bm97r0ky6ghm9kf"))
;; Create nss.pc and nss-config. ;; Create nss.pc and nss-config.
(patches (search-patches "nss-3.56-pkgconfig.patch" (patches (search-patches "nss-3.56-pkgconfig.patch"
"nss-getcwd-nonnull.patch" "nss-getcwd-nonnull.patch"

View File

@ -269,9 +269,9 @@ to docs.openstack.org and developer.openstack.org.")
;; when building the package. Skip the tests for now. ;; when building the package. Skip the tests for now.
`(#:tests? #f)) `(#:tests? #f))
(propagated-inputs (propagated-inputs
(list python-stestr)) (list python-babel python-stestr python-testrepository python-testtools))
(native-inputs (native-inputs
(list python-pbr python-testtools python-babel python-testrepository)) (list python-pbr))
(home-page "https://www.openstack.org/") (home-page "https://www.openstack.org/")
(synopsis "Testr wrapper to provide functionality for OpenStack projects") (synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description (description

View File

@ -1836,8 +1836,7 @@ cp -r /tmp/locale/*/en_US.*")))
("python-pyparsing" ,python-pyparsing) ("python-pyparsing" ,python-pyparsing)
("socat" ,socat) ("socat" ,socat)
("which" ,which))) ("which" ,which)))
(propagated-inputs (list glib-networking gnupg-2.2.32 (propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas))
gsettings-desktop-schemas))
(inputs (inputs
`(("appstream-glib" ,appstream-glib) `(("appstream-glib" ,appstream-glib)
("bubblewrap" ,bubblewrap) ("bubblewrap" ,bubblewrap)

View File

@ -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

View File

@ -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)

View File

@ -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.orig 2015-01-16 13:52:04.000000000 -0500
+++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -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 AT_CHECK([case $host in
-hppa*|x86_64*|s390*) -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 # These hosts cannot use non-PIC shared libs
exit 77 ;; exit 77 ;;
*-solaris*|*-sunos*) *-solaris*|*-sunos*)
@ -18,7 +18,7 @@ Skip the nopic test on ARM and MIPS systems.
{ set +x { set +x
$as_echo "$at_srcdir/demo.at:535: case \$host in $as_echo "$at_srcdir/demo.at:535: case \$host in
-hppa*|x86_64*|s390*) -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 # These hosts cannot use non-PIC shared libs
exit 77 ;; exit 77 ;;
*-solaris*|*-sunos*) *-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_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
( $at_check_trace; case $host in ( $at_check_trace; case $host in
-hppa*|x86_64*|s390*) -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 # These hosts cannot use non-PIC shared libs
exit 77 ;; exit 77 ;;
*-solaris*|*-sunos*) *-solaris*|*-sunos*)

View File

@ -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

View File

@ -87,8 +87,7 @@
(("^IDSDIR=.*$") (("^IDSDIR=.*$")
;; Installation directory of 'pci.ids.gz'. ;; Installation directory of 'pci.ids.gz'.
"IDSDIR = $(SHAREDIR)/hwdata\n")) "IDSDIR = $(SHAREDIR)/hwdata\n"))))
#t))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Install the commands, library, and .pc files. ;; Install the commands, library, and .pc files.
@ -111,9 +110,7 @@
(native-inputs (native-inputs
(list which pkg-config)) (list which pkg-config))
(inputs (inputs
`(,@(if (member (or (%current-target-system) `(,@(if (not (hurd-target?))
(%current-system))
(package-supported-systems kmod))
`(("kmod" ,kmod)) `(("kmod" ,kmod))
'()) '())
,@(if (hurd-target?) ,@(if (hurd-target?)

View File

@ -632,8 +632,7 @@ by using the poppler rendering engine.")
(files '("lib/zathura"))))) (files '("lib/zathura")))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.59 `(#:phases (modify-phases %standard-phases
#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver (add-before 'check 'start-xserver
;; Tests require a running X server. ;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)

View File

@ -62,13 +62,7 @@
`("PATH" ":" prefix `("PATH" ":" prefix
(,@(map (lambda (i) (,@(map (lambda (i)
(string-append (assoc-ref %build-inputs i) "/bin")) (string-append (assoc-ref %build-inputs i) "/bin"))
'("php" "git" "mercurial" "subversion")))))) '("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)))))
(inputs (inputs
(list php git mercurial subversion)) (list php git mercurial subversion))
(home-page "https://github.com/phacility/arcanist") (home-page "https://github.com/phacility/arcanist")

View File

@ -622,7 +622,6 @@ such as Batch image processing.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
#:meson ,meson-0.59 ;fails to build with Meson 0.60
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache

View File

@ -26,6 +26,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages)) #:use-module (guix packages))
@ -41,14 +42,14 @@
(define-public python-wheel (define-public python-wheel
(package (package
(name "python-wheel") (name "python-wheel")
(version "0.33.6") (version "0.37.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "wheel" version)) (uri (pypi-uri "wheel" version))
(sha256 (sha256
(base32 (base32
"0ii6f34rvpjg3nmw4bc2h7fhdsy38y1h93hghncfs5akfrldmj8h")))) "1bbga5i49rj1cwi4sjpkvfhl1f8vl9lfky2lblsy768nk4wp5vz2"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn ;; 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.") Language (TOML) configuration files.")
(license license:expat))) (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 (define-public python-pytoml
(package (package
(name "python-pytoml") (name "python-pytoml")
@ -138,13 +171,13 @@ Python file, so it can be easily copied into your project.")
(define-public python-tomli (define-public python-tomli
(package (package
(name "python-tomli") (name "python-tomli")
(version "1.2.2") (version "2.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "tomli" version)) (uri (pypi-uri "tomli" version))
(sha256 (sha256
(base32 "1vjg44narb7hdiazdmbv8bfv7pi6phnq7nxm6aphx0iqxcah1kn6")))) (base32 "1q8lrh9ypa6zpgbc5f7z23p7phzblp4vpxdrpfr1wajhb17w74n2"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ;disabled to avoid extra dependencies `(#: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" (invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" out whl))))))) "install" "--no-deps" "--prefix" out whl)))))))
(native-inputs (native-inputs
`(("python-flit-core" ,python-flit-core) `(("python-flit-core-bootstrap" ,python-flit-core-bootstrap)
("python-pypa-build" ,python-pypa-build) ("python-pypa-build" ,python-pypa-build)
("python-six", python-six-bootstrap))) ("python-six", python-six-bootstrap)))
(home-page "https://github.com/hukkin/tomli") (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 (define-public python-pyparsing
(package (package
(name "python-pyparsing") (name "python-pyparsing")
(version "2.4.7") (version "3.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyparsing" version)) (uri (pypi-uri "pyparsing" version))
(sha256 (sha256
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2")))) (base32 "109b9r802wb472hgmxclljprh5cid0w3p6mk9alba7pg2c0frgfr"))))
(build-system python-build-system) (build-system python-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (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 executing simple grammars, vs. the traditional lex/yacc approach, or the use
of regular expressions. The pyparsing module provides a library of classes of regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.") 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 (define-public python-pyparsing-2.4.7
(package (package
(inherit python-pyparsing) (inherit python-pyparsing)
@ -248,22 +283,19 @@ that client code uses to construct the grammar directly in Python code.")
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2")))))) (base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
(define-public python2-pyparsing (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 (define-public python-packaging-bootstrap
(package (package
(name "python-packaging-bootstrap") (name "python-packaging-bootstrap")
(version "20.0") (version "21.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "packaging" version)) (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 (sha256
(base32 (base32
"1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy")))) "1sygirdrqgv4f1ckh9nhpcw1yfidrh3qjl86wq8vk6nq4wlw8iyx"))))
(build-system python-build-system) (build-system python-build-system)
(arguments `(#:tests? #f)) ;disabled to avoid extra dependencies (arguments `(#:tests? #f)) ;disabled to avoid extra dependencies
(propagated-inputs (propagated-inputs
@ -280,7 +312,19 @@ information.")
(license (list license:asl2.0 license:bsd-2)))) (license (list license:asl2.0 license:bsd-2))))
(define-public python2-packaging-bootstrap (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 ;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid
;;; a name clash with python-build from (guix build-system python). ;;; 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.") compatible build front-ends to build Poetry managed projects.")
(license license:expat))) (license license:expat)))
(define-public python-flit-core ;;; This package exists to bootstrap python-tomli.
(define-public python-flit-core-bootstrap
(package (package
(name "python-flit-core") (name "python-flit-core-bootstrap")
(version "3.4.0") (version "3.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "flit" version)) (uri (pypi-uri "flit" version))
(sha256 (sha256
(base32 "10vjqnybvjdqdbmyc0asbhhvq51yjnnj00645yiq9849gnr8h0ir")))) (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
(list python-toml)) (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 backend for packages using Flit. The only public interface is the API
specified by PEP 517, @code{flit_core.buildapi}.") specified by PEP 517, @code{flit_core.buildapi}.")
(license license:bsd-3))) (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)))))

View File

@ -28,6 +28,7 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -416,6 +417,38 @@ wrapper. It provides a backport of the @code{Path} object.")
(native-inputs (native-inputs
`(("python-setuptools-scm" ,python2-setuptools-scm)))))) `(("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 (define-public python-zstandard
(package (package
(name "python-zstandard") (name "python-zstandard")

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; 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 © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
@ -330,13 +330,13 @@ of the SGP4 satellite tracking algorithm.")
(define-public python-pandas (define-public python-pandas
(package (package
(name "python-pandas") (name "python-pandas")
(version "1.3.4") (version "1.3.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pandas" version)) (uri (pypi-uri "pandas" version))
(sha256 (sha256
(base32 "1z3gm521wpm3j13rwhlb4f2x0645zvxkgxij37i3imdpy39iiam2")))) (base32 "1wd92ra8xcjgigbypid53gvby89myg68ica6r8hdw4hhvvsqahhy"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
@ -373,23 +373,23 @@ of the SGP4 satellite tracking algorithm.")
(invoke "pytest" "-vv" "pandas" "--skip-slow" (invoke "pytest" "-vv" "pandas" "--skip-slow"
"--skip-network" "--skip-network"
"-k" "-k"
;; These tets access the internet: (string-append
;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml] ;; These test access the internet (see:
;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree] ;; https://github.com/pandas-dev/pandas/issues/45085).:
;; TODO: the excel tests fail for unknown reasons ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml]
(string-append "not test_wrong_url" ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree]
" and not test_excelwriter_fspath" "not test_wrong_url"
" and not test_ExcelWriter_dispatch" ;; TODO: Missing input
;; TODO: Missing input " and not TestS3"
" and not TestS3" " and not s3"))))))))))
" and not s3"))))))))))
(propagated-inputs (propagated-inputs
(list python-jinja2 (list python-jinja2
python-numpy python-numpy
python-openpyxl python-openpyxl
python-pytz python-pytz
python-dateutil python-dateutil
python-xlrd)) python-xlrd
python-xlsxwriter))
(inputs (inputs
(list which xclip xsel)) (list which xclip xsel))
(native-inputs (native-inputs
@ -397,7 +397,6 @@ of the SGP4 satellite tracking algorithm.")
python-beautifulsoup4 python-beautifulsoup4
python-lxml python-lxml
python-html5lib python-html5lib
python-nose
python-pytest python-pytest
python-pytest-mock python-pytest-mock
;; Needed to test clipboard support. ;; Needed to test clipboard support.

View File

@ -689,7 +689,7 @@ other HTTP libraries.")
'(#:tests? #f)) '(#:tests? #f))
(propagated-inputs (propagated-inputs
(list python-colorama python-pygments python-requests (list python-colorama python-pygments python-requests
python-requests-toolbelt-0.9.1)) python-requests-toolbelt))
(home-page "https://httpie.io") (home-page "https://httpie.io")
(synopsis "cURL-like tool for humans") (synopsis "cURL-like tool for humans")
(description (description
@ -2667,30 +2667,6 @@ portions of your testing code.")
(define-public python-requests-toolbelt (define-public python-requests-toolbelt
(package (package
(name "python-requests-toolbelt") (name "python-requests-toolbelt")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "requests-toolbelt" version))
(sha256
(base32
"1dc7l42i4080r8i4m9fj51jx367lqkai170vrv7wd93gdj9k39gn"))))
(build-system python-build-system)
(native-inputs
(list python-betamax python-mock python-pytest))
(propagated-inputs
(list python-requests))
(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")
(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") (version "0.9.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -2698,9 +2674,25 @@ with python-requests.")
(sha256 (sha256
(base32 (base32
"1h3gm88dcjbd7gm229a7x5qkkhnsqsjz0m0l2xyavm2ab3a8k04n")))) "1h3gm88dcjbd7gm229a7x5qkkhnsqsjz0m0l2xyavm2ab3a8k04n"))))
(build-system python-build-system)
(arguments (arguments
`(;; FIXME: Some tests require network access. '(#:phases (modify-phases %standard-phases
#:tests? #f)))) (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
(list python-requests))
(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/requests/toolbelt/")
(license license:asl2.0)))
(define-public python-requests-ftp (define-public python-requests-ftp
(package (package
@ -3223,7 +3215,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(define-public python-cachecontrol (define-public python-cachecontrol
(package (package
(name "python-cachecontrol") (name "python-cachecontrol")
(version "0.12.5") (version "0.12.10")
(source (source
(origin (origin
(method git-fetch) (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz")))) "0fviacb13h72l5c77p35lgr6kvlidfdb9xsicg3v6lblmp9cn2ws"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; Versions > 0.11.6 depend on CherryPy for testing. ;; Versions > 0.11.6 depend on CherryPy for testing.
@ -5960,7 +5952,7 @@ Encoding for HTTP.")
(list python-js2py (list python-js2py
python-polling2 python-polling2
python-requests python-requests
python-requests-toolbelt-0.9.1 python-requests-toolbelt
python-responses python-responses
python-pyparsing-2.4.7)) python-pyparsing-2.4.7))
(native-inputs (native-inputs

View File

@ -2400,7 +2400,7 @@ of @code{xmlfile}.")
(define-public python-openpyxl (define-public python-openpyxl
(package (package
(name "python-openpyxl") (name "python-openpyxl")
(version "3.0.5") (version "3.0.9")
(source (source
(origin (origin
;; We use the upstream repository, as the tests are not included in the ;; We use the upstream repository, as the tests are not included in the
@ -2411,7 +2411,7 @@ of @code{xmlfile}.")
(changeset version))) (changeset version)))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 "0s6fgwwkcfz1bnrp5gjd4g2lcbl4a76147ylkrmkbabi2nf4xlli")))) (base32 "1p8xvc2gjw6zyzbd7qdvc3x178sm00ymrbyh9539l4fpzgxh0j9c"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -6333,17 +6333,19 @@ comparison.
(define-public python-matplotlib (define-public python-matplotlib
(package (package
(name "python-matplotlib") (name "python-matplotlib")
(version "3.4.3") (version "3.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "matplotlib" version)) (uri (pypi-uri "matplotlib" version))
(sha256 (sha256
(base32 "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw")))) (base32 "076f8qi265x8jy89c03r3vv5h4is4ir5mawwrrrpp96314783sdj"))))
(build-system python-build-system) (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-cycler" ,python-cycler)
("python-fonttools" ,python-fonttools)
("python-kiwisolver" ,python-kiwisolver) ("python-kiwisolver" ,python-kiwisolver)
("python-packaging" ,python-packaging)
("python-pyparsing" ,python-pyparsing) ("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject) ("python-pygobject" ,python-pygobject)
("python-certifi" ,python-certifi) ("python-certifi" ,python-certifi)
@ -6354,6 +6356,7 @@ comparison.
("python-pillow" ,python-pillow) ("python-pillow" ,python-pillow)
("python-pytz" ,python-pytz) ("python-pytz" ,python-pytz)
("python-six" ,python-six) ("python-six" ,python-six)
("python-wxpython" ,python-wxpython)
;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of ;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of
;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context' ;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context'
;; object. For this reason we need to import both libraries. ;; object. For this reason we need to import both libraries.
@ -6366,101 +6369,87 @@ comparison.
qhull qhull
cairo cairo
glib glib
;; FIXME: Add backends when available.
;("python-wxpython" ,python-wxpython)
tcl tcl
tk)) tk))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-mock" ,python-mock) ("python-pytest-timeout" ,python-pytest-timeout)
("python-wheel" ,python-wheel) ("python-pytest-xdist" ,python-pytest-xdist)
("unzip" ,unzip) ("python-setuptools-scm" ,python-setuptools-scm)
("jquery-ui" ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive)))
,(origin
(method url-fetch)
(uri "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip")
(sha256
(base32
"0kb21xf38diqgxcdi1z3s9ssq36pldvyqxy56hn6pcva6rs3c8zq"))))))
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
;; XXX We disable all image comparison tests because we're using a #~(modify-phases %standard-phases
;; newer version of FreeType than matplotlib expects. This leads to (add-before 'build 'pretend-version
;; minor differences throughout the tests. ;; The version string is usually derived via setuptools-scm, but
(add-after 'unpack 'fix-and-disable-failing-tests ;; without the git metadata available, the version string is set to
(lambda _ ;; '0.0.0'.
(substitute* (append (find-files "lib/matplotlib/tests/" (lambda _
"test_.*\\.py$") (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(find-files "lib/mpl_toolkits/tests" (add-after 'unpack 'fix-and-disable-failing-tests
"test_.*\\.py$")) ;; XXX: Disable all image comparison tests because we're using a
(("^from matplotlib" match) ;; newer version of FreeType than matplotlib expects. This leads
(string-append "import pytest\n" match)) ;; to minor differences throughout the tests.
(("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match (lambda _
indent) (substitute* (append (find-files "lib/matplotlib/tests/"
(string-append indent "test_.*\\.py$")
"@pytest.mark.skip(reason=\"unknown minor image differences\")\n" (find-files "lib/mpl_toolkits/tests"
match))) "test_.*\\.py$"))
(substitute* "lib/matplotlib/tests/test_animation.py" (("^from matplotlib" match)
(("/bin/sh") (which "sh"))) (string-append "import pytest\n" match))
(for-each delete-file (("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match
;; test_normal_axes, test_get_tightbbox_polar indent)
'("lib/matplotlib/tests/test_axes.py" (string-append indent "@pytest.mark.skip(\
"lib/matplotlib/tests/test_polar.py" reason=\"unknown minor image differences\")\n" match)))
;; We don't use the webagg backend and this test (substitute* "lib/matplotlib/tests/test_animation.py"
;; forces it. (("/bin/sh") (which "sh")))
"lib/matplotlib/tests/test_backend_webagg.py" (for-each delete-file
;; test_outward_ticks ;; test_normal_axes, test_get_tightbbox_polar
"lib/matplotlib/tests/test_tightlayout.py" '("lib/matplotlib/tests/test_axes.py"
;; test_hidden_axes fails with minor extent "lib/matplotlib/tests/test_polar.py"
;; differences, possibly due to the use of a ;; We don't use the webagg backend and this test
;; different version of FreeType. ;; forces it.
"lib/matplotlib/tests/test_constrainedlayout.py" "lib/matplotlib/tests/test_backend_webagg.py"
;; Fontconfig returns no fonts. ;; test_outward_ticks
"lib/matplotlib/tests/test_font_manager.py")) "lib/matplotlib/tests/test_tightlayout.py"
#t)) ;; test_hidden_axes fails with minor extent
(add-before 'install 'install-jquery-ui ;; differences, possibly due to the use of a
(lambda* (#:key outputs inputs #:allow-other-keys) ;; different version of FreeType.
(let* ((python-version (python-version "lib/matplotlib/tests/test_constrainedlayout.py"
(assoc-ref inputs "python"))) ;; Fontconfig returns no fonts.
(dir "lib/matplotlib/tests/test_font_manager.py"))))
(string-append (assoc-ref outputs "out") (add-before 'build 'configure-environment
"/lib/python" python-version (lambda* (#:key inputs #:allow-other-keys)
"/site-packages" ;; Fix rounding errors when using the x87 FPU.
"/matplotlib/backends/web_backend/"))) (when (string-prefix? "i686" #$(%current-system))
(mkdir-p dir) (setenv "CFLAGS" "-ffloat-store"))
(invoke "unzip" (call-with-output-file "mplsetup.cfg"
(assoc-ref inputs "jquery-ui") (lambda (port)
"-d" dir)) (format port "\
#t)) [libs]
(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]~%
system_freetype = true system_freetype = true
system_qhull = true system_qhull = true
[directories]~%
basedirlist = ~a,~a~% [rc_options]
[packages]~% backend=Agg
tests = True~%"
(assoc-ref inputs "tcl") [directories]
(assoc-ref inputs "tk"))))) basedirlist = ~a,~a
#t)))))
[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/") (home-page "https://matplotlib.org/")
(synopsis "2D plotting library for Python") (synopsis "2D plotting library for Python")
(description (description
@ -6475,53 +6464,47 @@ toolkits.")
(define-public python2-matplotlib (define-public python2-matplotlib
(let ((matplotlib (package-with-python2 (let ((matplotlib (package-with-python2
(strip-python2-variant python-matplotlib)))) (strip-python2-variant python-matplotlib))))
(package (inherit matplotlib) (package/inherit matplotlib
(version "2.2.4") (version "2.2.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "matplotlib" version)) (uri (pypi-uri "matplotlib" version))
(sha256 (sha256
(base32 (base32
"09i1gnrra1590brc1f8d5rh2zvnknmfgzp613ab0462qkrwj15h2")))) "1sk05fdai9rw35l983rw2ymvz0nafs7szs7yz4nxrpyr1j27l0x3"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments matplotlib) (substitute-keyword-arguments (package-arguments matplotlib)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(replace 'install-jquery-ui (add-after 'install 'create-init-file
(lambda* (#:key outputs inputs #:allow-other-keys) (lambda _
(let ((dir (string-append (assoc-ref outputs "out") (with-output-to-file
"/lib/python2.7/site-packages/" (string-append
"matplotlib/backends/web_backend/"))) #$output
(mkdir-p dir) "/lib/python2.7/site-packages/mpl_toolkits/__init__.py")
(invoke "unzip" (lambda _ (display "")))))
(assoc-ref inputs "jquery-ui") (delete 'fix-and-disable-failing-tests)
"-d" dir)))) (delete 'check))))) ; These tests weren't run the the past.
;; Without this file mpl_toolkits cannot be imported. (native-inputs
(add-after 'install 'create-init-file `(("pkg-config" ,pkg-config)))
(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.
(propagated-inputs (propagated-inputs
`(("python2-pycairo" ,python2-pycairo) `(("gobject-introspection" ,gobject-introspection)
("python2-backports-functools-lru-cache" ("python2-backports-functools-lru-cache" ,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-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-pygobject-2" ,python2-pygobject-2)
("python2-pyparsing" ,python2-pyparsing)
("python2-pytz" ,python2-pytz)
("python2-six" ,python2-six)
("python2-subprocess32" ,python2-subprocess32) ("python2-subprocess32" ,python2-subprocess32)
("python2-tkinter" ,python-2 "tk") ("python2-tkinter" ,python-2 "tk"))))))
,@(fold alist-delete (package-propagated-inputs matplotlib)
'("python-cairocffi"
"python-pycairo"
"python-pygobject"
"python-tkinter")))))))
(define-public python-matplotlib-documentation (define-public python-matplotlib-documentation
(package (package
@ -9259,27 +9242,17 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(define-public python-beautifulsoup4 (define-public python-beautifulsoup4
(package (package
(name "python-beautifulsoup4") (name "python-beautifulsoup4")
(version "4.9.3") (version "4.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "beautifulsoup4" version)) (uri (pypi-uri "beautifulsoup4" version))
(sha256 (sha256
(base32 (base32
"09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4")))) "14c8z4gh9bi38agx9ls8ym5rscc02pc6f6hmliaqk08xa8yd4fn2"))))
(build-system python-build-system) (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 (propagated-inputs
(list python-soupsieve)) (list python-soupsieve python-html5lib python-lxml))
(home-page (home-page
"https://www.crummy.com/software/BeautifulSoup/bs4/") "https://www.crummy.com/software/BeautifulSoup/bs4/")
(synopsis (synopsis
@ -9296,8 +9269,16 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
(define-public python2-beautifulsoup4 (define-public python2-beautifulsoup4
(let ((base (package-with-python2 (let ((base (package-with-python2
(strip-python2-variant python-beautifulsoup4)))) (strip-python2-variant python-beautifulsoup4))))
(package/inherit base (package/inherit base
(arguments `(#:python ,python-2))))) (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 (define-public python-soupsieve
(package (package
@ -10834,28 +10815,170 @@ add functionality and customization to your projects with their own plugins.")
(define-public python2-straight-plugin (define-public python2-straight-plugin
(package-with-python2 python-straight-plugin)) (package-with-python2 python-straight-plugin))
(define-public python-fonttools (define-public python-pysendfile
(package (package
(name "python-fonttools") (name "python-pysendfile")
(version "4.6.0") (version "2.0.1")
(source (origin (source
(method url-fetch) (origin
(uri (pypi-uri "fonttools" version ".zip")) (method url-fetch)
(sha256 (uri (pypi-uri "pysendfile" version))
(base32 (sha256
"1mq9kdzhcsp96bhv7smnrpdg1s4z5wh70bsl99c0jmcrahqdisqq")))) (base32 "05qf0m32isflln1zjgxlpw0wf469lj86vdwwqyizp1h94x5l22ji"))))
(build-system python-build-system) (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 "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 (native-inputs
(list unzip python-pytest python-pytest-runner)) (list python-mock python-parameterized python-pyftpdlib python-pytest))
(home-page "https://github.com/fonttools/fonttools") (home-page "https://github.com/PyFilesystem/pyfilesystem2/")
(synopsis "Tools to manipulate font files") (synopsis "File system abstraction layer for Python")
(description (description "PyFilesystem's @code{FS} object is a file system abstraction
"FontTools/TTX is a library to manipulate font files from Python. It 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 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 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 also contains a tool called TTX which converts TrueType/OpenType fonts to and
from an XML-based format.") 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. ;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
(define-public python2-fonttools (define-public python2-fonttools
@ -10966,13 +11089,13 @@ third-party code.")
(define-public python-msgpack (define-public python-msgpack
(package (package
(name "python-msgpack") (name "python-msgpack")
(version "1.0.0") (version "1.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "msgpack" version)) (uri (pypi-uri "msgpack" version))
(sha256 (sha256
(base32 (base32
"1h5mxh84rcw04dvxy1qbfn2hisavfqgilh9k09rgyjhd936dad4m")))) "07m84yisf8m6gr68ip9v6vzxax7kqbn8qxg7ir18clk1jgxwgzai"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
@ -11244,23 +11367,20 @@ native modules.")
(define-public python-xlrd (define-public python-xlrd
(package (package
(name "python-xlrd") (name "python-xlrd")
(version "1.2.0") (version "2.0.1")
(source (origin (source (origin
(method url-fetch) ;; The tests are not included in the PyPI archive.
(uri (pypi-uri "xlrd" version)) (method git-fetch)
(uri (git-reference
(url "https://github.com/python-excel/xlrd")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl")))) "170asszffvf6rh5w169ic4h5kxgjkmdl3060vw737d4g1qfifvzz"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (native-inputs
`(#:phases (list python-pytest))
(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)))))
(home-page "http://www.python-excel.org/") (home-page "http://www.python-excel.org/")
(synopsis "Library for extracting data from Excel files") (synopsis "Library for extracting data from Excel files")
(description "This package provides a library to extract data from (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 (define-public python2-xlrd
(package-with-python2 python-xlrd)) (package-with-python2 python-xlrd))
;;; Note: this package is unmaintained since 2018 (archived on GitHub).
(define-public python-xlwt (define-public python-xlwt
(package (package
(name "python-xlwt") (name "python-xlwt")
@ -11361,11 +11482,16 @@ printing of sub-tables by specifying a row range.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs tests? #:allow-other-keys)
(add-installed-pythonpath inputs outputs) (when tests?
(invoke "pytest" "-vv" "-k" (add-installed-pythonpath inputs outputs)
;; Tries to open an outgoing connection. (invoke "pytest" "-vv" "-k"
"not test_ssl_outgoing")))))) (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 (native-inputs
(list python-pytest)) (list python-pytest))
(home-page "https://github.com/dabeaz/curio") (home-page "https://github.com/dabeaz/curio")
@ -15011,13 +15137,7 @@ module, adding support for Unicode strings.")
#t)) #t))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "make" "test"))) (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))))))
(propagated-inputs (propagated-inputs
(list python-chardet python-cryptography python-sortedcontainers)) (list python-chardet python-cryptography python-sortedcontainers))
(native-inputs (native-inputs
@ -16172,29 +16292,25 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry (define-public poetry
(package (package
(name "poetry") (name "poetry")
(version "1.1.11") (version "1.1.12")
;; Poetry can only be built from source with Poetry.
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "poetry" version)) (uri (pypi-uri "poetry" version))
(sha256 (sha256
(base32 (base32
"17pnf2j4adlm9fhyg5jkkvs8bzcigb6nj72vr0687fxybzsj4zbx")))) "0rr54mvcfcv9cv6vw2122y28xvd2pwqpv2x8c8j5ayz3gwsy4rjw"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ;; Pypi does not have tests. `(#:tests? #f ;PyPI does not have tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'build 'patch-setup-py (add-before 'build 'patch-setup-py
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
;; Allow newer versions of python-keyring. ;; Relax some of the requirements.
(("(keyring>=21.2.0),<22.0.0" _ keyring) keyring) (("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
;; TODO: remove after the next release cycle, (("(packaging>=20.4),<21.0" _ packaging) packaging)))))))
;; when packaging has been updated.
(("packaging>=20.4,<21.0") "packaging>=20.0,<21.0"))
#t)))))
(propagated-inputs (propagated-inputs
(list python-cachecontrol (list python-cachecontrol
python-cachy python-cachy
@ -16212,7 +16328,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
python-pkginfo python-pkginfo
python-poetry-core python-poetry-core
python-requests python-requests
python-requests-toolbelt-0.9.1 python-requests-toolbelt
python-shellingham python-shellingham
python-tomlkit python-tomlkit
python-virtualenv)) python-virtualenv))
@ -18478,7 +18594,7 @@ multitouch applications.")
(define-public python-astroid (define-public python-astroid
(package (package
(name "python-astroid") (name "python-astroid")
(version "2.6.6") (version "2.9.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -18487,12 +18603,12 @@ multitouch applications.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1amzf996inwmh4r3mlpzmch60xs6lrg86vppfnwl1y0l8r0y7zxh")))) (base32 "19iiys4233cicpm48fd7lrkm31kk47qiv44wvk952rqbcn4rd2dh"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
(list python-lazy-object-proxy python-wrapt)) (list python-lazy-object-proxy python-wrapt))
(native-inputs (native-inputs
(list python-pytest python-pytest-runner)) (list python-pytest python-pytest-runner python-typing-extensions))
(home-page "https://github.com/PyCQA/astroid") (home-page "https://github.com/PyCQA/astroid")
(synopsis "Common base representation of python source code for pylint and (synopsis "Common base representation of python source code for pylint and
other projects") other projects")
@ -18505,43 +18621,7 @@ multitouch applications.")
additional methods and attributes for different usages. They include some additional methods and attributes for different usages. They include some
support for static inference and local name scopes. Furthermore, astroid support for static inference and local name scopes. Furthermore, astroid
builds partial trees by inspecting living objects.") builds partial trees by inspecting living objects.")
(license license:lgpl2.1+) (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)))))
(define-public python-isbnlib (define-public python-isbnlib
(package (package
@ -21169,7 +21249,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(define-public python-typed-ast (define-public python-typed-ast
(package (package
(name "python-typed-ast") (name "python-typed-ast")
(version "1.4.2") (version "1.5.1")
(source (source
(origin (origin
(method git-fetch) (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") (url "https://github.com/python/typed_ast")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "1wr6pkvvrq6rzjjw88pd5xy8fy06msam4hlxbkglvdmwh4c083l0")) (base32 "1xfcs5246c8v5600aaa8zs7ii4sxb62q6r3sb2fgazyjx97wrxd9"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
@ -21257,13 +21337,13 @@ Python 3.6+ type hints.")
(define-public python-typing (define-public python-typing
(package (package
(name "python-typing") (name "python-typing")
(version "3.7.4.3") (version "3.10.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "typing" version)) (uri (pypi-uri "typing" version))
(sha256 (sha256
(base32 "1j8wnz8c9s049w9xbf7ssr1dmgg4rz7vdfq7m880srzxhafgp1qi")))) (base32 "0c5il4d68fd4qrm5k3dps70j0xz0n5krj6lhwn9vzpal3whsvd0k"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://docs.python.org/3/library/typing.html") (home-page "https://docs.python.org/3/library/typing.html")
(synopsis "Type hints for Python") (synopsis "Type hints for Python")
@ -21281,17 +21361,41 @@ and other tools.")
(define-public python-typing-extensions (define-public python-typing-extensions
(package (package
(name "python-typing-extensions") (name "python-typing-extensions")
(version "3.10.0.2") (version "4.0.1")
(source (source (origin
(origin ;; The test script is missing from the PyPI archive.
(method url-fetch) (method git-fetch)
(uri (pypi-uri "typing_extensions" version)) (uri (git-reference
(sha256 (url "https://github.com/python/typing")
(base32 (commit version)))
"0zk7kbcms828by6avmqp09bsag1az37qr60viqjwvw8izwb5vxs9")))) (file-name (git-file-name name version))
(sha256
(base32
"0a35fh5wk9s538x0w3dz95y0avnhd2srzyv9s1a372711n8hdl4p"))))
(build-system python-build-system) (build-system python-build-system)
(home-page (arguments
"https://github.com/python/typing/blob/master/typing_extensions/README.rst") (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") (synopsis "Experimental type hints for Python")
(description (description
"The typing_extensions module contains additional @code{typing} hints not "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 (define-public python-flit
(package (package
(name "python-flit") (name "python-flit")
(version "3.3.0") (version "3.5.1")
;; We fetch the sources via git because on pypi the package is split into (source
;; two parts: flit and flit_core; flit_core cannot be built without flit. (origin
(source (origin (method url-fetch)
(method git-fetch) (uri (pypi-uri "flit" version))
(uri (git-reference (sha256
(url "https://github.com/takluyver/flit") (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0mvyymw3zqsnip4x4ca6anr5rbx30hcmpqwrnhjwcm7s8mycd01x"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(add-before 'build 'bootstrap #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) ;; XXX: PEP 517 manual build copied from python-isort.
(let ((home (string-append (getcwd) "/home"))) (replace 'build
(mkdir-p home) (lambda _
(setenv "HOME" home)) (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(for-each make-file-writable (find-files ".")) (replace 'check
(copy-recursively (assoc-ref inputs "python-testpath") (lambda* (#:key tests? inputs outputs #:allow-other-keys)
(string-append (getcwd) "/testpath")) (when tests?
(substitute* "pyproject.toml" (setenv "HOME" "/tmp")
(("\"testpath\",") "")) (setenv "FLIT_NO_NETWORK" "1"))))
(invoke "python" "bootstrap_dev.py"))) (replace 'install
(replace 'build (lambda _
(lambda _ (let ((whl (car (find-files "dist" "\\.whl$"))))
;; A ZIP archive should be generated, but it fails with "ZIP does (invoke "pip" "--no-cache-dir" "--no-input"
;; not support timestamps before 1980". Luckily, "install" "--no-deps" "--prefix" #$output whl)))))))
;; 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.
(propagated-inputs (propagated-inputs
(list python-pytoml python-toml)) (list python-pypa-build
python-tomli-w
python-flit-core
python-docutils
python-requests))
(native-inputs (native-inputs
`(("python-docutils" ,python-docutils) (list python-responses
("python-responses" ,python-responses) python-pygments-github-lexers
("python-pygments-github-lexers" ,python-pygments-github-lexers) python-pytest
("python-pytest" ,python-pytest) python-pytest-cov
("python-pytest-cov" ,python-pytest-cov) python-sphinx
("python-sphinx" ,python-sphinx) python-sphinxcontrib-github-alt
("python-sphinxcontrib-github-alt" ,python-sphinxcontrib-github-alt) python-testpath))
;; 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")))))))
(home-page "https://flit.readthedocs.io/") (home-page "https://flit.readthedocs.io/")
(synopsis (synopsis "Simple packaging tool for simple packages")
"Simple packaging tool for simple packages") (description "Flit is a simple way to put Python packages and modules on
(description PyPI. Flit packages a single importable module or package at a time, using
"Flit is a simple way to put Python packages and modules on PyPI. Flit the import name as the name on PyPI. All subpackages and data files within a
packages a single importable module or package at a time, using the import package are included automatically.")
name as the name on PyPI. All subpackages and data files within a package
are included automatically.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-pathtools (define-public python-pathtools
@ -27960,13 +28024,21 @@ compatible with a wide range of versions of the Stripe API.")
(base32 "1njz0h4iky8iglrb85cd07hpa3lp1a2dfr934dj65hxwzvfk61j4")))) (base32 "1njz0h4iky8iglrb85cd07hpa3lp1a2dfr934dj65hxwzvfk61j4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases `(#:phases
(replace 'check (modify-phases %standard-phases
(lambda* (#:key tests? #:allow-other-keys) (add-before 'build 'pretend-version
(when tests? (invoke "pytest" "-vv"))))))) ;; 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 (native-inputs
(list python-appdirs python-pytest python-pytest-mock (list python-appdirs python-pytest python-pytest-cov
python-setuptools-scm)) python-pytest-mock python-setuptools-scm))
(home-page "https://github.com/platformdirs/platformdirs") (home-page "https://github.com/platformdirs/platformdirs")
(synopsis "Determine the appropriate platform-specific directories") (synopsis "Determine the appropriate platform-specific directories")
(description "When writing applications, finding the right location to (description "When writing applications, finding the right location to

View File

@ -431,7 +431,7 @@ data types.")
(package (package
(inherit python-2) (inherit python-2)
(name "python") (name "python")
(version "3.9.6") (version "3.9.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/" (uri (string-append "https://www.python.org/ftp/python/"
@ -445,7 +445,7 @@ data types.")
"python-3-no-static-lib.patch")) "python-3-no-static-lib.patch"))
(sha256 (sha256
(base32 (base32
"12hhw2685i68pwfx5hdkqngzhbji4ccyjmqb5rzvkigg6fpj0y9r")) "09vd7g71i11iz5ydqghwc8kaxr0vgji94hhwwnj77h3kll28r0h6"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -122,7 +122,7 @@
;;; to be used in source form. The latest support for bootstrapping from ;;; 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: ;;; 1.39.0 is not yet released so use the latest commit (see:
;;; https://github.com/thepowersgang/mrustc/issues/185). ;;; https://github.com/thepowersgang/mrustc/issues/185).
(define %mrustc-commit "474bec9cfd7862a20e7288cecd7fcf5e18648b9a") (define %mrustc-commit "c7066542f8e93d320323749216bf3c82aecb67c2")
(define %mrustc-source (define %mrustc-source
(let* ((version "0.9") (let* ((version "0.9")
(commit %mrustc-commit) (commit %mrustc-commit)
@ -136,7 +136,7 @@
(file-name (git-file-name name (git-version version revision commit))) (file-name (git-file-name name (git-version version revision commit)))
(sha256 (sha256
(base32 (base32
"1zacz5qia0r457mv74wvrvznnv4az5g2w9j8ji9ssy727wljhvz7"))))) "0zv1x6601s5fnnkcdlqkc4bknisqz569qb0iyb9rjsmaf1kh0na3")))))
;;; Rust 1.39 is special in that it is built with mrustc, which shortens the ;;; Rust 1.39 is special in that it is built with mrustc, which shortens the
;;; bootstrap path. ;;; bootstrap path.
@ -623,14 +623,29 @@ safety and thread safety guarantees.")
(define rust-1.54 (define rust-1.54
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package (rust-bootstrapped-package
rust-1.53 "1.54.0" rust-1.53
"0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc"))) "1.54.0" "0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc")))
(package (package/inherit base-rust
(inherit base-rust)
(source (source
(origin (origin
(inherit (package-source base-rust)) (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))) (outputs (cons "rustfmt" (package-outputs base-rust)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments base-rust) (substitute-keyword-arguments (package-arguments base-rust)
@ -718,11 +733,6 @@ safety and thread safety guarantees.")
((file) file)) ((file) file))
(("fn ctrl_c_kills_everyone") (("fn ctrl_c_kills_everyone")
"#[ignore]\nfn 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 (add-after 'configure 'add-gdb-to-config
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((gdb (assoc-ref inputs "gdb"))) (let ((gdb (assoc-ref inputs "gdb")))
@ -772,20 +782,8 @@ safety and thread safety guarantees.")
`("procps" ,procps) `("procps" ,procps)
(package-native-inputs base-rust)))))) (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 ;;; Note: Only the latest versions of Rust are supported and tested. The
;;; intermediate rusts are built for bootstrapping purposes and should not ;;; intermediate rusts are built for bootstrapping purposes and should not
;;; be relied upon. This is to ease maintenance and reduce the time ;;; be relied upon. This is to ease maintenance and reduce the time
;;; required to build the full Rust bootstrap chain. ;;; required to build the full Rust bootstrap chain.
(define-public rust rust-1.54) (define-public rust rust-1.57)

View File

@ -9,7 +9,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,6 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages samba) (define-module (gnu packages samba)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -55,6 +56,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt) #:use-module (gnu packages popt)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages time) #:use-module (gnu packages time)
@ -181,64 +183,58 @@ external dependencies.")
(define-public samba (define-public samba
(package (package
(name "samba") (name "samba")
(version "4.13.14") (version "4.15.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/" (uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz")) "samba-" version ".tar.gz"))
(sha256 (sha256
(base32 "103zy09mszjlfrsnm2vzrw5d9ph5jckddb9cxsrhrslkzblah4b6")) (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si"))))
(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))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("TEST_OPTIONS=--quick") ;some tests are very long (list
#:phases #:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
(modify-phases %standard-phases #:phases
(add-before 'configure 'setup-docbook-stylesheets #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-before 'configure 'setup-docbook-stylesheets
;; Append Samba's own DTDs to XML_CATALOG_FILES (lambda* (#:key inputs #:allow-other-keys)
;; (c.f. docs-xml/build/README). ;; Append Samba's own DTDs to XML_CATALOG_FILES
(copy-file "docs-xml/build/catalog.xml.in" ;; (c.f. docs-xml/build/README).
"docs-xml/build/catalog.xml") (copy-file "docs-xml/build/catalog.xml.in"
(substitute* "docs-xml/build/catalog.xml" "docs-xml/build/catalog.xml")
(("/@abs_top_srcdir@") (substitute* "docs-xml/build/catalog.xml"
(string-append (getcwd) "/docs-xml"))) (("/@abs_top_srcdir@")
;; Honor XML_CATALOG_FILES. (string-append (getcwd) "/docs-xml")))
(substitute* "buildtools/wafsamba/wafsamba.py" ;; Honor XML_CATALOG_FILES.
(("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all) (substitute* "buildtools/wafsamba/wafsamba.py"
(string-append all " $XML_CATALOG_FILES"))) (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
#t)) (string-append all " $XML_CATALOG_FILES")))))
(replace 'configure (replace 'configure
;; Samba uses a custom configuration script that runs WAF. ;; Samba uses a custom configuration script that runs WAF.
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((libdir (string-append #$output "/lib")))
(libdir (string-append out "/lib"))) (invoke "./configure"
(invoke "./configure" "--enable-selftest"
"--enable-selftest" "--enable-fhs"
"--enable-fhs" (string-append "--prefix=" #$output)
(string-append "--prefix=" out) "--sysconfdir=/etc"
"--sysconfdir=/etc" "--localstatedir=/var"
"--localstatedir=/var" ;; Install public and private libraries into
;; Install public and private libraries into ;; a single directory to avoid RPATH issues.
;; a single directory to avoid RPATH issues. (string-append "--libdir=" libdir)
(string-append "--libdir=" libdir) (string-append "--with-privatelibdir=" libdir)
(string-append "--with-privatelibdir=" libdir))))) "--with-system-mitkrb5" ;#$(this-package-input "mit-krb5")
(add-before 'install 'disable-etc,var-samba-directories-setup (string-append "--with-system-mitkdc="
(lambda _ (search-input-file inputs "sbin/krb5kdc"))
(substitute* "dynconfig/wscript" "--with-experimental-mit-ad-dc"))))
(("bld\\.INSTALL_DIR.*") "")) (add-before 'install 'disable-etc,var-samba-directories-setup
#t))) (lambda _
;; FIXME: The test suite seemingly hangs after failing to provision the (substitute* "dynconfig/wscript"
;; test environment. (("bld\\.INSTALL_DIR.*") "")))))
#:tests? #f)) ;; FIXME: The test suite seemingly hangs after failing to provision the
;; test environment.
#:tests? #f))
(inputs (inputs
(list acl (list acl
cmocka cmocka
@ -247,12 +243,12 @@ external dependencies.")
dbus dbus
gpgme gpgme
gnutls gnutls
heimdal
jansson jansson
libarchive libarchive
libtirpc libtirpc
linux-pam linux-pam
lmdb lmdb
mit-krb5
openldap openldap
perl perl
python python
@ -263,15 +259,19 @@ external dependencies.")
;; In Requires or Requires.private of pkg-config files. ;; In Requires or Requires.private of pkg-config files.
(list ldb talloc tevent)) (list ldb talloc tevent))
(native-inputs (native-inputs
`(("perl-parse-yapp" ,perl-parse-yapp) (list perl-parse-yapp
("pkg-config" ,pkg-config) pkg-config
("python-iso8601" ,python-iso8601) python-cryptography ;for krb5 tests
("rpcsvc-proto" ,rpcsvc-proto) ; for 'rpcgen' python-dnspython
;; For generating man pages. python-iso8601
("docbook-xml" ,docbook-xml-4.2) python-markdown
("docbook-xsl" ,docbook-xsl) rpcsvc-proto ;for 'rpcgen'
("xsltproc" ,libxslt) python-pyasn1 ;for krb5 tests
("libxml2" ,libxml2))) ;for XML_CATALOG_FILES ;; For generating man pages.
docbook-xml-4.2
docbook-xsl
libxslt
libxml2)) ;for XML_CATALOG_FILES
(home-page "https://www.samba.org/") (home-page "https://www.samba.org/")
(synopsis (synopsis
"The standard Windows interoperability suite of programs for GNU and Unix") "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 (define-public samba/fixed
;; Version that rarely changes, depended on by libsoup. ;; Version that rarely changes, depended on by libsoup.
(package/inherit samba (hidden-package
(version "4.13.10") (package/inherit samba
(source (version "4.15.3")
(origin (source
(inherit (package-source samba)) (origin
(uri (string-append "https://download.samba.org/pub/samba/stable/" (method url-fetch)
"samba-" version ".tar.gz")) (uri (string-append "https://download.samba.org/pub/samba/stable/"
(sha256 "samba-" version ".tar.gz"))
(base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh")))))) (sha256
(base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si")))))))
(define-public talloc (define-public talloc
(package (package

View File

@ -952,7 +952,6 @@ files and text.")
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:tests? #false ;missing files `(#:tests? #false ;missing files
#:rust ,rust-1.56
#:features '("extra") #:features '("extra")
#:cargo-inputs #:cargo-inputs
(("rust-ctrlc" ,rust-ctrlc-3) (("rust-ctrlc" ,rust-ctrlc-3)

View File

@ -893,15 +893,6 @@ message streaming.")
#:tests? #f #:tests? #f
#:phases #:phases
(modify-phases %standard-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 ;; Source-only package
(delete 'build)))) (delete 'build))))
(propagated-inputs (propagated-inputs

View File

@ -247,7 +247,7 @@ cards.")
#:install-source? #f #:install-source? #f
#:cargo-inputs #:cargo-inputs
(("rust-backtrace" ,rust-backtrace-0.3) (("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitflags" ,rust-bitflags-1.3) ("rust-bitflags" ,rust-bitflags-1)
("rust-chrono" ,rust-chrono-0.4) ("rust-chrono" ,rust-chrono-0.4)
("rust-curl-sys" ,rust-curl-sys-0.4) ("rust-curl-sys" ,rust-curl-sys-0.4)
("rust-cxx" ,rust-cxx-1) ("rust-cxx" ,rust-cxx-1)

View File

@ -89,7 +89,8 @@ tasks, synchronization primitives, atomic operations, and more.")
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")) (assoc-ref %outputs "out") "/lib")
"CFLAGS=-fuse-ld=gold")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fail-on-test-errors (add-after 'unpack 'fail-on-test-errors
@ -121,6 +122,13 @@ tasks, synchronization primitives, atomic operations, and more.")
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
(copy-recursively "include" include))))))) (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") (home-page "https://www.threadingbuildingblocks.org")
(synopsis "C++ library for parallel programming") (synopsis "C++ library for parallel programming")
(description (description

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; 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 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; 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) (modules '((guix build utils)
(ice-9 ftw))) (ice-9 ftw)))
(snippet (snippet
'(begin ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
(with-directory-excursion "libs" '(with-directory-excursion "libs"
(let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf"))) (let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf")))
;; Delete bundled software, except Lua which cannot easily be ;; Delete bundled software, except Lua which cannot easily be
;; used as an external dependency, pplib and xpdf which aren't ;; used as an external dependency, pplib and xpdf which aren't
;; supported as system libraries (see m4/kpse-xpdf-flags.m4). ;; supported as system libraries (see m4/kpse-xpdf-flags.m4).
(for-each delete-file-recursively (for-each delete-file-recursively
(scandir "." (scandir "."
(lambda (file) (lambda (file)
(and (not (member file preserved-directories)) (and (not (member file preserved-directories))
(eq? 'directory (stat:type (stat file))))))))) (eq? 'directory (stat:type (stat file))))))))))))
;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("texlive-extra-src" ,texlive-extra-src) `(("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")) (("gswin32c") "gs"))
(substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl" (substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl"
(("\"gs\"") (("\"gs\"")
(string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\""))) (string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))))
#t))
(add-after 'unpack 'patch-dvisvgm-build-files (add-after 'unpack 'patch-dvisvgm-build-files
(lambda _ (lambda _
;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so ;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so
;; the appropriate linker flags are not added. ;; the appropriate linker flags are not added.
(substitute* "texk/dvisvgm/configure" (substitute* "texk/dvisvgm/configure"
(("^have_libgs=yes" all) (("^have_libgs=yes" all)
(string-append all "\nHAVE_LIBGS=1"))) (string-append all "\nHAVE_LIBGS=1")))))
#t))
(add-after 'unpack 'disable-failing-test (add-after 'unpack 'disable-failing-test
(lambda _ (lambda _
;; FIXME: This test fails on 32-bit architectures since Glibc 2.28: ;; FIXME: This test fails on 32-bit architectures since Glibc 2.28:
;; <https://bugzilla.redhat.com/show_bug.cgi?id=1631847>. ;; <https://bugzilla.redhat.com/show_bug.cgi?id=1631847>.
(substitute* "texk/web2c/omegafonts/check.test" (substitute* "texk/web2c/omegafonts/check.test"
(("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1") (("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1")
"./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77")) "./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))))
#t))
,@(if (target-ppc32?) ,@(if (target-ppc32?)
;; Some mendex tests fail on some architectures. ;; Some mendex tests fail on some architectures.
`((add-after 'unpack 'skip-mendex-tests `((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)) iso-8859-1-encoded-scripts))
(with-fluids ((%default-port-encoding "ISO-8859-1")) (with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute-commands iso-8859-1-encoded-scripts)) (substitute-commands iso-8859-1-encoded-scripts)))))
;; When ST_NLINK_TRICK is set, kpathsea attempts to avoid work when
#t))) ;; 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 (add-after 'check 'customize-texmf.cnf
;; The default texmf.cnf is provided by this package, texlive-bin. ;; The default texmf.cnf is provided by this package, texlive-bin.
;; Every variable of interest is set relatively to the GUIX_TEXMF ;; 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. ;; Don't truncate lines.
(("^error_line = .*$") "error_line = 254\n") (("^error_line = .*$") "error_line = 254\n")
(("^half_error_line = .*$") "half_error_line = 238\n") (("^half_error_line = .*$") "half_error_line = 238\n")
(("^max_print_line = .*$") "max_print_line = 1000\n"))) (("^max_print_line = .*$") "max_print_line = 1000\n")))))
#t))
(add-after 'install 'post-install (add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args) (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(let* ((out (assoc-ref outputs "out")) (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 (config.guess (search-input-file inputs
"/bin/config.guess"))) "/bin/config.guess")))
;; Create symbolic links for the latex variants and their ;; Create symbolic links for the latex variants and their man
;; man pages. ;; pages. We link lualatex to luahbtex; see issue #51252 for
;; details.
(with-directory-excursion (string-append out "/bin/") (with-directory-excursion (string-append out "/bin/")
(for-each symlink (for-each symlink
'("pdftex" "pdftex" "xetex" "luatex") '("pdftex" "pdftex" "xetex" "luahbtex")
'("latex" "pdflatex" "xelatex" "lualatex"))) '("latex" "pdflatex" "xelatex" "lualatex")))
(with-directory-excursion (string-append share "/man/man1/") (with-directory-excursion (string-append share "/man/man1/")
(symlink "luatex.1" "lualatex.1")) (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/") source "/texlive-scripts/source/")
scripts) 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. ;; Make sure that fmtutil can find its Perl modules.
(substitute* (string-append scripts "/fmtutil.pl") (substitute* (string-append scripts "/fmtutil.pl")
(("\\$TEXMFROOT/") (("\\$TEXMFROOT/")
@ -2580,48 +2590,65 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.")
(license license:lppl)))) (license license:lppl))))
(define-public texlive-kpathsea (define-public texlive-kpathsea
(package (let ((template (simple-texlive-package
(inherit (simple-texlive-package "texlive-kpathsea"
"texlive-kpathsea" (list "/web2c/amiga-pl.tcx"
(list "/web2c/amiga-pl.tcx" "/web2c/cp1250cs.tcx"
"/web2c/cp1250cs.tcx" "/web2c/cp1250pl.tcx"
"/web2c/cp1250pl.tcx" "/web2c/cp1250t1.tcx"
"/web2c/cp1250t1.tcx" "/web2c/cp227.tcx"
"/web2c/cp227.tcx" "/web2c/cp852-cs.tcx"
"/web2c/cp852-cs.tcx" "/web2c/cp852-pl.tcx"
"/web2c/cp852-pl.tcx" "/web2c/cp8bit.tcx"
"/web2c/cp8bit.tcx" "/web2c/empty.tcx"
"/web2c/empty.tcx" "/web2c/fmtutil.cnf"
"/web2c/fmtutil.cnf" "/web2c/il1-t1.tcx"
"/web2c/il1-t1.tcx" "/web2c/il2-cs.tcx"
"/web2c/il2-cs.tcx" "/web2c/il2-pl.tcx"
"/web2c/il2-pl.tcx" "/web2c/il2-t1.tcx"
"/web2c/il2-t1.tcx" "/web2c/kam-cs.tcx"
"/web2c/kam-cs.tcx" "/web2c/kam-t1.tcx"
"/web2c/kam-t1.tcx" "/web2c/macce-pl.tcx"
"/web2c/macce-pl.tcx" "/web2c/macce-t1.tcx"
"/web2c/macce-t1.tcx" "/web2c/maz-pl.tcx"
"/web2c/maz-pl.tcx" "/web2c/mktex.cnf"
"/web2c/mktex.cnf" "/web2c/mktex.opt"
"/web2c/mktex.opt" "/web2c/mktexdir"
"/web2c/mktexdir" "/web2c/mktexdir.opt"
"/web2c/mktexdir.opt" "/web2c/mktexnam"
"/web2c/mktexnam" "/web2c/mktexnam.opt"
"/web2c/mktexnam.opt" "/web2c/mktexupd"
"/web2c/mktexupd" "/web2c/natural.tcx"
"/web2c/natural.tcx" "/web2c/tcvn-t5.tcx"
"/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx")
"/web2c/viscii-t5.tcx") (base32
(base32 "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
"00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr") #:trivial? #t)))
#:trivial? #t)) (package
(home-page "https://www.tug.org/texlive/") (inherit template)
(synopsis "Files related to the path searching library for TeX") (arguments
(description "Kpathsea is a library and utility programs which provide (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 path searching facilities for TeX file types, including the self-locating
feature required for movable installations, layered on top of a general search feature required for movable installations, layered on top of a general search
mechanism. This package provides supporting files.") mechanism. This package provides supporting files.")
(license license:lgpl3+))) (license license:lgpl3+))))
(define-public texlive-latexconfig (define-public texlive-latexconfig
(package (package
@ -2673,8 +2700,7 @@ formats.")
(add-after 'unpack 'fix-lua-sources (add-after 'unpack 'fix-lua-sources
(lambda _ (lambda _
(substitute* "source/latex/base/ltluatex.dtx" (substitute* "source/latex/base/ltluatex.dtx"
((" ") " ")) ((" ") " "))))
#t))
(replace 'build (replace 'build
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Find required fonts ;; Find required fonts
@ -2746,8 +2772,7 @@ formats.")
"--fmtdir=web2c" "--fmtdir=web2c"
(string-append "--cnffile=web2c/fmtutil.cnf")) (string-append "--cnffile=web2c/fmtutil.cnf"))
;; We don't actually want to install it. ;; We don't actually want to install it.
(delete-file "web2c/fmtutil.cnf") (delete-file "web2c/fmtutil.cnf")))
#t))
(add-after 'install 'install-more (add-after 'install 'install-more
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -2768,8 +2793,7 @@ formats.")
(for-each (cut install-file <> target) (for-each (cut install-file <> target)
(find-files "build" ".*")) (find-files "build" ".*"))
(for-each (cut install-file <> web2c) (for-each (cut install-file <> web2c)
(find-files "web2c" ".*")) (find-files "web2c" ".*")))))))))
#t)))))))
(native-inputs (native-inputs
`(("texlive-bin" ,texlive-bin) `(("texlive-bin" ,texlive-bin)
("texlive-tex-ini-files" ,texlive-tex-ini-files) ("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.") @code{.tex} file which provides the testing environment.")
(license license:lppl1.3c+)))) (license license:lppl1.3c+))))
;; The SVN directory contains little more than a dtx file that generates three (define-public texlive-lualibs
;; 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 (package
(name "texlive-luatex-lualibs") (inherit
(version "2.5") (simple-texlive-package
(source (origin "texlive-lualibs"
(method url-fetch) (list "doc/luatex/lualibs/"
(uri (string-append "https://github.com/lualatex/lualibs/" "source/luatex/lualibs/"
"releases/download/v" "tex/luatex/lualibs/")
version "/lualibs.zip")) (base32 "0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz")
(file-name (string-append name "-" version ".zip")) ;; The source dtx file only unpacks three files. This is why we
(sha256 ;; install all the files as they are, because there is no clear
(base32 ;; way to generate them all.
"1xx9blvrmx9hyhrl345lpai9m6xxnw997261a1ahn1bm5r2j5fqy")))) #:trivial? #true))
(build-system gnu-build-system) (home-page "https://ctan.org/macros/luatex/generic/lualibs")
(arguments (synopsis "Additional Lua functions for LuaTeX macro programmers")
`(#: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)")
(description (description
"Lualibs is a collection of Lua modules useful for general programming. "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 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 ;; GPL version 2 only
(license license:gpl2))) (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 ;; 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. ;; texlive-l3build, but I haven't been able to get it to work.
(define-public texlive-luaotfload (define-public texlive-luaotfload
@ -3711,7 +3738,8 @@ this bundle for use independent of ConTeXt.")
(package (package
(inherit template) (inherit template)
(propagated-inputs (propagated-inputs
(list texlive-luatex-lualibs)) (list texlive-lua-alt-getopt ;for luaotfload-tool
texlive-lualibs))
(home-page "https://github.com/lualatex/luaotfload") (home-page "https://github.com/lualatex/luaotfload")
(synopsis "OpenType font loader for LuaTeX") (synopsis "OpenType font loader for LuaTeX")
(description (description
@ -3725,71 +3753,6 @@ loading fonts by their proper names instead of file names.")
(define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload) (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 (define-public texlive-latex-amsmath
(package (package
(name "texlive-latex-amsmath") (name "texlive-latex-amsmath")

View File

@ -1675,14 +1675,7 @@ visualize your public Git repositories on a web interface.")
"not test_install_existing_hooks_no_overwrite" "not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks" " and not test_uninstall_restores_legacy_hooks"
" and not test_installed_from_venv" " and not test_installed_from_venv"
" and not test_healthy_venv_creator"))))) " 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$"))))))))
(native-inputs (native-inputs
`(("git" ,git-minimal) `(("git" ,git-minimal)
("python-covdefaults" ,python-covdefaults) ("python-covdefaults" ,python-covdefaults)

View File

@ -49,7 +49,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com> ;;; 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 © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; 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))) ("pkg-config" ,pkg-config)))
(arguments (arguments
`(#:glib-or-gtk? #t `(#: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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'wrap-other-dependencies (add-after 'glib-or-gtk-wrap 'wrap-other-dependencies
@ -5206,7 +5203,7 @@ result in several formats:
(define-public rav1e (define-public rav1e
(package (package
(name "rav1e") (name "rav1e")
(version "0.4.1") (version "0.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5215,15 +5212,18 @@ result in several formats:
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09")))) "006bfcmjwg0phg8gc25b1sl2ngjrb2bh1b3fd0s5gbf9nlkr8qsn"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(;; Strip the '--release' flag to work around the doctest failures with
(("rust-aom-sys" ,rust-aom-sys-0.2) ;; 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-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3) ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-arrayvec" ,rust-arrayvec-0.7)
("rust-av-metrics" ,rust-av-metrics-0.6) ("rust-av-metrics" ,rust-av-metrics-0.7)
("rust-backtrace" ,rust-backtrace-0.3) ("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1) ("rust-bitstream-io" ,rust-bitstream-io-1)
("rust-byteorder" ,rust-byteorder-1) ("rust-byteorder" ,rust-byteorder-1)
@ -5231,7 +5231,7 @@ result in several formats:
("rust-clap" ,rust-clap-2) ("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.14) ("rust-console" ,rust-console-0.14)
("rust-crossbeam" ,rust-crossbeam-0.8) ("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-fern" ,rust-fern-0.6)
("rust-image" ,rust-image-0.23) ("rust-image" ,rust-image-0.23)
("rust-interpolate-name" ,rust-interpolate-name-0.2) ("rust-interpolate-name" ,rust-interpolate-name-0.2)
@ -5250,7 +5250,7 @@ result in several formats:
("rust-rayon" ,rust-rayon-1) ("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1) ("rust-regex" ,rust-regex-1)
("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7) ("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-scan-fmt" ,rust-scan-fmt-0.2)
("rust-serde" ,rust-serde-1) ("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.3) ("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-wasm-bindgen" ,rust-wasm-bindgen-0.2)
("rust-y4m" ,rust-y4m-0.7)) ("rust-y4m" ,rust-y4m-0.7))
#:cargo-development-inputs #:cargo-development-inputs
(("rust-assert-cmd" ,rust-assert-cmd-1) (("rust-assert-cmd" ,rust-assert-cmd-2)
("rust-cc" ,rust-cc-1) ("rust-cc" ,rust-cc-1)
("rust-criterion" ,rust-criterion-0.3) ("rust-criterion" ,rust-criterion-0.3)
("rust-interpolate-name" ,rust-interpolate-name-0.2) ("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" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3) ("rust-rand-chacha" ,rust-rand-chacha-0.3)
("rust-semver" ,rust-semver-0.11)) ("rust-semver" ,rust-semver-1))
#:phases #:phases
(modify-phases %standard-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 (replace 'build
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))

View File

@ -1340,8 +1340,6 @@ to integrate other virtualization mechanisms if needed.")
(base32 (base32
"1gdcvqz88qkp402zra9csc6391f2xki1270x683n6ixakl3gf8w4")))) "1gdcvqz88qkp402zra9csc6391f2xki1270x683n6ixakl3gf8w4"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments
`(#:meson ,meson-0.59)) ;KeyError: 'install_dir' with meson 0.60
(inputs (inputs
(list openssl cyrus-sasl lvm2 ; for libdevmapper (list openssl cyrus-sasl lvm2 ; for libdevmapper
libyajl)) libyajl))

View File

@ -251,15 +251,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
"-DUSE_SYSTEMD=OFF" "-DUSE_SYSTEMD=OFF"
(string-append ; uses lib64 by default (string-append ; uses lib64 by default
"-DLIB_INSTALL_DIR=" "-DLIB_INSTALL_DIR="
(assoc-ref %outputs "out") "/lib") (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")
#:make-flags #:make-flags
;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5 ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
(list "-j" (number->string (max 2 (parallel-job-count)))) (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 (description
"WebKitGTK+ is a full-featured port of the WebKit rendering engine, "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
suitable for projects requiring any kind of web integration, from hybrid 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 ;; WebKit's JavaScriptCore and WebCore components are available under
;; the GNU LGPL, while the rest is available under a BSD-style license. ;; the GNU LGPL, while the rest is available under a BSD-style license.
(license (list license:lgpl2.0 (license (list license:lgpl2.0

View File

@ -431,7 +431,7 @@ avoiding password prompts when X11 forwarding has already been setup.")
wayland-protocols wayland-protocols
xkeyboard-config)) xkeyboard-config))
(native-inputs (native-inputs
(list bison doxygen pkg-config)) (list bison doxygen pkg-config python))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "-Dxkb-config-root=" (list (string-append "-Dxkb-config-root="

View File

@ -5532,18 +5532,18 @@ Wayland.")
(define-public libx11 (define-public libx11
(package (package
(name "libx11") (name "libx11")
(version "1.7.2") (version "1.7.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://xorg/individual/lib/libX11-" (uri (string-append "https://xorg.freedesktop.org/archive/"
version ".tar.bz2")) "/individual/lib/libX11-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0v7aj8q3rlchdyfwdna7n7vgpyzyir391dlv5rwy9fxagbikbyhw")))) "1289nvs52q9fnp7zl30bdpbvqggnjjb39vy0zll511zvcrr43z9g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ;8 MiB of man pages + XML "doc")) ;8 MiB of man pages + XML
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--mandir=" (list (string-append "--mandir="
@ -5552,9 +5552,9 @@ Wayland.")
"--disable-static" "--disable-static"
,@(malloc0-flags)))) ,@(malloc0-flags))))
(propagated-inputs (propagated-inputs
(list xorgproto libxcb)) (list xorgproto libxcb))
(inputs (inputs
(list xtrans)) (list xtrans))
(native-inputs (native-inputs
(list pkg-config xorgproto)) (list pkg-config xorgproto))
(home-page "https://www.x.org/wiki/") (home-page "https://www.x.org/wiki/")

View File

@ -598,6 +598,8 @@ and 'man/'. This phase moves directories to the right place if needed."
(string-suffix? ".tgz" file)) (string-suffix? ".tgz" file))
(gzip-file? file))) (gzip-file? file)))
#:stat lstat))) #:stat lstat)))
;; Ensure the files are writable.
(for-each make-file-writable files)
(for-each reset-gzip-timestamp files))) (for-each reset-gzip-timestamp files)))
(match outputs (match outputs

View File

@ -8,6 +8,7 @@
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1462,10 +1463,9 @@ not supported."
`(let ((cl (command-line))) `(let ((cl (command-line)))
(apply execl ,interpreter (apply execl ,interpreter
(car cl) (car cl)
(cons (car cl) (append
(append ',(string-tokenize args char-set:graphic)
',(string-split args #\space) cl)))))
cl))))))
(template (string-append prog ".XXXXXX")) (template (string-append prog ".XXXXXX"))
(out (mkstemp! template)) (out (mkstemp! template))
(st (stat prog)) (st (stat prog))

View File

@ -571,9 +571,7 @@ or \"bash-minimal\" is not in its inputs. 'wrap-script' is not supported."
input-names))) input-names)))
(define (check-procedure-body body) (define (check-procedure-body body)
(match body (match body
;; Explicitely setting an interpreter is acceptable, ;; Explicitely setting an interpreter is acceptable.
;; #:sh support is added on 'core-updates'.
;; TODO(core-updates): remove mention of core-updates.
(('wrap-program _ '#:sh . _) '()) (('wrap-program _ '#:sh . _) '())
(('wrap-program _ . _) (('wrap-program _ . _)
(list (report-wrap-program-error package 'wrap-program))) (list (report-wrap-program-error package 'wrap-program)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -167,9 +168,7 @@ echo hello world"))
"/some/path:/some/other/path")))) "/some/path:/some/other/path"))))
'(let ((cl (command-line))) '(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/sh" (apply execl "/anything/cabbage-bash-1.2.3/bin/sh"
(car cl) (car cl) (append (quote ()) cl))))
(cons (car cl)
(append '("") cl)))))
script-contents) script-contents)
(call-with-temporary-directory (call-with-temporary-directory
(lambda (directory) (lambda (directory)
@ -208,8 +207,7 @@ print('hello world')"))
`(let ((cl (command-line))) `(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/python3" (apply execl "/anything/cabbage-bash-1.2.3/bin/python3"
(car cl) (car cl)
(cons (car cl) (append '("-and" "-args") cl))))
(append '("" "-and" "-args") cl)))))
script-contents) script-contents)
(call-with-temporary-directory (call-with-temporary-directory
(lambda (directory) (lambda (directory)
@ -243,6 +241,54 @@ print('hello world')"))
"/some/other/path"))) "/some/other/path")))
#f))))) #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" (test-equal "substitute*, text contains a NUL byte, UTF-8"
"c\0d" "c\0d"
(with-fluids ((%default-port-encoding "UTF-8") (with-fluids ((%default-port-encoding "UTF-8")
@ -287,5 +333,4 @@ print('hello world')"))
("guile/bin" . ,(dirname (which "guile")))) ("guile/bin" . ,(dirname (which "guile"))))
"guile")))) "guile"))))
(test-end) (test-end)