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-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/binutils-CVE-2021-45078.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
@ -1241,6 +1242,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk-introspection-test.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@ -1804,7 +1806,6 @@ dist_patch_DATA = \
%D%/packages/patches/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/shadow-hurd-pctrl.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \

View File

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

View File

@ -68,10 +68,10 @@
`(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
;; should use our own "cpp" instead of "/lib/cpp".
#:tests? #f
,@(if (%current-target-system)
`(#:phases
#:phases
(modify-phases %standard-phases
(add-after 'install 'patch-non-shebang-references
,@(if (%current-target-system)
'((add-after 'install 'patch-non-shebang-references
(lambda* (#:key build inputs outputs #:allow-other-keys)
;; `patch-shebangs' patches shebangs only, and the Perl
;; scripts use a re-exec feature that references the
@ -88,9 +88,18 @@
(((string-append store-directory "/[^/]*-m4-[^/]*"))
m4)
(((string-append store-directory "/[^/]*-perl-[^/]*"))
perl))
#t)))))
'())))
perl))))))
'())
(add-after 'install 'unpatch-shebangs
(lambda* (#:key outputs #:allow-other-keys)
;; Scripts that "autoconf -i" installs (config.guess,
;; config.sub, and install-sh) must use a regular shebang
;; rather than a reference to the store. Restore it.
(let* ((out (assoc-ref outputs "out"))
(build-aux (string-append
out "/share/autoconf/build-aux")))
(substitute* (find-files build-aux)
(("^#!.*/bin/sh") "#!/bin/sh"))))))))
(home-page "https://www.gnu.org/software/autoconf/")
(synopsis "Create source code configuration scripts")
(description
@ -130,19 +139,7 @@ know anything about Autoconf or M4.")
(executable-file? file)))
(find-files "bin"
(lambda (file stat)
(executable-file? file)))))
#t))
(add-after 'install 'unpatch-shebangs
(lambda* (#:key outputs #:allow-other-keys)
;; Scripts that "autoconf -i" installs (config.guess,
;; config.sub, and install-sh) must use a regular shebang
;; rather than a reference to the store. Restore it.
;; TODO: Move this phase to 'autoconf-2.69'.
(let* ((out (assoc-ref outputs "out"))
(build-aux (string-append
out "/share/autoconf/build-aux")))
(substitute* (find-files build-aux)
(("^#!.*/bin/sh") "#!/bin/sh")))))))))))
(executable-file? file)))))))))))))
(define-public autoconf autoconf-2.69)

View File

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

View File

@ -18,6 +18,7 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
import os
import site
import sys
# Commentary:
@ -47,9 +48,18 @@ all_sites_norm = [os.path.normpath(p) for p in all_sites_raw]
matching_sites = [p for p in all_sites_norm
if p.endswith(site_packages_prefix)]
# Insert sites matching the current version into sys.path, right before
# Python's own site. This way, the user can override the libraries provided
# by Python itself.
sys_path_absolute = [os.path.realpath(p) for p in sys.path]
index = sys_path_absolute.index(python_site)
sys.path[index:index] = matching_sites
if matching_sites:
# Deduplicate the entries, append them to sys.path, and handle any
# .pth files they contain.
for s in matching_sites:
site.addsitedir(s)
# Move the entries that were appended to sys.path in front of
# Python's own site-packages directory. This enables Guix
# packages to override Python's bundled packages, such as 'pip'.
python_site_index = sys.path.index(python_site)
new_site_start_index = sys.path.index(matching_sites[0])
if python_site_index < new_site_start_index:
sys.path = (sys.path[:python_site_index]
+ sys.path[new_site_start_index:]
+ sys.path[python_site_index:new_site_start_index])

View File

@ -57,8 +57,7 @@
;; This can be removed for Avahi versions > 0.8.
(substitute* "avahi-libevent.pc.in"
(("libevent-2\\.1\\.5")
"libevent >= 2.1.5"))
#t))))
"libevent >= 2.1.5"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-distro=none"
@ -75,9 +74,7 @@
,@(if (%current-target-system)
'("ac_cv_prog_have_pkg_config=yes")
'()))
;; TODO(core-updates): Make this unconditional.
,@(if (%current-target-system)
`(#:modules ((srfi srfi-26)
#:modules ((srfi srfi-26)
(guix build utils)
(guix build gnu-build-system))
#:phases
@ -88,13 +85,9 @@
`(,(dirname (search-input-file inputs "bin/sh"))))
(for-each
(cut patch-shebang <> path)
(find-files (string-append #$output "/etc/avahi")))))))
'())))
(find-files (string-append #$output "/etc/avahi"))))))))
(inputs
;; TODO(core-updates): Make this input unconditional.
`(,@(if (%current-target-system)
`(("bash-minimal" ,bash-minimal))
'())
`(("bash-minimal" ,bash-minimal)
("dbus" ,dbus)
("expat" ,expat)
("gdbm" ,gdbm)

View File

@ -521,10 +521,12 @@ change. GNU make offers many powerful extensions over the standard utility.")
(sha256
(base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37"))
(patches (search-patches "binutils-loongson-workaround.patch"
"binutils-2.37-file-descriptor-leak.patch"))))
"binutils-2.37-file-descriptor-leak.patch"
"binutils-CVE-2021-45078.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
`(#:out-of-source? #t ;recommended in the README
#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc"
@ -543,7 +545,13 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Make sure 'ar' and 'ranlib' produce archives in a
;; deterministic fashion.
"--enable-deterministic-archives")))
"--enable-deterministic-archives"
"--enable-64-bit-bfd"
"--enable-compressed-debug-sections=all"
"--enable-lto"
"--enable-separate-code"
"--enable-threads")))
(synopsis "Binary utilities: bfd gas gprof ld")
(description
@ -556,23 +564,6 @@ included.")
(license gpl3+)
(home-page "https://www.gnu.org/software/binutils/")))
;;; TODO: Merge into binutils on the next world rebuild.
(define-public binutils-next
(package/inherit binutils
(name "binutils-next")
(version "2.37")
(arguments
(substitute-keyword-arguments (package-arguments binutils)
((#:out-of-source? _ #f) ;recommended in the README
#t)
((#:configure-flags flags)
`(cons* "--enable-64-bit-bfd"
"--enable-compressed-debug-sections=all"
"--enable-lto"
"--enable-separate-code"
"--enable-threads"
,flags))))))
;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
;; Keep this version around until the patch is updated.
@ -594,7 +585,7 @@ included.")
(properties '())))
(define-public binutils-gold
(package/inherit binutils-next
(package/inherit binutils
(name "binutils-gold")
(arguments
(substitute-keyword-arguments (package-arguments binutils)

View File

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

View File

@ -264,7 +264,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
(version "0.60.0")
(version "0.60.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@ -272,42 +272,10 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
"0irdn7hx5a182jbvq2kmdwd1v7mljzh5fm27pg4xk879hnv6h388"))
"13mrrizg4vl6n5k7fz6amyafnn3i097dcarr552qc0ca6nlmzjl7"))
(patches (search-patches
"meson-allow-dirs-outside-of-prefix.patch"))))
(build-system python-build-system)
(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
`(;; FIXME: Tests require many additional inputs and patching many
;; 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')
# EASY-INSTALL-ENTRY-SCRIPT"
output python-version)))))))))
(properties '())))
(inputs (list python-wrapper ninja))
(home-page "https://mesonbuild.com/")
(synopsis "Build system designed to be fast and user-friendly")
(description
"The Meson build system is focused on user-friendliness and speed.
It can compile code written in C, C++, Fortran, Java, Rust, and other
languages. Meson provides features comparable to those of the
Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
files}, are written in a custom domain-specific language (@dfn{DSL}) that
resembles Python.")
(license license:asl2.0)))
;;; This older Meson variant is kept for now for gtkmm and others that may
;;; have problems with 0.60.

View File

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

View File

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

View File

@ -1394,6 +1394,32 @@ handles the 7z format which features very high compression ratios.")
functionality in a C++ iostream.")
(license license:lgpl2.1+)))
(define-public zopfli
(package
(name "zopfli")
(version "1.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/zopfli")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dr8n4j5nj2h9n208jns56wglw59gg4qm3s7c6y3hs75d0nnkhm4"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test suite
#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(home-page "https://github.com/google/zopfli")
(synopsis "Very good, but slow, deflate or zlib compression")
(description "Zopfli Compression Algorithm is a compression library
programmed in C to perform very good, but slow, deflate or zlib compression.
ZopfliCompress supports the deflate, gzip and zlib output formats. This
library can only compress, not decompress; existing zlib or deflate libraries
can decompress the data.")
(license license:asl2.0)))
(define-public zpaq
(package
(name "zpaq")

View File

@ -192,10 +192,10 @@ text or blue underlined text, on ANSI terminals.")
"1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
(arguments `())))
(define-public rust-aom-sys-0.2
(define-public rust-aom-sys-0.3
(package
(name "rust-aom-sys")
(version "0.2.1")
(version "0.3.0")
(source
(origin
(method url-fetch)
@ -204,7 +204,7 @@ text or blue underlined text, on ANSI terminals.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"03a0xhaafjn0hlpcf9ba73hv557m0jqnmj9wl57wzrcnka96zvgj"))))
"0dhikfl7l5nacspajbllbhhysad3vl845cpfplqgm5mf67nmx9w8"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -219,30 +219,6 @@ text or blue underlined text, on ANSI terminals.")
(description "This package provides FFI bindings to aom.")
(license license:expat)))
(define-public rust-aom-sys-0.1
(package
(inherit rust-aom-sys-0.2)
(name "rust-aom-sys")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "aom-sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1bqcpkycv1d67r6jcl9npfbw6rkl829rdq9w6vlpb0rjqxp0xzsn"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-bindgen" ,rust-bindgen-0.53)
("rust-metadeps" ,rust-metadeps-1))))
(native-inputs
(list pkg-config))
(inputs
(list libaom clang llvm))))
(define-public rust-ascii-canvas-2
(package
(name "rust-ascii-canvas")

View File

@ -4463,29 +4463,31 @@ iteratively in Rust.")
in Rust.")
(license (list license:asl2.0 license:expat))))
(define-public rust-av-metrics-0.6
(define-public rust-av-metrics-0.7
(package
(name "rust-av-metrics")
(version "0.6.2")
(version "0.7.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "av-metrics" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1g4k2q3226246jad3jl8pny7aphq8i03x4qyilzj4zgp27350hsz"))))
(base32 "1y1q61lhahljxh1l2brp8v795qf6g7gr4h4vdmq43g5z5pq2dw50"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
`(#:cargo-inputs
(("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-itertools" ,rust-itertools-0.10)
("rust-lab" ,rust-lab-0.8)
("rust-lab" ,rust-lab-0.11)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-v-frame" ,rust-v-frame-0.2))))
("rust-v-frame" ,rust-v-frame-0.2))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3)
("rust-y4m" ,rust-y4m-0.7))))
(home-page "https://github.com/rust-av/av-metrics")
(synopsis "Collection of algorithms for measuring audio/video metrics")
(description
@ -6128,30 +6130,6 @@ types.")
(define-public rust-bitflags-1
(package
(name "rust-bitflags")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "bitflags" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg"))))
(build-system cargo-build-system)
(home-page "https://github.com/bitflags/bitflags")
(synopsis "Macro to generate structures which behave like bitflags")
(description "This package provides a macro to generate structures which
behave like a set of bitflags.")
(license (list license:asl2.0
license:expat))))
;; TODO: Absorb this package into rust-bitflags-1 in core-updates with the
;; newer version of rust so we don't have to track down all dependants of this
;; package to ensure a compatible version of rust.
(define-public rust-bitflags-1.3
(package
(inherit rust-bitflags-1)
(name "rust-bitflags")
(version "1.3.2")
(source
@ -6161,6 +6139,7 @@ behave like a set of bitflags.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests require rust-1.46 or newer.
#:cargo-inputs
@ -6172,7 +6151,13 @@ behave like a set of bitflags.")
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-trybuild" ,rust-trybuild-1)
("rust-walkdir" ,rust-walkdir-2))))))
("rust-walkdir" ,rust-walkdir-2))))
(home-page "https://github.com/bitflags/bitflags")
(synopsis "Macro to generate structures which behave like bitflags")
(description "This package provides a macro to generate structures which
behave like a set of bitflags.")
(license (list license:asl2.0
license:expat))))
(define-public rust-bitflags-0.9
(package
@ -10337,6 +10322,54 @@ diagnostics easy and relatively painless for everyone!")
(description "This package provides colorful panic backtraces.")
(license (list license:expat license:asl2.0))))
(define-public rust-concolor-query
(package
(name "rust-concolor-query")
(version "0.0.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "concolor-query" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1isbqpyiwblp0rglnaqzai5hav23095s82mwgi09v3xcck4rq5dd"))))
(build-system cargo-build-system)
(home-page "https://github.com/rust-cli/concolor")
(synopsis "Rust library to query low level terminal capabilities")
(description "@code{concolor-query} can be used to query a terminal
capabilities, for example to find out about its colored console abilities.")
(license (list license:expat license:asl2.0))))
(define-public rust-concolor-control
(package
(name "rust-concolor-control")
(version "0.0.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "concolor-control" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1nplakbdb9sbd3h62d9zkan0xm1w0c7cbl3rk0iqgn405yf1213i"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;see https://github.com/rust-cli/concolor/issues/4
#:cargo-inputs
(("rust-atty" ,rust-atty-0.2)
("rust-bitflags" ,rust-bitflags-1)
("rust-concolor-query" ,rust-concolor-query))))
(home-page "https://github.com/rust-cli/concolor")
(synopsis "Rust library for managing terminal styling")
(description "@code{concolor-control} is a terminal styling library that
can be used to:
@itemize
@item Detect interactive @samp{stdout} or @samp{stderr}
@item Detect terminal capabilities via @samp{TERM}
@item Support @url{https://bixense.com/clicolors/, CLICOLOR} and
@url{https://no-color.org/, NO_COLOR}.
@end itemize")
(license (list license:expat license:asl2.0))))
(define-public rust-color-quant-1
(package
(name "rust-color-quant")
@ -27165,10 +27198,10 @@ currently supports parsing (fully conformant parser), formatting and comparing
language tags.")
(license license:expat)))
(define-public rust-lab-0.8
(define-public rust-lab-0.11
(package
(name "rust-lab")
(version "0.8.1")
(version "0.11.0")
(source
(origin
(method url-fetch)
@ -27177,15 +27210,15 @@ language tags.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ysnbviwi35mq6xyz9c59mpgigyfp4s4y2mispxzrms4vk83bx15"))))
"13ymsn5cwl5i9pmp5mfmbap7q688dcp9a17q82crkvb784yifdmz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-development-inputs
(("rust-approx" ,rust-approx-0.3)
(("rust-approx" ,rust-approx-0.5)
("rust-criterion" ,rust-criterion-0.3)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
("rust-rand" ,rust-rand-0.5))))
("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-rand" ,rust-rand-0.8))))
(home-page "https://github.com/TooManyBees/lab")
(synopsis "Convert RGB to CIE-LAB for Rust")
(description
@ -27195,7 +27228,7 @@ space, and comparing differences in color.")
(define-public rust-lab-0.7
(package
(inherit rust-lab-0.8)
(inherit rust-lab-0.11)
(name "rust-lab")
(version "0.7.2")
(source
@ -27217,7 +27250,7 @@ space, and comparing differences in color.")
(define-public rust-lab-0.4
(package
(inherit rust-lab-0.8)
(inherit rust-lab-0.7)
(name "rust-lab")
(version "0.4.4")
(source
@ -46210,8 +46243,33 @@ require unstable language features.")
"small helper to generate version information for git packages")
(license (list license:expat license:asl2.0))))
(define-public rust-rustc-version-0.3
(define-public rust-rustc-version-0.4
(package
(name "rust-rustc-version")
(version "0.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")
(version "0.3.3")
(source
@ -46221,17 +46279,10 @@ require unstable language features.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("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))))
(("rust-semver" ,rust-semver-0.11))))))
(define-public rust-rustc-version-0.2
(package
@ -54715,6 +54766,30 @@ processors, disks, components and networks.")
(description "Send log messages to syslog.")
(license license:expat)))
(define-public rust-cfg-expr-0.8
(package
(name "rust-cfg-expr")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "cfg-expr" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "03lgv8psc2qrr93hxgdfmfwbj1crpzghxd7qh6w2nz0l4qryh4ml"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-smallvec" ,rust-smallvec-1)
("rust-target-lexicon" ,rust-target-lexicon-0.12))
#:cargo-development-inputs
(("rust-difference" ,rust-difference-2))))
(home-page "https://github.com/EmbarkStudios/cfg-expr")
(synopsis "Parser and evaluator for Rust @samp{cfg} expressions")
(description "This package provides a parser and evaluator for Rust
@samp{cfg} expressions.")
(license (list license:expat license:asl2.0))))
(define-public rust-system-deps-3
(package
(name "rust-system-deps")
@ -62273,22 +62348,23 @@ first byte.")
(define-public rust-v-frame-0.2
(package
(name "rust-v-frame")
(version "0.2.1")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "v_frame" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0ia1j0j1v5zp9bp91imbnbxnv937x3xfpc06nyj96yjfk8zbmxhp"))))
(base32 "1ay6p0arqg8cnyzv6iiad77plvjkxnmlmyvgz2qcpadv7y5942n7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
`(#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1)
("rust-hawktracer" ,rust-rust-hawktracer-0.7)
("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1)
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
(home-page "https://github.com/xiph/rav1e")

View File

@ -309,15 +309,6 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
(("/bin/sh") (which "sh")))
#t))
;; Make the compressed manpages writable so that the
;; reset-gzip-timestamps phase does not error out.
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man")))
(for-each (lambda (file) (chmod file #o644))
(find-files man "\\.gz"))
#t)))
(add-before 'build 'patch-tests
(lambda _
(substitute* "tools/ippeveprinter.c"

View File

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

View File

@ -245,16 +245,7 @@
;; environment variables from emacs.
;; Likewise, we don't need to patch helper binaries
;; like etags, ctags or ebrowse.
"^emacs(-[0-9]+(\\.[0-9]+)*)?$"))
#t)))
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
;; The 'reset-gzip-timestamps phase will throw a permission error
;; if gzip files aren't writable then. This phase is needed when
;; building from a git checkout.
(lambda _
(for-each make-file-writable
(find-files %output ".*\\.t?gz$"))
#t)))))
"^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
(inputs
`(("gnutls" ,gnutls)
("ncurses" ,ncurses)

View File

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

View File

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

View File

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

View File

@ -259,13 +259,6 @@ from Markdown files.")
`("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.*$"))
#t)))
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." ".*\\.xml(-good)?")

View File

@ -12,7 +12,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
(version "21.2.5")
(version "21.3.2")
(source
(origin
(method url-fetch)
@ -239,7 +239,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
"1fxcdf4qs4vmyjcns7jv62w4jy3gr383ar5b7mr77nb0nxgmhjcf"))
"1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2"))
(patches
(search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system)
@ -352,6 +352,12 @@ also known as DXTn or DXTC) for Mesa.")
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
;; Disable the intel vulkan (anv_state_pool) tests, as they may
;; fail in a nondeterministic fashion (see:
;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/5446).
(substitute* "src/intel/vulkan/meson.build"
(("if with_tests")
"if false"))
,@(match (%current-system)
("powerpc64le-linux"
;; Disable some of the llvmpipe tests.

View File

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

View File

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

View File

@ -279,15 +279,19 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.30")
;; Note: The 2.2.X releases are Long Term Support (LTS), so stick to it
;; for our stable 'gnupg'.
;; Note2: 2.2.33 currently suffers from regressions, so do not update to it
;; (see: https://dev.gnupg.org/T5742).
(version "2.2.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
(uri (string-append "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-" version
".tar.bz2"))
(patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
"1111ry31gaxv76miqsy6l0kwxwlx8sz0jk41jhyrjwx649p6sqyc"))))
"0506gv54z10c96z5821z9p0ksibk1pfilsmag39ffqrcz0sinmxj"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@ -347,21 +351,6 @@ libskba (working with X.509 certificates and CMS data).")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/gnupg")))))
;; This package fixes <https://issues.guix.gnu.org/52483>, "GnuPG 2.2.30 cannot
;; do symmetric encryption"
(define-public gnupg-2.2.32
(package
(inherit gnupg)
(version "2.2.32")
(source (origin
(inherit (package-source gnupg))
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
"0506gv54z10c96z5821z9p0ksibk1pfilsmag39ffqrcz0sinmxj"))))))
(define-public gnupg-1
(package (inherit gnupg)
(version "1.4.23")
@ -382,8 +371,7 @@ libskba (working with X.509 certificates and CMS data).")
(add-after 'unpack 'patch-check-sh
(lambda _
(substitute* "checks/Makefile.in"
(("/bin/sh") (which "sh")))
#t)))))))
(("/bin/sh") (which "sh"))))))))))
(define-public gpgme
(package
@ -433,14 +421,9 @@ and every application benefits from this.")
"lang/cpp/src/libgpgmepp.la")
(symlink (string-append gpgme "/lib/libgpgme.la")
"src/libgpgme.la"))
(chdir "lang/qt")
#t)))))
(chdir "lang/qt"))))))
(native-inputs
;; Use GnuPG 2.2.32. With 2.2.30, 'testSymmetricEncryptDecrypt' in
;; t-encrypt.cpp fails because 'gpg' wrongfully ask for a passphrase do
;; decrypt the cypher text.
(modify-inputs (package-native-inputs gpgme)
(replace "gnupg" gnupg-2.2.32)
(prepend pkg-config)))
(inputs
(modify-inputs (package-inputs gpgme)
@ -593,14 +576,14 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(define-public python-gnupg
(package
(name "python-gnupg")
(version "0.4.7")
(version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-gnupg" version))
(sha256
(base32
"1isazrg2h126xg3vvk4wrhx8k8yfsg5sxybvfa99phj235mzaq90"))))
"1mq7hljy3bjkxdvh3qx2bv4y0b66l9pmc6i06ys75y7dbjpf2kdn"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -615,8 +598,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(setenv "USERNAME" "guixbuilder")
;; The doctests are extremely slow and sometimes time out,
;; so we disable them.
(invoke "python"
"test_gnupg.py" "--no-doctests")))))))
(invoke "python" "test_gnupg.py" "--no-doctests")))))))
(native-inputs
(list gnupg))
(home-page "https://pythonhosted.org/python-gnupg/index.html")
@ -626,9 +608,6 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
and signature functionality from Python programs.")
(license license:bsd-3)))
(define-public python2-gnupg
(package-with-python2 python-gnupg))
(define-public perl-gnupg-interface
(package
(name "perl-gnupg-interface")

View File

@ -369,10 +369,7 @@ in C/C++.")
`(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway.
#:test-target "check-jstests"
#:configure-flags
;; TODO(core-updates): unconditionally use 'quasiquote
,#~(#$(if (%current-target-system)
#~quasiquote
#~quote)
,#~(quasiquote
("--enable-ctypes"
"--enable-optimize"
"--enable-pie"
@ -466,7 +463,10 @@ in C/C++.")
"--enable-hardening"
"--enable-optimize"
"--enable-release"
"--enable-rust-simd"
;; FIXME: rust-simd is disabled otherwise the build fails with
;; "error: `[u32; 64]` is forbidden as the type of a const generic
;; parameter".
"--disable-rust-simd"
"--enable-readline"
"--enable-shared-js"
"--with-system-icu"

View File

@ -2451,16 +2451,7 @@ Go programming language.")
#:phases
(modify-phases %standard-phases
;; Source-only package
(delete 'build)
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(string-append (assoc-ref outputs "out")
"/src/golang.org/x/crypto/ed25519/testdata")
".*\\.gz$"))
#t)))))
(delete 'build))))
(propagated-inputs
(list go-golang-org-x-sys))
(synopsis "Supplementary cryptographic libraries in Go")
@ -3738,17 +3729,7 @@ SysVinit, and more.")
(list go-golang-org-x-sys go-github-com-sirupsen-logrus
go-golang-org-x-crypto))
(arguments
'(#:import-path "github.com/docker/distribution"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(assoc-ref outputs "out")
".*\\.gz$"))
#t)))))
'(#:import-path "github.com/docker/distribution"))
(home-page
"https://github.com/docker/distribution")
(synopsis "This package is a Docker toolset to pack, ship, store, and
@ -5571,17 +5552,7 @@ non-UTF-friendly sources.")
"0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gdamore/tcell"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
#t))))))
`(#:import-path "github.com/gdamore/tcell"))
(inputs
(list go-github.com-mattn-go-runewidth go-golang-org-colorful
go-golang-org-x-text go-github-com-gdamore-encoding))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
(define-module (gnu packages graph)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
@ -60,31 +62,81 @@
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
(define-public plfit
(package
(name "plfit")
(version "0.9.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ntamas/plfit")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"03x5jbvg8vwr92682swy58ljxrhqwmga1xzd0cpfbfmda41gm2fb"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(home-page "https://github.com/ntamas/plfit")
(synopsis "Tool for fitting power-law distributions to empirical data")
(description "The @command{plfit} command fits power-law distributions to
empirical (discrete or continuous) data, according to the method of Clauset,
Shalizi and Newman (@cite{Clauset A, Shalizi CR and Newman MEJ: Power-law
distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
(license license:gpl2+)))
(define-public igraph
(package
(name "igraph")
(version "0.8.4")
(version "0.9.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/igraph/igraph/releases/"
"download/" version "/igraph-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet '(begin
;; Fully unbundle igraph (see:
;; https://github.com/igraph/igraph/issues/1897).
(delete-file-recursively "vendor")
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(vendor\\).*")
""))
(substitute* "src/CMakeLists.txt"
;; Remove bundling related variables.
((".*_IS_VENDORED.*") "")
;; Remove link/install directives to bundled plfit.
(("plfit") "")
;; Patch in support to find plfit from the system.
(("# Link igraph statically to some.*" all)
(string-append "\
find_package(PkgConfig REQUIRED)
pkg_check_modules(PLFIT REQUIRED libplfit IMPORTED_TARGET)
target_link_libraries(igraph PUBLIC PkgConfig::PLFIT)\n"
all)))
(substitute* (find-files "." "(\\.h|\\.c)$")
;; Adjust includes for the newer plfit used.
(("plfit/error.h")
"plfit/plfit_error.h")
;; And the newer SuiteSparse.
(("cs/cs.h")
"cs.h"))))
(sha256
(base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf"))))
(build-system gnu-build-system)
(base32 "0ym1jnj6rqrrjad0dk7jsrm9351zdd0654brbn38gqp1j9wgdqy4"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "--disable-static"
"--with-external-glpk"
"--with-external-blas"
"--with-external-lapack")))
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(native-inputs (list pkg-config))
(inputs
(list gmp
(list arpack-ng
gmp
glpk
libxml2
lapack
openblas
zlib))
plfit
suitesparse))
(home-page "https://igraph.org")
(synopsis "Network analysis and visualization")
(description
@ -95,36 +147,46 @@ more.")
(license license:gpl2+)))
(define-public python-igraph
(package (inherit igraph)
(package/inherit igraph
(name "python-igraph")
(version "0.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-igraph" version))
(version "0.9.8")
(source (origin
(method git-fetch)
;; The PyPI archive lacks tests.
(uri (git-reference
(url "https://github.com/igraph/python-igraph")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0wkxrs28qdvnrz7d4jzcf2bh6v2yqzx3wyfziihfgsi2gn6n60a6"))))
(base32
"0nwwfqvj4gp91b9j67zq4l58srr4r8qfqh90ygx17zyrybkx7ns6"))))
(build-system python-build-system)
(arguments
'(#:configure-flags
(list "--use-pkg-config")
(list
#:phases
(modify-phases %standard-phases
(replace 'build
#~(modify-phases %standard-phases
(add-after 'unpack 'specify-libigraph-location
(lambda _
(invoke "python" "./setup.py" "build" "--use-pkg-config")))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-v"))))))
(let ((igraph #$(this-package-input "igraph")))
(substitute* "setup.py"
(("(LIBIGRAPH_FALLBACK_INCLUDE_DIRS = ).*" _ var)
(string-append
var (format #f "[~s]~%" (string-append igraph
"/include/igraph"))))
(("(LIBIGRAPH_FALLBACK_LIBRARY_DIRS = ).*" _ var)
(string-append
var (format #f "[~s]~%" (string-append igraph "/lib"))))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-v")))))))
(inputs
(list igraph))
(propagated-inputs
(list python-texttable))
(native-inputs
(list pkg-config python-pytest))
(home-page "https://pypi.org/project/python-igraph/")
(list python-pytest))
(home-page "https://igraph.org/python/")
(synopsis "Python bindings for the igraph network analysis library")))
(define-public r-rbiofabric
@ -181,14 +243,7 @@ lines.")
(invoke "pytest" "-x" "plotly/tests/test_io")
;; FIXME: Add optional dependencies and enable their tests.
;; (invoke "pytest" "-x" "plotly/tests/test_optional")
(invoke "pytest" "_plotly_utils/tests"))
#t))
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (file) (chmod file #o644))
(find-files out "\\.gz"))
#t))))))
(invoke "pytest" "_plotly_utils/tests")))))))
(native-inputs
(list python-ipywidgets python-pytest python-xarray))
(propagated-inputs

View File

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

View File

@ -230,16 +230,7 @@ written in Go.")
(build-system go-build-system)
(arguments
`(#:unpack-path "github.com/ipfs/go-ipfs"
#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"
#:phases (modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
#t))))))
#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"))
(native-inputs
(list python-minimal-wrapper zsh))
(home-page "https://ipfs.io")

View File

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

View File

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

View File

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

View File

@ -1108,14 +1108,7 @@ computing environments.")
(invoke "pytest" "sklearn" "-m" "not network"
;; This test tries to access the internet.
"-k" "not test_load_boston_alternative"))))
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))))))))
"-k" "not test_load_boston_alternative")))))))
(inputs
(list openblas))
(native-inputs

View File

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

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)
(substitute* "jalv.select.cpp"
(("echo \\$PATH.*tr ':'.*xargs ls")
(string-append "ls -1 " (assoc-ref inputs "jalv") "/bin")))
#t))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t)))))
(string-append "ls -1 " (assoc-ref inputs "jalv") "/bin"))))))))
(inputs
(list lilv lv2 jalv gtkmm-2))
(native-inputs
@ -4747,16 +4739,7 @@ are a C compiler and glib. Full API documentation and examples are included.")
(assoc-ref outputs "out") "/lib/lmms"
":"
(assoc-ref outputs "out") "/lib/lmms/ladspa"
"\""))
#t))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t)))))
"\"")))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
@ -6280,12 +6263,6 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
(substitute* "Makefile"
(("/usr") ""))
#t))
(add-before 'reset-gzip-timestamps 'make-gz-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable
(find-files (string-append (assoc-ref outputs "out"))
".*\\.gz$"))
#t))
(delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)

View File

@ -2248,12 +2248,8 @@ sockets in Perl.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
;; TODO(core-updates): Make this unconditional.
,(if (%current-target-system)
'(lambda* (#:key tests? #:allow-other-keys)
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E" "url-test")))
'(lambda _
(invoke "ctest" "-E" "url-test")))))))
(synopsis "Library providing automatic proxy configuration management")
(description "Libproxy handles the details of HTTP/HTTPS proxy
@ -3529,7 +3525,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(define-public iwd
(package
(name "iwd")
(version "1.15")
(version "1.20")
(source (origin
;; FIXME: We're using the bootstrapped sources because
;; otherwise using an external ell library is impossible.
@ -3539,7 +3535,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
"/wireless/iwd-" version ".tar.xz"))
(sha256
(base32
"0ngng9a9ra5w0mp2813yy2ihfibyx10ns6v5icdcp99db608xax7"))))
"03q5scahyg86h4bdxqxm32shyssgpmfp5b3183j01ig7mg6f4lbx"))))
(build-system gnu-build-system)
(inputs
(list dbus ell readline))

View File

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

View File

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

View File

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

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

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

View File

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

View File

@ -62,13 +62,7 @@
`("PATH" ":" prefix
(,@(map (lambda (i)
(string-append (assoc-ref %build-inputs i) "/bin"))
'("php" "git" "mercurial" "subversion"))))))
#t))
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
(lambda _
(for-each make-file-writable
(find-files %output ".*\\.t?gz$"))
#t)))))
'("php" "git" "mercurial" "subversion")))))))))))
(inputs
(list php git mercurial subversion))
(home-page "https://github.com/phacility/arcanist")

View File

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

View File

@ -26,6 +26,7 @@
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages))
@ -41,14 +42,14 @@
(define-public python-wheel
(package
(name "python-wheel")
(version "0.33.6")
(version "0.37.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wheel" version))
(sha256
(base32
"0ii6f34rvpjg3nmw4bc2h7fhdsy38y1h93hghncfs5akfrldmj8h"))))
"1bbga5i49rj1cwi4sjpkvfhl1f8vl9lfky2lblsy768nk4wp5vz2"))))
(build-system python-build-system)
(arguments
;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn
@ -92,6 +93,38 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
Language (TOML) configuration files.")
(license license:expat)))
(define-public python-tomli-w
(package
(name "python-tomli-w")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomli_w" version))
(sha256
(base32 "1fg13bfq5qy1ym4x77815nhxh1xpfs0drhn9r9464cz00m1l6qzl"))))
(build-system python-build-system)
(arguments
(list
#:tests? #f ;to avoid extra dependencies
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build copied from python-isort.
(replace 'build
(lambda _
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs (list python-pypa-build python-flit-core))
(home-page "https://github.com/hukkin/tomli-w")
(synopsis "Minimal TOML writer")
(description "Tomli-W is a Python library for writing TOML. It is a
write-only counterpart to Tomli, which is a read-only TOML parser.")
(license license:expat)))
(define-public python-pytoml
(package
(name "python-pytoml")
@ -138,13 +171,13 @@ Python file, so it can be easily copied into your project.")
(define-public python-tomli
(package
(name "python-tomli")
(version "1.2.2")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomli" version))
(sha256
(base32 "1vjg44narb7hdiazdmbv8bfv7pi6phnq7nxm6aphx0iqxcah1kn6"))))
(base32 "1q8lrh9ypa6zpgbc5f7z23p7phzblp4vpxdrpfr1wajhb17w74n2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;disabled to avoid extra dependencies
@ -163,7 +196,7 @@ Python file, so it can be easily copied into your project.")
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" out whl)))))))
(native-inputs
`(("python-flit-core" ,python-flit-core)
`(("python-flit-core-bootstrap" ,python-flit-core-bootstrap)
("python-pypa-build" ,python-pypa-build)
("python-six", python-six-bootstrap)))
(home-page "https://github.com/hukkin/tomli")
@ -199,13 +232,13 @@ Python file, so it can be easily copied into your project.")
(define-public python-pyparsing
(package
(name "python-pyparsing")
(version "2.4.7")
(version "3.0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyparsing" version))
(sha256
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))
(base32 "109b9r802wb472hgmxclljprh5cid0w3p6mk9alba7pg2c0frgfr"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
@ -234,8 +267,10 @@ Python file, so it can be easily copied into your project.")
executing simple grammars, vs. the traditional lex/yacc approach, or the use
of regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.")
(license license:expat)))
(license license:expat)
(properties `((python2-variant . ,(delay python2-pyparsing))))))
;;; This is the last release compatible with Python 2.
(define-public python-pyparsing-2.4.7
(package
(inherit python-pyparsing)
@ -248,22 +283,19 @@ that client code uses to construct the grammar directly in Python code.")
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
(define-public python2-pyparsing
(package-with-python2 python-pyparsing))
(package-with-python2 (strip-python2-variant python-pyparsing-2.4.7)))
(define-public python-packaging-bootstrap
(package
(name "python-packaging-bootstrap")
(version "20.0")
(version "21.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "packaging" version))
;; XXX: The URL in the patch file is wrong, it should be
;; <https://github.com/pypa/packaging/pull/256>.
(patches (search-patches "python-packaging-test-arch.patch"))
(sha256
(base32
"1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))
"1sygirdrqgv4f1ckh9nhpcw1yfidrh3qjl86wq8vk6nq4wlw8iyx"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;disabled to avoid extra dependencies
(propagated-inputs
@ -280,7 +312,19 @@ information.")
(license (list license:asl2.0 license:bsd-2))))
(define-public python2-packaging-bootstrap
(package-with-python2 python-packaging-bootstrap))
(let ((base (package-with-python2 python-packaging-bootstrap)))
(package/inherit base
(version "20.0") ;last version with Python 2 support
(source
(origin
(method url-fetch)
(uri (pypi-uri "packaging" version))
;; XXX: The URL in the patch file is wrong, it should be
;; <https://github.com/pypa/packaging/pull/256>.
(patches (search-patches "python-packaging-test-arch.patch"))
(sha256
(base32
"1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy")))))))
;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid
;;; a name clash with python-build from (guix build-system python).
@ -336,16 +380,17 @@ a light weight, fully compliant, self-contained package allowing PEP 517
compatible build front-ends to build Poetry managed projects.")
(license license:expat)))
(define-public python-flit-core
;;; This package exists to bootstrap python-tomli.
(define-public python-flit-core-bootstrap
(package
(name "python-flit-core")
(version "3.4.0")
(name "python-flit-core-bootstrap")
(version "3.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flit" version))
(sha256
(base32 "10vjqnybvjdqdbmyc0asbhhvq51yjnnj00645yiq9849gnr8h0ir"))))
(base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(build-system python-build-system)
(propagated-inputs
(list python-toml))
@ -376,3 +421,10 @@ compatible build front-ends to build Poetry managed projects.")
backend for packages using Flit. The only public interface is the API
specified by PEP 517, @code{flit_core.buildapi}.")
(license license:bsd-3)))
(define-public python-flit-core
(package/inherit python-flit-core-bootstrap
(name "python-flit-core")
(propagated-inputs
(modify-inputs (package-propagated-inputs python-flit-core-bootstrap)
(replace "python-toml" python-tomli)))))

View File

@ -28,6 +28,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
@ -416,6 +417,38 @@ wrapper. It provides a backport of the @code{Path} object.")
(native-inputs
`(("python-setuptools-scm" ,python2-setuptools-scm))))))
(define-public python-zopfli
(package
(name "python-zopfli")
(version "0.1.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zopfli" version ".zip"))
(sha256
(base32 "0yqdwvlpbvhhri0qmzag076ddi0sv43qjlk17l0siylfib03rpkq"))))
(build-system python-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'use-system-zopfli
(lambda _
(setenv "USE_SYSTEM_ZOPFLI" "1")))
(add-before 'build 'set-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "tests/tests.py" "-v")))))))
(native-inputs (list unzip python-setuptools-scm))
(inputs (list zopfli))
(home-page "https://github.com/fonttools/py-zopfli")
(synopsis "Python bindings for Zopfli")
(description "@code{pyzopfli} is a straight forward wrapper around the
@code{ZlibCompress} method of the the @code{zopfli} library.")
(license license:asl2.0)))
(define-public python-zstandard
(package
(name "python-zstandard")

View File

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

View File

@ -689,7 +689,7 @@ other HTTP libraries.")
'(#:tests? #f))
(propagated-inputs
(list python-colorama python-pygments python-requests
python-requests-toolbelt-0.9.1))
python-requests-toolbelt))
(home-page "https://httpie.io")
(synopsis "cURL-like tool for humans")
(description
@ -2667,30 +2667,6 @@ portions of your testing code.")
(define-public python-requests-toolbelt
(package
(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")
(source (origin
(method url-fetch)
@ -2698,9 +2674,25 @@ with python-requests.")
(sha256
(base32
"1h3gm88dcjbd7gm229a7x5qkkhnsqsjz0m0l2xyavm2ab3a8k04n"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Some tests require network access.
#:tests? #f))))
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'delete-problematic-tests
(lambda _
;; Fails because of expired certificate.
(delete-file "tests/test_x509_adapter.py")
;; Fails due to networking (socket.gaierror: [Errno -2]
;; Name or service not known).
(delete-file "tests/test_multipart_encoder.py"))))))
(native-inputs
(list python-betamax python-mock python-pytest))
(propagated-inputs
(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
(package
@ -3223,7 +3215,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(define-public python-cachecontrol
(package
(name "python-cachecontrol")
(version "0.12.5")
(version "0.12.10")
(source
(origin
(method git-fetch)
@ -3234,7 +3226,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(file-name (git-file-name name version))
(sha256
(base32
"03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz"))))
"0fviacb13h72l5c77p35lgr6kvlidfdb9xsicg3v6lblmp9cn2ws"))))
(build-system python-build-system)
(arguments
;; Versions > 0.11.6 depend on CherryPy for testing.
@ -5960,7 +5952,7 @@ Encoding for HTTP.")
(list python-js2py
python-polling2
python-requests
python-requests-toolbelt-0.9.1
python-requests-toolbelt
python-responses
python-pyparsing-2.4.7))
(native-inputs

View File

@ -2400,7 +2400,7 @@ of @code{xmlfile}.")
(define-public python-openpyxl
(package
(name "python-openpyxl")
(version "3.0.5")
(version "3.0.9")
(source
(origin
;; We use the upstream repository, as the tests are not included in the
@ -2411,7 +2411,7 @@ of @code{xmlfile}.")
(changeset version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0s6fgwwkcfz1bnrp5gjd4g2lcbl4a76147ylkrmkbabi2nf4xlli"))))
(base32 "1p8xvc2gjw6zyzbd7qdvc3x178sm00ymrbyh9539l4fpzgxh0j9c"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -6333,17 +6333,19 @@ comparison.
(define-public python-matplotlib
(package
(name "python-matplotlib")
(version "3.4.3")
(version "3.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32 "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw"))))
(base32 "076f8qi265x8jy89c03r3vv5h4is4ir5mawwrrrpp96314783sdj"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
("python-fonttools" ,python-fonttools)
("python-kiwisolver" ,python-kiwisolver)
("python-packaging" ,python-packaging)
("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("python-certifi" ,python-certifi)
@ -6354,6 +6356,7 @@ comparison.
("python-pillow" ,python-pillow)
("python-pytz" ,python-pytz)
("python-six" ,python-six)
("python-wxpython" ,python-wxpython)
;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of
;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context'
;; object. For this reason we need to import both libraries.
@ -6366,30 +6369,29 @@ comparison.
qhull
cairo
glib
;; FIXME: Add backends when available.
;("python-wxpython" ,python-wxpython)
tcl
tk))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pytest" ,python-pytest)
("python-mock" ,python-mock)
("python-wheel" ,python-wheel)
("unzip" ,unzip)
("jquery-ui"
,(origin
(method url-fetch)
(uri "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip")
(sha256
(base32
"0kb21xf38diqgxcdi1z3s9ssq36pldvyqxy56hn6pcva6rs3c8zq"))))))
("python-pytest-timeout" ,python-pytest-timeout)
("python-pytest-xdist" ,python-pytest-xdist)
("python-setuptools-scm" ,python-setuptools-scm)
("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; XXX We disable all image comparison tests because we're using a
;; newer version of FreeType than matplotlib expects. This leads to
;; minor differences throughout the tests.
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'pretend-version
;; The version string is usually derived via setuptools-scm, but
;; without the git metadata available, the version string is set to
;; '0.0.0'.
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(add-after 'unpack 'fix-and-disable-failing-tests
;; XXX: Disable all image comparison tests because we're using a
;; newer version of FreeType than matplotlib expects. This leads
;; to minor differences throughout the tests.
(lambda _
(substitute* (append (find-files "lib/matplotlib/tests/"
"test_.*\\.py$")
@ -6399,9 +6401,8 @@ comparison.
(string-append "import pytest\n" match))
(("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match
indent)
(string-append indent
"@pytest.mark.skip(reason=\"unknown minor image differences\")\n"
match)))
(string-append indent "@pytest.mark.skip(\
reason=\"unknown minor image differences\")\n" match)))
(substitute* "lib/matplotlib/tests/test_animation.py"
(("/bin/sh") (which "sh")))
(for-each delete-file
@ -6418,49 +6419,37 @@ comparison.
;; different version of FreeType.
"lib/matplotlib/tests/test_constrainedlayout.py"
;; Fontconfig returns no fonts.
"lib/matplotlib/tests/test_font_manager.py"))
#t))
(add-before 'install 'install-jquery-ui
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((python-version (python-version
(assoc-ref inputs "python")))
(dir
(string-append (assoc-ref outputs "out")
"/lib/python" python-version
"/site-packages"
"/matplotlib/backends/web_backend/")))
(mkdir-p dir)
(invoke "unzip"
(assoc-ref inputs "jquery-ui")
"-d" dir))
#t))
(replace 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "tests.py" "-v"
"-m" "not network and not webagg")))
"lib/matplotlib/tests/test_font_manager.py"))))
(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))
(lambda* (#:key inputs #:allow-other-keys)
;; Fix rounding errors when using the x87 FPU.
(when (string-prefix? "i686" ,(%current-system))
(when (string-prefix? "i686" #$(%current-system))
(setenv "CFLAGS" "-ffloat-store"))
(call-with-output-file "setup.cfg"
(call-with-output-file "mplsetup.cfg"
(lambda (port)
(format port "[libs]~%
(format port "\
[libs]
system_freetype = true
system_qhull = true
[directories]~%
basedirlist = ~a,~a~%
[packages]~%
tests = True~%"
(assoc-ref inputs "tcl")
(assoc-ref inputs "tk")))))
#t)))))
[rc_options]
backend=Agg
[directories]
basedirlist = ~a,~a
[packages]
tests = True~%" (assoc-ref inputs "tcl") (assoc-ref inputs "tk"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Step out of the source directory to avoid interference.
(with-directory-excursion "/tmp"
;; Run the installed tests, which is what we want since not
;; everything gets built in the source directory.
(invoke "pytest"
"-n" (number->string (parallel-job-count))
"-m" "not network" "--pyargs" "matplotlib"))))))))
(home-page "https://matplotlib.org/")
(synopsis "2D plotting library for Python")
(description
@ -6475,53 +6464,47 @@ toolkits.")
(define-public python2-matplotlib
(let ((matplotlib (package-with-python2
(strip-python2-variant python-matplotlib))))
(package (inherit matplotlib)
(version "2.2.4")
(package/inherit matplotlib
(version "2.2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"09i1gnrra1590brc1f8d5rh2zvnknmfgzp613ab0462qkrwj15h2"))))
"1sk05fdai9rw35l983rw2ymvz0nafs7szs7yz4nxrpyr1j27l0x3"))))
(arguments
(substitute-keyword-arguments (package-arguments matplotlib)
((#:phases phases)
`(modify-phases ,phases
(replace 'install-jquery-ui
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((dir (string-append (assoc-ref outputs "out")
"/lib/python2.7/site-packages/"
"matplotlib/backends/web_backend/")))
(mkdir-p dir)
(invoke "unzip"
(assoc-ref inputs "jquery-ui")
"-d" dir))))
;; Without this file mpl_toolkits cannot be imported.
#~(modify-phases #$phases
(add-after 'install 'create-init-file
(lambda* (#:key outputs #:allow-other-keys)
(lambda _
(with-output-to-file
(string-append
(assoc-ref outputs "out")
#$output
"/lib/python2.7/site-packages/mpl_toolkits/__init__.py")
(lambda _ (display "")))))
(delete 'fix-and-disable-failing-tests)
(delete 'check))))) ; These tests weren't run the the past.
;; Make sure to use special packages for Python 2 instead
;; of those automatically rewritten by package-with-python2.
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("python2-pycairo" ,python2-pycairo)
("python2-backports-functools-lru-cache"
,python2-backports-functools-lru-cache)
`(("gobject-introspection" ,gobject-introspection)
("python2-backports-functools-lru-cache" ,python2-backports-functools-lru-cache)
("python2-certifi" ,python2-certifi)
("python2-cycler" ,python2-cycler)
("python2-dateutil" ,python2-dateutil)
("python2-functools32" ,python2-functools32)
("python2-kiwisolver" ,python2-kiwisolver)
("python2-numpy" ,python2-numpy)
("python2-pillow" ,python2-pillow)
("python2-pycairo" ,python2-pycairo)
("python2-pygobject-2" ,python2-pygobject-2)
("python2-pyparsing" ,python2-pyparsing)
("python2-pytz" ,python2-pytz)
("python2-six" ,python2-six)
("python2-subprocess32" ,python2-subprocess32)
("python2-tkinter" ,python-2 "tk")
,@(fold alist-delete (package-propagated-inputs matplotlib)
'("python-cairocffi"
"python-pycairo"
"python-pygobject"
"python-tkinter")))))))
("python2-tkinter" ,python-2 "tk"))))))
(define-public python-matplotlib-documentation
(package
@ -9259,27 +9242,17 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(define-public python-beautifulsoup4
(package
(name "python-beautifulsoup4")
(version "4.9.3")
(version "4.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beautifulsoup4" version))
(sha256
(base32
"09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4"))))
"14c8z4gh9bi38agx9ls8ym5rscc02pc6f6hmliaqk08xa8yd4fn2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; The Python 2 source is the definitive source of beautifulsoup4. We
;; must use this conversion script when building with Python 3. The
;; conversion script also runs the tests.
;; For more information, see the file 'convert-py3k' in the source
;; distribution.
(replace 'check
(lambda _ (invoke "./convert-py3k"))))))
(propagated-inputs
(list python-soupsieve))
(list python-soupsieve python-html5lib python-lxml))
(home-page
"https://www.crummy.com/software/BeautifulSoup/bs4/")
(synopsis
@ -9297,6 +9270,14 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
(let ((base (package-with-python2
(strip-python2-variant python-beautifulsoup4))))
(package/inherit base
(version "4.9.3") ;last version to support Python 2
(source
(origin
(method url-fetch)
(uri (pypi-uri "beautifulsoup4" version))
(sha256
(base32
"09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4"))))
(arguments `(#:python ,python-2)))))
(define-public python-soupsieve
@ -10834,19 +10815,139 @@ add functionality and customization to your projects with their own plugins.")
(define-public python2-straight-plugin
(package-with-python2 python-straight-plugin))
(define-public python-pysendfile
(package
(name "python-pysendfile")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pysendfile" version))
(sha256
(base32 "05qf0m32isflln1zjgxlpw0wf469lj86vdwwqyizp1h94x5l22ji"))))
(build-system python-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(invoke "make" "test")))))))
(home-page "https://github.com/giampaolo/pysendfile")
(synopsis "Python interface to sendfile(2)")
(description "The @{pysendfile} Python library provides an interface to
the @code{sendfile(2)} system call.")
(license license:expat)))
(define-public python-pyftpdlib
(package
(name "python-pyftpdlib")
(version "1.5.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyftpdlib" version))
(sha256
(base32 "0pnv2byzmzg84q5nmmhn1xafvfil85qa5y52bj455br93zc5b9px"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke
"pytest"
;; Deselect failing tests.
"-k" (string-append
;; Using Pytest instead of the Makefile causes the
;; command line tests to fail on unknown Pytest
;; arguments.
"not TestCommandLineParser "
;; https://github.com/giampaolo/pyftpdlib/issues/478
"and not test_use_gmt_times "
;; https://github.com/giampaolo/pyftpdlib/issues/550
"and not test_masquerade_address "
;; https://github.com/giampaolo/pyftpdlib/issues/500
"and not test_rest_on_stor "
"and not test_stor_ascii"))))))))
(native-inputs (list python-psutil python-pytest))
(propagated-inputs (list python-pyopenssl python-pysendfile))
(home-page "https://github.com/giampaolo/pyftpdlib/")
(synopsis "Asynchronous and scalable Python FTP server library")
(description "The Python FTP server library provides a high-level
interface to write efficient, scalable and asynchronous FTP servers with
Python. It is the most complete @url{http://www.faqs.org/rfcs/rfc959.html,
RFC-959} FTP server implementation available for Python, and has the following
traits:
@itemize
@item
It is lightweight, fast and scalable.
@item
It uses the @code{sendfile(2)} system call for uploads.
@item
It uses @code{epoll}, @code{kqueue} and @code{select} to handle concurrency
asynchronously.
@item
It supports FTPS (@url{http://tools.ietf.org/html/rfc4217, RFC-4217}),
IPv6 (RFC-2428), Unicode file names (@url{http://tools.ietf.org/html/rfc2640,
RFC-2640}) and MLSD/MLST commands (RFC-3659).
@item
It has a flexible system of @samp{authorizers} able to manage both
@samp{virtual} and @samp{real} users.
@end itemize")
(license license:expat)))
(define-public python-fs
(package
(name "python-fs")
(version "2.4.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fs" version))
(sha256
(base32 "0v5kqzi0vd8ar4j4qf5440nzwa9dcagpxb3q6k0cln4cqlmxqmcm"))))
(build-system python-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(invoke "pytest" "-m" "not slow")))))))
(propagated-inputs
(list python-appdirs python-pytz python-typing python-six))
(native-inputs
(list python-mock python-parameterized python-pyftpdlib python-pytest))
(home-page "https://github.com/PyFilesystem/pyfilesystem2/")
(synopsis "File system abstraction layer for Python")
(description "PyFilesystem's @code{FS} object is a file system abstraction
sharing similarities with Python's own @code{file} object for single files.
It allows opening all the files under a given directory recursively, as a
single @code{FS} object. This enables, for example, counting the combined
number of lines in the contained files easily.")
(license license:expat)))
;;; Tests are left out in the main package to avoid cycles.
(define-public python-fonttools
(hidden-package
(package
(name "python-fonttools")
(version "4.6.0")
(version "4.28.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "fonttools" version ".zip"))
(sha256
(base32
"1mq9kdzhcsp96bhv7smnrpdg1s4z5wh70bsl99c0jmcrahqdisqq"))))
"1jhl5n3rfqq7fznvsh6r80n7ylap1a7ppq1040y8cflhyz80ap2l"))))
(build-system python-build-system)
(native-inputs
(list unzip python-pytest python-pytest-runner))
(list unzip))
(arguments '(#:tests? #f))
(home-page "https://github.com/fonttools/fonttools")
(synopsis "Tools to manipulate font files")
(description
@ -10855,7 +10956,29 @@ supports reading and writing of TrueType/OpenType fonts, reading and writing
of AFM files, reading (and partially writing) of PS Type 1 fonts. The package
also contains a tool called TTX which converts TrueType/OpenType fonts to and
from an XML-based format.")
(license license:expat)))
(license license:expat)
(properties `((python2-variant . ,(delay python2-fonttools)))))))
(define-public python-fonttools-with-tests
(package/inherit python-fonttools
(arguments
(substitute-keyword-arguments (package-arguments python-fonttools)
((#:tests? _ #f)
#t)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"))))))))
(native-inputs
(modify-inputs (package-inputs python-fonttools)
(append python-pytest ;FIXME: indentation is broken
python-brotli
python-fs
python-scipy
python-zopfli)))
(properties (alist-delete 'hidden? (package-properties python-fonttools)))))
;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
(define-public python2-fonttools
@ -10966,13 +11089,13 @@ third-party code.")
(define-public python-msgpack
(package
(name "python-msgpack")
(version "1.0.0")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "msgpack" version))
(sha256
(base32
"1h5mxh84rcw04dvxy1qbfn2hisavfqgilh9k09rgyjhd936dad4m"))))
"07m84yisf8m6gr68ip9v6vzxax7kqbn8qxg7ir18clk1jgxwgzai"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
@ -11244,23 +11367,20 @@ native modules.")
(define-public python-xlrd
(package
(name "python-xlrd")
(version "1.2.0")
(version "2.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "xlrd" version))
;; The tests are not included in the PyPI archive.
(method git-fetch)
(uri (git-reference
(url "https://github.com/python-excel/xlrd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl"))))
"170asszffvf6rh5w169ic4h5kxgjkmdl3060vw737d4g1qfifvzz"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Some tests depend on writing a temporary file to the user's home
;; directory.
(add-after 'unpack 'fix-tests
(lambda _
(delete-file "tests/test_open_workbook.py")
#t)))))
(native-inputs
(list python-pytest))
(home-page "http://www.python-excel.org/")
(synopsis "Library for extracting data from Excel files")
(description "This package provides a library to extract data from
@ -11272,6 +11392,7 @@ Unicode-aware. It is not intended as an end-user tool.")
(define-public python2-xlrd
(package-with-python2 python-xlrd))
;;; Note: this package is unmaintained since 2018 (archived on GitHub).
(define-public python-xlwt
(package
(name "python-xlwt")
@ -11361,11 +11482,16 @@ printing of sub-tables by specifying a row range.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv" "-k"
(string-append
;; Tries to open an outgoing connection.
"not test_ssl_outgoing"))))))
"not test_ssl_outgoing "
;; This test fails since Python 3.9.9 (see:
;; https://github.com/dabeaz/curio/issues/347).
"and not test_timeout"))))))))
(native-inputs
(list python-pytest))
(home-page "https://github.com/dabeaz/curio")
@ -15011,13 +15137,7 @@ module, adding support for Unicode strings.")
#t))
(replace 'check
(lambda _
(invoke "make" "test")))
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
#t))))))
(invoke "make" "test"))))))
(propagated-inputs
(list python-chardet python-cryptography python-sortedcontainers))
(native-inputs
@ -16172,29 +16292,25 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry
(package
(name "poetry")
(version "1.1.11")
;; Poetry can only be built from source with Poetry.
(version "1.1.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry" version))
(sha256
(base32
"17pnf2j4adlm9fhyg5jkkvs8bzcigb6nj72vr0687fxybzsj4zbx"))))
"0rr54mvcfcv9cv6vw2122y28xvd2pwqpv2x8c8j5ayz3gwsy4rjw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;; Pypi does not have tests.
`(#:tests? #f ;PyPI does not have tests
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-setup-py
(lambda _
(substitute* "setup.py"
;; Allow newer versions of python-keyring.
;; Relax some of the requirements.
(("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
;; TODO: remove after the next release cycle,
;; when packaging has been updated.
(("packaging>=20.4,<21.0") "packaging>=20.0,<21.0"))
#t)))))
(("(packaging>=20.4),<21.0" _ packaging) packaging)))))))
(propagated-inputs
(list python-cachecontrol
python-cachy
@ -16212,7 +16328,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
python-pkginfo
python-poetry-core
python-requests
python-requests-toolbelt-0.9.1
python-requests-toolbelt
python-shellingham
python-tomlkit
python-virtualenv))
@ -18478,7 +18594,7 @@ multitouch applications.")
(define-public python-astroid
(package
(name "python-astroid")
(version "2.6.6")
(version "2.9.0")
(source
(origin
(method git-fetch)
@ -18487,12 +18603,12 @@ multitouch applications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1amzf996inwmh4r3mlpzmch60xs6lrg86vppfnwl1y0l8r0y7zxh"))))
(base32 "19iiys4233cicpm48fd7lrkm31kk47qiv44wvk952rqbcn4rd2dh"))))
(build-system python-build-system)
(propagated-inputs
(list python-lazy-object-proxy python-wrapt))
(native-inputs
(list python-pytest python-pytest-runner))
(list python-pytest python-pytest-runner python-typing-extensions))
(home-page "https://github.com/PyCQA/astroid")
(synopsis "Common base representation of python source code for pylint and
other projects")
@ -18505,43 +18621,7 @@ multitouch applications.")
additional methods and attributes for different usages. They include some
support for static inference and local name scopes. Furthermore, astroid
builds partial trees by inspecting living objects.")
(license license:lgpl2.1+)
(properties `((python2-variant . ,(delay python2-astroid))))))
(define-public python2-astroid
(let ((base (package-with-python2
(strip-python2-variant python-astroid))))
(package (inherit base)
;; Version 2.x removes python2 support.
(version "1.6.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astroid" version))
(sha256
(base32
"0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw"))))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-spurious-test
(lambda _
;; https://github.com/PyCQA/astroid/issues/276
(delete-file "astroid/tests/unittest_brain.py")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "-m" "unittest" "discover"
"-p" "unittest*.py")))))))
(native-inputs `())
(propagated-inputs
(list python2-backports-functools-lru-cache
python2-enum34
python2-lazy-object-proxy
python2-singledispatch
python2-six
python2-wrapt)))))
(license license:lgpl2.1+)))
(define-public python-isbnlib
(package
@ -21169,7 +21249,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(define-public python-typed-ast
(package
(name "python-typed-ast")
(version "1.4.2")
(version "1.5.1")
(source
(origin
(method git-fetch)
@ -21177,7 +21257,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(url "https://github.com/python/typed_ast")
(commit version)))
(sha256
(base32 "1wr6pkvvrq6rzjjw88pd5xy8fy06msam4hlxbkglvdmwh4c083l0"))
(base32 "1xfcs5246c8v5600aaa8zs7ii4sxb62q6r3sb2fgazyjx97wrxd9"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
@ -21257,13 +21337,13 @@ Python 3.6+ type hints.")
(define-public python-typing
(package
(name "python-typing")
(version "3.7.4.3")
(version "3.10.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing" version))
(sha256
(base32 "1j8wnz8c9s049w9xbf7ssr1dmgg4rz7vdfq7m880srzxhafgp1qi"))))
(base32 "0c5il4d68fd4qrm5k3dps70j0xz0n5krj6lhwn9vzpal3whsvd0k"))))
(build-system python-build-system)
(home-page "https://docs.python.org/3/library/typing.html")
(synopsis "Type hints for Python")
@ -21281,17 +21361,41 @@ and other tools.")
(define-public python-typing-extensions
(package
(name "python-typing-extensions")
(version "3.10.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing_extensions" version))
(version "4.0.1")
(source (origin
;; The test script is missing from the PyPI archive.
(method git-fetch)
(uri (git-reference
(url "https://github.com/python/typing")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0zk7kbcms828by6avmqp09bsag1az37qr60viqjwvw8izwb5vxs9"))))
"0a35fh5wk9s538x0w3dz95y0avnhd2srzyv9s1a372711n8hdl4p"))))
(build-system python-build-system)
(home-page
"https://github.com/python/typing/blob/master/typing_extensions/README.rst")
(arguments
(list
#:tests? #f ;requires Python's test module, not available in Guix
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "typing_extensions")))
;; XXX: PEP 517 manual build copied from python-isort.
(replace 'build
(lambda _
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "src/test_typing_extensions.py"))))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs (list python-pypa-build python-flit-core))
(home-page "https://github.com/python/typing/typing_extensions")
(synopsis "Experimental type hints for Python")
(description
"The typing_extensions module contains additional @code{typing} hints not
@ -24341,92 +24445,52 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(define-public python-flit
(package
(name "python-flit")
(version "3.3.0")
;; We fetch the sources via git because on pypi the package is split into
;; two parts: flit and flit_core; flit_core cannot be built without flit.
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/takluyver/flit")
(commit version)))
(file-name (git-file-name name version))
(version "3.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flit" version))
(sha256
(base32
"0mvyymw3zqsnip4x4ca6anr5rbx30hcmpqwrnhjwcm7s8mycd01x"))))
(base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(let ((home (string-append (getcwd) "/home")))
(mkdir-p home)
(setenv "HOME" home))
(for-each make-file-writable (find-files "."))
(copy-recursively (assoc-ref inputs "python-testpath")
(string-append (getcwd) "/testpath"))
(substitute* "pyproject.toml"
(("\"testpath\",") ""))
(invoke "python" "bootstrap_dev.py")))
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build copied from python-isort.
(replace 'build
(lambda _
;; A ZIP archive should be generated, but it fails with "ZIP does
;; not support timestamps before 1980". Luckily,
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
;; 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(for-each (lambda (toml)
(invoke "python3" "-m" "flit"
"--debug" "--ini-file" toml
"build"))
'("testpath/pyproject.toml"
"pyproject.toml"))
(with-directory-excursion "flit_core"
(invoke "python" "build_dists.py"))))
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(setenv "FLIT_NO_NETWORK" "1"))))
(replace 'install
(lambda* (#: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.
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(propagated-inputs
(list python-pytoml python-toml))
(list python-pypa-build
python-tomli-w
python-flit-core
python-docutils
python-requests))
(native-inputs
`(("python-docutils" ,python-docutils)
("python-responses" ,python-responses)
("python-pygments-github-lexers" ,python-pygments-github-lexers)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-sphinx" ,python-sphinx)
("python-sphinxcontrib-github-alt" ,python-sphinxcontrib-github-alt)
;; This package needs testpath, but testpath also needs flit...
("python-testpath"
,(let ((name "python-testpath")
(version "0.4.4"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jupyter/testpath")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))))))
(list python-responses
python-pygments-github-lexers
python-pytest
python-pytest-cov
python-sphinx
python-sphinxcontrib-github-alt
python-testpath))
(home-page "https://flit.readthedocs.io/")
(synopsis
"Simple packaging tool for simple packages")
(description
"Flit is a simple way to put Python packages and modules on PyPI. Flit
packages a single importable module or package at a time, using the import
name as the name on PyPI. All subpackages and data files within a package
are included automatically.")
(synopsis "Simple packaging tool for simple packages")
(description "Flit is a simple way to put Python packages and modules on
PyPI. Flit packages a single importable module or package at a time, using
the import name as the name on PyPI. All subpackages and data files within a
package are included automatically.")
(license license:bsd-3)))
(define-public python-pathtools
@ -27960,13 +28024,21 @@ compatible with a wide range of versions of the Stripe API.")
(base32 "1njz0h4iky8iglrb85cd07hpa3lp1a2dfr934dj65hxwzvfk61j4"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'pretend-version
;; The version string is usually derived via setuptools-scm, but
;; without the git metadata available, the version string is set to
;; '0.0.0'.
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "pytest" "-vv")))))))
(when tests?
(invoke "pytest")))))))
(native-inputs
(list python-appdirs python-pytest python-pytest-mock
python-setuptools-scm))
(list python-appdirs python-pytest python-pytest-cov
python-pytest-mock python-setuptools-scm))
(home-page "https://github.com/platformdirs/platformdirs")
(synopsis "Determine the appropriate platform-specific directories")
(description "When writing applications, finding the right location to

View File

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

View File

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

View File

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

View File

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

View File

@ -893,15 +893,6 @@ message streaming.")
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(string-append (assoc-ref outputs "out")
"/src/github.com/prometheus/common/expfmt/testdata/")
".*\\.gz$"))
#t))
;; Source-only package
(delete 'build))))
(propagated-inputs

View File

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

View File

@ -89,7 +89,8 @@ tasks, synchronization primitives, atomic operations, and more.")
(arguments
`(#:test-target "test"
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
(assoc-ref %outputs "out") "/lib")
"CFLAGS=-fuse-ld=gold")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fail-on-test-errors
@ -121,6 +122,13 @@ tasks, synchronization primitives, atomic operations, and more.")
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
(copy-recursively "include" include)))))))
(native-inputs
;; XXX: For some reason, since commit "gnu: binutils: Absorb
;; binutils-next", the build of just this version of TBB crashes during
;; tests. Workaround it by linking the binaries with ld.gold.
(list (module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://www.threadingbuildingblocks.org")
(synopsis "C++ library for parallel programming")
(description

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -254,8 +254,8 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
'(begin
(with-directory-excursion "libs"
;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
'(with-directory-excursion "libs"
(let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf")))
;; Delete bundled software, except Lua which cannot easily be
;; used as an external dependency, pplib and xpdf which aren't
@ -264,9 +264,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(scandir "."
(lambda (file)
(and (not (member file preserved-directories))
(eq? 'directory (stat:type (stat file)))))))))
;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
#t))))
(eq? 'directory (stat:type (stat file))))))))))))
(build-system gnu-build-system)
(inputs
`(("texlive-extra-src" ,texlive-extra-src)
@ -368,24 +366,21 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(("gswin32c") "gs"))
(substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl"
(("\"gs\"")
(string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))
#t))
(string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))))
(add-after 'unpack 'patch-dvisvgm-build-files
(lambda _
;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so
;; the appropriate linker flags are not added.
(substitute* "texk/dvisvgm/configure"
(("^have_libgs=yes" all)
(string-append all "\nHAVE_LIBGS=1")))
#t))
(string-append all "\nHAVE_LIBGS=1")))))
(add-after 'unpack 'disable-failing-test
(lambda _
;; FIXME: This test fails on 32-bit architectures since Glibc 2.28:
;; <https://bugzilla.redhat.com/show_bug.cgi?id=1631847>.
(substitute* "texk/web2c/omegafonts/check.test"
(("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1")
"./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))
#t))
"./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))))
,@(if (target-ppc32?)
;; Some mendex tests fail on some architectures.
`((add-after 'unpack 'skip-mendex-tests
@ -430,9 +425,16 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
iso-8859-1-encoded-scripts))
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute-commands iso-8859-1-encoded-scripts))
#t)))
(substitute-commands iso-8859-1-encoded-scripts)))))
;; When ST_NLINK_TRICK is set, kpathsea attempts to avoid work when
;; searching files by assuming that a directory with exactly two
;; links has no subdirectories. This assumption does not hold in our
;; case, so some directories with symlinked subdirectories would not
;; be traversed.
(add-after 'patch-scripts 'patch-directory-traversal
(lambda _
(substitute* "texk/kpathsea/config.h"
(("#define ST_NLINK_TRICK") ""))))
(add-after 'check 'customize-texmf.cnf
;; The default texmf.cnf is provided by this package, texlive-bin.
;; Every variable of interest is set relatively to the GUIX_TEXMF
@ -457,8 +459,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
;; Don't truncate lines.
(("^error_line = .*$") "error_line = 254\n")
(("^half_error_line = .*$") "half_error_line = 238\n")
(("^max_print_line = .*$") "max_print_line = 1000\n")))
#t))
(("^max_print_line = .*$") "max_print_line = 1000\n")))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(let* ((out (assoc-ref outputs "out"))
@ -480,11 +481,12 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(config.guess (search-input-file inputs
"/bin/config.guess")))
;; Create symbolic links for the latex variants and their
;; man pages.
;; Create symbolic links for the latex variants and their man
;; pages. We link lualatex to luahbtex; see issue #51252 for
;; details.
(with-directory-excursion (string-append out "/bin/")
(for-each symlink
'("pdftex" "pdftex" "xetex" "luatex")
'("pdftex" "pdftex" "xetex" "luahbtex")
'("latex" "pdflatex" "xelatex" "lualatex")))
(with-directory-excursion (string-append share "/man/man1/")
(symlink "luatex.1" "lualatex.1"))
@ -497,6 +499,14 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
source "/texlive-scripts/source/")
scripts)
;; Patch them.
(let ((dirs (map dirname (list (which "sed") (which "awk")))))
(with-directory-excursion scripts
(substitute* '("mktexpk" "mktexmf" "mktexlsr")
(("^version=" m)
(format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a"
dirs m)))))
;; Make sure that fmtutil can find its Perl modules.
(substitute* (string-append scripts "/fmtutil.pl")
(("\\$TEXMFROOT/")
@ -2580,8 +2590,7 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.")
(license license:lppl))))
(define-public texlive-kpathsea
(package
(inherit (simple-texlive-package
(let ((template (simple-texlive-package
"texlive-kpathsea"
(list "/web2c/amiga-pl.tcx"
"/web2c/cp1250cs.tcx"
@ -2614,14 +2623,32 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.")
"/web2c/viscii-t5.tcx")
(base32
"00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
#:trivial? #t))
#:trivial? #t)))
(package
(inherit template)
(arguments
(substitute-keyword-arguments (package-arguments template)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((dirs (map dirname (list (which "sed")
(which "awk")))))
(substitute* '("web2c/mktexdir"
"web2c/mktexnam"
"web2c/mktexupd")
(("^version=" m)
(format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a"
dirs m))))))))))
(inputs
(list sed gawk))
(home-page "https://www.tug.org/texlive/")
(synopsis "Files related to the path searching library for TeX")
(description "Kpathsea is a library and utility programs which provide
path searching facilities for TeX file types, including the self-locating
feature required for movable installations, layered on top of a general search
mechanism. This package provides supporting files.")
(license license:lgpl3+)))
(license license:lgpl3+))))
(define-public texlive-latexconfig
(package
@ -2673,8 +2700,7 @@ formats.")
(add-after 'unpack 'fix-lua-sources
(lambda _
(substitute* "source/latex/base/ltluatex.dtx"
((" ") " "))
#t))
((" ") " "))))
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
;; Find required fonts
@ -2746,8 +2772,7 @@ formats.")
"--fmtdir=web2c"
(string-append "--cnffile=web2c/fmtutil.cnf"))
;; We don't actually want to install it.
(delete-file "web2c/fmtutil.cnf")
#t))
(delete-file "web2c/fmtutil.cnf")))
(add-after 'install 'install-more
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -2768,8 +2793,7 @@ formats.")
(for-each (cut install-file <> target)
(find-files "build" ".*"))
(for-each (cut install-file <> web2c)
(find-files "web2c" ".*"))
#t)))))))
(find-files "web2c" ".*")))))))))
(native-inputs
`(("texlive-bin" ,texlive-bin)
("texlive-tex-ini-files" ,texlive-tex-ini-files)
@ -3657,35 +3681,21 @@ releases. The bundle consists of a Lua script to run the tasks and a
@code{.tex} file which provides the testing environment.")
(license license:lppl1.3c+))))
;; The SVN directory contains little more than a dtx file that generates three
;; of the many lua files that should be installed as part of this package.
;; This is why we take the release from GitHub instead.
(define-public texlive-luatex-lualibs
(define-public texlive-lualibs
(package
(name "texlive-luatex-lualibs")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lualatex/lualibs/"
"releases/download/v"
version "/lualibs.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"1xx9blvrmx9hyhrl345lpai9m6xxnw997261a1ahn1bm5r2j5fqy"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "DESTDIR="
(assoc-ref %outputs "out")
"/share/texmf-dist"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
(list texlive-bin unzip zip))
(home-page "https://github.com/lualatex/lualibs")
(synopsis "Lua modules for general programming (in the (La)TeX world)")
(inherit
(simple-texlive-package
"texlive-lualibs"
(list "doc/luatex/lualibs/"
"source/luatex/lualibs/"
"tex/luatex/lualibs/")
(base32 "0gf60vj9y75a7dlrmpbyqgsa00s1717r6if3lm5ldm41i9fm8ywz")
;; The source dtx file only unpacks three files. This is why we
;; install all the files as they are, because there is no clear
;; way to generate them all.
#:trivial? #true))
(home-page "https://ctan.org/macros/luatex/generic/lualibs")
(synopsis "Additional Lua functions for LuaTeX macro programmers")
(description
"Lualibs is a collection of Lua modules useful for general programming.
The bundle is based on Lua modules shipped with ConTeXt, and made available in
@ -3693,6 +3703,23 @@ this bundle for use independent of ConTeXt.")
;; GPL version 2 only
(license license:gpl2)))
(define-deprecated-package texlive-luatex-lualibs texlive-lualibs)
(define-public texlive-lua-alt-getopt
(package
(inherit
(simple-texlive-package
"texlive-lua-alt-getopt"
(list "doc/support/lua-alt-getopt/" "scripts/lua-alt-getopt/")
(base32 "0cizxzn33n3pn98xkqnxb8s6vdwkar3xrwhraqrs05pjfdn9d4wz")
#:trivial? #t))
(home-page "https://ctan.org/support/lualibs/lua-alt-getopt")
(synopsis "Process application arguments the same way as getopt_long")
(description
"This package provides a Lua module for processing application arguments
in the same way as BSD/GNU @code{getopt_long(3)} functions do.")
(license license:expat)))
;; TODO: We should be able to build this from the sources on Github with
;; texlive-l3build, but I haven't been able to get it to work.
(define-public texlive-luaotfload
@ -3711,7 +3738,8 @@ this bundle for use independent of ConTeXt.")
(package
(inherit template)
(propagated-inputs
(list texlive-luatex-lualibs))
(list texlive-lua-alt-getopt ;for luaotfload-tool
texlive-lualibs))
(home-page "https://github.com/lualatex/luaotfload")
(synopsis "OpenType font loader for LuaTeX")
(description
@ -3725,71 +3753,6 @@ loading fonts by their proper names instead of file names.")
(define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload)
;; FIXME: This package is a temporary workaround to provide lualatex.fmt for
;; the LuaTeX engine. It is needed because it was discovered too late in the
;; core-updates-frozen cycle that texlive-latex-base only provides it for
;; LuaHBTeX. See https://issues.guix.gnu.org/51252.
(define-public texlive-latex-luatex
(package
(name "texlive-latex-luatex")
(version (number->string %texlive-revision))
(source #f)
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 rdelim)
(ice-9 string-fun))
#:phases
(modify-phases %standard-phases
(delete 'unpack)
(delete 'bootstrap)
(delete 'configure)
(delete 'check)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(mkdir "web2c")
(let ((fmtutil.cnf-in (open-file
(string-append
(assoc-ref inputs "texlive-kpathsea")
"/share/texmf-dist/web2c/fmtutil.cnf")
"r"))
(fmtutil.cnf-out (open-file "web2c/fmtutil.cnf" "w")))
;; Copy lualatex format lines to the new fmtutil.cnf, changing
;; the engine from luahbtex to luatex.
(do ((line "" (read-line fmtutil.cnf-in 'concat)))
((eof-object? line))
(when (string-prefix? "lualatex" line)
(display (string-replace-substring line "luahbtex" "luatex")
fmtutil.cnf-out)))
(close-port fmtutil.cnf-out)
(close-port fmtutil.cnf-in)
(invoke "fmtutil" "--sys" "--all" "--fmtdir=web2c"
"--cnffile=web2c/fmtutil.cnf")
;; Don't risk this file interfering with anything else.
(delete-file "web2c/fmtutil.cnf"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((web2c (string-append %output "/share/texmf-dist/web2c")))
(mkdir-p web2c)
(copy-recursively "web2c" web2c)))))))
(native-inputs
(list texlive-bin
texlive-babel
texlive-cm
texlive-fonts-latex
texlive-kpathsea
texlive-latex-base
texlive-lm
texlive-tex-ini-files))
(home-page (package-home-page texlive-latex-base))
(synopsis "LuaLaTeX format files for LuaTeX")
(description "This package is necessary to use LaTeX with the LuaTeX engine.")
(license (package-license texlive-latex-base))))
(define-public texlive-latex-amsmath
(package
(name "texlive-latex-amsmath")

View File

@ -1675,14 +1675,7 @@ visualize your public Git repositories on a web interface.")
"not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"
" and not test_installed_from_venv"
" and not test_healthy_venv_creator")))))
(add-before 'reset-gzip-timestamps 'make-gz-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))))))))
" and not test_healthy_venv_creator"))))))))
(native-inputs
`(("git" ,git-minimal)
("python-covdefaults" ,python-covdefaults)

View File

@ -49,7 +49,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021,2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
@ -4387,9 +4387,6 @@ tools for styling them, including a built-in real-time video preview.")
("pkg-config" ,pkg-config)))
(arguments
`(#:glib-or-gtk? #t
;; Pitivi is not yet compatible with Meson 0.60:
;; https://gitlab.gnome.org/GNOME/pitivi/-/issues/2593
#:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'wrap-other-dependencies
@ -5206,7 +5203,7 @@ result in several formats:
(define-public rav1e
(package
(name "rav1e")
(version "0.4.1")
(version "0.5.1")
(source
(origin
(method url-fetch)
@ -5215,15 +5212,18 @@ result in several formats:
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09"))))
"006bfcmjwg0phg8gc25b1sl2ngjrb2bh1b3fd0s5gbf9nlkr8qsn"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-aom-sys" ,rust-aom-sys-0.2)
`(;; Strip the '--release' flag to work around the doctest failures with
;; Rust 1.57 (see: https://github.com/xiph/rav1e/issues/2851).
#:cargo-test-flags '()
#:cargo-inputs
(("rust-aom-sys" ,rust-aom-sys-0.3)
("rust-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
("rust-arrayvec" ,rust-arrayvec-0.5)
("rust-av-metrics" ,rust-av-metrics-0.6)
("rust-arrayvec" ,rust-arrayvec-0.7)
("rust-av-metrics" ,rust-av-metrics-0.7)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1)
("rust-byteorder" ,rust-byteorder-1)
@ -5231,7 +5231,7 @@ result in several formats:
("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.14)
("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-dav1d-sys" ,rust-dav1d-sys-0.3.2)
("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
("rust-fern" ,rust-fern-0.6)
("rust-image" ,rust-image-0.23)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
@ -5250,7 +5250,7 @@ result in several formats:
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1)
("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
("rust-rustc-version" ,rust-rustc-version-0.3)
("rust-rustc-version" ,rust-rustc-version-0.4)
("rust-scan-fmt" ,rust-scan-fmt-0.2)
("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.3)
@ -5262,16 +5262,21 @@ result in several formats:
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
("rust-y4m" ,rust-y4m-0.7))
#:cargo-development-inputs
(("rust-assert-cmd" ,rust-assert-cmd-1)
(("rust-assert-cmd" ,rust-assert-cmd-2)
("rust-cc" ,rust-cc-1)
("rust-criterion" ,rust-criterion-0.3)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-rand" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3)
("rust-semver" ,rust-semver-0.11))
("rust-semver" ,rust-semver-1))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-versions
(lambda _
(substitute* "Cargo.toml"
;; Allow using more recent versions of
(("~3.1.2") "~3"))))
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))

View File

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

View File

@ -251,15 +251,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
"-DUSE_SYSTEMD=OFF"
(string-append ; uses lib64 by default
"-DLIB_INSTALL_DIR="
(assoc-ref %outputs "out") "/lib")
;; XXX Adding GStreamer GL support would apparently
;; require adding gst-plugins-bad to the inputs,
;; which might entail a security risk as a result of
;; the plugins of dubious code quality that are
;; included. More investigation is needed. For
;; now, we explicitly disable it to prevent an error
;; at configuration time.
"-DUSE_GSTREAMER_GL=OFF")
(assoc-ref %outputs "out") "/lib"))
#:make-flags
;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
(list "-j" (number->string (max 2 (parallel-job-count))))
@ -350,7 +342,10 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
(description
"WebKitGTK+ is a full-featured port of the WebKit rendering engine,
suitable for projects requiring any kind of web integration, from hybrid
HTML/CSS applications to full-fledged web browsers.")
HTML/CSS applications to full-fledged web browsers. WebKitGTK+ video playing
capabilities can be extended through the use of GStreamer plugins (not
propagated by default) such as @code{gst-plugins-good} and
@code{gst-plugins-bad}.")
;; WebKit's JavaScriptCore and WebCore components are available under
;; the GNU LGPL, while the rest is available under a BSD-style license.
(license (list license:lgpl2.0

View File

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

View File

@ -5532,15 +5532,15 @@ Wayland.")
(define-public libx11
(package
(name "libx11")
(version "1.7.2")
(version "1.7.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/lib/libX11-"
version ".tar.bz2"))
(uri (string-append "https://xorg.freedesktop.org/archive/"
"/individual/lib/libX11-" version ".tar.xz"))
(sha256
(base32
"0v7aj8q3rlchdyfwdna7n7vgpyzyir391dlv5rwy9fxagbikbyhw"))))
"1289nvs52q9fnp7zl30bdpbvqggnjjb39vy0zll511zvcrr43z9g"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;8 MiB of man pages + XML

View File

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

View File

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

View File

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

View File

@ -3,6 +3,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@ -167,9 +168,7 @@ echo hello world"))
"/some/path:/some/other/path"))))
'(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/sh"
(car cl)
(cons (car cl)
(append '("") cl)))))
(car cl) (append (quote ()) cl))))
script-contents)
(call-with-temporary-directory
(lambda (directory)
@ -208,8 +207,7 @@ print('hello world')"))
`(let ((cl (command-line)))
(apply execl "/anything/cabbage-bash-1.2.3/bin/python3"
(car cl)
(cons (car cl)
(append '("" "-and" "-args") cl)))))
(append '("-and" "-args") cl))))
script-contents)
(call-with-temporary-directory
(lambda (directory)
@ -243,6 +241,54 @@ print('hello world')"))
"/some/other/path")))
#f)))))
(define (arg-test bash-args)
(call-with-temporary-directory
(lambda (directory)
(let ((script-file-name (string-append directory "/bash-test.sh")))
(call-with-output-file script-file-name
(lambda (port)
(display (string-append "\
#!" (which "bash") bash-args "
echo \"$#$0$*${A}\"")
port)))
(display "Unwrapped script contents:\n")
(call-with-input-file script-file-name
(lambda (port) (display (get-string-all port))))
(newline) (newline)
(chmod script-file-name #o777)
(setenv "A" "A")
(let* ((run-script (lambda _
(open-pipe*
OPEN_READ
script-file-name "1" "2" "3 3" "4")))
(pipe (run-script))
(unwrapped-output (get-string-all pipe)))
(close-pipe pipe)
(wrap-script script-file-name `("A" = ("A\nA")))
(display "Wrapped script contents:\n")
(call-with-input-file script-file-name
(lambda (port) (display (get-string-all port))))
(newline) (newline)
(let* ((pipe (run-script))
(wrapped-output (get-string-all pipe)))
(close-pipe pipe)
(display "./bash-test.sh 1 2 3\\ 3 4 # Output:\n")
(display unwrapped-output) (newline)
(display "./bash-test.sh 1 2 3\\ 3 4 # Output (wrapped):\n")
(display wrapped-output) (newline)
(string=? (string-append unwrapped-output "A\n")
wrapped-output)))))))
(test-assert "wrap-script, argument handling"
(arg-test ""))
(test-assert "wrap-script, argument handling, bash --norc"
(arg-test " --norc"))
(test-equal "substitute*, text contains a NUL byte, UTF-8"
"c\0d"
(with-fluids ((%default-port-encoding "UTF-8")
@ -287,5 +333,4 @@ print('hello world')"))
("guile/bin" . ,(dirname (which "guile"))))
"guile"))))
(test-end)