summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/algebra.scm45
-rw-r--r--gnu/packages/audio.scm69
-rw-r--r--gnu/packages/avr-xyz.scm10
-rw-r--r--gnu/packages/bioinformatics.scm72
-rw-r--r--gnu/packages/build-tools.scm86
-rw-r--r--gnu/packages/cdrom.scm98
-rw-r--r--gnu/packages/check.scm87
-rw-r--r--gnu/packages/cpp.scm54
-rw-r--r--gnu/packages/cups.scm26
-rw-r--r--gnu/packages/databases.scm143
-rw-r--r--gnu/packages/debian.scm235
-rw-r--r--gnu/packages/emulators.scm10
-rw-r--r--gnu/packages/file-systems.scm87
-rw-r--r--gnu/packages/finance.scm123
-rw-r--r--gnu/packages/gcc.scm4
-rw-r--r--gnu/packages/graphviz.scm11
-rw-r--r--gnu/packages/ipfs.scm230
-rw-r--r--gnu/packages/machine-learning.scm223
-rw-r--r--gnu/packages/mate.scm226
-rw-r--r--gnu/packages/maths.scm14
-rw-r--r--gnu/packages/music.scm23
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch67
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-watcher.patch56
-rw-r--r--gnu/packages/patches/safeint-disable-tests.patch42
-rw-r--r--gnu/packages/prolog.scm4
-rw-r--r--gnu/packages/python-check.scm38
-rw-r--r--gnu/packages/python-compression.scm19
-rw-r--r--gnu/packages/python-crypto.scm31
-rw-r--r--gnu/packages/python-web.scm42
-rw-r--r--gnu/packages/python-xyz.scm159
-rw-r--r--gnu/packages/radio.scm52
-rw-r--r--gnu/packages/serialization.scm20
-rw-r--r--gnu/packages/tls.scm112
-rw-r--r--gnu/packages/version-control.scm13
-rw-r--r--gnu/packages/vpn.scm85
36 files changed, 1521 insertions, 1096 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1744f25f5f..a0c3803cc5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2293,6 +2293,7 @@ dist_patch_DATA = \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
+ %D%/packages/patches/safeint-disable-tests.patch \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 83572e2fc6..564002202d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -401,7 +401,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.9.0-998")
+ (version "2.0.0-10")
(source
(origin
(method url-fetch)
@@ -413,7 +413,7 @@ precision.")
"https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/"
"stable/main/source/giac_" version ".tar.gz"))
(sha256
- (base32 "1r71kl21xxf3872r0q25r2b9wpg03zrp08rsnpyqrhajmxb0ljbz"))))
+ (base32 "1lzb0jjmkg5ml1qfl0m00qqng4sxgfqwrbq10gpkp4b301k2ckv1"))))
(build-system gnu-build-system)
(arguments
(list
@@ -428,12 +428,12 @@ precision.")
(substitute* (cons "micropython-1.12/xcas/Makefile"
(find-files "doc" "^Makefile"))
(("/bin/cp") (which "cp")))))
- (add-after 'unpack 'disable-failing-test
- ;; FIXME: Tests failing. Not sure why.
- (lambda _
- (substitute* "check/Makefile.in"
- (("chk_fhan(4|11)") "")
- (("chk_fhan(14|21)") "")))) ;fail specifically on i686
+ (replace 'bootstrap
+ (lambda _
+ ;; XXX: Regenerate "src/mkjs" to avoid a build error because
+ ;; the default file is bogus in a Guix environment.
+ (delete-file "src/mkjs")
+ (invoke "autoreconf" "-vfi")))
(add-after 'install 'fix-doc
(lambda _
;; Most French documentation has a non-commercial license, so we
@@ -454,7 +454,7 @@ precision.")
;; TODO: Unbundle "libmicropython.a".
(list ao
fltk-1.3
- glpk-4
+ glpk
gmp
gsl
libjpeg-turbo
@@ -474,9 +474,12 @@ precision.")
perl
tcsh))
(native-inputs
- (list bison
+ (list autoconf
+ automake
+ bison
flex
hevea
+ libtool
python-wrapper
readline
(texlive-local-tree)))
@@ -1235,6 +1238,28 @@ features, and more.")
(synopsis "Micro-benchmarks of the Eigen linear algebra library")))
+(define-public eigen-for-onnxruntime
+ (let ((commit "1d8b82b0740839c0de7f1242a3585e3390ff5f33")
+ (revision "0"))
+ (package/inherit eigen
+ (name "eigen")
+ (version (git-version "3.4.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/libeigen/eigen")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pxh81jjnz97ndwaanla6zch1128bfdrf2kgqxgxyjvqbdg1vqwi"))))
+ ;; XXX: Some tests fail, but onnxruntime will move on to the next
+ ;; release soon enough.
+ (arguments
+ (substitute-keyword-arguments (package-arguments eigen)
+ ((#:tests? tests? #t)
+ #f))))))
+
(define-public eigen-for-tensorflow
(let ((changeset "fd6845384b86")
(revision "1"))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 153eed9d9a..95c0de66eb 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -50,6 +50,7 @@
;;; Copyright © 2024 mio <stigma@disroot.org>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
+;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
@@ -3473,16 +3474,28 @@ provided by Pipewire.")
(define-public python-pyaudio
(package
(name "python-pyaudio")
- (version "0.2.12")
+ (version "0.2.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyAudio" version))
(sha256
- (base32 "17pvc27pn2xbisbq7nibhidyw8h2kyms7g2xbyx7nlxwfbdzbpam"))))
- (build-system python-build-system)
- (inputs
- (list portaudio))
+ (base32 "11rgpnahh2kr3x4plr0r7kpccmbplm35cj669wglv6dlg4wgzpvq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; XXX: Most tests require access to devices.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (setenv "PYTHONPATH" (string-append (getcwd) "/tests"))
+ (apply invoke "python" test-flags)))))))
+ (native-inputs
+ (list python-numpy python-setuptools python-wheel))
+ (inputs (list portaudio))
(home-page "https://people.csail.mit.edu/hubert/pyaudio/")
(synopsis "Bindings for PortAudio v19")
(description "This package provides bindings for PortAudio v19, the
@@ -3673,6 +3686,52 @@ one-dimensional sample-rate conversion library.")
files.")
(license license:expat)))
+(define-public python-wavefile
+ (package
+ (name "python-wavefile")
+ (version "1.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wavefile" version))
+ (sha256
+ (base32 "120r003xy0cv6a4d4cjxv140im007klgkvzfgc57m70rcbnggi7p"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Assertion fail to compare files.
+ (list "not test_allFormats"
+ "test_commonFormats"
+ "test_majorFormats"
+ "test_subtypeFormats")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-libsndfile-path
+ (lambda _
+ (substitute* "wavefile/libsndfile.py"
+ (("'libsndfile")
+ (string-append "'" #$(this-package-input "libsndfile")
+ "/lib/libsndfile"))))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-setuptools-next))
+ (inputs
+ (list libsndfile
+ portaudio))
+ (propagated-inputs
+ (list python-numpy
+ python-pyaudio))
+ (home-page "https://github.com/vokimon/python-wavefile")
+ (synopsis "Pythonic audio file reader and writer")
+ (description
+ "This package provides pythonic libsndfile wrapper to read and write audio
+files.")
+ (license license:gpl3+)))
+
(define-public audio-to-midi
(package
(name "audio-to-midi")
diff --git a/gnu/packages/avr-xyz.scm b/gnu/packages/avr-xyz.scm
index c684b6183b..4a3571175e 100644
--- a/gnu/packages/avr-xyz.scm
+++ b/gnu/packages/avr-xyz.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -34,6 +34,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages avr)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -64,6 +65,13 @@
#:tests? #f
#:phases #~(modify-phases %standard-phases
(delete 'configure)
+ (add-after 'unpack 'disable-shared-library
+ (lambda _
+ ;; XXX: "libsimavr.so"" fails to build due to a linker
+ ;; error. Disable the shared library for now.
+ (substitute* "simavr/Makefile"
+ (("ifeq \\(\\$\\{shell uname\\}, Linux\\)")
+ "ifeq (1, 0)"))))
(replace 'check
(lambda* (#:key tests? outputs #:allow-other-keys)
(when tests?
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c9d745c0d6..55087ed54a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -21337,32 +21337,35 @@ repeated areas between contigs.")
(define-public vembrane
(package
(name "vembrane")
- (version "0.13.2")
+ (version "1.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vembrane/vembrane")
- (commit (string-append "v" version))))
+ (url "https://github.com/vembrane/vembrane")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gdih56gpqd8ks3sd4ah844kac09hi3g073k9gvazb32ah50900w"))))
+ "127wmwj0162nfaql68jwxlkz7rbnjya70xrj4j8zwvcnxcj7x5v3"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- (("pysam = \"\\^0.19\"") "pysam = \"^0.20\"")
- (("numpy = \\{ version = \"\\^1.23\"")
- "numpy = { version = \"^1\"")))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-poetry-core
+ (lambda _
+ ;; Patch to use the core poetry API.
+ (substitute* "pyproject.toml"
+ (("poetry.masonry.api") "poetry.core.masonry.api")))))))
(inputs
- (list python-asttokens python-intervaltree python-numpy
- python-pysam python-pyyaml))
+ (list python-asttokens
+ python-intervaltree
+ python-numpy
+ python-pysam
+ python-pyyaml))
(native-inputs
- (list poetry python-pytest))
+ (list python-poetry-core
+ python-pytest))
(home-page "https://github.com/vembrane/vembrane")
(synopsis "Filter VCF/BCF files with Python expressions")
(description "Vembrane simultaneously filters variants based on
@@ -24051,24 +24054,35 @@ parser for Python.")
(define-public nanosv
(package
- (name "nanosv")
- (version "1.2.4")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "NanoSV" version))
- (sha256
- (base32
- "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
- (build-system python-build-system)
- (inputs
- (list python-configparser python-pysam python-pyvcf3))
- (home-page "https://github.com/mroosmalen/nanosv")
- (synopsis "Structural variation detection tool for Oxford Nanopore data")
- (description "NanoSV is a software package that can be used to identify
+ (name "nanosv")
+ (version "1.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "NanoSV" version))
+ (sha256
+ (base32 "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No tests upstream, even in git.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("'pyvcf'")
+ "'pyvcf3'")))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (inputs (list python-configparser python-pysam python-pyvcf3))
+ (home-page "https://github.com/mroosmalen/nanosv")
+ (synopsis "Structural variation detection tool for Oxford Nanopore data")
+ (description
+ "NanoSV is a software package that can be used to identify
structural genomic variations in long-read sequencing data, such as data
produced by Oxford Nanopore Technologies’ MinION, GridION or PromethION
instruments, or Pacific Biosciences RSII or Sequel sequencers.")
- (license license:expat)))
+ (license license:expat)))
(define-public python-strawc
(package
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 170d32f3e3..caf7efe197 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -720,29 +720,27 @@ a build worked by accident.")
(file-name (git-file-name name version))
(sha256
(base32 "1sqdnkka3c6b6hwnrmlwrgy7w62cp8raq8mph9pgd2lydzzbvwlp"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'fix-filename
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- ;; Main osc tool is renamed in spec file, not setup.py, let's
- ;; do that too.
- (rename-file
- (string-append bin "osc-wrapper.py")
- (string-append bin "osc"))
- #t))))))
- (native-inputs
- (list python-chardet))
- (inputs
- (list python-m2crypto python-pycurl rpm)) ; for python-rpm
+ (list
+ ;; XXX: Tests require a config file.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'fix-filename
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ ;; osc tool is renamed in spec file, not setup.py.
+ (rename-file "osc-wrapper.py" "osc")))))))
+ (native-inputs (list python-chardet python-setuptools python-wheel))
+ (inputs (list python-m2crypto python-pycurl rpm)) ;for python-rpm
(home-page "https://github.com/openSUSE/osc")
(synopsis "Open Build Service command line tool")
- (description "@command{osc} is a command line interface to the Open Build
-Service. It allows you to checkout, commit, perform reviews etc. The vast
-majority of the OBS functionality is available via commands and the rest can
-be reached via direct API calls.")
+ (description
+ "@command{osc} is a command line interface to the Open Build Service. It
+allows you to checkout, commit, perform reviews etc. The vast majority of the
+OBS functionality is available via commands and the rest can be reached via
+direct API calls.")
(license license:gpl2+)))
(define-public compdb
@@ -774,28 +772,36 @@ right compilation options.")
(name "compiledb")
(version "0.10.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "compiledb" version))
- (sha256
- (base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
- (build-system python-build-system)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nickdiego/compiledb")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qricdgqzry7j3rmgwyd43av3c2kxpzkh6f9zcqbzrjkn78qbpd4"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'no-compat-shim-dependency
- ;; shutilwhich is only needed for python 3.3 and earlier
- (lambda _
- (substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
- (substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
- (propagated-inputs
- (list python-bashlex python-click))
- (native-inputs
- (list python-pytest))
- (home-page
- "https://github.com/nickdiego/compiledb")
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'no-compat-shim-dependency
+ ;; shutilwhich is only needed for python 3.3 and earlier
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("^ *'shutilwhich'\n")
+ ""))
+ (substitute* "compiledb/compiler.py"
+ (("shutilwhich")
+ "shutil"))
+ (substitute* "tests/data/multiple_commands_oneline.txt"
+ (("/bin/echo")
+ (search-input-file inputs "bin/echo"))))))))
+ (propagated-inputs (list python-bashlex python-click))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/nickdiego/compiledb")
(synopsis
- "Generate Clang JSON Compilation Database files for make-based build systems")
+ "Generate Clang JSON Compilation Database files for make-based build systems")
(description
"@code{compiledb} provides a @code{make} python wrapper script which,
besides executing the make build command, updates the JSON compilation
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index bcfdc26778..d20cbf31e0 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -717,69 +717,44 @@ from an audio CD.")
(name "abcde")
(version "2.9.3")
(home-page "https://abcde.einval.com/")
- (source (origin
- (method url-fetch)
- (uri (string-append home-page "/download/abcde-"
- version ".tar.gz"))
- (sha256
- (base32
- "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Makefile"
- (("/usr/bin/install")
- "install"))))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/download/abcde-" version ".tar.gz"))
+ (sha256
+ (base32 "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (substitute* "Makefile"
- (("^prefix = .*$")
- (string-append "prefix = "
- (assoc-ref outputs "out")
- "\n"))
- (("^sysconfdir = .*$")
- (string-append "sysconfdir = "
- (assoc-ref outputs "out")
- "/etc/\n")))))
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((wget (assoc-ref inputs "wget"))
- (vorbis (assoc-ref inputs "vorbis-tools"))
- (parano (assoc-ref inputs "cdparanoia"))
- (which (assoc-ref inputs "which"))
- (discid (assoc-ref inputs "cd-discid"))
- (perl-discid (assoc-ref inputs "perl-musicbrainz-discid"))
- (perl-ws (assoc-ref inputs "perl-webservice-musicbrainz"))
- (perl-mojo (assoc-ref inputs "perl-mojolicious"))
- (flac (assoc-ref inputs "flac"))
- (out (assoc-ref outputs "out")))
- (define (wrap file)
- (wrap-program file
- `("PATH" ":" prefix
- (,(string-append out "/bin:"
- wget "/bin:"
- flac "/bin:"
- which "/bin:"
- vorbis "/bin:"
- discid "/bin:"
- parano "/bin")))
- `("PERL5LIB" ":" prefix
- (,(string-append perl-discid
- "/lib/perl5/site_perl:"
- perl-ws
- "/lib/perl5/site_perl:"
- perl-mojo
- "/lib/perl5/site_perl")))))
-
- (for-each wrap
- (find-files (string-append out "/bin")
- ".*"))))))
- #:tests? #f)) ; no test target
-
+ (list
+ #:tests? #f ; No test target.
+ #:modules `((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:make-flags
+ #~(list (string-append "INSTALL="
+ #$(this-package-native-input "coreutils-minimal")
+ "/bin/install -c")
+ (string-append "prefix = " #$output)
+ (string-append "sysconfdir = " #$output "/etc/"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (cut wrap-program <>
+ `("PATH" ":" prefix
+ ,(map (compose dirname (cut search-input-file inputs <>))
+ (list "/bin/wget"
+ "/bin/flac"
+ "/bin/which"
+ "/bin/ogginfo"
+ "/bin/cd-discid"
+ "/bin/cdparanoia")))
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB"))))
+ (find-files (string-append #$output "/bin"))))))))
+ (native-inputs (list coreutils-minimal))
(inputs (list bash-minimal
wget
which
@@ -793,7 +768,6 @@ from an audio CD.")
;; A couple of Python and Perl scripts are included.
python
perl))
-
(synopsis "Command-line audio CD ripper")
(description
"abcde is a front-end command-line utility (actually, a shell script)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 004ddef446..9272c1dfc1 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2237,26 +2237,24 @@ side-effects (such as setting environment variables).")
(define-public python-scripttest
(package
(name "python-scripttest")
- (version "1.3")
+ (version "2.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "scripttest" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pypa/scripttest")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m"))))
- (build-system python-build-system)
- (native-inputs
- (list python-pytest))
- (arguments
- ;; Tests not shipped with PyPI archive, and require TLS CA cert.
- (list #:tests? #f))
- (home-page (string-append "https://web.archive.org/web/20161029233413/"
- "http://pythonpaste.org/scripttest/"))
+ (base32 "07cyrh4yp8497radz8cx7la2p8yr78r77xm62hh77hcs1migznaf"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/pypa/scripttest")
(synopsis "Python library to test command-line scripts")
- (description "Scripttest is a Python helper library for testing
-interactive command-line applications. With it you can run a script in a
-subprocess and see the output as well as any file modifications.")
+ (description
+ "Scripttest is a Python helper library for testing interactive
+command-line applications. With it you can run a script in a subprocess and
+see the output as well as any file modifications.")
(license license:expat)))
(define-public python-testtools-bootstrap
@@ -2907,32 +2905,23 @@ failures.")
(package
(name "python-pytest-freezegun")
(version "0.4.2")
- (source (origin
- ;; The test suite is not included in the PyPI archive.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ktosiek/pytest-freezegun")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
- (build-system python-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ktosiek/pytest-freezegun")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
+ (build-system pyproject-build-system)
(propagated-inputs (list python-freezegun python-pytest))
- (native-inputs (list unzip))
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/ktosiek/pytest-freezegun")
(synopsis "Pytest plugin to freeze time in test fixtures")
- (description "The @code{pytest-freezegun} plugin wraps tests and fixtures
-with @code{freeze_time}, which controls (i.e., freeze) the time seen
-by the test.")
+ (description
+ "The @code{pytest-freezegun} plugin wraps tests and fixtures with
+@code{freeze_time}, which controls (i.e., freeze) the time seen by the test.")
(license license:expat)))
(define-public python-pytest-mypy
@@ -3215,26 +3204,6 @@ pragmas to control it from within your code. Additionally, it is
possible to write plugins to add your own checks.")
(license license:gpl2+)))
-(define-public python-pytest-capturelog
- (package
- (name "python-pytest-capturelog")
- (version "0.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-capturelog" version ".tar.gz"))
- (sha256
- (base32
- "038049nyjl7di59ycnxvc9nydivc5m8np3hqq84j2iirkccdbs5n"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-pytest))
- (home-page "https://bitbucket.org/memedough/pytest-capturelog/overview")
- (synopsis "Pytest plugin to catch log messages")
- (description
- "Python-pytest-catchlog is a pytest plugin to catch log messages.")
- (license license:expat)))
-
(define-public python-nosexcover
(package
(name "python-nosexcover")
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index aac96f96a7..e060795da9 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -3664,34 +3664,36 @@ getopt(), getopt_long() and getopt_long_only().")
(define-public safeint
(package
(name "safeint")
- (version "3.0.27")
- (home-page "https://github.com/dcleblanc/SafeInt")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "01d2dpdhyw3lghmamknb6g39w2gg0sv53pgxlrs2la8h694z6x7s"))))
+ (version "3.0.28")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dcleblanc/SafeInt")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bgqvyz5zp4mqzkm9545r3564n52bcdnq8bjn6azhxdsmap26g56"))
+ (patches
+ (search-patches "safeint-disable-tests.patch"))))
(build-system cmake-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (replace 'install
- (lambda _
- (let ((include-dir (string-append #$output
- "/include")))
- (with-directory-excursion "../source"
- (install-file "SafeInt.hpp" include-dir)
- (install-file "safe_math.h" include-dir)
- (install-file "safe_math_impl.h" include-dir)))))
- (add-after 'install 'install-doc
- (lambda _
- (let ((doc-dir (string-append #$output
- "/share/doc/safeint")))
- (with-directory-excursion "../source"
- (install-file "helpfile.md" doc-dir))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let ((include-dir (string-append #$output "/include")))
+ (with-directory-excursion "../source"
+ (install-file "SafeInt.hpp" include-dir)
+ (install-file "safe_math.h" include-dir)
+ (install-file "safe_math_impl.h" include-dir)))))
+ (add-after 'install 'install-doc
+ (lambda _
+ (let ((doc-dir (string-append #$output "/share/doc/safeint")))
+ (with-directory-excursion "../source"
+ (install-file "helpfile.md" doc-dir))))))))
+ (home-page "https://github.com/dcleblanc/SafeInt")
(synopsis "C and C++ library for managing integer overflows")
(description
"SafeInt is a class library for C++ that manages integer overflows. It
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 8322818b77..e448e68090 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages scanner)
@@ -61,6 +62,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
@@ -1078,20 +1080,24 @@ obtained and installed separately.")
(define-public python-pycups
(package
(name "python-pycups")
- (version "2.0.1")
+ (version "2.0.4")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pycups" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zdohnal/pycups")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "140c7073bkhx8w9qpaynllhynkkg0rzj3a4wjh9fnj15yvjlqhsp"))))
- (build-system python-build-system)
+ (base32 "1fx2b04wr9mv87lxk8jpglkyaqwj7bhlj6hnai0dji3jm503dqlb"))))
+ (build-system pyproject-build-system)
(arguments
- '(;; Tests require CUPS to be running
- #:tests? #f))
- (inputs
- (list cups))
+ (list
+ ;; XXX: Tests require CUPS to be running, a cups configuration, and
+ ;; access to associated printers.
+ #:tests? #f))
+ (inputs (list cups))
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/zdohnal/pycups")
(synopsis "Python bindings for libcups")
(description
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 881047af9d..00fa390886 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3964,35 +3964,30 @@ with relational data.")
(define-public aerich
(package
(name "aerich")
- (version "0.7.2")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tortoise/aerich")
- (commit (string-append "v" version))))
+ (url "https://github.com/tortoise/aerich")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0pcy945bg890p12s7cyw0mg7hxwsxyy570j600sbf7kwj2d3lilg"))))
+ (base32 "1cln1ik7519n6k4lnh06w956lp8xjb0khkkpsmaj8wqlm0jbvdbi"))))
(build-system pyproject-build-system)
(native-inputs
- (list poetry
- python-bandit
- python-cryptography
- python-isort
- python-pydantic
+ (list python-cryptography
python-pytest
+ python-poetry-core
python-pytest-asyncio
- python-pytest-mock
- python-pytest-xdist))
+ python-pytest-mock))
(propagated-inputs
- (list python-asyncmy
+ (list python-asyncclick
+ python-asyncmy
python-asyncpg
- python-click
- python-ddlparse
python-dictdiffer
- python-tomlkit
+ python-pydantic
+ python-tomli-w
python-tortoise-orm))
(home-page "https://github.com/tortoise/aerich")
(synopsis "Database migrations tool for Tortoise @acronym{ORM, Object Relational
@@ -4118,47 +4113,41 @@ etc., and an SQL engine for performing simple SQL queries.")
(package
(name "python-lmdb")
(version "1.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "lmdb" version))
- (sha256
- (base32
- "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
- (modules '((guix build utils)))
- (snippet
- ;; Delete bundled lmdb source files.
- '(begin
- (for-each delete-file (list "lib/lmdb.h"
- "lib/mdb.c"
- "lib/midl.c"
- "lib/midl.h"))
- #t))))
- (build-system python-build-system)
- (inputs
- (list lmdb))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "lmdb" version))
+ (sha256
+ (base32 "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
+ (snippet
+ ;; Delete bundled lmdb source files.
+ #~(for-each delete-file
+ '("lib/lmdb.h" "lib/mdb.c" "lib/midl.c" "lib/midl.h")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'use-system-lmdb
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((lmdb (assoc-ref inputs "lmdb")))
- (setenv "LMDB_PURE" "set") ; don't apply env-copy-txn.patch
- (setenv "LMDB_FORCE_SYSTEM" "set")
- (setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include"))
- (setenv "LMDB_LIBDIR" (string-append lmdb "/lib"))
- #t))))
- ;; Tests fail with: ‘lmdb.tool: Please specify environment (--env)’.
- #:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'use-system-lmdb
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lmdb (assoc-ref inputs "lmdb")))
+ (setenv "LMDB_PURE" "set") ;don't apply env-copy-txn.patch
+ (setenv "LMDB_FORCE_SYSTEM" "set")
+ (setenv "LMDB_INCLUDEDIR"
+ (string-append lmdb "/include"))
+ (setenv "LMDB_LIBDIR"
+ (string-append lmdb "/lib"))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list lmdb))
(home-page "https://github.com/dw/py-lmdb")
(synopsis "Python binding for the ‘Lightning’ database (LMDB)")
(description
"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning
Memory-Mapped Database} (LMDB), a high-performance key-value store.")
- (license
- (list license:openldap2.8
- ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
- ;; but not actually needed on platforms currently supported by Guix.
- license:bsd-3))))
+ (license (list license:openldap2.8
+ ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
+ ;; but not actually needed on platforms currently supported by Guix.
+ license:bsd-3))))
(define-public virtuoso-ose
(package
@@ -4399,34 +4388,28 @@ You might also want to install the following optional dependencies:
(name "python-alchemy-mock")
(version "0.4.3")
(home-page "https://github.com/miki725/alchemy-mock")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "alchemy-mock" version))
- (sha256
- (base32
- "0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))
- (snippet
- #~(begin (use-modules (guix build utils))
- (substitute* "alchemy_mock/comparison.py"
- (("collections\\.Mapping") "collections.abc.Mapping"))))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/miki725/alchemy-mock")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "053gj8d8ca5kpp7v61wd7lcm9mqp9xqz3d8pp9spdbcjsaqz9nk9"))
+ (snippet #~(begin
+ (use-modules (guix build utils))
+ (substitute* "alchemy_mock/comparison.py"
+ (("collections\\.Mapping")
+ "collections.abc.Mapping"))))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- ;; Create pytest.ini that adds doctest options to
- ;; prevent test failure. Taken from tox.ini.
- (call-with-output-file "pytest.ini"
- (lambda (port)
- (format port "[pytest]
-doctest_optionflags=IGNORE_EXCEPTION_DETAIL
-")))
- (invoke "pytest" "-vv" "--doctest-modules"
- "alchemy_mock/"))))))
- (native-inputs
- (list python-mock python-pytest))
- (propagated-inputs
- (list python-six python-sqlalchemy))
+ (list
+ #:test-flags
+ #~(list "--doctest-modules" "alchemy_mock")))
+ (native-inputs (list python-mock python-pytest python-setuptools
+ python-wheel))
+ (propagated-inputs (list python-sqlalchemy))
(synopsis "Mock helpers for SQLAlchemy")
(description
"This package provides mock helpers for SQLAlchemy that makes it easy
@@ -4858,13 +4841,13 @@ files or Python scripts that define a list of migration steps.")
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
- (version "2.2.4")
+ (version "2.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mysqlclient" version))
(sha256
- (base32 "0hdznfz9095d2qhl7awbp39s7wpqbxn37xzan487qzaf8srrzg1k"))))
+ (base32 "0i9q2vj6rb4w2iggk0mcp9jla2rm91sx7jcrgv7grm8njjsj5bi4"))))
(build-system pyproject-build-system)
(arguments
(list #:test-flags
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index c54473f6f1..dcaf39c7a3 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -59,7 +59,7 @@
(define-public debian-archive-keyring
(package
(name "debian-archive-keyring")
- (version "2023.4")
+ (version "2025.1")
(source
(origin
(method git-fetch)
@@ -68,10 +68,10 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0gn24dgzpg9zwq2hywkac4ljr5lrh7smyqxm21k2bivl0bhc4ca6"))))
+ (base32 "11i6gpff0sa7a6cngj3n3ysdphw745zp39zlhpw4iiv6mmqmp99m"))))
(build-system gnu-build-system)
(arguments
- '(#:test-target "verify-results"
+ '(#:tests? #f ; no tests
#:parallel-build? #f ; has race conditions
#:phases
(modify-phases %standard-phases
@@ -158,6 +158,105 @@ contains the archive keys used for that.")
;; "The keys in the keyrings don't fall under any copyright."
(license license:public-domain)))
+(define-public elxr-archive-keyring
+ (package
+ (name "elxr-archive-keyring")
+ (version "2024.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.com/elxr/packages/elxr-archive-keyring")
+ (commit (string-append "upstream/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cw7sn22g82g01g7xb4fp8pb6nvb4lck269w1i91rfcmhqxb4iz7"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "elxr-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list gnupg))
+ (home-page "https://pkg.elxr.org/pkg/elxr-archive-keyring")
+ (synopsis "GnuPG archive keys of the Elxr archive")
+ (description "The Elxr distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
+(define-public kali-archive-keyring
+ (package
+ (name "kali-archive-keyring")
+ (version "2025.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.com/kalilinux/packages/kali-archive-keyring")
+ (commit (string-append "kali/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07iwh24myf3s2ziqd2wwzclm48vyv0qvddz0rb6771laaal4wd7w"))
+ (modules '((guix build utils)))
+ (snippet #~(delete-file-recursively "debian"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "kali-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list gnupg))
+ (home-page "https://pkg.kali.org/pkg/kali-archive-keyring")
+ (synopsis "GnuPG archive keys of the Kali archive")
+ (description "The Kali distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
+(define-public pardus-archive-keyring
+ (package
+ (name "pardus-archive-keyring")
+ (version "2021.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://depo.pardus.org.tr/pardus/pool/main/p/"
+ "pardus-archive-keyring/pardus-archive-keyring_"
+ version ".tar.xz"))
+ (sha256
+ (base32 "0h4y9clpcfprx7fq2yy2bb22ykax5a0wlw8zlcq9kbiya83q02yr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "keyrings/pardus-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list jetring))
+ (home-page "https://tracker.pardus.org.tr/yirmiuc/pardus-archive-keyring")
+ (synopsis "GnuPG archive keys of the Pardus archive")
+ (description "The Pardus distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
(define-public pureos-archive-keyring
(package
(name "pureos-archive-keyring")
@@ -403,84 +502,74 @@ debbugs server.")
(define-public debootstrap
(package
(name "debootstrap")
- (version "1.0.134")
+ (version "1.0.141")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://salsa.debian.org/installer-team/debootstrap.git")
(commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0k9gi6gn8qlqs81r2q1hx5wfyax3nvpkk450girdra7dh54iidr4"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xdw29cygp0ii65kz8ns8hf0lfrwdjhaxf3sm6q304cm0ic2m7aj"))))
(build-system gnu-build-system)
(arguments
(list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((debian #$(this-package-input "debian-archive-keyring"))
- (pureos #$(this-package-input "pureos-archive-keyring"))
- (trisquel #$(this-package-input "trisquel-keyring"))
- (ubuntu #$(this-package-input "ubuntu-keyring")))
- (substitute* "Makefile"
- (("/usr") ""))
- (substitute* '("scripts/etch"
- "scripts/potato"
- "scripts/sarge"
- "scripts/sid"
- "scripts/woody"
- "scripts/woody.buildd")
- (("/usr") debian))
- (substitute* "scripts/gutsy"
- (("/usr") ubuntu))
- (substitute* "scripts/amber"
- (("/usr/share/keyrings/pureos-archive-keyring.gpg")
- (string-append
- pureos
- "/share/keyrings/pureos-archive-keyring.gpg")))
- (substitute* "scripts/robur"
- (("/usr/share/keyrings/trisquel-archive-keyring.gpg")
- (string-append
- trisquel
- "/share/keyrings/trisquel-archive-keyring.gpg")))
- (substitute* "debootstrap"
- (("=/usr") (string-append "=" #$output))
- (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
- ;; Include the keyring locations by default.
- (substitute* (find-files "scripts")
- (("keyring.*(debian-archive-keyring.gpg)"_ keyring)
- (string-append "keyring " debian "/share/keyrings/" keyring))
- (("keyring.*(pureos-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " pureos "/share/keyrings/" keyring))
- (("keyring.*(trisquel-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " trisquel "/share/keyrings/" keyring))
- (("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " ubuntu "/share/keyrings/" keyring)))
- ;; Ensure PATH works both in guix and within the debian chroot
- ;; workaround for: https://bugs.debian.org/929889
- (substitute* "functions"
- (("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
- "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))
- (substitute* (find-files "scripts")
- (("/usr/share/zoneinfo")
- (search-input-directory inputs "/share/zoneinfo"))))))
- (add-after 'install 'install-man-file
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "debootstrap.8"
- (string-append #$output "/share/man/man8"))))
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((debootstrap (string-append #$output "/sbin/debootstrap"))
- (path (getenv "PATH")))
- (wrap-program debootstrap
- `("PATH" ":" prefix (,path)))))))
- #:make-flags #~(list (string-append "DESTDIR=" #$output))
- #:tests? #f)) ; no tests
+ #:tests? #f ; no tests
+ #:modules '((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 textual-ports)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:make-flags #~(list (string-append "DESTDIR=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") ""))
+ (substitute* "debootstrap"
+ (("=/usr") (string-append "=" #$output))
+ (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
+ ;; XXX: For unsupported distros (here, tangly is abandonned), we
+ ;; simply remove the scripts, otherwise the following substitute*
+ ;; will error.
+ (for-each
+ delete-file
+ (find-files
+ "scripts"
+ (lambda (file stat)
+ (let ((content (call-with-input-file file get-string-all)))
+ (any (compose (cut string-contains content <>)
+ (cut string-append "/usr/share/keyrings/" <>
+ "-archive-keyring.gpg"))
+ (list "tanglu"))))))
+ (substitute* (find-files "scripts")
+ ;; Include the keyring locations by default.
+ (("/usr(/share/keyrings/.*.gpg)"_ keyring)
+ (search-input-file inputs keyring))
+ ;; Patch zoneinfo.
+ (("/usr/share/zoneinfo")
+ (search-input-directory inputs "/share/zoneinfo")))
+ ;; Ensure PATH works both in guix and within the debian chroot
+ ;; workaround for: https://bugs.debian.org/929889
+ (substitute* "functions"
+ (("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
+ "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))))
+ (add-after 'install 'install-man-file
+ (lambda _
+ (install-file "debootstrap.8"
+ (string-append #$output "/share/man/man8"))))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (wrap-program (string-append #$output "/sbin/debootstrap")
+ `("PATH" ":" prefix (,(getenv "PATH")))))))))
(inputs
(list debian-archive-keyring
+ elxr-archive-keyring
+ kali-archive-keyring
+ pardus-archive-keyring
pureos-archive-keyring
trisquel-keyring
ubuntu-keyring
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 7c8202dd71..b456507324 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -468,10 +468,10 @@ It aims to support Nintendo DSi and 3DS as well.")
"rangeset"
"rcheevos") ;submodule
(with-directory-excursion "Externals"
+ ;; Note: Not copying implot sources here, which would
+ ;; introduce a top-level circular dependency.
(copy-recursively #$dolphin-rcheevos-submodule
- "rcheevos/rcheevos")
- (copy-recursively #$(package-source implot)
- "implot/implot"))
+ "rcheevos/rcheevos"))
(for-each delete-file
(find-files
@@ -495,6 +495,10 @@ It aims to support Nintendo DSi and 3DS as well.")
(guix build utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-implot-source
+ (lambda _
+ (copy-recursively #$(package-source implot)
+ "Externals/implot/implot")))
(add-before 'configure 'generate-fonts&hardcode-libvulkan-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((fontfile
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 7408389b91..236cdbf960 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -2496,38 +2496,59 @@ filtering and ordering functionality.
(license license:gpl3+)))
(define-public watcher
- (package
- (name "watcher")
- (version "0.13.6")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/e-dant/watcher")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ikcdskb3z3wggxb12vi0y3rng2hcswl0fpk6sjqqlz34nvwijcr"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags
- #~(list "-DBUILD_TESTING=ON"
- ;; This is needed to find 'snitch' from the system.
- "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
- (substitute* "../source/tool/test/.ctx"
- (("../../out")
- "../../../build")
- (("which") "command -v"))
- (invoke "../source/tool/test/all"))))))
- (native-inputs (list jq snitch))
- (home-page "https://github.com/e-dant/watcher")
- (synopsis "File system watcher program and library")
- (description "Watcher may be used as a library or a program that can be
+ (let ((commit "0aff9ee86f0b62f17d7b0105cae6304ef1bcfbb2")
+ (revision "0"))
+ (package
+ (name "watcher")
+ (version (git-version "0.13.6" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/e-dant/watcher")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10bwdqnhgpsk2w60331npspkqjvdgb0jh2by89g8d3hwfjibk3p4"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; The test suite is currently flaky
+ ;; (see: https://github.com/e-dant/watcher/issues/85).
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_TESTING=ON"
+ ;; This is needed to find 'snitch' from the system.
+ "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-.pc-files-prefix
+ ;; There are some issues with the new .pc files (see:
+ ;; <https://github.com/e-dant/watcher/issues/82>).
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("\"\\$\\{CMAKE_INSTALL_LIBDIR}\"")
+ "\"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\"")
+ (("\\$\\{CMAKE_INSTALL_INCLUDEDIR}/wtr")
+ "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wtr"))
+ (substitute* "watcher.pc.in"
+ (("@PC_WATCHER_PREFIX@")
+ #$output))
+ (substitute* "watcher-c/watcher-c.pc.in"
+ (("@PC_LIBWATCHER_C_PREFIX@")
+ #$output))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+ (substitute* "../source/tool/test/.ctx"
+ (("../../out")
+ "../../../build"))
+ (invoke "../source/tool/test/all")))))))
+ (native-inputs (list jq snitch))
+ (home-page "https://github.com/e-dant/watcher")
+ (synopsis "File system watcher program and library")
+ (description "Watcher may be used as a library or a program that can be
used to efficiently watch a file system for changes. This package provides
the following components:
@table @asis
@@ -2540,4 +2561,4 @@ Command-line interface (CLI)
@item @command{tw}
Minimal, more human-readable CLI variant
@end table")
- (license license:expat)))
+ (license license:expat))))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 205f252b7d..3da97f5b4b 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1001,28 +1001,35 @@ the Monero GUI client.")
(license license:bsd-3)))
(define-public python-bech32
- (package
- (name "python-bech32")
- (version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "bech32" version))
- (sha256
- (base32
- "16fq5cfy5id9hp123ylhpl55pf38xwk0hv7sziqpig838qhvhvbx"))))
- (build-system python-build-system)
- (home-page "https://github.com/fiatjaf/bech32")
- (synopsis "Reference implementation for Bech32 and Segwit addresses")
- (description "This package provides a python reference implementation for
+ ;; XXX: No tags upstream.
+ (let ((commit "231e4d88b15f3dc8faf7d339f365b84f6ab5cbcc")
+ (revision "0"))
+ (package
+ (name "python-bech32")
+ (version (git-version "1.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fiatjaf/bech32")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wq6q0yrw3x42d81v445xy4nh2qlrn7swsydgpv81dkay11kajrz"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/fiatjaf/bech32")
+ (synopsis "Reference implementation for Bech32 and Segwit addresses")
+ (description "This package provides a python reference implementation for
Bech32 and segwit addresses.")
- (license license:expat)))
+ (license license:expat))))
(define-public python-trezor-agent
;; It is called 'libagent' in pypi; i.e. this is the library as opposed to
;; the toplevel app called trezor-agent.
(package
(name "python-trezor-agent")
- (version "0.14.7")
+ (version "0.15.0")
(source
(origin
(method git-fetch)
@@ -1031,22 +1038,21 @@ Bech32 and segwit addresses.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))))
- (build-system python-build-system)
+ (base32 "09y55ys3x5krszh58yhl5gpdri0zrlhfld6psrmiyxfbp344asin"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-requires-backports-shutil-which
- ;; Remove requires on backport of shutil_which, as python 3.4+ has
- ;; a built-in implementation supported in python-trezor-agent.
- (lambda _
- (substitute* "setup.py"
- (("'backports.shutil_which>=3.5.1',") ""))))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-v")))))))
+ (list
+ #:test-flags
+ ;; XXX: Requires $HOME to be /run/user.
+ #~(list "-k" "not test_get_agent_sock_path")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-requires-backports-shutil-which
+ ;; Remove requires on backport of shutil_which, as python 3.4+ has
+ ;; a built-in implementation supported in python-trezor-agent.
+ (lambda _
+ (substitute* "setup.py"
+ (("'backports.shutil_which>=3.5.1',") "")))))))
(propagated-inputs
(list python-bech32
python-configargparse
@@ -1064,7 +1070,9 @@ Bech32 and segwit addresses.")
(native-inputs ; Only needed for running the tests
(list gnupg
python-mock
- python-pytest))
+ python-pytest
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Use hardware wallets as SSH and GPG agent")
(description
@@ -1340,7 +1348,7 @@ the KeepKey Hardware Wallet.")
(uri (origin-uri (package-source python-trezor-agent)))
(file-name (git-file-name name version))
(sha256
- (base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))
+ (base32 "09y55ys3x5krszh58yhl5gpdri0zrlhfld6psrmiyxfbp344asin"))
(modules
'((guix build utils)
(ice-9 ftw)
@@ -1360,45 +1368,40 @@ the KeepKey Hardware Wallet.")
(scandir "./agents/trezor/"
(negate (cut member <> '("." "..") string=))))
(delete-file-recursively "./agents")
- ;; Without deleting ./contrib the sanity-check phase fails. Reported
- ;; upstream as https://github.com/romanz/trezor-agent/issues/429.
- (delete-file-recursively "./contrib")
;; Without deleting ./libagent setuptools complains as follows:
;; "error: Multiple top-level packages discovered in a flat-layout: ['contrib', 'libagent']."
(delete-file-recursively "./libagent")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- (("'trezor\\[hidapi]>=0.12.0,<0.13'")
- "'trezor[hidapi]>=0.13'"))))
- (add-after 'wrap 'fixup-agent-py
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- ;; The wrap phase also wraps trezor_agent.py (besides the
- ;; public facing executable called trezor-agent). We need to
- ;; undo that wrapping. The reason this is needed is that the
- ;; python easy install generates a toplevel script (?) that
- ;; messes with argv[0] and then re-opens the python
- ;; module. This fails when the wrapped file is actually a shell
- ;; script, not a python file.
- (delete-file (string-append out "/bin/.trezor_agent.py-real"))
- ;; Overwrite the wrapped one with the real thing.
- (install-file "./trezor_agent.py"
- (string-append out "/bin"))))))))
- (build-system python-build-system)
+ (list
+ #:tests? #f ; No tests there.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'wrap 'fixup-agent-py
+ (lambda _
+ ;; The wrap phase also wraps trezor_agent.py (besides the public
+ ;; facing executable called trezor-agent). We need to undo that
+ ;; wrapping. The reason this is needed is that the python easy
+ ;; install generates a toplevel script (?) that messes with
+ ;; argv[0] and then re-opens the python module. This fails when
+ ;; the wrapped file is actually a shell script, not a python file.
+ (delete-file
+ (string-append #$output "/bin/.trezor_agent.py-real"))
+ ;; Overwrite the wrapped one with the real thing.
+ (install-file "./trezor_agent.py"
+ (string-append #$output "/bin")))))))
(inputs
(list python-trezor python-trezor-agent))
(native-inputs ; Only needed for running the tests
(list python-attrs
python-bech32
- python-simple-rlp))
+ python-simple-rlp
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Using Trezor as hardware SSH/GPG agent")
- (description "This package allows using Trezor as a hardware SSH/GPG
-agent.")
+ (description
+ "This package allows using Trezor as a hardware SSH/GPG agent.")
(license license:lgpl3)))
(define-public keepkey-agent
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index aa1454ca96..caeba83735 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -918,14 +918,14 @@ It also includes runtime support libraries for these languages.")
(define-public gcc-15
(package
(inherit gcc-14)
- (version "15.1.0")
+ (version "15.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "1skcy1a3wwb8k25f9l1qy11nj8b5089f05dpzzn1zw302v19xc72"))
+ "0knj4ph6y7r7yhnp1v4339af7mki5nkh7ni9b948433bhabdk3s3"))
(patches (search-patches "gcc-12-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 40a5cf7401..1e78a9de27 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -327,7 +327,7 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
(file-name (git-file-name name version))
(sha256
(base32 "1l34ahvcz90j3j7aspp9wqvxpq10mzgq7l0sanrj142ihdnbahvy"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
@@ -350,13 +350,12 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
(setenv "LD_LIBRARY_PATH"
(dirname lib)))))
;; We wrap xdot, so that we don't propagate gtk+ and graphviz
- (add-after 'install 'wrap
+ (replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (graphviz (assoc-ref inputs "graphviz"))
+ (let ((graphviz (assoc-ref inputs "graphviz"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(python-path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/xdot")
+ (wrap-program (string-append #$output "/bin/xdot")
`("PATH" ":" prefix
(,(string-append graphviz "/bin")))
`("GI_TYPELIB_PATH" ":" prefix
@@ -381,6 +380,8 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
python-numpy
python-pycairo
python-pygobject
+ python-setuptools
+ python-wheel
vulkan-loader))
(home-page "https://pypi.org/project/xdot/")
(synopsis "Interactive viewer for graphviz dot files")
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index f0ee0fd807..96153a4415 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -374,6 +374,63 @@ provides a single @code{GetBlock/AddBlock} interface that seamlessly retrieves
data either locally or from a remote peer through the exchange.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-cid
+ (package
+ (name "go-github-com-ipfs-go-cid")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-cid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gfd5dg0shj2daraai2kkf8sg24jp5cr6dsv857wp4q1ni612a23"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-cid"))
+ (propagated-inputs
+ (list go-github-com-multiformats-go-multihash
+ go-github-com-multiformats-go-multibase
+ go-github-com-multiformats-go-varint))
+ (home-page "https://github.com/ipfs/go-cid")
+ (synopsis "Content ID v1 implemented in Go")
+ (description
+ "Implementation in Go of the @url{https://github.com/ipld/cid, CID spec}. It is
+used in @code{go-ipfs} and related packages to refer to a typed hunk of data.")
+ (license license:expat)))
+
+(define-public go-github-com-ipfs-go-cidutil
+ (package
+ (name "go-github-com-ipfs-go-cidutil")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-cidutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j18wf42rfxrrh2fjdbjsjvjqxwgvg46b9wl6y5ig22fx5hvpm1n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-cidutil"))
+ (propagated-inputs
+ (list go-github-com-ipfs-go-cid
+ go-github-com-multiformats-go-multibase
+ go-github-com-multiformats-go-multicodec
+ go-github-com-multiformats-go-multihash))
+ (home-page "https://github.com/ipfs/go-cidutil")
+ (synopsis "Utility functions and types for working with CIDs")
+ (description
+ "@code{go-cidutil} implements various utilities and helper functions for working
+with @url{https://github.com/ipld/cid, CIDs}.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-ds-badger4
(package
(name "go-github-com-ipfs-go-ds-badger4")
@@ -618,63 +675,6 @@ datastore, giving a clean interface for getting and putting block objects.")
@url{https://github.com/ipfs/go-block-format, IPFS blocks}.")
(license license:expat)))
-(define-public go-github-com-ipfs-go-cid
- (package
- (name "go-github-com-ipfs-go-cid")
- (version "0.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-cid")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gfd5dg0shj2daraai2kkf8sg24jp5cr6dsv857wp4q1ni612a23"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-cid"))
- (propagated-inputs
- (list go-github-com-multiformats-go-multihash
- go-github-com-multiformats-go-multibase
- go-github-com-multiformats-go-varint))
- (home-page "https://github.com/ipfs/go-cid")
- (synopsis "Content ID v1 implemented in Go")
- (description
- "Implementation in Go of the @url{https://github.com/ipld/cid, CID spec}. It is
-used in @code{go-ipfs} and related packages to refer to a typed hunk of data.")
- (license license:expat)))
-
-(define-public go-github-com-ipfs-go-cidutil
- (package
- (name "go-github-com-ipfs-go-cidutil")
- (version "0.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-cidutil")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0j18wf42rfxrrh2fjdbjsjvjqxwgvg46b9wl6y5ig22fx5hvpm1n"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-cidutil"))
- (propagated-inputs
- (list go-github-com-ipfs-go-cid
- go-github-com-multiformats-go-multibase
- go-github-com-multiformats-go-multicodec
- go-github-com-multiformats-go-multihash))
- (home-page "https://github.com/ipfs/go-cidutil")
- (synopsis "Utility functions and types for working with CIDs")
- (description
- "@code{go-cidutil} implements various utilities and helper functions for working
-with @url{https://github.com/ipld/cid, CIDs}.")
- (license license:expat)))
-
(define-public go-github-com-ipfs-go-ipfs-cmds
(package
(name "go-github-com-ipfs-go-ipfs-cmds")
@@ -1136,6 +1136,34 @@ implementation of @code{go-ipld-format}")
"An implementation of a @url{https://cbor.io/, CBOR} encoded merkledag object.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-ipld-format
+ (package
+ (name "go-github-com-ipfs-go-ipld-format")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-ipld-format")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zl172ncmx9h5z2p3d0j1377xm9glw4zfyamks31p0pvvx2kyn7c"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-ipld-format"))
+ (propagated-inputs
+ (list go-github-com-multiformats-go-multihash
+ go-github-com-ipfs-go-block-format
+ go-github-com-ipfs-go-cid))
+ (home-page "https://github.com/ipfs/go-ipld-format")
+ (synopsis "IPLD Node and Resolver interfaces in Go")
+ (description
+ "@code{go-ipld-format} is a set of interfaces that a type needs to implement in
+order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-forest.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-ipld-git
(package
(name "go-github-com-ipfs-go-ipld-git")
@@ -1178,34 +1206,6 @@ IPLD graph as detailed below. Objects are demonstrated here using both
@url{https://ipld.io/docs/schemas/,IPLD Schemas} and example JSON forms.")
(license license:expat)))
-(define-public go-github-com-ipfs-go-ipld-format
- (package
- (name "go-github-com-ipfs-go-ipld-format")
- (version "0.6.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-ipld-format")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zl172ncmx9h5z2p3d0j1377xm9glw4zfyamks31p0pvvx2kyn7c"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-ipld-format"))
- (propagated-inputs
- (list go-github-com-multiformats-go-multihash
- go-github-com-ipfs-go-block-format
- go-github-com-ipfs-go-cid))
- (home-page "https://github.com/ipfs/go-ipld-format")
- (synopsis "IPLD Node and Resolver interfaces in Go")
- (description
- "@code{go-ipld-format} is a set of interfaces that a type needs to implement in
-order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-forest.")
- (license license:expat)))
-
(define-public go-github-com-ipfs-go-ipld-legacy
(package
(name "go-github-com-ipfs-go-ipld-legacy")
@@ -1284,6 +1284,36 @@ Graphs, DAG} data structures as specified in
@url{https://docs.ipfs.tech/concepts/merkle-dag}.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-metrics-interface
+ (package
+ (name "go-github-com-ipfs-go-metrics-interface")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-metrics-interface")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d7jh9aclmxq4z5hynn4lc0ab8c8rip92xkc224vjw2y7kg6jyvg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-metrics-interface"))
+ (propagated-inputs
+ (list go-github-com-ipfs-go-cid
+ go-github-com-ipfs-go-datastore
+ go-github-com-multiformats-go-base32
+ go-github-com-multiformats-go-multihash))
+ (home-page "https://github.com/ipfs/go-metrics-interface")
+ ;; XXX: The project neither has no a proper description, nor a README, see
+ ;; <https://github.com/ipfs/go-metrics-interface/issues/1>.
+ (synopsis "Metrics interface for IPFS")
+ (description
+ "Metrics interface for IPFS (Kubo).")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-metrics-prometheus
(package
(name "go-github-com-ipfs-go-metrics-prometheus")
@@ -1770,36 +1800,6 @@ their levels to be controlled individually.")
(list
#:import-path "github.com/ipfs/go-log"))))
-(define-public go-github-com-ipfs-go-metrics-interface
- (package
- (name "go-github-com-ipfs-go-metrics-interface")
- (version "0.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-metrics-interface")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0d7jh9aclmxq4z5hynn4lc0ab8c8rip92xkc224vjw2y7kg6jyvg"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-metrics-interface"))
- (propagated-inputs
- (list go-github-com-ipfs-go-cid
- go-github-com-ipfs-go-datastore
- go-github-com-multiformats-go-base32
- go-github-com-multiformats-go-multihash))
- (home-page "https://github.com/ipfs/go-metrics-interface")
- ;; XXX: The project neither has no a proper description, nor a README, see
- ;; <https://github.com/ipfs/go-metrics-interface/issues/1>.
- (synopsis "Metrics interface for IPFS")
- (description
- "Metrics interface for IPFS (Kubo).")
- (license license:expat)))
-
(define-public go-github-com-ipshipyard-p2p-forge
(package
(name "go-github-com-ipshipyard-p2p-forge")
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 34dd73e32e..d673618fec 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2022, 2023, 2024 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2022-2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Kiran Shila <me@kiranshila.com>
;;; Copyright © 2022 Wiktor Zelazny <wzelazny@vurv.cz>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
@@ -76,6 +76,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
+ #:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -220,6 +221,40 @@ representations and sentence classification.")
family of functions.")
(license license:expat)))
+(define-public python-faster-whisper
+ (package
+ (name "python-faster-whisper")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SYSTRAN/faster-whisper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g9cdvphifn4rqhh7p4z1d3pp6bhcx0jmcahjigvcgry0qsijgfn"))))
+ (build-system pyproject-build-system)
+ ;; XXX: Currently tests requires model download, which we'd rather avoid
+ ;; in Guix unless we're sure about the FOSS weights. To test in source :
+ ;; guix shell -D python-faster-whisper -- pytest
+ (arguments (list #:tests? #f))
+ (propagated-inputs (list (list onnxruntime "python")
+ python-av
+ python-ctranslate2
+ python-huggingface-hub
+ python-tokenizers
+ python-tqdm))
+ (native-inputs (list python-numpy
+ python-pytest
+ python-setuptools-next))
+ (home-page "https://github.com/SYSTRAN/faster-whisper")
+ (synopsis "Whisper transcription reimplementation")
+ (description
+ "This package provides a reimplementation of OpenAI's Whisper model using
+CTranslate2, which is a inference engine for transformer models.")
+ (license license:expat)))
+
(define-public python-fasttext
(package
(inherit fasttext)
@@ -1501,37 +1536,25 @@ unsupervised text tokenizer.")
(define-public python-sentence-transformers
(package
(name "python-sentence-transformers")
- (version "3.0.1")
+ (version "5.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "sentence_transformers" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/UKPLab/sentence-transformers/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1xmzbyrlp6wa7adf42n67c544db17nz95b10ri603lf4gi9jqgca"))))
+ (base32
+ "1jkj77q25b21nxrdszvlw127jnx1m7x8czldiq2mfyj76yjk0ymj"))))
(build-system pyproject-build-system)
(arguments
- (list
- #:test-flags
- '(list
- ;; Missing fixture / train or test data.
- ;; Requires internet access.
- "--ignore=tests/test_sentence_transformer.py"
- "--ignore=tests/test_train_stsb.py"
- "--ignore=tests/test_compute_embeddings.py"
- "--ignore=tests/test_cross_encoder.py"
- "--ignore=tests/test_model_card_data.py"
- "--ignore=tests/test_multi_process.py"
- "--ignore=tests/test_pretrained_stsb.py"
- "-k" (string-append
- "not test_LabelAccuracyEvaluator"
- " and not test_ParaphraseMiningEvaluator"
- " and not test_cmnrl_same_grad"
- " and not test_paraphrase_mining"
- " and not test_simple_encode"))))
+ (list #:tests? #f)) ;network access is required
(propagated-inputs (list python-huggingface-hub
python-numpy
python-pillow
python-pytorch
+ python-typing-extensions
python-scikit-learn
python-scipy
python-tqdm
@@ -1843,6 +1866,139 @@ aim is to provide all such passes along with ONNX so that they can be re-used
with a single function call.")
(license license:expat)))
+(define-public onnxruntime
+ (package
+ (name "onnxruntime")
+ (version "1.22.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/microsoft/onnxruntime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z2s79l4wdilssw9lmj319ypyyqi2y0dx0fpwr2yhq8bax3ci50n"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils)
+ ((guix build pyproject-build-system) #:prefix py:))
+ #:imported-modules (append %cmake-build-system-modules
+ %pyproject-build-system-modules)
+ #:configure-flags
+ #~(list "-Donnxruntime_BUILD_UNIT_TESTS=OFF"
+ "-Donnxruntime_BUILD_SHARED_LIB=ON"
+ "-Donnxruntime_ENABLE_LTO=ON"
+ "-Donnxruntime_ENABLE_PYTHON=ON"
+ "-Donnxruntime_USE_FULL_PROTOBUF=OFF"
+ ;; XXX: Fixes build with gcc@14.
+ "-DCMAKE_CXX_FLAGS=-Wl,-z,noexecstack")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "cmake")))
+ (add-after 'unpack 'relax-dependencies
+ (lambda _
+ (with-output-to-file "cmake/external/eigen.cmake"
+ (lambda _
+ (display "find_package(Eigen3 REQUIRED)\n")))
+ (substitute* "cmake/external/abseil-cpp.cmake"
+ (("20240722")
+ (car (string-split #$(package-version
+ (this-package-input "abseil-cpp"))
+ #\.))))))
+ (add-after 'install 'build-python
+ (lambda _
+ (invoke "python3" "../setup.py" "bdist_wheel")))
+ (add-after 'build-python 'install-python
+ (lambda* (#:key inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'install)
+ #:inputs inputs
+ #:outputs `(("out" . ,#$output:python)))))
+ (add-after 'install-python 'add-install-to-pythonpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'add-install-to-pythonpath)
+ #:inputs inputs
+ #:outputs `(("out" . ,#$output:python)))))
+ (delete 'check)
+ (add-after 'add-install-to-pythonpath 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (with-directory-excursion "../onnxruntime/test/python"
+ ((assoc-ref py:%standard-phases 'check)
+ #:tests? tests?
+ #:test-flags
+ `(;; XXX: NotImplementedError
+ "--ignore-glob=quantization/*"
+ ;; XXX: These tests require transformer models or have
+ ;; import issues.
+ "--ignore=transformers/test_generation.py"
+ "--ignore=transformers/test_gpt2_benchmark.py"
+ "--ignore=transformers/test_gpt2_to_onnx.py"
+ "--ignore=transformers/test_optimizer_huggingface_bert.py"
+ "--ignore=transformers/test_parity_huggingface_gpt_attention.py"
+ "--ignore=transformers/test_shape_infer_helper.py"
+ ;; XXX: onnxscript ModuleNotFound
+ "--ignore=transformers/test_gelu_fusions.py"
+ "--ignore=transformers/test_gemma3_vision.py"
+ ;; XXX: Other failing tests.
+ "-k" ,(string-append
+ "not test_gelu_is_fused_by_default"
+ " and not test_inverse"))))))
+ (add-after 'check 'python-sanity-check
+ (lambda* (#:key tests? inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'sanity-check)
+ #:inputs `(("sanity-check.py" . ,#$(default-sanity-check.py))
+ ,@inputs)
+ #:outputs `(("out" . ,#$output:python))))))))
+ (outputs (list "out" "python"))
+ (inputs
+ (list abseil-cpp
+ boost
+ cpuinfo
+ dlpack
+ c++-gsl
+ date
+ eigen-for-onnxruntime
+ flatbuffers-23.5
+ googletest
+ nlohmann-json
+ onnx
+ protobuf
+ pybind11
+ re2-next
+ safeint
+ zlib))
+ (native-inputs
+ (list pkg-config
+ python-einops
+ python-wrapper
+ python-numpy
+ python-parameterized
+ python-psutil
+ python-pytest
+ python-pytorch
+ python-sentencepiece
+ python-setuptools-next))
+ (propagated-inputs
+ (list python-coloredlogs
+ python-flatbuffers
+ python-protobuf
+ python-sympy))
+ (home-page "https://github.com/microsoft/onnxruntime")
+ (synopsis "Cross-platform, high performance scoring engine for ML models")
+ (description
+ "ONNX Runtime is a performance-focused complete scoring engine
+for Open Neural Network Exchange (ONNX) models, with an open
+extensible architecture to continually address the latest developments
+in AI and Deep Learning. ONNX Runtime stays up to date with the ONNX
+standard with complete implementation of all ONNX operators, and
+supports all ONNX releases (1.2+) with both future and backwards
+compatibility.")
+ (license license:expat)))
+
(define-public rxcpp
(package
(name "rxcpp")
@@ -6669,22 +6825,25 @@ simple speech recognition.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ideasman42/nerd-dictation")
- (commit commit)))
+ (url "https://github.com/ideasman42/nerd-dictation")
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frdpswv6w3cwj3c7wd5w8gj3s1hvpdwd48qhfhfxf7imahz9bqf"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir "package/python"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "package/python"))))))
+ (native-inputs (list python-setuptools python-wheel))
(propagated-inputs (list python-vosk))
(home-page "https://github.com/ideasman42/nerd-dictation")
(synopsis "Offline speech-to-text for desktop Linux")
- (description "\
-This package provides simple access speech to text for using in
+ (description
+ "This package provides simple access speech to text for using in
Linux without being tied to a desktop environment, using the @code{vosk-api}.
The user configuration lets you manipulate text using Python string
operations. It has zero overhead, as this relies on manual activation and
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index b0e9322b76..119fc5988a 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,13 +27,13 @@
(define-module (gnu packages mate)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix packages)
#:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
@@ -61,12 +61,12 @@
#:use-module (gnu packages javascript)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
- #:use-module (gnu packages multiprecision)
#:use-module (gnu packages messaging)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages nss)
- #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@@ -74,8 +74,8 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public mate-common
@@ -167,37 +167,42 @@ actions.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://mate/" (version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
(sha256
- (base32
- "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"))))
+ (base32 "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autoconf
- (lambda _
- (setenv "SHELL" (which "sh"))
- (setenv "CONFIG_SHELL" (which "sh"))
- (invoke "sh" "autogen.sh"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+ (lambda _
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (invoke "sh" "autogen.sh"))))))
(native-inputs
;; autoconf-wrapper is required due to the non-standard
;; 'autoconf phase.
- `(("autoconf" ,autoconf-wrapper)
- ("automake" ,automake)
- ("intltool" ,intltool)
- ("icon-naming-utils" ,icon-naming-utils)
- ("libtool" ,libtool)
- ("mate-common" ,mate-common)
- ("pkg-config" ,pkg-config)
- ("which" ,which)))
+ (list autoconf-wrapper
+ automake
+ intltool
+ icon-naming-utils
+ libtool
+ mate-common
+ pkg-config
+ which))
(home-page "https://mate-desktop.org/")
(synopsis "MATE desktop environment icon theme faenza")
(description
- "Icon theme using Faenza and Faience icon themes and some
-customized icons for MATE. Furthermore it includes some icons
-from Mint-X-F and Faenza-Fresh icon packs.")
+ "Icon theme using Faenza and Faience icon themes and some customized
+icons for MATE. Furthermore it includes some icons from Mint-X-F and
+Faenza-Fresh icon packs.")
(license license:gpl2+)))
(define-public mate-themes
@@ -262,39 +267,48 @@ desktop and the mate-about program.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://mate/" (version-major+minor version) "/"
- "libmateweather-" version ".tar.xz"))
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
(sha256
(base32 "1dfj68q3x9camd7h94pcwv8a5969cv5d4p979gcbk4xknpg76hsm"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags
- (list (string-append "--with-zoneinfo-dir=/var/empty"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'fix-tzdata-location
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" (search-input-directory inputs "/share/zoneinfo"))
- (substitute* "data/check-timezones.sh"
- (("/usr/share/zoneinfo/zone.tab")
- (search-input-file inputs "/share/zoneinfo/zone.tab"))
- ;; XXX: Ignore this test for now, which requires tzdata-2023c.
- (("exit 1") "exit 0")))))))
+ (list
+ #:configure-flags #~(list "--with-zoneinfo-dir=/var/empty")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-tzdata-location
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZDIR"
+ (search-input-directory inputs "/share/zoneinfo"))
+ (substitute* "data/check-timezones.sh"
+ (("/usr/share/zoneinfo/zone.tab")
+ (search-input-file inputs "/share/zoneinfo/zone.tab"))
+ ;; XXX: Ignore this test for now, which requires tzdata-2023c.
+ (("exit 1")
+ "exit 0")))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("dconf" ,dconf)
- ("glib:bin" ,glib "bin")))
+ (list dconf
+ (list glib "bin")
+ intltool
+ pkg-config))
(inputs
- (list gtk+ tzdata-for-tests))
+ (list gtk+
+ tzdata-for-tests))
(propagated-inputs
- ;; both of these are requires.private in mateweather.pc
- (list libsoup-minimal-2 libxml2))
+ ;; both of these are requires.private in mateweather.pc
+ (list libsoup-minimal-2
+ libxml2))
(home-page "https://mate-desktop.org/")
(synopsis "MATE library for weather information from the Internet")
(description
- "This library provides access to weather information from the internet for
-the MATE desktop environment.")
+ "This library provides access to weather information from the internet
+for the MATE desktop environment.")
(license license:lgpl2.1+)))
(define-public mate-terminal
@@ -807,24 +821,24 @@ hypertext navigation, and table-of-contents bookmarks.")
"0ylm46wgg7linppid6pdfaixhdb8zgyrxl3lxz17x0am2k718c0y"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:configure-flags '("--disable-update-mimedb")
- #:tests? #f ; tests fail even with display set
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; For the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t)))))
+ (list
+ #:tests? #f ; tests fail even with display set
+ #:configure-flags #~(list "--disable-update-mimedb")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0"))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin")
- ("xorg-server" ,xorg-server)
- ("gobject-introspection" ,gobject-introspection)))
+ (list pkg-config
+ intltool
+ (list glib "bin")
+ xorg-server
+ gobject-introspection))
(inputs
(list exempi
gtk+
@@ -837,8 +851,8 @@ hypertext navigation, and table-of-contents bookmarks.")
startup-notification))
(native-search-paths
(list (search-path-specification
- (variable "CAJA_EXTENSIONDIR")
- (files (list "lib/caja/extensions-2.0/**")))))
+ (variable "CAJA_EXTENSIONDIR")
+ (files (list "lib/caja/extensions-2.0/**")))))
(home-page "https://mate-desktop.org/")
(synopsis "File manager for the MATE desktop")
(description
@@ -914,6 +928,44 @@ applications associated with them. Caja is also responsible for handling the
icons on the MATE desktop. It works on local and remote file systems.")
(license license:gpl2+)))
+(define-public python-caja
+ (package
+ (name "python-caja")
+ (version "1.28.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32 "1ml0yrkbly1mz5gmz1wynn3zff5900szncc4rk83xqyzvcww4mmh"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append "--with-cajadir="
+ #$output
+ "/lib/caja/extensions-2.0/"))))
+ (native-inputs
+ (list pkg-config
+ gettext-minimal
+ python-wrapper))
+ (inputs
+ (list caja
+ gtk+
+ python-pygobject))
+ (home-page "https://mate-desktop.org/")
+ (synopsis "Python bindings for Caja components")
+ (description
+ "This package provides Python bindings to Caja, a file manager for the
+MATE desktop.")
+ (license license:gpl2+)))
+
(define-public mate-control-center
(package
(name "mate-control-center")
@@ -927,22 +979,22 @@ icons on the MATE desktop. It works on local and remote file systems.")
(base32 "1g0lg4x3idilaxhwq1s90pajkvv9i012kzrnk0pxqj2jzl2cgwpb"))))
(build-system glib-or-gtk-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'configure 'use-elogind-as-systemd
- (lambda _
- (substitute* "configure"
- (("systemd") "libelogind"))))
- (add-before 'build 'fix-polkit-action
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure the polkit file refers to the right
- ;; executable.
- (let ((out (assoc-ref outputs "out")))
- (substitute*
- '("capplets/display/org.mate.randr.policy.in"
- "capplets/display/org.mate.randr.policy")
- (("/usr/sbin")
- (string-append out "/sbin")))
- #t))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'use-elogind-as-systemd
+ (lambda _
+ (substitute* "configure"
+ (("systemd") "libelogind"))))
+ (add-before 'build 'fix-polkit-action
+ (lambda _
+ ;; Make sure the polkit file refers to the right
+ ;; executable.
+ (substitute*
+ '("capplets/display/org.mate.randr.policy.in"
+ "capplets/display/org.mate.randr.policy")
+ (("/usr/sbin")
+ (string-append #$output "/sbin"))))))))
(native-inputs
(list pkg-config
intltool
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7974a2f0b7..0c36a60948 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -829,20 +829,6 @@ translator for the language. In addition to the C library, a stand-alone
LP/MIP solver is included in the package.")
(license license:gpl3+)))
-(define-public glpk-4
- (package
- (inherit glpk)
- (name "glpk")
- (version "4.65")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/glpk/glpk-"
- version ".tar.gz"))
- (sha256
- (base32
- "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))))
-
(define-public linasm
(package
(name "linasm")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 7b4d0af1f7..982285299b 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4205,17 +4205,22 @@ of tags.")
(package
(name "python-musicbrainzngs")
(version "0.7.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "musicbrainzngs" version))
- (sha256
- (base32
- "09z6k07pxncfgfc8clfmmxl2xqbd7h8x8bjzwr95hc0bzl00275b"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alastair/python-musicbrainzngs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05rv5wmasamwxkbs8v9lbp2js6y5hhqz6c58c2afz2b202yp932m"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://python-musicbrainzngs.readthedocs.org/")
(synopsis "Python bindings for MusicBrainz NGS webservice")
- (description "Musicbrainzngs implements Python bindings of the MusicBrainz
-web service. This library can be used to retrieve music metadata from the
+ (description
+ "Musicbrainzngs implements Python bindings of the MusicBrainz web
+service. This library can be used to retrieve music metadata from the
MusicBrainz database.")
;; 'musicbrainzngs/compat.py' is ISC licensed.
(license (list license:bsd-2 license:isc))))
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
index 1c91823785..8c6e954926 100644
--- a/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
+++ b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
@@ -1,46 +1,9 @@
Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13824
-diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
-index 4c395a8ef9..efa0d6a9e2 100644
---- a/CMake/DolphinLibraryTools.cmake
-+++ b/CMake/DolphinLibraryTools.cmake
-@@ -1,14 +1,3 @@
--# like add_library(new ALIAS old) but avoids add_library cannot create ALIAS target "new" because target "old" is imported but not globally visible. on older cmake
--# This can be replaced with a direct alias call once our minimum is cmake 3.18
--function(dolphin_alias_library new old)
-- string(REPLACE "::" "" library_no_namespace ${old})
-- if (NOT TARGET _alias_${library_no_namespace})
-- add_library(_alias_${library_no_namespace} INTERFACE)
-- target_link_libraries(_alias_${library_no_namespace} INTERFACE ${old})
-- endif()
-- add_library(${new} ALIAS _alias_${library_no_namespace})
--endfunction()
--
- # Makes an imported target if it doesn't exist. Useful for when find scripts from older versions of cmake don't make the targets you need
- function(dolphin_make_imported_target_if_missing target lib)
- if(${lib}_FOUND AND NOT TARGET ${target})
-@@ -85,7 +74,7 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
- endif()
- if(${library}_FOUND)
- message(STATUS "Using system ${library}")
-- dolphin_alias_library(${alias} PkgConfig::${library})
-+ add_library(${alias} ALIAS PkgConfig::${library})
- set(${library}_TYPE "System" PARENT_SCOPE)
- else()
- dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c277e2a10a..67b72179f3 100644
+index 964a33ac13..7779cf2eac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -1,7 +1,7 @@
- ########################################
- # General setup
- #
--cmake_minimum_required(VERSION 3.13)
-+cmake_minimum_required(VERSION 3.18)
-
- cmake_policy(SET CMP0079 NEW) # let target_link_libraries() link to a target defined in a different directory
- cmake_policy(SET CMP0080 OLD) # allow using BundleUtilities at configure time
@@ -657,7 +657,11 @@ add_subdirectory(Externals/glslang)
if(WIN32 OR APPLE)
add_subdirectory(Externals/spirv_cross)
@@ -48,7 +11,7 @@ index c277e2a10a..67b72179f3 100644
-add_subdirectory(Externals/tinygltf)
+
+dolphin_find_optional_system_library(TinyGLTF Externals/tinygltf)
-+if(NOT DEFINED tinygltf)
++if(NOT TARGET tinygltf)
+ add_library(tinygltf ALIAS tinygltf::tinygltf) # using system library
+endif()
@@ -65,6 +28,32 @@ index 0d86268bbe..9e6a99c6f8 100644
-target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/tinygltf)
dolphin_disable_warnings(tinygltf)
+diff --git a/Externals/tinygltf/exports.props b/Externals/tinygltf/exports.props
+index 7e2fde81cf..09f43c1bae 100644
+--- a/Externals/tinygltf/exports.props
++++ b/Externals/tinygltf/exports.props
+@@ -2,7 +2,7 @@
+ <Project>
+ <ItemDefinitionGroup>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(ExternalsDir)tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(ExternalsDir)tinygltf\tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>TINYGLTF_NOEXCEPTION;TINYGLTF_NO_EXTERNAL_IMAGE;TINYGLTF_USE_CPP14;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+diff --git a/Externals/tinygltf/tinygltf.vcxproj b/Externals/tinygltf/tinygltf.vcxproj
+index e33d949e56..4995626f22 100644
+--- a/Externals/tinygltf/tinygltf.vcxproj
++++ b/Externals/tinygltf/tinygltf.vcxproj
+@@ -17,7 +17,7 @@
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup>
+ <ClCompile>
+- <AdditionalIncludeDirectories>tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>tinygltf\tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
diff --git a/Source/Core/VideoCommon/Assets/MeshAsset.cpp b/Source/Core/VideoCommon/Assets/MeshAsset.cpp
index bde8c8aab6..13eb2b4448 100644
--- a/Source/Core/VideoCommon/Assets/MeshAsset.cpp
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
index c18a6c2ec4..d6046d440c 100644
--- a/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
+++ b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
@@ -1,50 +1,30 @@
Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13823
-diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
-index 4c395a8ef9..fb806b1b90 100644
---- a/CMake/DolphinLibraryTools.cmake
-+++ b/CMake/DolphinLibraryTools.cmake
-@@ -92,3 +92,30 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
- set(${library}_TYPE "Bundled" PARENT_SCOPE)
- endif()
- endfunction()
-+
-+# This can be used for header-only libraries that doesn't offer a
-+# pkg-config or CMake file. It uses CMake's find_file. LIBRARY is the
-+# name of the library providing it, INCLUDE is the header file name
-+# without its installation prefix (e.g. "wtr/watcher.hpp") while
-+# BUNDLED_PATH is the root directory of the bundled library.
-+function(dolphin_find_optional_system_include library include bundled_path)
-+ dolphin_optional_system_library(use_system ${library})
-+ string(TOUPPER ${library} upperlib)
-+ if(use_system)
-+ find_file(${library}_INCLUDE ${include})
-+ if((NOT ${library}_INCLUDE) AND (NOT ${use_system} STREQUAL "AUTO"))
-+ message(FATAL_ERROR "No system ${library} headers found. \
-+Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
-+ endif()
-+ endif()
-+ if(${library}_INCLUDE)
-+ message(STATUS "Using system ${library} headers")
-+ set(${library}_TYPE "System" PARENT_SCOPE)
-+ add_library(${library} INTERFACE IMPORTED GLOBAL)
-+ set_target_properties(${library} PROPERTIES
-+ INTERFACE_INCLUDE_DIRECTORIES ${${library}_INCLUDE})
-+ else()
-+ dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
-+ set(${library}_TYPE "Bundled" PARENT_SCOPE)
-+ endif()
-+endfunction()
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c277e2a10a..12b1c36ef0 100644
+index c277e2a10a..9b9ec00f91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -786,7 +786,7 @@ if (USE_RETRO_ACHIEVEMENTS)
+@@ -786,7 +786,9 @@ if (USE_RETRO_ACHIEVEMENTS)
add_subdirectory(Externals/rcheevos)
endif()
-add_subdirectory(Externals/watcher)
-+dolphin_find_optional_system_include(watcher wtr/watcher.hpp Externals/watcher)
++dolphin_find_optional_system_library_pkgconfig(
++ WATCHER watcher watcher::watcher Externals/watcher
++)
########################################
# Pre-build events: Define configuration variables and write SCM info header
+diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt
+index ee738ba4e3..629c739c8d 100644
+--- a/Source/Core/Common/CMakeLists.txt
++++ b/Source/Core/Common/CMakeLists.txt
+@@ -186,7 +186,7 @@ PRIVATE
+ FatFs
+ Iconv::Iconv
+ spng::spng
+- watcher
++ watcher::watcher
+ ${VTUNE_LIBRARIES}
+ )
+
diff --git a/gnu/packages/patches/safeint-disable-tests.patch b/gnu/packages/patches/safeint-disable-tests.patch
new file mode 100644
index 0000000000..baecd85b1b
--- /dev/null
+++ b/gnu/packages/patches/safeint-disable-tests.patch
@@ -0,0 +1,42 @@
+---
+ Test/GccTest/CMakeLists.txt | 18 ------------------
+ 1 file changed, 18 deletions(-)
+
+diff --git a/Test/GccTest/CMakeLists.txt b/Test/GccTest/CMakeLists.txt
+index 8a3bef4..9254d70 100644
+--- a/Test/GccTest/CMakeLists.txt
++++ b/Test/GccTest/CMakeLists.txt
+@@ -105,15 +105,6 @@ else()
+
+ target_compile_options(CompileTest_gcc PUBLIC -Wall)
+
+- add_executable(CompileTest_gcc17
+- ../CompileTest.cpp
+- ../ConstExpr.cpp
+- ../CleanCompile.cpp
+- ../../SafeInt.hpp
+- )
+-
+- target_compile_options(CompileTest_gcc17 PUBLIC -Wall -std=c++17)
+-
+ add_executable(CompileTest_gcc14
+ ../CompileTest.cpp
+ ../ConstExpr.cpp
+@@ -132,15 +123,6 @@ else()
+
+ target_compile_options(CompileTest_gcc14_NoEH PUBLIC -Wall -std=c++14 -fno-exceptions)
+
+- add_executable(CompileTest_gcc98
+- ../CompileTest.cpp
+- ../ConstExpr.cpp
+- ../CleanCompile.cpp
+- ../../SafeInt.hpp
+- )
+-
+- target_compile_options(CompileTest_gcc98 PUBLIC -D SAFEINT_USE_CPLUSCPLUS_98 -Wall -std=c++98 -fno-exceptions)
+-
+ add_executable(safe_math_test_gcc
+ ../c_safe_math/safe_math_test.c
+ ../c_safe_math/safe_math_test.h
+--
+2.50.1
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index 4d389179f9..e16cbc0e96 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.82.6")
+ (version "2.82.9")
(source
(origin
(method git-fetch)
@@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "1yfnavv1m5jgi28nzil4mmin3gq28ykpl6g4aqis7i9f9s638dp2"))
+ (base32 "15vah9mk81di4srd7rd8ggwl9k2hbzra9bmgkk73fdnmd9db3ryr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index d5772b7716..f43b49163d 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1249,18 +1249,10 @@ Python program.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0fg8jflcf4c929gd4zbcrk73d08waaqjfjmdjrgnv54mzl35pjxl"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ (base32 "0fg8jflcf4c929gd4zbcrk73d08waaqjfjmdjrgnv54mzl35pjxl"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-numpy python-pytest))
+ (list python-numpy python-pytest python-setuptools python-wheel))
(home-page "https://github.com/kaste/mockito-python")
(synopsis "Mocking library for Python")
(description "This package provides a Python implementation of the Java
@@ -1268,7 +1260,6 @@ library of the same name. It eases monkey patching, for example to stub out
side effects when unit testing.")
(license license:expat)))
-
(define-public python-mypy
(package
(name "python-mypy")
@@ -1979,18 +1970,21 @@ of the project to ensure it renders properly.")
(version "1.0.2")
(source
(origin
- (method url-fetch)
- (uri
- (pypi-uri "pytest_click" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stranger6667/pytest-click")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1rcv4m850rl7djzdgzz2zhjd8g5ih8w6l0sj2f9hsynymlsq82xl"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-click python-pytest))
+ (base32 "197nvlqlyfrqpy5lrkmfh1ywpr6j9zipxl9d7syg2a2n7jz3a8rj"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-click python-pytest))
(home-page "https://github.com/Stranger6667/pytest-click")
- (synopsis "Py.test plugin for Click")
- (description "This package provides a plugin to test Python click
-interfaces with pytest.")
+ (synopsis "Pytest plugin for Click")
+ (description
+ "This package provides a plugin to test Python click interfaces with
+pytest.")
(license license:expat)))
(define-public python-pytest-console-scripts
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 8fd893cb8e..9166620f28 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -559,29 +559,26 @@ Python.")
(define-public python-lzo
(package
(name "python-lzo")
- (version "1.14")
+ (version "1.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-lzo" version))
(sha256
- (base32 "0315nq6r39n51n8qqamb7xv0ib0qrh76q7g3a1977172mbndijw3"))))
- (build-system python-build-system)
+ (base32 "0jbv6853p8flk65ks0nw37f6f5v0ryi6nhppv5fm3863ql0alym5"))))
+ (build-system pyproject-build-system)
(arguments
(list
- #:test-target "check"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-setuppy
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "setup.py"
(("include_dirs.append\\(.*\\)")
- (string-append "include_dirs.append('"
- #$(this-package-input "lzo")
- "/include/lzo"
- "')"))))))))
- (inputs
- (list lzo))
+ (format #f "include_dirs.append(~s)"
+ (search-input-directory inputs "include/lzo")))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list lzo))
(home-page "https://github.com/jd-boyd/python-lzo")
(synopsis "Python bindings for the LZO data compression library")
(description
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index a80da0d470..79bbf1b08b 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -917,23 +917,24 @@ Python.")
(define-public python-josepy
(package
(name "python-josepy")
- (version "1.13.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "josepy" version))
- (sha256
- (base32
- "1jaxqyp53paks2z8zyzr50gqvzfxbar7r2qf98kqak4aizrxlcc9"))))
- (build-system python-build-system)
- (arguments
- ;; TODO: some test dependencies are missing (see pyproject.toml).
- '(#:tests? #f))
- (propagated-inputs
- (list python-cryptography python-pyopenssl))
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/certbot/josepy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zplnfrmc4nps9lgl3fz434ja7lmi9v8waydflzvpi75kf5fqxc1"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core python-pytest))
+ (propagated-inputs (list python-cryptography))
(home-page "https://github.com/certbot/josepy")
(synopsis "JOSE protocol implementation in Python")
- (description "This package provides a Python implementation of the JOSE
-protocol (Javascript Object Signing and Encryption).")
+ (description
+ "This package provides a Python implementation of the JOSE protocol
+(Javascript Object Signing and Encryption).")
(license license:asl2.0)))
(define pycryptodome-unbundle-tomcrypt-snippet
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1b8a718453..4f6a237ae0 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2663,20 +2663,13 @@ API, but uses asyncio to parallelise downloading the files.")
(method url-fetch)
(uri (pypi-uri "html2text" version))
(sha256
- (base32
- "1fvv4z6dblii2wk1x82981ag8yhxbim1v2ksgywxsndh2s7335p2"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest" "test/"))))))
- (native-inputs
- (list python-pytest))
+ (base32 "1fvv4z6dblii2wk1x82981ag8yhxbim1v2ksgywxsndh2s7335p2"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/Alir3z4/html2text")
(synopsis "Convert HTML into plain text")
- (description "html2text takes HTML and converts it into plain ASCII text
+ (description
+ "html2text takes HTML and converts it into plain ASCII text
which is also valid markdown. html2text was originally written by Aaron
Swartz.")
(license license:gpl3+)))
@@ -8382,17 +8375,19 @@ association.")
(define-public python-livereload
(package
(name "python-livereload")
- (version "2.6.3")
+ (version "2.7.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "livereload" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lepture/python-livereload")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0scqjnhg3ap81v36ghp0pik774dnfdkwqsx5j1jfbzarbs32yvvp"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-six python-tornado))
+ (base32 "19wkdd1grw6mcd4qi8iaw4jdr207h3m24951vgy69j7g904lynjq"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-django python-setuptools python-wheel))
+ (propagated-inputs (list python-tornado))
(home-page "https://github.com/lepture/python-livereload")
(synopsis "Python LiveReload")
(description
@@ -9327,11 +9322,12 @@ using a pure Python implementation.")
(uri (pypi-uri "pyjsparser" version))
(sha256
(base32 "0ycmf9fsvwliqmm1n6sfz7x71y7i2kbfgn39d8lsbiccfxmxlq5y"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/PiotrDabkowski/pyjsparser")
(synopsis "Fast JavaScript parser")
- (description "This package provides a fast JavaScript parser (based on
-esprima.js)")
+ (description
+ "This package provides a fast JavaScript parser (based on esprima.js)")
(license license:expat)))
(define-public python-js2py
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d71d26b15f..0107f3f08e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -166,6 +166,7 @@
;;; Copyright © 2025, Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 Luis Felipe López Acevedo <sirgazil@zoho.com>
+;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,7 +190,6 @@
#:use-module (gnu packages aidc)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
- #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
@@ -262,7 +262,6 @@
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
- #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -382,6 +381,55 @@ These aspects include CPU, network fabrics, etc. In addition, it offers
APIs to detect, query, and compare them.")
(license license:expat)))
+(define-public python-asyncclick
+ (package
+ (name "python-asyncclick")
+ (version "8.2.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncclick" version))
+ (sha256
+ (base32 "0q26q8r1x5j9nz72xcb80vjx5maha6yswdmw2li4mwqyzdxnnkq1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 1397 passed, 29 skipped, 72 deselected, 4 xfailed
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; See: <https://github.com/python-trio/asyncclick/issues/42>.
+ (list "not test_confirm_repeat[asyncio]"
+ "test_confirm_repeat[trio]"
+ "test_file_prompt_default_format[asyncio-file_kwargs0]"
+ "test_file_prompt_default_format[asyncio-file_kwargs1]"
+ "test_file_prompt_default_format[asyncio-file_kwargs2]"
+ "test_file_prompt_default_format[trio-file_kwargs0]"
+ "test_file_prompt_default_format[trio-file_kwargs1]"
+ "test_file_prompt_default_format[trio-file_kwargs2]"
+ "test_prompts[asyncio]"
+ "test_prompts[trio]"
+ ;; Requires less
+ "test_echo_via_pager")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-conftest
+ ;; See: <https://github.com/python-trio/asyncclick/pull/39>.
+ (lambda _
+ (substitute* "tests/conftest.py"
+ (("from click") "from asyncclick")))))))
+ (native-inputs
+ (list python-anyio
+ python-flit-core-next
+ python-pytest
+ python-trio))
+ (home-page "https://github.com/python-trio/asyncclick")
+ (synopsis "Python composable command line utility, trio-compatible version ")
+ (description
+ "AsyncClick is a fork of Click that works well with anyio, Trio, or
+asyncio.")
+ (license license:bsd-3)))
+
(define-public python-asyncstdlib
(package
(name "python-asyncstdlib")
@@ -927,6 +975,34 @@ of Ordered Set.")
your terminal.")
(license license:expat)))
+(define-public python-puccinialin
+ (package
+ (name "python-puccinialin")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "puccinialin" version))
+ (sha256
+ (base32 "00nnqcvvyn10zxkhgzcfn8czwvdzm0vh5z16plb0dxspccd69dmv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI or Git
+ (native-inputs
+ (list python-hatchling))
+ (propagated-inputs
+ (list python-httpx
+ python-platformdirs
+ python-tqdm))
+ (home-page "https://github.com/konstin/puccinialin")
+ (synopsis "Helper for bootstrapping Rust-based build back-ends for Python")
+ (description
+ "This tool helps to install Rust into a temporary directory, allowing
+support of Rust-based Python builds. Cargo and rustc are installed into a
+cache directory, to avoid modifying the host's environment, and further
+activated using a set of environment variables.")
+ (license (list license:expat license:asl2.0))))
+
(define-public python-pyxdameraulevenshtein
(package
(name "python-pyxdameraulevenshtein")
@@ -5850,36 +5926,6 @@ videos in a notebook.")
audio playback capability for Python 3 on OSX, Windows, and Linux.")
(license license:expat))) ; MIT license
-(define-public python-wavefile
- (package
- (name "python-wavefile")
- (version "1.6.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "wavefile" version))
- (sha256
- (base32
- "04mdcxq7n1vnwb9y65j0cwpy91ik5rh9vki1f45xqnh4ygz91n75"))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-libsndfile-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "wavefile/libsndfile.py"
- (("'libsndfile")
- (string-append "'" (assoc-ref inputs "libsndfile")
- "/lib/libsndfile"))))))))
- (inputs
- (list libsndfile portaudio))
- (propagated-inputs (list python-numpy python-pyaudio))
- (home-page "https://github.com/vokimon/python-wavefile")
- (synopsis "Pythonic audio file reader and writer")
- (description
- "This package provides pythonic libsndfile wrapper to read and write audio
-files.")
- (license license:gpl3+)))
-
(define-public python-jsonalias
(package
(name "python-jsonalias")
@@ -32316,17 +32362,20 @@ memoization.")
(version "0.8")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "cson" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/avakar/pycson")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "00cyvigg4npbph39ghkg77xbxisa6plf75vii24igxfizik0337f"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-speg))
+ (base32 "0d2zbmak0hzsl1w71dgc8x4q4vdfbpk46vwyi9vvvqv7gdqj59fn"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (propagated-inputs (list python-speg))
(home-page "https://github.com/avakar/pycson")
(synopsis "Parser for Coffeescript Object Notation (CSON)")
- (description "This package is a parser for Coffeescript Object
-Notation (CSON).")
+ (description
+ "This package is a parser for Coffeescript Object Notation (CSON).")
(license license:expat)))
(define-public python-aionotify
@@ -37335,18 +37384,30 @@ It implements advanced Python dictionaries with dot notation access.")
(name "python-aspectlib")
(version "1.5.2")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "aspectlib" version))
- (sha256
- (base32 "1am4ycf292zbmgz791z393v63w7qrynf8q5p9db2wwf2qj1fqxfj"))))
- (build-system python-build-system)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ionelmc/python-aspectlib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mfhflg33684gkp6ckkywshn4xa3vqaia521kcagaxgr3xm6c9pv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list ;; XXX: Require more dependencies.
+ "--ignore=tests/test_integrations.py"
+ "--ignore=tests/test_integrations_py3.py"
+ ;; XXX: Unimportant warning errors.
+ "-k" (string-append "not test_story_empty_play_proxy_class"
+ " and not test_story_half_play_proxy_class"))))
+ (native-inputs (list python-pytest python-setuptools python-tornado python-wheel))
(propagated-inputs (list python-fields))
(home-page "https://github.com/ionelmc/python-aspectlib")
- (synopsis
- "Python monkey-patching and decorators")
+ (synopsis "Python monkey-patching and decorators")
(description
- "This package provides an aspect-oriented programming, monkey-patch
+ "This package provides an aspect-oriented programming, monkey-patch
and decorators library. It is useful when changing behavior in existing
code is desired. It includes tools for debugging and testing:
simple mock/record and a complete capture/replay framework.")
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 7b989d38f9..665a074d65 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1668,34 +1668,6 @@ users.")
(home-page "https://hamlib.github.io/")
(license (list license:gpl2+ license:lgpl2.1+))))
-(define wsjtx-hamlib
- ;; Fork of hamlib with custom patches used by wsjtx.
- (package
- (inherit hamlib)
- (name "wsjtx-hamlib")
- (version "2.5.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.code.sf.net/u/bsomervi/hamlib.git")
- (commit (string-append "wsjtx-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1bgf7bz2280739a7ip7lvpns0i7x6svryxfmsp32cff2dr146lz3"))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("texinfo" ,texinfo)
- ,@(package-native-inputs hamlib)))
- (arguments
- `(#:configure-flags '("--disable-static"
- "--with-lua-binding"
- "--with-python-binding"
- "--with-tcl-binding"
- "--with-xml-support")))))
-
(define-public jtdx-hamlib
;; Fork of hamlib with custom patches used by jtdx.
(package
@@ -1909,10 +1881,7 @@ focused on DXing and being shaped by community of DXers.JTDX")
(("set \\(ENV\\{PKG_CONFIG_PATH\\}.*\\)")
"set (__pc_path $ENV{PKG_CONFIG_PATH})
list (APPEND __pc_path \"${__hamlib_pc_path}\")
- set (ENV{PKG_CONFIG_PATH} \"${__pc_path}\")"))
- (substitute* "HamlibTransceiver.hpp"
- (("#ifdef JS8_USE_LEGACY_HAMLIB")
- "#if 1"))))
+ set (ENV{PKG_CONFIG_PATH} \"${__pc_path}\")"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -1928,11 +1897,11 @@ focused on DXing and being shaped by community of DXers.JTDX")
(list boost
fftw
fftwf
+ hamlib
libusb
qtbase-5
qtmultimedia-5
- qtserialport-5
- wsjtx-hamlib))
+ qtserialport-5))
(home-page "http://js8call.com/")
(synopsis "Weak-signal ham radio communication program")
(description
@@ -2081,7 +2050,7 @@ gain and standing wave ratio.")
(define-public dump1090
(package
(name "dump1090")
- (version "8.2")
+ (version "10.2")
(source
(origin
(method git-fetch)
@@ -2090,12 +2059,17 @@ gain and standing wave ratio.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16ylywy2fdwf5kqr8kgl9lbzy1zwx4ckj9y122k3h86pfkswljs9"))))
+ (base32 "0dc1f18n1xlamdhxg96db6cm6kp04cqzxb36qmd141d0rca7qcli"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove FPGA firmware binary.
+ (delete-file-recursively "bladerf")))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
- (list bladerf hackrf libusb ncurses rtl-sdr))
+ (list bladerf hackrf libusb ncurses rtl-sdr soapysdr))
(arguments
(list
#:test-target "test"
@@ -2838,7 +2812,7 @@ based devices in packet mode over a serial link.")
(define-public cm256cc
(package
(name "cm256cc")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method git-fetch)
@@ -2847,7 +2821,7 @@ based devices in packet mode over a serial link.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1n9v7g6d370263bgqrjv38s9aq5953rzy7jvd8i30xq6aram9djg"))))
+ (base32 "07gx6yb17m9kd885qpf98cryn1acp546qg80c0rncy3hic0hd6pf"))))
(build-system cmake-build-system)
(arguments
;; Disable some SIMD features for reproducibility.
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 5b2f023736..445571f3c0 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -997,6 +997,26 @@ game development and other performance-critical applications.")
((#:configure-flags flags #~'())
#~(append #$flags '("-DCMAKE_POSITION_INDEPENDENT_CODE=ON")))))))
+(define-public flatbuffers-23.5
+ (hidden-package
+ (package
+ (inherit flatbuffers)
+ ;; needed explicitly by onnxruntime
+ (version "23.5.26")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/flatbuffers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "flatbuffers" version))
+ (sha256
+ (base32 "0cd12dvkzqdafz46q4302mzgpzbz589zmmiga7bq07f2sqy4vrvv"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments flatbuffers)
+ ((#:configure-flags flags #~'())
+ #~(append #$flags '("-DCMAKE_POSITION_INDEPENDENT_CODE=ON"))))))))
+
(define-public go-github-com-google-flatbuffers
(package/inherit flatbuffers
(name "go-github-com-google-flatbuffers")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 7eefc31928..8dd820429c 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -50,6 +50,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial)
@@ -77,6 +78,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -710,48 +712,48 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "2.3.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "acme" version))
- (sha256
- (base32
- "1z6293g4pyxvx5w7v07j8wnaxyr7srsqfqvgly888b8k52fq9ipa"))))
- (build-system python-build-system)
+ (version "4.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "acme" version))
+ (sha256
+ (base32 "0h8ckyal5j8lkm24fd52dajy38mxa76zh4q022i28f6b3878rxhd"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-documentation
- (lambda _
- (invoke "make" "-C" "docs" "man" "info")))
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man (string-append out "/share/man/man1"))
- (info (string-append out "/info")))
- (install-file "docs/_build/texinfo/acme-python.info" info)
- (install-file "docs/_build/man/acme-python.1" man))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("'PyOpenSSL.*',")
+ "'PyOpenSSL',"))))
+ (add-after 'build 'build-documentation
+ (lambda _
+ (invoke "make" "-C" "docs" "man" "info")))
+ (add-after 'install 'install-documentation
+ (lambda _
+ (let ((man (string-append #$output "/share/man/man1"))
+ (info (string-append #$output "/info")))
+ (install-file "docs/_build/texinfo/acme-python.info" info)
+ (install-file "docs/_build/man/acme-python.1" man)))))))
(native-inputs
(list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel
;; For documentation
python-sphinx
python-sphinxcontrib-programoutput
python-sphinx-rtd-theme
texinfo))
(propagated-inputs
- (list python-chardet
+ (list python-cryptography
python-josepy
- python-requests
- python-requests-toolbelt
- python-pytz
+ python-pyopenssl
python-pyrfc3339
- python-pyasn1
- python-cryptography
- python-pyopenssl))
+ python-requests))
(home-page "https://github.com/certbot/certbot")
(synopsis "ACME protocol implementation in Python")
(description "ACME protocol implementation in Python")
@@ -763,30 +765,33 @@ netcat implementation that supports TLS.")
;; Certbot and python-acme are developed in the same repository, and their
;; versions should remain synchronized.
(version (package-version python-acme))
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "certbot" version))
- (sha256
- (base32
- "12nd9nmdj3bf1xlvhj1ln473xbyv4qzxf6qhz0djbca7jl59zlwk"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "certbot" version))
+ (sha256
+ (base32 "0yy287h1sjdkm5cj4wazq316igwwla856yqcmi4yqaq7ib55c7pv"))))
+ (build-system pyproject-build-system)
(arguments
- `(,@(substitute-keyword-arguments (package-arguments python-acme)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man1 (string-append out "/share/man/man1"))
- (man7 (string-append out "/share/man/man7"))
- (info (string-append out "/info")))
- (install-file "docs/_build/texinfo/Certbot.info" info)
- (install-file "docs/_build/man/certbot.1" man1)
- (install-file "docs/_build/man/certbot.7" man7)
- #t))))))))
+ (substitute-keyword-arguments (package-arguments python-acme)
+ ((#:test-flags flags '())
+ ;; XXX: No time zone found with key Asia/Sanghai, pytz version?
+ #~(list "-k" "not test_add_time_interval"))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((man1 (string-append #$output "/share/man/man1"))
+ (man7 (string-append #$output "/share/man/man7"))
+ (info (string-append #$output "/info")))
+ (install-file "docs/_build/texinfo/Certbot.info" info)
+ (install-file "docs/_build/man/certbot.1" man1)
+ (install-file "docs/_build/man/certbot.7" man7))))))))
(native-inputs
(list python-mock
python-pytest
+ python-setuptools
+ python-wheel
;; For documentation
python-sphinx
python-sphinx-rtd-theme
@@ -806,8 +811,9 @@ netcat implementation that supports TLS.")
python-requests
python-pytz))
(synopsis "Let's Encrypt client by the Electronic Frontier Foundation")
- (description "Certbot automatically receives and installs X.509 certificates
-to enable Transport Layer Security (TLS) on servers. It interoperates with the
+ (description
+ "Certbot automatically receives and installs X.509 certificates to enable
+Transport Layer Security (TLS) on servers. It interoperates with the
Let’s Encrypt certificate authority (CA), which issues browser-trusted
certificates for free.")
(home-page "https://certbot.eff.org/")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 45f42f63d1..cb54059240 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4847,7 +4847,7 @@ developer workflow, and project and release management.")
(define-public hut
(package
(name "hut")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -4856,16 +4856,7 @@ developer workflow, and project and release management.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14cia976i2jdzyzw4wk9fhkh6zqgmb09ryf31ys24smmfcdfxyf1"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- ;; XXX: Module name has been changed upstream, it's already
- ;; adjusted on master, consider to remove in the next refresh
- ;; cycle.
- (substitute* (find-files "." "\\.go$")
- (("git.sr.ht/~emersion/go-scfg")
- "codeberg.org/emersion/go-scfg"))))))
+ (base32 "0scw4nvm3qpg7l6anhljkixn3g36k03ikg6pl0hs76a3wkf89km5"))))
(build-system go-build-system)
(arguments
(list
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index e511423525..8c4204ce8f 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -798,6 +798,12 @@ others.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'use-poetry-core
+ (lambda _
+ ;; Patch to use the core poetry API.
+ (substitute* "pyproject.toml"
+ (("poetry.masonry.api")
+ "poetry.core.masonry.api"))))
(add-after 'unpack 'patch-openconnect
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openconnect_sso/app.py"
@@ -807,7 +813,6 @@ others.")
"\""))))))))
(inputs
(list openconnect
- poetry
python-attrs
python-colorama
python-keyring
@@ -822,7 +827,8 @@ others.")
python-toml
qtwebengine-5))
(native-inputs
- (list python-pytest
+ (list python-poetry-core
+ python-pytest
python-pytest-asyncio
python-pytest-httpserver))
(home-page "https://github.com/vlaci/openconnect-sso")
@@ -1050,35 +1056,31 @@ DNS domain name queries.")
(version "1.5.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri name version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodonato/sshoot")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "05i54nga4vy660yy9yf6dl376yj0jc51303yr295qk3k9w0k96yd"))))
- (build-system python-build-system)
+ (base32 "0725p0l2gx881hsjw3nj44n4gm1kv9hirv5cd4d9yr1ba87whp3q"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda _
- (substitute* "sshoot/tests/test_manager.py"
- (("/bin/sh") (which "sh")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "--pyargs" "sshoot")))))))
- (inputs
- (list python-argcomplete
- python-prettytable
- python-pyyaml
- python-pyxdg
- python-toolrack))
- ;; For tests only.
- (native-inputs
- (list python-pytest python-pytest-mock))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "sshoot/tests/test_manager.py"
+ (("/bin/sh")
+ (search-input-file inputs "bin/sh"))))))))
+ (inputs (list python-argcomplete python-prettytable python-pyyaml
+ python-pyxdg python-toolrack))
+ (native-inputs (list python-pytest python-pytest-mock python-setuptools
+ python-wheel))
(home-page "https://github.com/albertodonato/sshoot")
(synopsis "VPN session manager (sshuttle)")
- (description "sshoot provides a command-line interface to manage multiple
+ (description
+ "sshoot provides a command-line interface to manage multiple
@command{sshuttle} virtual private networks. It supports flexible profiles
with configuration options for most of @command{sshuttle}’s features.")
(license license:gpl3+)))
@@ -1297,22 +1299,27 @@ L2TP allows you to tunnel PPP over UDP.")
(version "0.16.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "vpn-slice" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dlenski/vpn-slice")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1anfx4hn2ggm6sbwqmqx68s3l2rjcy4z4l038xqb440jnk8jvl18"))))
- (build-system python-build-system)
+ (base32 "16shhgypw78d9982r7v293h8fbmpl4wvjb6076w66baincn599ag"))))
+ (build-system pyproject-build-system)
(arguments
(list
+ #:tests? #f ; No tests.
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'patch-FHS-file-names
- (lambda _
- (substitute* "vpn_slice/linux.py"
- (("/sbin/iptables")
- (which "iptables"))
- (("/sbin/ip")
- (which "ip"))))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-FHS-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "vpn_slice/linux.py"
+ (("/sbin/iptables")
+ (search-input-file inputs "/sbin/iptables"))
+ (("/sbin/ip")
+ (search-input-file inputs "/sbin/ip"))))))))
+ (native-inputs (list python-setuptools python-wheel))
(inputs (list python-dnspython python-setproctitle iproute iptables))
(home-page "https://github.com/dlenski/vpn-slice")
(synopsis "Split tunneling replacement for vpnc-script")