summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/astronomy.scm32
-rw-r--r--gnu/packages/audio.scm2
-rw-r--r--gnu/packages/benchmark.scm28
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/check.scm33
-rw-r--r--gnu/packages/databases.scm21
-rw-r--r--gnu/packages/ebook.scm34
-rw-r--r--gnu/packages/education.scm8
-rw-r--r--gnu/packages/engineering.scm189
-rw-r--r--gnu/packages/file-systems.scm25
-rw-r--r--gnu/packages/finance.scm21
-rw-r--r--gnu/packages/game-development.scm2
-rw-r--r--gnu/packages/games.scm4
-rw-r--r--gnu/packages/geo.scm4
-rw-r--r--gnu/packages/image.scm6
-rw-r--r--gnu/packages/kde-education.scm24
-rw-r--r--gnu/packages/kde-multimedia.scm34
-rw-r--r--gnu/packages/kde-pim.scm49
-rw-r--r--gnu/packages/kde-plasma.scm298
-rw-r--r--gnu/packages/kde-utils.scm122
-rw-r--r--gnu/packages/linux.scm116
-rw-r--r--gnu/packages/machine-learning.scm4
-rw-r--r--gnu/packages/maths.scm8
-rw-r--r--gnu/packages/mpi.scm6
-rw-r--r--gnu/packages/music.scm87
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/fritzing-0.9.6-fix-types.patch80
-rw-r--r--gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch213
-rw-r--r--gnu/packages/perl.scm8
-rw-r--r--gnu/packages/prolog.scm4
-rw-r--r--gnu/packages/python-check.scm39
-rw-r--r--gnu/packages/python-compression.scm2
-rw-r--r--gnu/packages/python-crypto.scm28
-rw-r--r--gnu/packages/python-graphics.scm2
-rw-r--r--gnu/packages/python-science.scm12
-rw-r--r--gnu/packages/python-web.scm106
-rw-r--r--gnu/packages/python-xyz.scm3986
-rw-r--r--gnu/packages/qt.scm24
-rw-r--r--gnu/packages/radio.scm2
-rw-r--r--gnu/packages/rust-crates.scm180
-rw-r--r--gnu/packages/sagemath.scm6
-rw-r--r--gnu/packages/speech.scm61
-rw-r--r--gnu/packages/sphinx.scm2
-rw-r--r--gnu/packages/statistics.scm9
-rw-r--r--gnu/packages/sync.scm28
-rw-r--r--gnu/packages/syndication.scm18
-rw-r--r--gnu/packages/terminals.scm22
-rw-r--r--gnu/packages/tor.scm2
-rw-r--r--gnu/packages/uucp.scm25
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/xorg.scm2
-rw-r--r--gnu/packages/zig-xyz.scm92
-rw-r--r--gnu/packages/zig.scm13
-rw-r--r--gnu/services/ci.scm5
-rw-r--r--gnu/services/getmail.scm2
-rw-r--r--gnu/services/guix.scm29
-rw-r--r--gnu/services/herd.scm14
-rw-r--r--gnu/tests/guix.scm27
61 files changed, 3646 insertions, 2578 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2d059f3535..598fc123f4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1305,6 +1305,7 @@ dist_patch_DATA = \
%D%/packages/patches/fp16-system-libraries.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fpc-glibc-2.34-compat.patch \
+ %D%/packages/patches/fritzing-0.9.6-fix-types.patch \
%D%/packages/patches/freedict-tools-fix-determinism.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-libtiff-compat.patch \
@@ -2459,6 +2460,7 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \
%D%/packages/patches/xiphos-glib.patch \
+ %D%/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 4ee152d1e7..7f033fcc97 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -237,7 +237,7 @@ the real span of the lattice.")
(inputs
(list fplll gmp mpfr pari-gp))
(propagated-inputs
- (list python-cysignals python-cython-3 python-flake8 python-numpy))
+ (list python-cysignals python-cython python-flake8 python-numpy))
(home-page "https://github.com/fplll/fpylll")
(synopsis "Python interface for fplll")
(description "fpylll is a Python wrapper for fplll.")
@@ -550,7 +550,7 @@ fast arithmetic.")
(native-inputs
(list meson-python
pkg-config
- python-cython-3
+ python-cython
python-pytest))
(inputs
(list gmp
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 2d3d005227..7f68b110aa 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -2893,7 +2893,7 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
(native-inputs
(list nss-certs-for-test
pkg-config
- python-cython-3
+ python-cython
python-extension-helpers
python-objgraph
python-pytest
@@ -3051,7 +3051,7 @@ celestial-to-terrestrial coordinate transformations.")
(native-inputs
(list nss-certs-for-test
pkg-config
- python-cython-3
+ python-cython
python-extension-helpers
python-setuptools-scm))
(propagated-inputs
@@ -3155,7 +3155,7 @@ online Astronomical data. Each web service has its own sub-package.")
(make-file-writable "astroscrappy/_compiler.c")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-extension-helpers
python-pytest-astropy
python-scipy
@@ -4798,7 +4798,7 @@ default) to world coordinates.")
(setenv "HOME" "/tmp")
(apply invoke "pytest" "-vv" test-flags))))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-extension-helpers
python-pytest
python-pytest-astropy
@@ -4884,7 +4884,7 @@ sensitivity or energy density
(native-inputs
(list nss-certs-for-test
pkg-config
- python-cython-3
+ python-cython
python-pytest
python-pytest-astropy-header
python-pytest-cython
@@ -5538,7 +5538,7 @@ quantification of galaxies, quasar-host galaxy decomposition and much more.")
(setenv "TEMPO2_PREFIX" tempo2)
(setenv "TEMPO2" tempo2-runtime)))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-numpy
python-pytest
python-setuptools
@@ -5607,7 +5607,7 @@ emission lines in 1-D spectra, especially galaxy and quasar spectra.")
(arguments
(list #:tests? #f)) ; no tests provided
(native-inputs
- (list python-cython-3
+ (list python-cython
python-setuptools
python-wheel))
(propagated-inputs
@@ -5649,7 +5649,7 @@ solutions generated by NDPPP.")
;; <.github/workflows/python.yml>.
(invoke "python" "tools/losoto_test.py")))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-setuptools
python-wheel))
(propagated-inputs
@@ -5962,7 +5962,7 @@ photometry, segmentations, Petrosian profiling, and Sérsic fitting.")
(with-directory-excursion "/tmp"
(apply invoke "pytest" "-vv" test-flags))))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-extension-helpers
python-pytest-astropy
python-pytest-xdist
@@ -7082,7 +7082,7 @@ Virtual observatory (VO) using Python.")
python-unyt
python-yt))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-setuptools
python-setuptools-scm
python-wheel))
@@ -7302,7 +7302,7 @@ solar physics.")
python-scipy
python-shapely))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-extension-helpers
python-pytest-arraydiff
python-pytest-astropy
@@ -7404,7 +7404,7 @@ setup(ext_modules=get_extensions())")))))
python-shapely
python-zarr))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-extension-helpers
python-asdf
python-gwcs
@@ -7889,7 +7889,7 @@ framework of lens modelling software lenstronomy.")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list ;; python-iminuit ; not packed, optional
- python-cython-3
+ python-cython
python-pytest
python-pytest-astropy
python-setuptools
@@ -7950,7 +7950,7 @@ to make such analysis both as flexible and clear as possible.")
" and not "))))
(native-inputs
(list nss-certs-for-test
- python-cython-3
+ python-cython
python-poetry-core
python-pytest))
(propagated-inputs
@@ -8497,7 +8497,7 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
;; might not set the version correctly.
((".*opencv-python-headless.*") "")))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-psutil
python-pytest
python-pytest-xdist
@@ -9565,7 +9565,7 @@ using (multivariate) polynomials.")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list nss-certs-for-test
- python-cython-3
+ python-cython
python-pyaml
python-pytest
python-pytest-mpl
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 634ca92990..ee15f82098 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -7247,7 +7247,7 @@ Rate} 3600x2250 bit/s vocoder used in various radio systems.")
(propagated-inputs
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
;; contains '#include <asio.hpp>'.
- (list asio))
+ (list asio-1.28))
(arguments
`(#:configure-flags
'("-DLINK_BUILD_QT_EXAMPLES=ON"
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 91e3f32837..735ba60b24 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -902,3 +902,31 @@ user-provided Lua scripts.
aspects of Vulkan performance. The way in which each scene is rendered is
configurable through a set of options.")
(license license:lgpl2.1+))))
+
+(define-public osu-micro-benchmarks
+ (package
+ (name "osu-micro-benchmarks")
+ (version "7.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://mvapich.cse.ohio-state.edu/download/mvapich/" name "-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "08ifql3q8kv22xncvp6asfqp62dvfnc7w96b1r925c1w7ig0s38n"))))
+ (build-system gnu-build-system)
+ (inputs (list openmpi))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append
+ "CC=" #$(this-package-input "openmpi") "/bin/mpicc")
+ (string-append
+ "CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))))
+ (home-page "https://mvapich.cse.ohio-state.edu/benchmarks/")
+ (synopsis "Benchmarking suite from the MVAPICH project")
+ (description
+ "Microbenchmarks suite to evaluate MPI and PGAS (OpenSHMEM, UPC, and
+UPC++) libraries for CPUs and GPUs.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b82ec38157..9f0fbd0135 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -9989,7 +9989,7 @@ sequencing tag position and orientation.")
python-scikit-learn
python-scipy))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-wheel
@@ -20056,7 +20056,7 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
(propagated-inputs (list python-archspec))
(native-inputs
(list cmake-minimal
- python-cython-3
+ python-cython
python-scikit-build-core))
(home-page "https://github.com/althonos/pyrodigal")
(synopsis "Cython bindings and Python interface for Prodigal")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 15a072849b..957cd5dc56 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -371,7 +371,7 @@ resembles Python.")
(list meson
ninja/pinned
python-colorama
- python-cython-3
+ python-cython
python-pyproject-metadata
python-tomli
python-typing-extensions
@@ -381,7 +381,7 @@ resembles Python.")
git-minimal/pinned
patchelf
pkg-config
- python-cython-3
+ python-cython
python-gitpython
python-pytest
python-pytest-cov
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5bc6db0632..822a3da219 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -3093,30 +3093,29 @@ backported from Python 2.7 for Python 2.4+.")
(define-public behave
(package
(name "behave")
- ;; The 1.2.6 release from 2018 has several problems with newer Python
- ;; versions, so we package a recent snapshot.
- (version "1.2.7.dev5")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/behave/behave")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14162pclfvy4wy2az4v9gkgb3v0b338zxrb2ikqcqifckrmk8nhv"))))
+ (version "1.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/behave/behave")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-mock
- python-assertpy
- python-pathpy
+ (list python-assertpy
+ python-chardet
+ python-mock
+ python-path
python-pyhamcrest
python-pytest
python-pytest-html
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-colorama
+ python-cucumber-expressions
python-cucumber-tag-expressions
python-parse
python-parse-type))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 27b6df3b86..ff1ef5ad9e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -828,7 +828,7 @@ the API, and provides features such as:
#:tests? #f
#:build-backend "setuptools.build_meta"))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-setuptools
python-wheel))
(propagated-inputs
@@ -1042,25 +1042,32 @@ autocompletion and syntax highlighting.")
(define-public mycli
(package
(name "mycli")
- (version "1.25.0")
+ (version "1.37.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mycli" version))
(sha256
- (base32 "0231v7f6q84mjmi1h0ni3s55m2g8p5d7x5q49bgkxlaz2bc2xwgy"))))
- (build-system python-build-system)
+ (base32 "03kvw0n6s3f06whr7prjfwp1arl66mahlxizv27i9dkm5ibv1qrz"))))
+ (build-system pyproject-build-system)
(arguments
'(#:tests? #f)) ; tests expect a running MySQL
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-cli-helpers
- python-click
+ python-click-7
python-configobj
+ python-cryptography
python-prompt-toolkit
python-pyaes
+ python-pyfzf
python-pygments
python-pymysql
python-pyperclip
+ python-sqlglot
+ python-sqlglotrs
python-sqlparse))
(home-page "https://www.mycli.net")
(synopsis
@@ -4772,7 +4779,7 @@ with the @code{psycopg} PostgreSQL driver.")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE nixbld;"))))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-mypy
python-psycopg-pool
python-pytest
@@ -5582,7 +5589,7 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
(native-inputs
(list cmake ;needs 3.25
pkg-config
- python-cython-3
+ python-cython
python-pytest
python-pytest-runner
python-setuptools-scm))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 8deb82aa40..ddb2ec3a55 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -68,6 +68,7 @@
#:use-module (gnu packages language)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages music)
#:use-module (gnu packages pantheon)
#:use-module (gnu packages pdf)
@@ -136,14 +137,14 @@ with Microsoft Compiled HTML (CHM) files")
(define-public calibre
(package
(name "calibre")
- (version "8.4.0")
+ (version "8.13.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.calibre-ebook.com/" version
"/calibre-" version ".tar.xz"))
(sha256
- (base32 "1s9m80nakclxvsw0lax9bak23qipnia74xpy9sv061jvidqb3rz6"))
+ (base32 "092zv9s0w87vwb5n54ps7lawjmwjqpmk93yp6lslnphpb6hqal6z"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -164,29 +165,30 @@ with Microsoft Compiled HTML (CHM) files")
(build-system python-build-system)
(native-inputs
(list bash-minimal
+ cmake
pkg-config
python-flake8
python-pyqt-builder
qtbase ; for qmake
- xdg-utils
- cmake))
+ xdg-utils))
(inputs
- (list libxkbcommon
+ (list bash-minimal
+ espeak-ng
ffmpeg
- uchardet
- bash-minimal
- fontconfig
font-liberation
+ fontconfig
glib
hunspell
hyphen
icu4c
- libmtp
- libpng
libjpeg-turbo
libjxr
+ libmtp
+ libpng
libstemmer
libusb
+ libxkbcommon
+ onnxruntime
openssl
optipng
podofo
@@ -217,15 +219,16 @@ with Microsoft Compiled HTML (CHM) files")
python-pychm
python-pycryptodome
python-pygments
+ python-pykakasi
python-pyqt-6
python-pyqtwebengine-6
- python-pykakasi
python-regex
python-xxhash
- speech-dispatcher
python-zeroconf
qtwebengine
- sqlite))
+ speech-dispatcher
+ sqlite
+ uchardet))
(arguments
(list
;; Calibre is using setuptools by itself, but the setup.py is not
@@ -255,6 +258,11 @@ with Microsoft Compiled HTML (CHM) files")
(substitute* "setup/plugins_mirror.py"
(("href=\"//calibre-ebook.com/favicon.ico\"")
"href=\"favicon.ico\""))))
+ (add-after 'unpack 'skip-7z-test ;FIXME: require py7zr >= 1.0
+ (lambda _
+ (substitute* "src/calibre/utils/seven_zip.py"
+ (("(def test_basic\\(\\).*)" line)
+ (string-append line "\n return True\n")))))
(add-before 'build 'configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "setup/build.py"
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index df4b188519..66864176df 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -560,7 +560,7 @@ a pen-tablet display and a beamer.")
(define-public fet
(package
(name "fet")
- (version "6.28.4")
+ (version "7.5.4")
(source
(origin
(method url-fetch)
@@ -569,7 +569,7 @@ a pen-tablet display and a beamer.")
(list (string-append directory base)
(string-append directory "old/" base))))
(sha256
- (base32 "11mcbgi8lima4fng78lqdkd5km212drkk5l4bkzz1pz1k7wcykfn"))))
+ (base32 "0vjjvr9vs3vxncrikchmk60qa99d5wyxja6b3p46vgfaziv1nj31"))))
(build-system gnu-build-system)
(arguments
(list
@@ -596,7 +596,7 @@ algorithm.
Usually, FET is able to solve a complicated timetable in maximum 5-20 minutes.
For extremely difficult timetables, it may take a longer time, a matter of
hours.")
- (license license:agpl3+)))
+ (license license:agpl3)))
(define-public klavaro
(package
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index cf62fe433f..d61b5ce288 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -722,12 +722,21 @@ multipole-accelerated algorithm.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
+ (base32 "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))
+ (patches (search-patches "fritzing-0.9.6-fix-types.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-files
+ (lambda _
+ ;; Trick the internal mechanism to load the parts
+ (substitute* "src/version/partschecker.cpp"
+ ((".*git_libgit2_init.*")
+ "return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
+ (substitute* "src/utils/textutils.cpp"
+ (("QUuid::createUuid\\(\\)") "QUuid()"))))
(replace 'configure
(lambda _
;; Integrate parts library
@@ -744,17 +753,22 @@ multipole-accelerated algorithm.")
"INCLUDEPATH += $$LIBGIT2INCLUDE\n"
"LIBS += -L$$LIBGIT2LIB -lgit2\n"))
(("^.*pri/libgit2detect.pri.") ""))
- ;; Trick the internal mechanism to load the parts
- (substitute* "src/version/partschecker.cpp"
- ((".*git_libgit2_init.*")
- "return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
- ;; XXX: NixOS and Gento have a phase where they generate part
- ;; SQLite library, have proper investigation if it's required in
- ;; Guix as well.
(invoke "qmake"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," #$output "/lib")
(string-append "PREFIX=" #$output)
- "phoenix.pro"))))))
+ "phoenix.pro")))
+ (add-after 'install 'generate-parts-db
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (env-qt-qpa-platform (getenv "QT_QPA_PLATFORM"))
+ (env-qt-hash-seed (getenv "QT_HASH_SEED")))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (setenv "QT_HASH_SEED" "0")
+ (invoke (string-append out "/bin/Fritzing")
+ "-db" (string-append out "/share/fritzing/parts/parts.db")
+ "-folder" (string-append out "/share/fritzing"))
+ (setenv "QT_QPA_PLATFORM" env-qt-qpa-platform)
+ (setenv "QT_HASH_SEED" env-qt-hash-seed)))))))
(native-inputs
(list fritzing-parts))
(inputs
@@ -2297,43 +2311,43 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
"1smz3wlpfyjn0czmpl8bj4hw33p1zi9nnfygpsx7jl1523nypa1n"))))
(build-system cmake-build-system)
(arguments
- `(#:out-of-source? #t
- #:phases
- (modify-phases %standard-phases
- ;; Delete unneeded tribits(build system) directory which makes validate-runpath
- ;; phase to fail.
- (add-before 'validate-runpath 'delete-tribits
- (lambda* (#:key outputs #:allow-other-keys)
- (delete-file-recursively
- (string-append (assoc-ref outputs "out")
- "/lib/cmake/tribits")))))
- #:configure-flags
- (list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
- "-DCMAKE_C_FLAGS=-O3 -fPIC"
- "-DCMAKE_Fortran_FLAGS=-O3 -fPIC"
- "-DTrilinos_ENABLE_NOX=ON"
- "-DNOX_ENABLE_LOCA=ON"
- "-DTrilinos_ENABLE_EpetraExt=ON"
- "-DEpetraExt_BUILD_BTF=ON"
- "-DEpetraExt_BUILD_EXPERIMENTAL=ON"
- "-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON"
- "-DTrilinos_ENABLE_TrilinosCouplings=ON"
- "-DTrilinos_ENABLE_Ifpack=ON"
- "-DTrilinos_ENABLE_Isorropia=ON"
- "-DTrilinos_ENABLE_AztecOO=ON"
- "-DTrilinos_ENABLE_Belos=ON"
- "-DTrilinos_ENABLE_Teuchos=ON"
- "-DTeuchos_ENABLE_COMPLEX=ON"
- "-DTrilinos_ENABLE_Amesos=ON"
- "-DAmesos_ENABLE_KLU=ON"
- "-DAmesos_ENABLE_UMFPACK=ON"
- "-DTrilinos_ENABLE_Sacado=ON"
- "-DTrilinos_ENABLE_Kokkos=OFF"
- "-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF"
- "-DTPL_ENABLE_AMD=ON"
- "-DTPL_ENABLE_UMFPACK=ON"
- "-DTPL_ENABLE_BLAS=ON"
- "-DTPL_ENABLE_LAPACK=ON")))
+ (list
+ #:tests? #f ;no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Delete unneeded tribits(build system) directory which makes
+ ;; validate-runpath phase to fail.
+ (add-before 'validate-runpath 'delete-tribits
+ (lambda _
+ (delete-file-recursively
+ (string-append #$output "/lib/cmake/tribits")))))
+ #:configure-flags
+ #~(list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
+ "-DCMAKE_C_FLAGS=-O3 -fPIC"
+ "-DCMAKE_Fortran_FLAGS=-O3 -fPIC"
+ "-DTrilinos_ENABLE_NOX=ON"
+ "-DNOX_ENABLE_LOCA=ON"
+ "-DTrilinos_ENABLE_EpetraExt=ON"
+ "-DEpetraExt_BUILD_BTF=ON"
+ "-DEpetraExt_BUILD_EXPERIMENTAL=ON"
+ "-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON"
+ "-DTrilinos_ENABLE_TrilinosCouplings=ON"
+ "-DTrilinos_ENABLE_Ifpack=ON"
+ "-DTrilinos_ENABLE_Isorropia=ON"
+ "-DTrilinos_ENABLE_AztecOO=ON"
+ "-DTrilinos_ENABLE_Belos=ON"
+ "-DTrilinos_ENABLE_Teuchos=ON"
+ "-DTeuchos_ENABLE_COMPLEX=ON"
+ "-DTrilinos_ENABLE_Amesos=ON"
+ "-DAmesos_ENABLE_KLU=ON"
+ "-DAmesos_ENABLE_UMFPACK=ON"
+ "-DTrilinos_ENABLE_Sacado=ON"
+ "-DTrilinos_ENABLE_Kokkos=OFF"
+ "-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF"
+ "-DTPL_ENABLE_AMD=ON"
+ "-DTPL_ENABLE_UMFPACK=ON"
+ "-DTPL_ENABLE_BLAS=ON"
+ "-DTPL_ENABLE_LAPACK=ON")))
(native-inputs (list gfortran swig))
(inputs (list boost lapack suitesparse))
(home-page "https://trilinos.org")
@@ -2359,21 +2373,22 @@ unique design feature of Trilinos is its focus on packages.")
"09flp1xywbb2laayd9rg8vd0fjsh115y6k1p71jacy0nrbdvvlcg"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f
- #:configure-flags
- (list
- "CXXFLAGS=-O3"
- (string-append "ARCHDIR="
- (assoc-ref %build-inputs "trilinos")))))
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list
+ "CXXFLAGS=-O3"
+ (string-append "CFLAGS="
+ " -Wno-error=builtin-declaration-mismatch"
+ " -Wno-error=implicit-function-declaration"
+ " -Wno-error=implicit-int")
+ (string-append "ARCHDIR=" #$trilinos-serial-xyce))))
(native-inputs
- `(("bison" ,bison-3.0) ;'configure' fails with Bison 3.4
- ("flex" ,flex)
- ("fortran" ,gfortran)))
+ (list bison-3.0 ;'configure' fails with Bison 3.4
+ flex
+ gfortran))
(inputs
- `(("fftw" ,fftw)
- ("suitesparse" ,suitesparse)
- ("lapack" ,lapack)
- ("trilinos" ,trilinos-serial-xyce)))
+ (list fftw lapack suitesparse trilinos-serial-xyce))
(home-page "https://xyce.sandia.gov/")
(synopsis "High-performance analog circuit simulator")
(description
@@ -2383,39 +2398,45 @@ parallel computing platforms. It also supports serial execution.")
(license license:gpl3+)))
(define trilinos-parallel-xyce
- (package (inherit trilinos-serial-xyce)
+ (package
+ (inherit trilinos-serial-xyce)
(name "trilinos-parallel-xyce")
(arguments
- `(,@(substitute-keyword-arguments (package-arguments trilinos-serial-xyce)
- ((#:configure-flags flags)
- `(append (list "-DTrilinos_ENABLE_ShyLU=ON"
- "-DTrilinos_ENABLE_Zoltan=ON"
- "-DTPL_ENABLE_MPI=ON")
- ,flags)))))
+ (substitute-keyword-arguments
+ (package-arguments trilinos-serial-xyce)
+ ((#:configure-flags flags)
+ #~(cons* "-DTrilinos_ENABLE_ShyLU=ON"
+ "-DTrilinos_ENABLE_Zoltan=ON"
+ "-DTPL_ENABLE_MPI=ON"
+ #$flags))))
(inputs
- `(("mpi" ,openmpi)
- ,@(package-inputs trilinos-serial-xyce)))))
+ (modify-inputs (package-inputs trilinos-serial-xyce)
+ (prepend openmpi)))))
(define-public xyce-parallel
- (package (inherit xyce-serial)
+ (package
+ (inherit xyce-serial)
(name "xyce-parallel")
(arguments
- `(,@(substitute-keyword-arguments (package-arguments xyce-serial)
- ((#:configure-flags flags)
- `(list "CXXFLAGS=-O3"
- "CXX=mpiCC"
- "CC=mpicc"
- "F77=mpif77"
- "--enable-mpi"
- (string-append
- "ARCHDIR="
- (assoc-ref %build-inputs "trilinos")))))))
- (propagated-inputs
- `(("mpi" ,openmpi)))
+ (substitute-keyword-arguments
+ (package-arguments xyce-serial)
+ ((#:configure-flags flags)
+ #~(list "CXXFLAGS=-O3"
+ "CXX=mpiCC"
+ "CC=mpicc"
+ "F77=mpif77"
+ "--enable-mpi"
+ (string-append
+ "CFLAGS="
+ " -Wno-error=builtin-declaration-mismatch"
+ " -Wno-error=implicit-function-declaration"
+ " -Wno-error=implicit-int")
+ (string-append "ARCHDIR=" #$trilinos-parallel-xyce)))))
+ (propagated-inputs (list openmpi))
(inputs
- `(("trilinos" ,trilinos-parallel-xyce)
- ,@(alist-delete "trilinos"
- (package-inputs xyce-serial))))))
+ (modify-inputs (package-inputs xyce-serial)
+ (append zlib)
+ (replace "trilinos-serial-xyce" trilinos-parallel-xyce)))))
(define-public librepcb
(package
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index bad0b75f60..ceca427bb2 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -49,6 +49,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system linux-module)
#:use-module (guix build-system pyproject)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -2441,7 +2442,7 @@ filtering and ordering functionality.
(define-public sirikali
(package
(name "sirikali")
- (version "1.6.0")
+ (version "1.8.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2449,19 +2450,21 @@ filtering and ordering functionality.
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "06cl7srxaqpzv7gcd17cl78qhrpqhdvpfcj4pr73fr5hhackrf52"))))
- (build-system cmake-build-system)
+ (base32 "0z144ki7664aclnv3p0bpjlzknlsgldl85v76hs2bhnk1jjlgf5y"))))
+ (build-system qt-build-system)
(arguments
- '(#:tests? #f ;No tests
- #:configure-flags '("-DQT5=true" "-DCMAKE_BUILD_TYPE=RELEASE")))
- (inputs (list xdg-utils libpwquality libgcrypt libsecret qtbase-5))
+ (list
+ #:tests? #f ;No tests
+ #:qtbase qtbase
+ #:configure-flags #~(list "-DBUILD_WITH_QT6=true")))
+ (inputs (list xdg-utils libpwquality libgcrypt libsecret qtwayland))
(native-inputs (list pkg-config))
(home-page "https://mhogomchungu.github.io/sirikali/")
- (synopsis "GUI front end to sshfs, ecryptfs, cryfs, gocryptfs, securefs, fscrypt and encfs")
- (description "@dfn{SiriKali} is a Qt/C++ GUI application that manages
-+ecryptfs, cryfs, encfs, gocryptfs, fscrypt and securefs
-+based encrypted folders.")
+ (synopsis "GUI front end to file system encryption utilities")
+ (description
+ "SiriKali is a Qt/C++ GUI application for managing encrypted folders. It
+supports various backends, including eCryptfs, CryFS, EncFS, gocryptfs, fscrypt,
+securefs, SSHFS, and Cryptomator.")
(license license:gpl3+)))
(define-public watcher
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b39747fccb..ef2bff1f7d 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -2060,11 +2060,16 @@ that allows you to run services and through them access the Bitcoin Cash network
(arguments
(list
#:test-flags
- #~(list "-k" (string-append
- ;; ModuleNotFoundError: No module named 'pytest'
- "not test_parse_stdin"
- ;; AssertionError: 5 not greater than 20
- " and not test_setup"))
+ #~(list
+ ;; These tests require network.
+ "--ignore=beancount/web/web_test.py"
+ "-k" (string-join
+ (list "not test_parse_stdin" ; ModuleNotFoundError: 'pytest'
+ "test_setup" ; AssertionError: 5 not greater than 20
+ ;; Require network
+ "test_bake_archive__known"
+ "test_bake_directory")
+ " and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
@@ -2380,7 +2385,7 @@ trading, and risk management in real-life.")
(define-public optionmatrix
(package
(name "optionmatrix")
- (version "1.4.3")
+ (version "1.4.4")
(source
(origin
(method url-fetch)
@@ -2388,7 +2393,7 @@ trading, and risk management in real-life.")
"mirror://sourceforge/optionmatrix/optionmatrix-"
version ".tar.xz"))
(sha256
- (base32 "1zd0pfiphnijh1l94swb3mjrpmjsn37z11mklamd7zw6h2d4zh4d"))))
+ (base32 "0ijwj798jli5rw1dj8dkz6sqbsa4hia407imicrk3djqmhn1ky3z"))))
(build-system gnu-build-system)
(inputs
(list gsl gtk+ ncurses))
@@ -2432,7 +2437,7 @@ interactive controls. This package provides a GTK+ graphical user interface
(invoke "make" "cython"))))))
(inputs (list ta-lib))
(propagated-inputs (list python-numpy))
- (native-inputs (list python-cython-3
+ (native-inputs (list python-cython
python-pandas
python-pytest
python-setuptools
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 394903ee2a..656df34789 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1684,7 +1684,7 @@ developed mainly for Ren'py.")
(setenv "SDL_AUDIODRIVER" "disk"))))))
(native-inputs (list meson-python
pkg-config
- python-cython-3
+ python-cython
python-numpy
python-pytest
python-setuptools))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 96488318ee..08e920ef3d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1187,14 +1187,14 @@ popular puzzle games for one player.")
(define-public bzflag
(package
(name "bzflag")
- (version "2.4.26")
+ (version "2.4.30")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.bzflag.org/bzflag/source/"
version "/bzflag-" version ".tar.bz2"))
(sha256
- (base32 "050h933lmcdf4bw9z3c6g3k8c9sch9f6kq57jp2ivb96zw2h90q1"))))
+ (base32 "0kc9ag8yq3iqmwlrdwhbqp3sqjcan1mr0ddx25yamrxwwx8bfy5v"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 36d1ec1d49..02152d6719 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1094,7 +1094,7 @@ for seismology.")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs (list python-certifi python-numpy python-packaging))
(inputs (list gdal))
- (native-inputs (list python-cython-3
+ (native-inputs (list python-cython
python-pytest
python-pytest-cov
python-setuptools
@@ -2043,7 +2043,7 @@ extension.")
(with-directory-excursion #$output
(apply invoke "pytest" "-vv" test-flags)))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-setuptools-scm
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 1f746e71c1..8a7ce10138 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022-2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
-;;; Copyright © 2023-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2023-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2023, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 chris <chris@bumblehead.com>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
@@ -130,7 +130,7 @@
(define-public converseen
(package
(name "converseen")
- (version "0.12.2.5")
+ (version "0.15.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -139,7 +139,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "03jsf5418kk1j8mk0gjzxb79lv44yy1wsycn6g6fmvg4zhl2cls3"))))
+ "05nm6h4d2rq0kcf2maz95zvx8hd811wdqxxbzwahq1m2az1b11cn"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/kde-education.scm b/gnu/packages/kde-education.scm
index 0e4a0a10db..caf93f68d6 100644
--- a/gnu/packages/kde-education.scm
+++ b/gnu/packages/kde-education.scm
@@ -89,16 +89,14 @@ charts.")
(define-public analitza
(package
(name "analitza")
- (version "25.08.1")
+ (version "25.08.2")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://invent.kde.org/education/analitza")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/"
+ version "/src/analitza-" version ".tar.xz"))
(sha256
- (base32 "0q9jfkvs1xyxl7fmw0jzh7fh7rd278825i5w61cikqpwnjmp5jzf"))))
+ (base32 "0sbhmgv5fm7g6gzpwmsybkhx9wxlyv6b84j60pr0769w36i0qvnp"))))
(native-inputs (list extra-cmake-modules qttools))
(inputs (list eigen qtbase qtdeclarative qtsvg))
(build-system qt-build-system)
@@ -174,16 +172,14 @@ Currently available boards include:
(define-public kalgebra
(package
(name "kalgebra")
- (version "25.08.1")
+ (version "25.08.2")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://invent.kde.org/education/kalgebra")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/"
+ version "/src/kalgebra-" version ".tar.xz"))
(sha256
- (base32 "00cryk135104pdid6sai763yxh6ghlzgg9rfi5qxlb0nidia0mgl"))))
+ (base32 "042gf5d9fb1gryx9lp94bdrz0zrndxnf1aifyjrv8vl7cpwv8212"))))
(build-system qt-build-system)
(arguments
(list
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 07bfbef772..328953df36 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -369,13 +369,13 @@ This package is part of the KDE multimedia module.")
(define-public haruna
(package
(name "haruna")
- (version "1.5.0")
+ (version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/haruna/" version
"/haruna-" version ".tar.xz"))
(sha256
- (base32 "0pgg90z8jykzndmgb32j0avlwrw0n0x3n9gmbs58c238ydi4xryk"))))
+ (base32 "1nlzilqajdiwf6daa9g7kiw6s0lc10q1zb23icq5ckc61492cwhq"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
@@ -1232,3 +1232,33 @@ CDs.")
(description "This package provides YouTube video player based
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+
+(define-public rattlesnake
+ (let ((commit "2f0631f201f16e1c17bcf82af24087370b799562") ;no tags
+ (revision "0"))
+ (package
+ (name "rattlesnake")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://invent.kde.org/multimedia/rattlesnake")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0iaandlbv2v4a6wsdxk19ynj77axd3kc72nw28bvbsfb0kqc0mai"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f)) ;no tests
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list kirigami qtdeclarative qtmultimedia qtwayland))
+ (propagated-inputs
+ (list gstreamer gst-plugins-base gst-plugins-good))
+ (home-page "https://invent.kde.org/multimedia/rattlesnake")
+ (synopsis "Metronome")
+ (description "Rattlesnake is a metronome app.")
+ (license license:gpl3+))))
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index b351a02b0a..b08900a117 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -2836,3 +2836,52 @@ on KMime. The goal is given a MIME tree to extract a list of parts and a list
of attachments, check the validity of the signatures and decrypt any encrypted
part.")
(license license:lgpl2.0+)))
+
+(define-public zanshin
+ (package
+ (name "zanshin")
+ (version "25.08.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/" version
+ "/src/zanshin-" version ".tar.xz"))
+ (sha256
+ (base32 "140km4ma9lzyky8c2ywj4bgf83pjj33zmxx0n36lys1irivjg4jb"))))
+ (build-system qt-build-system)
+ (arguments
+ (list ;; TODO: Do not exclude this test when
+ ;; AkonadiSerializerTest::shouldNotBreakRecurrenceDuringSerialization
+ ;; passes.
+ #:test-exclude "tests-units-akonadi-akonadiserializertest"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "HOME" (getcwd))))
+ (replace 'check
+ (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
+ (when tests?
+ (invoke "dbus-launch" "ctest" "-E" test-exclude)))))))
+ (native-inputs
+ (list dbus extra-cmake-modules))
+ ;; TODO: Unbundle mockitopp, which is needed for tests.
+ (inputs
+ (list boost
+ akonadi
+ akonadi-calendar
+ kcalendarcore
+ kcrash
+ ki18n
+ kitemmodels
+ kontactinterface
+ kparts
+ krunner
+ kwindowsystem))
+ (home-page "https://apps.kde.org/zanshin/")
+ (synopsis "TO-do management application")
+ (description "Zanshin is a powerful yet simple application for managing
+your day to day actions. It helps you organize and reduce the cognitive
+pressure of what one has to do in his job and personal life.")
+ (license (list license:gpl3+
+ license:expat)))) ;for mockitopp
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 9309279ea6..3ec68605f1 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -89,6 +89,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages package-management) ; flatpak
#:use-module (gnu packages rdesktop)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages unicode)
#:use-module (gnu packages video)
#:use-module (gnu packages vpn)
@@ -171,6 +172,42 @@ script engines.")
;; dual licensed
(license (list license:gpl2+ license:lgpl2.1+))))
+(define-public aurorae
+ (package
+ (name "aurorae")
+ (version "6.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0nzvn21fx0d6mj6sci40cgpw338m7rdbb52f7cjhfg2dvzrfclcf"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
+ (native-inputs
+ (list extra-cmake-modules qttools))
+ (inputs
+ (list kcmutils
+ kcolorscheme
+ kconfig
+ kdecoration
+ ki18n
+ knewstuff
+ kpackage
+ ksvg
+ qtdeclarative))
+ (synopsis "Themeable window decoration for KWin")
+ (description
+ "Aurorae is a themeable window decoration for KWin. It supports theme
+files consisting of several SVG files for decoration and buttons. Themes can
+be installed and selected directly in the configuration module of KWin
+decorations.")
+ (home-page "https://invent.kde.org/plasma/aurorae")
+ (license license:gpl2+)))
+
(define-public bluedevil
(package
(name "bluedevil")
@@ -463,6 +500,43 @@ games, and tools.")
(home-page "https://invent.kde.org/plasma/drkonqi")
(license license:gpl2+)))
+(define-public flatpak-kcm
+ (package
+ (name "flatpak-kcm")
+ (version "6.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/flatpak-kcm-" version ".tar.xz"))
+ (sha256
+ (base32 "0i8qlmvf33c48khyw50dfgkbj9c5idzbqf7n2bxzv9jvrx8snfnk"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase))
+ (native-inputs
+ (list extra-cmake-modules pkg-config))
+ (inputs
+ (list flatpak
+ kcmutils
+ kconfig
+ kcoreaddons
+ ki18n
+ kitemmodels
+ kservice
+ libostree ;required by flatpak
+ qtdeclarative
+ qtsvg))
+ (home-page "https://invent.kde.org/plasma/flatpak-kcm")
+ (synopsis "Flatpak permission management KCM")
+ (description "This package provides a KCModule to configure permissions for
+portal interactions. It also allows changing @code{flatpak} settings via the
+subsumed Flatpak KCM.
+
+Note: Some permissions don't make sense to show for non-sandboxed apps as they
+are only roxying @code{dbus}.")
+ (license license:gpl3+)))
+
(define-public kactivitymanagerd
(package
(name "kactivitymanagerd")
@@ -747,6 +821,7 @@ KDE Frameworks 5 to better interact with the system.")
knotifications
krunner
kservice
+ ksvg
kunitconversion
knewstuff
libplasma
@@ -977,6 +1052,34 @@ computer's hardware.")
(home-page "https://invent.kde.org/plasma/kmenuedit")
(license license:gpl2+)))
+(define-public knighttime
+ (package
+ (name "knighttime")
+ (version "6.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version "/" name "-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1bxss7ail0ini8y7nk7y3hgirn1xf9cdfjf8f7y9p88wl1lg2ymc"))))
+ (build-system qt-build-system)
+ (arguments (list #:qtbase qtbase))
+ (native-inputs (list extra-cmake-modules qttools))
+ (inputs (list kconfig
+ kcoreaddons
+ kdbusaddons
+ kholidays
+ ki18n
+ qtpositioning))
+ (synopsis "Helpers for scheduling the dark-light cycle")
+ (description "KNightTime provides helpers for scheduling the dark-light
+cycle. It can be used to implement features such as adjusting the screen color
+temperature based on time of day, etc.")
+ (home-page "https://invent.kde.org/plasma/knighttime")
+ (license license:lgpl3+)))
+
(define-public koi
(package
(name "koi")
@@ -1310,6 +1413,7 @@ the running system.")
(arguments
(list
#:qtbase qtbase
+ #:test-exclude "kscreen-testqscreenbackend"
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-env-setup
@@ -1329,8 +1433,7 @@ the running system.")
"testPreferredBackend"
"testFallback"
"testModeSwitching"
- "verifyConfig"
- "verifyScreen"))))))))))
+ "verifyConfig"))))))))))
(native-inputs
(list extra-cmake-modules
pkg-config
@@ -1526,8 +1629,16 @@ KDE Frameworks components.")
"kwin-testLibinputDevice"
"kwin-testX11Window"
"kwin-testXwaylandInput"
- "kwin-testWindowRules")
- "|"))
+ "kwin-testWindowRules"
+
+ "kwin-testXdgShellWindowRules"
+ "kwin-testStickyKeys"
+ "kwin-testFractionalRepaint"
+ "kwin-testDrmLegacy"
+ "kwin-testInputCapture"
+ "kwin-testMockDrm")
+ "|")
+ ")")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -1585,13 +1696,13 @@ KDE Frameworks components.")
python-minimal
;; for QtWaylandScanner
qtwayland))
- (inputs (list breeze
+ (inputs (list aurorae
+ breeze
eudev
fontconfig
freetype
-
hwdata
- plasma-activities
+ kauth
kcmutils
kcompletion
kconfig
@@ -1602,12 +1713,14 @@ KDE Frameworks components.")
kdecoration
kglobalaccel
kglobalacceld
+ kguiaddons
ki18n
kiconthemes
kidletime
kio
kirigami
knewstuff
+ knighttime
knotifications
kpackage
kpipewire
@@ -1618,17 +1731,18 @@ KDE Frameworks components.")
kwindowsystem
kxmlgui
ksvg
- kauth
- kguiaddons
- libqaccessibilityclient
lcms
libcanberra
libcap
+ libdisplay-info
+ libei
libepoxy
libinput
+ libplasma
+ libqaccessibilityclient
libxkbcommon
pipewire
- libplasma
+ plasma-activities
plasma-wayland-protocols
qt5compat
qtdeclarative
@@ -1638,12 +1752,12 @@ KDE Frameworks components.")
qtsvg
wayland
xcb-util ;fails at build time without this
+ xcb-util-cursor
xcb-util-keysyms
xcb-util-wm
xcmsdb
xinput ;XXX: Says disabled in configure phase
xorg-server-xwayland
- libdisplay-info
zlib))
;; Runtime-only dependency needed for mapping monitor hardware vendor IDs to full names
;; * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency.
@@ -2126,6 +2240,7 @@ the KDE Plasma 6 desktop.")
knotifyconfig
kpackage
kpeople
+ kpipewire
krunner
kscreenlocker
ktexteditor
@@ -2162,7 +2277,9 @@ the KDE Plasma 6 desktop.")
qqc2-desktop-style
qt5compat
qtdeclarative
+ qtshadertools
qtwayland
+ sdl2
wayland
wayland-protocols
xcb-util
@@ -2179,7 +2296,12 @@ the KDE Plasma 6 desktop.")
libxkbfile
libxcursor
libxkbcommon))
- (propagated-inputs (list iso-codes/pinned kirigami kcmutils plasma-workspace))
+ (propagated-inputs (list font-google-noto-emoji
+ iso-codes/pinned
+ kirigami
+ kirigami-addons
+ kcmutils
+ plasma-workspace))
(arguments
(list #:qtbase qtbase
#:test-exclude
@@ -2436,6 +2558,7 @@ connections.")
(native-inputs (list extra-cmake-modules pkg-config qttools))
(inputs (list bash-minimal
eudev
+ kauth
kcmutils
kdbusaddons
kdeclarative
@@ -2456,6 +2579,7 @@ connections.")
modemmanager-qt
networkmanager-qt
plasma-activities
+ plasma-wayland-protocols
plasma-workspace
qcoro-qt6
qtbase
@@ -2531,39 +2655,34 @@ PulseAudio.")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public plasma-pass
- ;; Port to Plasma 6.
- (let ((commit "74c011b634f3bdbdcd80a74b252e6499774756f2")
- (revision "0"))
- (package
- (name "plasma-pass")
- (version (git-version "1.2.2" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://invent.kde.org/plasma/plasma-pass")
- (commit commit)))
- (sha256
- (base32
- "1hfwpnyijkmm05rq9yyq0bzh0ls1d3wcg68ssy69qm3xf6b0g1qf"))
- (file-name (git-file-name name version))))
- (build-system qt-build-system)
- (native-inputs (list extra-cmake-modules))
- (inputs (list ki18n kitemmodels kwindowsystem kio
- oath-toolkit
- plasma5support
- qgpgme-qt6))
- (propagated-inputs
- ;; QML modules need to be propagated so that QML files can find them in
- ;; $QML_IMPORT_PATH.
- (list kirigami libplasma qtdeclarative))
- (arguments (list #:qtbase qtbase
- #:tests? #f
- #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
- (home-page "https://invent.kde.org/plasma/plasma-pass")
- (synopsis "Plasma applet for the Pass password manager")
- (description
- "This package provides a Plasma applet for the Pass password manager.")
- (license license:lgpl2.1+))))
+ (package
+ (name "plasma-pass")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma-pass/"
+ "plasma-pass-" version ".tar.xz"))
+ (sha256
+ (base32
+ "03ydwkk7qvw8hlr3phh5gzy6zf3rmh872a0n703h5dlacc4jbcwi"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list ki18n kitemmodels kwindowsystem kio
+ oath-toolkit
+ plasma5support
+ qgpgme-qt6))
+ (propagated-inputs
+ ;; QML modules need to be propagated so that QML files can find them in
+ ;; $QML_IMPORT_PATH.
+ (list kirigami libplasma qtdeclarative))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f
+ #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
+ (home-page "https://invent.kde.org/plasma/plasma-pass")
+ (synopsis "Plasma applet for the Pass password manager")
+ (description
+ "This package provides a Plasma applet for the Pass password manager.")
+ (license license:lgpl2.1+)))
(define-public plasma-phonebook
(package
@@ -2771,15 +2890,14 @@ sensors, process information and other system resources.")
breeze
breeze-icons
dbus
+ eudev
fontconfig
+ gmp
+ gpsd
icu4c
iso-codes/pinned
- plasma-activities
- plasma-activities-stats
karchive
kauth
- ksvg
- kstatusnotifieritem
kcmutils
kcoreaddons
kcrash
@@ -2795,25 +2913,25 @@ sensors, process information and other system resources.")
kiconthemes
kidletime
kio
- lsof
- xdotool ;for X11
- qqc2-desktop-style
- qcoro-qt6
- kirigami-addons
kio-extras
- kitemmodels
kirigami
kirigami-addons
+ kirigami-addons
+ kitemmodels
knewstuff
+ knighttime
knotifications
knotifyconfig
- kquickcharts
kpackage
kpeople
kpipewire
kquickcharts
+ kquickcharts
krunner
+ kscreen ;qml dependency
kscreenlocker
+ kstatusnotifieritem
+ ksvg
ktexteditor
ktextwidgets
kuserfeedback
@@ -2821,55 +2939,55 @@ sensors, process information and other system resources.")
kwayland
kwin
layer-shell-qt
+ libkexiv2
libkscreen
libksysguard
+ libplasma
libqalculate
- gmp
- mpfr
- eudev
libsm
libxcrypt
+ libxcursor
libxft
libxkbcommon
libxrender
libxtst
+ lsof
+ mpfr
networkmanager-qt
+ packagekit-qt6
phonon
pipewire
- libplasma
- plasma5support
- plasma-workspace-wallpapers
+ plasma-activities
+ plasma-activities-stats
+ plasma-nm ;qml dependency
+ plasma-pa ;qml dependency
plasma-wayland-protocols
+ plasma-workspace-wallpapers
+ plasma5support
+ polkit-qt6
prison
- qtlocation
+ qcoro-qt6
+ qqc2-desktop-style
qt5compat
- qtsvg
- qtshadertools
qtdeclarative
- qttools
+ qtlocation
qtpositioning
+ qtshadertools
+ qtsvg
+ qttools
qtwayland
+ ucd
wayland
wayland-protocols
xcb-util
+ xcb-util-cursor
xcb-util-image
xcb-util-keysyms
- xrdb
+ xdotool ;for X11
xmessage
+ xrdb
xsetroot
- polkit-qt6
- ucd
-
- xcb-util-cursor
- libxcursor
- libkexiv2
- gpsd
- zlib
-
- ;; qml dependency
- plasma-nm
- plasma-pa
- kscreen))
+ zlib))
(arguments
(list #:qtbase qtbase
#:configure-flags
@@ -2882,23 +3000,9 @@ sensors, process information and other system resources.")
"/libexec/kglobalacceld"))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'patch-workspace-bins
+ (add-after 'unpack 'patch-qttools-path
(lambda* (#:key inputs #:allow-other-keys)
- (let ((xmessage (search-input-file inputs "/bin/xmessage"))
- (xsetroot (search-input-file inputs "/bin/xsetroot"))
- (xrdb (search-input-file inputs "/bin/xrdb"))
- (qttools #$(this-package-input "qttools")))
- (substitute* "applets/devicenotifier/plugin/\
-deviceerrormonitor_p.cpp"
- (("lsof") (search-input-file inputs "/bin/lsof")))
- (substitute* "startkde/startplasma.cpp"
- (("xmessage") xmessage))
- (substitute* "kcms/krdb/krdb.cpp"
- (("xsetroot") xsetroot))
- (substitute* (list "kcms/fonts/fontinit.cpp"
- "kcms/fonts/fonts.cpp"
- "kcms/krdb/krdb.cpp")
- (("xrdb") xrdb))
+ (let ((qttools #$(this-package-input "qttools")))
;; QT_INSTALL_BINS refers to qtbase, but qdbus is in
;; qttools.
(substitute* "CMakeLists.txt"
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index eb65d0bb85..e219716909 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -802,6 +802,51 @@ with support for QR scanning.")
(license ;GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0)))))
+(define-public komodo
+ (package
+ (name "komodo")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/komodo/" version
+ "/komodo-" version ".tar.xz"))
+ (sha256
+ (base32 "1xdn3k71a5s801p2cpddyvjbpb8ki8i4y2mig15am0v1r2ag16mi"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase))
+ (native-inputs
+ (list extra-cmake-modules kdoctools))
+ (inputs
+ (list kcolorscheme
+ kconfig
+ kcoreaddons
+ kdbusaddons
+ kguiaddons
+ ki18n
+ kiconthemes
+ kirigami
+ kirigami-addons
+ kitemmodels
+ qqc2-desktop-style
+ qtdeclarative))
+ (home-page "https://apps.kde.org/komodo/")
+ (synopsis "To-do manager that uses todo.txt")
+ (description "KomoDo is a to-do manager that uses
+@uref{https://github.com/todotxt/todo.txt/blob/master/README.md, todo.txt
+specification}. It parses any compliant @uref{https://todotxt.org/, todo.txt}
+files and turns them into easy to use list of tasks. It also has built-in help
+for the todo.txt specification.
+
+It's features include:
+@itemize
+@item Open and create new todo.txt files
+@item Add, delete and edit tasks
+@item Filter and search tasks
+@end itemize")
+ (license license:gpl2+)))
+
(define-public kongress
(package
(name "kongress")
@@ -1322,49 +1367,44 @@ redone.")
(list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
(define-public rsibreak
- (let ((commit "6795af6339e5e7c0fdf469290eafdb0f9365a96b")
- (revision "0"))
- (package
- (name "rsibreak")
- (version (git-version "0.12.15" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://invent.kde.org/utilities/rsibreak.git/")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0p3xxbiwdmbp1cxagl1bnqicr8wv2mlzb5d5f4x6l7m7qzkicga4"))))
- (build-system qt-build-system)
- (native-inputs
- (list extra-cmake-modules kdoctools))
- (inputs
- (list breeze-icons ;; default icon set
- kcolorscheme
- kconfig
- kconfigwidgets
- kcoreaddons
- kcrash
- kdbusaddons
- ki18n
- kidletime
- knotifications
- knotifyconfig
- kstatusnotifieritem
- ktextwidgets
- kwindowsystem
- kxmlgui
- qtwayland))
- (arguments (list #:qtbase qtbase))
- (home-page "https://apps.kde.org/rsibreak/")
- (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
-Injury")
- (description "Repetitive Strain Injury is an illness which can occur as a
+ (package
+ (name "rsibreak")
+ (version "0.13.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/rsibreak/" version
+ "/rsibreak-" version ".tar.xz"))
+ (sha256
+ (base32
+ "086ipa9jbpiaj8j79cygk2p5bgpbgpw9bsh8hcbya3vxql4wxcka"))))
+ (build-system qt-build-system)
+ (native-inputs
+ (list extra-cmake-modules kdoctools))
+ (inputs
+ (list breeze-icons ;; default icon set
+ kcolorscheme
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kcrash
+ kdbusaddons
+ ki18n
+ kidletime
+ knotifications
+ knotifyconfig
+ kstatusnotifieritem
+ ktextwidgets
+ kwindowsystem
+ kxmlgui
+ qtwayland))
+ (arguments (list #:qtbase qtbase))
+ (home-page "https://apps.kde.org/rsibreak/")
+ (synopsis "Recovery and Repetitive Strain Injury prevention assistsant")
+ (description "Repetitive Strain Injury is an illness which can occur as a
result of working with a mouse and keyboard. This utility can be used to
remind you to take a break now and then.")
- (license ;; GPL for programs, FDL for documentation
- (list license:gpl2+ license:fdl1.2+)))))
+ (license ;; GPL for programs, FDL for documentation
+ (list license:gpl2+ license:fdl1.2+))))
(define-public sweeper
(package
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2c19cac6e0..461382d617 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8066,7 +8066,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
(define-public rdma-core
(package
(name "rdma-core")
- (version "54.0")
+ (version "59.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -8074,7 +8074,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
version ".tar.gz"))
(sha256
(base32
- "0q1gd4wrn7sb1l6qj6mqqlf8k4pk865b96cfnbgfxbgfs9q4jjm5"))))
+ "1rbw0nxn7h9984r44pcwvnbdz2ycdn5wsmzrbwxxr31i7fqnkhg2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -10055,63 +10055,62 @@ Currently the Linux driver itself is missing from this package.")
(license license:gpl2+))))
(define-public libcxi
- (let ((commit "5b6f8b5d57017c7963debb379d5693c59aca63ed")
- (revision "0"))
- (package
- (name "libcxi")
- (version (git-version "1.0.1" revision commit))
- (home-page "https://github.com/HewlettPackard/shs-libcxi")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference (url home-page) (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1h3dhird8p11q4ziaxzg1hr5gxcgwx1limzdcyildyaw50dy549g"))))
- (build-system gnu-build-system)
- (arguments
- (list #:configure-flags
- #~(list "--disable-static"
- (string-append "--with-udevrulesdir="
- #$output "/lib/udev/rules.d"))
+ (package
+ (name "libcxi")
+ (version "12.0.1")
+ (home-page "https://github.com/HewlettPackard/shs-libcxi")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "release/shs-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pk2mdkkgiic7nnmhx3iwvgrnxva3qqk2wyni0yhxjciln0hq7s7"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "--disable-static"
+ (string-append "--with-udevrulesdir="
+ #$output "/lib/udev/rules.d"))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'set-cassini-file-names
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "utils/cxi_dump_csrs.py"
- (("/usr/share/cassini-headers/csr_defs.json")
- (search-input-file
- inputs
- "/share/cassini-headers/csr_defs.json"))))))))
- (native-inputs (list autoconf
- automake
- libtool
- pkg-config
- python-wrapper))
- (inputs (list libconfig
- libuv
- fuse-2
- libyaml
- libnl
- numactl
- eudev
- (list lm-sensors "lib")))
- (propagated-inputs (list cassini-headers cxi-driver))
- (synopsis "Interface to the Cassini/Slingshot high-speed interconnect")
- (description
- "Libcxi provides applications with a low-level interface to the
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-cassini-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "utils/cxi_dump_csrs.py"
+ (("/usr/share/cassini-headers/csr_defs.json")
+ (search-input-file
+ inputs
+ "/share/cassini-headers/csr_defs.json"))))))))
+ (native-inputs (list autoconf
+ automake
+ libtool
+ pkg-config
+ python-wrapper))
+ (inputs (list libconfig
+ libuv
+ fuse-2
+ libyaml
+ libnl
+ numactl
+ eudev
+ (list lm-sensors "lib")))
+ (propagated-inputs (list cassini-headers cxi-driver))
+ (synopsis "Interface to the Cassini/Slingshot high-speed interconnect")
+ (description
+ "Libcxi provides applications with a low-level interface to the
Cray/HPE Cassini high-speed @acronym{NIC, network interface controller}, also
known as Slingshot.")
- ;; License is spelled out in 'cray-libcxi.spec' and in source file
- ;; headers.
- (license (list license:lgpl2.1+ license:bsd-3))))) ;dual-licensed
+ ;; License is spelled out in 'cray-libcxi.spec' and in source file
+ ;; headers.
+ (license (list license:lgpl2.1+ license:bsd-3)))) ;dual-licensed
(define-public libfabric
(package
(name "libfabric")
- (version "1.22.0")
+ (version "2.3.0")
(source
(origin
(method url-fetch)
@@ -10119,7 +10118,7 @@ known as Slingshot.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
- (base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))
+ (base32 "02gb12ijj19aad4c3dwckrrnjlsmy9fizkgw8a5zdzpqd3lgq60x"))))
(build-system gnu-build-system)
(inputs
(let ((if-supported ;XXX: modified from openmpi
@@ -10169,6 +10168,19 @@ applications deal with directly. It works in conjunction with provider
libraries, which are often integrated directly into libfabric.")
(license (list license:bsd-2 license:gpl2)))) ;dual
+(define-public libfabric-1 ;needed by Open MPI 4.x
+ (package
+ (inherit libfabric)
+ (version "1.22.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/ofiwg/libfabric/releases/download/v"
+ version "/libfabric-" version ".tar.bz2"))
+ (sha256
+ (base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))))
+
(define-public psm
(package
(name "psm")
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 8d918338ef..13890adfb3 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2117,7 +2117,7 @@ computing environments.")
(native-inputs
(list gfortran
meson-python
- python-cython-3
+ python-cython
python-pandas
python-pytest
python-pytest-xdist))
@@ -2360,7 +2360,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(setenv "NUMBA_CACHE_DIR" "/tmp")
;; Rebuild extensions to run tests.
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
- (native-inputs (list python-cython-3 python-pytest python-setuptools
+ (native-inputs (list python-cython python-pytest python-setuptools
python-wheel))
(inputs (list fftw))
(propagated-inputs (list python-numpy python-pynndescent
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 1d36ed00d5..b190b74b47 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3017,7 +3017,7 @@ and quadratic objectives using the Simplex algorithm.")
(propagated-inputs (list python-numpy python-pytest python-scipy))
(inputs (list cbc))
(native-inputs (list pkg-config
- python-cython-3
+ python-cython
python-hypothesis
python-numpy
python-pytest
@@ -4651,7 +4651,7 @@ can return results in exact arithmetic.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "test/runtests.py")))))))
- (native-inputs (list python-cython-3))
+ (native-inputs (list python-cython))
(inputs (list petsc-openmpi python-numpy))
(home-page "https://bitbucket.org/petsc/petsc4py/")
(synopsis "Python bindings for PETSc")
@@ -4681,7 +4681,7 @@ bindings to almost all functions of PETSc.")
(list #:tests? #f)) ; there are no tests
(native-inputs
(list python-cysignals
- python-cython-3
+ python-cython
python-setuptools
python-wheel))
(inputs
@@ -4948,7 +4948,7 @@ arising after the discretization of partial differential equations.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "test/runtests.py")))))))
- (native-inputs (list python-cython-3))
+ (native-inputs (list python-cython))
(inputs (list python-numpy python-petsc4py petsc-openmpi slepc-openmpi))
(home-page "https://bitbucket.org/slepc/slepc4py/")
(synopsis "Python bindings for SLEPc")
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index ea5cc62b39..77e650e4ed 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
@@ -231,7 +231,7 @@ bind processes, and much more.")
'()))))
(append (list `(,hwloc-2 "lib")
gfortran
- libfabric
+ libfabric-1 ;fails to build with 2.3
libevent
opensm
openssh-sans-x)
@@ -376,6 +376,8 @@ software vendors, application developers and computer science researchers.")
;; As of Open MPI 5.0.X, PMIx is used to communicate
;; with SLURM, so SLURM'S PMI is no longer needed.
(delete "slurm")
+ ;; Replace libfabric 1.x with a newer version.
+ (replace "libfabric" libfabric)
(append openpmix) ;for PMI support (launching via "srun")
(append prrte))) ;for PMI support (launching via "srun")
(native-inputs (modify-inputs (package-native-inputs openmpi)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b64ef53138..ff9df16ab3 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1034,7 +1034,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(define-public hydrogen
(package
(name "hydrogen")
- (version "1.2.4")
+ (version "1.2.6")
(source
(origin
(method git-fetch)
@@ -1043,22 +1043,23 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1i5gz5zck8s0kskjgnx9c75gh7zx0kbjsqzl2765f99p9svprirq"))))
+ (base32 "0fwyabkvrh1q30sqyhylly0c28cryq39lnqzgsv69jqvcc001bi4"))))
(build-system qt-build-system)
(arguments
- `(#:tests? #f ; require audio subsystem
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-data-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "CMakeLists.txt"
- (("/usr/share/pixmaps")
- (string-append (assoc-ref outputs "out")
- "/share/pixmaps"))))))))
+ (list
+ #:tests? #f ; require audio subsystem
+ #:configure-flags #~(list "-DWANT_QT6=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-data-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("/usr/share/pixmaps")
+ (string-append #$output "/share/pixmaps"))))))))
(native-inputs
(list cppunit
pkg-config
- qttools-5))
+ qttools))
(inputs
(list alsa-lib
jack-1
@@ -1068,10 +1069,9 @@ settings (aliasing, linear interpolation and cubic interpolation).")
libsndfile
lrdf
pulseaudio
- qtbase-5
- qtsvg-5
- qtxmlpatterns-5
- qtwayland-5
+ qtbase
+ qtsvg
+ qtwayland
zlib))
(home-page "http://hydrogen-music.org/")
(synopsis "Drum machine")
@@ -3262,18 +3262,51 @@ MIDI files, based on libsmf.")
(build-system pyproject-build-system)
(arguments
(list
- #:tests? #f)) ;no tests included
+ #:tests? #f ;no tests included
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'generate-xdg-files
+ ;; Steps are taken from .github/workflows/release.yml.
+ (lambda _
+ (invoke "python" "i18n/mo-gen.py")
+ (invoke "msgfmt" "--desktop"
+ "-d" "i18n/frescobaldi"
+ "--template" "linux/org.frescobaldi.Frescobaldi.desktop.in"
+ "-o" "linux/org.frescobaldi.Frescobaldi.desktop")
+ (invoke "msgfmt" "--xml"
+ "-d" "i18n/frescobaldi"
+ "--template" "linux/org.frescobaldi.Frescobaldi.metainfo.xml.in"
+ "-o" "linux/org.frescobaldi.Frescobaldi.metainfo.xml")))
+ (add-after 'wrap 'wrap-executable
+ (lambda _
+ ;; Ensure that icons are found at runtime.
+ (wrap-program (string-append #$output "/bin/frescobaldi")
+ `("QT_PLUGIN_PATH" prefix
+ ,(list (string-append
+ (string-join
+ (list #$(this-package-input "qtbase")
+ #$(this-package-input "qtsvg")
+ #$(this-package-input "qtwayland"))
+ "/lib/qt6/plugins:")
+ "/lib/qt6/plugins")))))))))
(native-inputs
- (list python-hatchling))
- (inputs (list bash-minimal
- lilypond
- poppler
- portmidi-2
- python-ly
- python-pyqt-6
- python-pyqt6-sip
- python-pyqtwebengine-6
- qpageview))
+ (list appstream ;for appstreamctl
+ desktop-file-utils ;for desktop-file-validate
+ gettext-minimal ;for msgfmt
+ python-hatchling))
+ (inputs
+ (list bash-minimal
+ lilypond
+ poppler
+ portmidi-2
+ python-ly
+ python-pyqt-6
+ python-pyqt6-sip
+ python-pyqtwebengine-6
+ qpageview
+ qtbase
+ qtsvg
+ qtwayland))
(home-page "https://www.frescobaldi.org/")
(synopsis "LilyPond sheet music text editor")
(description
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 1ac5a9b99c..48cf8fd27f 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -2232,8 +2232,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
- (let ((commit "f9862fd42d4c7a307cfd092086c327f5c2c6b594")
- (revision "42"))
+ (let ((commit "22037b5ebd48d182bf5a13ed48e745a74efad143")
+ (revision "43"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@@ -2244,7 +2244,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
- "1n8apwpfly9605pp2liy80imv3w6q5h750p697sdn2prnw5ifph3"))
+ "0bfhn5ryqkrhgqp7sjy5jziw3inl50samvh898znhgfryw38jb6p"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/patches/fritzing-0.9.6-fix-types.patch b/gnu/packages/patches/fritzing-0.9.6-fix-types.patch
new file mode 100644
index 0000000000..4984f7e94b
--- /dev/null
+++ b/gnu/packages/patches/fritzing-0.9.6-fix-types.patch
@@ -0,0 +1,80 @@
+From d2f68e7d2f1c5b02e7236e1e4c35b1f37981500e Mon Sep 17 00:00:00 2001
+From: Jonathan Lin <jonathanylin1111@gmail.com>
+Date: Wed, 22 Oct 2025 11:48:46 -0700
+Subject: [PATCH] Fix quazip using wrong types
+
+---
+ src/lib/quazip/crypt.h | 8 ++++----
+ src/lib/quazip/unzip.c | 2 +-
+ src/lib/quazip/zip.c | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/lib/quazip/crypt.h b/src/lib/quazip/crypt.h
+index 2ae6fd5..d47260c 100644
+--- a/src/lib/quazip/crypt.h
++++ b/src/lib/quazip/crypt.h
+@@ -32,7 +32,7 @@
+ /***********************************************************************
+ * Return the next byte in the pseudo-random sequence
+ */
+-static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
++static int decrypt_byte(unsigned long* pkeys, const z_crc_t FAR * pcrc_32_tab)
+ {
+ #ifndef _WINDOWS
+ (void) pcrc_32_tab; /* avoid "unused parameter" warning */
+@@ -49,7 +49,7 @@ static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
+ /***********************************************************************
+ * Update the encryption keys with the next byte of plain text
+ */
+-static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c)
++static int update_keys(unsigned long* pkeys,const z_crc_t FAR * pcrc_32_tab,int c)
+ {
+ (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
+ (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
+@@ -66,7 +66,7 @@ static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int
+ * Initialize the encryption keys and the random header according to
+ * the given password.
+ */
+-static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab)
++static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t FAR * pcrc_32_tab)
+ {
+ *(pkeys+0) = 305419896L;
+ *(pkeys+1) = 591751049L;
+@@ -96,7 +96,7 @@ const char *passwd; /* password string */
+ unsigned char *buf; /* where to write header */
+ int bufSize;
+ unsigned long* pkeys;
+-const unsigned long* pcrc_32_tab;
++const z_crc_t FAR * pcrc_32_tab;
+ unsigned long crcForCrypting;
+ {
+ int n; /* index in random header */
+diff --git a/src/lib/quazip/unzip.c b/src/lib/quazip/unzip.c
+index dde4c34..9526964 100644
+--- a/src/lib/quazip/unzip.c
++++ b/src/lib/quazip/unzip.c
+@@ -150,7 +150,7 @@ typedef struct
+ int encrypted;
+ # ifndef NOUNCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+- const unsigned long* pcrc_32_tab;
++ const z_crc_t FAR * pcrc_32_tab;
+ # endif
+ } unz_s;
+
+diff --git a/src/lib/quazip/zip.c b/src/lib/quazip/zip.c
+index 99f29ce..eb640fe 100644
+--- a/src/lib/quazip/zip.c
++++ b/src/lib/quazip/zip.c
+@@ -134,7 +134,7 @@ typedef struct
+ int encrypt;
+ #ifndef NOCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+- const unsigned long* pcrc_32_tab;
++ const z_crc_t FAR * pcrc_32_tab;
+ int crypt_header_size;
+ #endif
+ } curfile_info;
+--
+2.51.0
+
diff --git a/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch b/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch
new file mode 100644
index 0000000000..46825d1132
--- /dev/null
+++ b/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch
@@ -0,0 +1,213 @@
+From 29d14d78a17f2d85bc9e37f380e71221c2055dd8 Mon Sep 17 00:00:00 2001
+From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
+Date: Thu, 23 Oct 2025 22:13:53 +0300
+Subject: [PATCH] src: Fix compilation with GCC version 14 or newer
+
+GCC version 14 now treats some deprecation warnings as errors, namely
+it is not allowed to use implicit "int" types, implicit function
+declarations (see <https://gcc.gnu.org/gcc-14/porting_to.html>.) In
+this patch, deprecated code updated to match the new requirements of
+GCC.
+
+* src/c/ddists.c, src/c/objects.c, src/include/sysvr4-foreign.h,
+src/c/iviewdat.c, src/c/postscript.c: Explicitly specify variable
+types and procedure return value types to satisfy requirements of
+GCC version 14 or newer.
+* src/c/X11graph.c: Likewise.
+(StBlockForInput): Modernize "select" call.
+* src/c/X11BSDstuff.c (line_available): Modernize "select" call.
+---
+ src/c/X11BSDstuff.c | 4 +++-
+ src/c/X11graph.c | 10 +++++++---
+ src/c/ddists.c | 4 +++-
+ src/c/iviewdat.c | 2 +-
+ src/c/objects.c | 6 ++++--
+ src/c/postscript.c | 7 ++++---
+ src/include/sysvr4-foreign.h | 2 +-
+ 7 files changed, 23 insertions(+), 12 deletions(-)
+
+diff --git a/src/c/X11BSDstuff.c b/src/c/X11BSDstuff.c
+index 5bb7144..4a9b91b 100644
+--- a/src/c/X11BSDstuff.c
++++ b/src/c/X11BSDstuff.c
+@@ -3,6 +3,8 @@
+ /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */
+ /* You may give out copies of this software; for conditions see the */
+ /* file COPYING included with this distribution. */
++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */
++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */
+ /* */
+ /* Some modifications included from WINTERP */
+ /* WINTERP 1.0 Copyright 1989 Hewlett-Packard Company (by Niels Mayer).*/
+@@ -549,7 +551,7 @@ LOCAL int line_available()
+ FD_ZERO(&readmask);
+ FD_SET(fileno(stdin), &readmask);
+
+- result = select(ndfs, (int *) &readmask, NULL, NULL, &tv);
++ result = select(ndfs, &readmask, NULL, NULL, &tv);
+ if (result > 0) return(TRUE);
+ /* *** should merge the select here with the one for blocking ***/
+ else return(StBlockForInput());
+diff --git a/src/c/X11graph.c b/src/c/X11graph.c
+index 70dff08..920957c 100644
+--- a/src/c/X11graph.c
++++ b/src/c/X11graph.c
+@@ -1,6 +1,8 @@
+ /* X11graph - X11 support for XLISP-STAT */
+ /* XLISP-STAT 2.1 Copyright (c) 1990, by Luke Tierney */
+ /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */
++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */
++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */
+ /* You may give out copies of this software; for conditions see the */
+ /* file COPYING included with this distribution. */
+
+@@ -23,8 +25,8 @@ extern VOID InstallMenuButton P2H(Window, LVAL);
+ extern VOID DeleteMenuButton P1H(Window);
+ extern VOID StX11FinishMenus(V);
+ extern VOID StX11FinishDialogs(V);
+-extern StX11InitMenus(V);
+-extern StX11InitDialogs(V);
++extern void StX11InitMenus(V);
++extern void StX11InitDialogs(V);
+
+ extern char *getenv();
+
+@@ -316,7 +318,7 @@ int StBlockForInput()
+ if (tmp > maxfd) maxfd = tmp;
+ FD_SET(maxfd, &readmask);
+ }
+- result = select(maxfd+1, (int *) &readmask, NULL, NULL, NULL);
++ result = select(maxfd+1, &readmask, NULL, NULL, NULL);
+ return((FD_ISSET(fileno(stdin), &readmask)) ? TRUE : FALSE);
+ }
+ else return(FALSE);
+@@ -1221,6 +1223,7 @@ VOID StWGetLocation(w, left, top, frame)
+ VOID StWSetSize(w, width, height, frame)
+ Window w;
+ int width, height;
++ int frame;
+ {
+ Display *dpy = StX11Display();
+ StGWWinInfo *gwinfo;
+@@ -1286,6 +1289,7 @@ VOID StWGetSize(w, pwidth, pheight, frame)
+ VOID StGWSetSize(gwinfo, width, height, frame)
+ StGWWinInfo *gwinfo;
+ int width, height;
++ int frame;
+ {
+ Window w;
+ if (gwinfo == NULL || (w = gwinfo->window) == NullWindow) return;
+diff --git a/src/c/ddists.c b/src/c/ddists.c
+index e6abeaa..dcefa23 100644
+--- a/src/c/ddists.c
++++ b/src/c/ddists.c
+@@ -3,6 +3,8 @@
+ /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */
+ /* You may give out copies of this software; for conditions see the */
+ /* file COPYING included with this distribution. */
++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */
++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */
+
+ #include "xlisp.h"
+ #include "xlstat.h"
+@@ -29,7 +31,7 @@ LOCAL VOID getpoisarg P1H(double *);
+ LOCAL double poisson_cdf P2H(int, double);
+ LOCAL int binomial_quant P3H(double, int, double);
+ LOCAL int poisson_quant P2H(double, double);
+-LOCAL poisson_rand P1H(double);
++LOCAL int poisson_rand P1H(double);
+ LOCAL int binomial_rand P2H(int, double);
+
+ /* numerical distribution function */
+diff --git a/src/c/iviewdat.c b/src/c/iviewdat.c
+index 0b35e05..28fd2df 100644
+--- a/src/c/iviewdat.c
++++ b/src/c/iviewdat.c
+@@ -237,7 +237,7 @@ static VOID IViewBasicPointsSetTransformation P2C(IViewBasicPoints, p, double **
+ static VOID IViewBasicPointsApplyTransformation P3C(IViewBasicPoints, p,
+ double **, a, int *, inbasis)
+ {
+- static maxvars = 0;
++ static int maxvars = 0;
+ static Fixed **b, *x, **screen_data, *screen_location;
+ int vars, n, i, j;
+ double *scale = p->scale, *location = p->location;
+diff --git a/src/c/objects.c b/src/c/objects.c
+index d9c61f2..1084b47 100644
+--- a/src/c/objects.c
++++ b/src/c/objects.c
+@@ -3,7 +3,9 @@
+ /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */
+ /* You may give out copies of this software; for conditions see the */
+ /* file COPYING included with this distribution. */
+-
++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */
++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */
++
+ #include "xlisp.h"
+ #include "xlstat.h"
+
+@@ -1260,7 +1262,7 @@ LVAL xsobject_isnew(V)
+ VOID xsaddmsg P2C(LVAL, object, char *, str)
+ {
+ LVAL fcn;
+- static offset = FIRST_METHOD_OFFSET;
++ static int offset = FIRST_METHOD_OFFSET;
+
+ xlsave1(fcn);
+ fcn = cvsubr(funtab[offset].fd_subr,funtab[offset].fd_type,offset);
+diff --git a/src/c/postscript.c b/src/c/postscript.c
+index 6ddbfb9..ea57351 100644
+--- a/src/c/postscript.c
++++ b/src/c/postscript.c
+@@ -9,6 +9,7 @@
+ /* pbmtops.c - read a portable bitmap and produce a PostScript bitmap file
+ **
+ ** Copyright (C) 1988 by Jef Poskanzer.
++** Copyright (C) 2025 by Artyom V. Poptsov <poptsov.artyom@gmail.com>
+ **
+ ** Permission to use, copy, modify, and distribute this software and its
+ ** documentation for any purpose and without fee is hereby granted, provided
+@@ -60,7 +61,7 @@ static FILE *fp;
+ /**************************************************************************/
+
+ /* set up global variables and print the postscript preamble */
+-psputinit(file, cols, rows, scale )
++void psputinit(file, cols, rows, scale )
+ FILEP file;
+ int cols, rows;
+ double scale;
+@@ -120,7 +121,7 @@ psputinit(file, cols, rows, scale )
+ }
+
+ /* enter a bit into the image */
+-psputbit(b)
++void psputbit(b)
+ int b;
+ {
+ if ( bitsperitem == 8 ) {
+@@ -133,7 +134,7 @@ psputbit(b)
+ }
+
+ /* clean up and print the showpage command */
+-psputrest( )
++void psputrest( )
+ {
+ if ( bitsperitem > 0 )
+ putitem( );
+diff --git a/src/include/sysvr4-foreign.h b/src/include/sysvr4-foreign.h
+index f40acc8..709fc6c 100644
+--- a/src/include/sysvr4-foreign.h
++++ b/src/include/sysvr4-foreign.h
+@@ -16,7 +16,7 @@ LOCAL VOID link_and_load(fname, libs, fort)
+ char *fname, *libs;
+ int fort;
+ {
+- static initialized = FALSE;
++ static int initialized = FALSE;
+ void *handle;
+
+ if (! initialized) {
+--
+2.51.0
+
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index cda9858777..c959541597 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -3203,7 +3203,7 @@ The maths behind this is unfortunately fiddly, hence this module.")
(define-public perl-data-printer
(package
(name "perl-data-printer")
- (version "0.40")
+ (version "1.002001")
(source
(origin
(method url-fetch)
@@ -3211,11 +3211,9 @@ The maths behind this is unfortunately fiddly, hence this module.")
version ".tar.gz"))
(sha256
(base32
- "0njjh8zp5afc4602jrnmg89icj7gfsil6i955ypcqxc2gl830sb0"))))
+ "0x1vdydmj0yp681w0f2nkdxv2h4wa2py002af88clppqxlljsacn"))))
(build-system perl-build-system)
- (propagated-inputs
- (list perl-clone-pp perl-file-homedir perl-package-stash
- perl-sort-naturally))
+ (native-inputs (list perl-capture-tiny))
(home-page "https://metacpan.org/release/Data-Printer")
(synopsis "Colored pretty-print of Perl data structures and objects")
(description "Display Perl variables and objects on screen, properly
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index 6a11852bc7..2d604c201f 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -189,7 +189,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.83.23")
+ (version "2.84.1")
(source
(origin
(method git-fetch)
@@ -198,7 +198,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "18j824bvypk4z36xd59gafwb3ssl5fh6jlfrrzskpcllbpslcajl"))
+ (base32 "183xwjk3ivh1j1wdjz5180yxc48zsnwffz1iagqafndas1yk9dfd"))
(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 57b723c811..1dd28d5de4 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -604,6 +604,38 @@ Satisfiability modulo theories} solver explore viable execution paths and find
counterexamples for you.")
(license (list license:asl2.0 license:expat license:psfl))))
+(define-public python-cucumber-expressions
+ (package
+ (name "python-cucumber-expressions")
+ (version "18.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cucumber/cucumber-expressions")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1syxa142v9sajy7n2az7d0jc6lsjg93kw659pxfs3g6ddrngpdri"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Project's repository contains go, java, javascript, perl, python
+ ;; and ruby implementations.
+ (add-after 'unpack 'chdir-python
+ (lambda _
+ (chdir "python"))))))
+ (native-inputs
+ (list python-poetry-core python-pytest python-pyyaml))
+ (home-page "https://github.com/cucumber/cucumber-expressions")
+ (synopsis "A simpler alternative to Regular Expressions")
+ (description
+ "This package provides an alternative to Regular Expressions with a more
+intuitive syntax.")
+ (license license:expat)))
+
(define-public python-cucumber-tag-expressions
(package
(name "python-cucumber-tag-expressions")
@@ -629,13 +661,12 @@ counterexamples for you.")
(lambda _
(chdir "python"))))))
(native-inputs
- (list python-pathpy
+ (list python-path
python-pytest
python-pytest-html
python-pyyaml
python-setuptools
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(home-page "https://github.com/cucumber/tag-expressions")
(synopsis "Tag-expression parser for cucumber/behave")
(description
@@ -1339,7 +1370,7 @@ result documents that can be read by tools such as Jenkins or Bamboo.")
;; sync. kernprof.line_profiler = . kernprof.__version__ = 4.2.0.
#~(list "--deselect=tests/test_cli.py::test_version_agreement")))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-ubelt
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index c4efd30ea5..c02993eded 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -138,7 +138,7 @@ This Python package wraps the Blosc library.")
(native-inputs
(list cmake-minimal
pkg-config
- python-cython-3
+ python-cython
python-pytest
python-scikit-build
python-setuptools))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 7edbd71784..63b25bd913 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1233,6 +1233,34 @@ passwords. It can be used to implement two-factor (2FA) or multi-factor
require users to log in.")
(license license:expat)))
+;; XXX: This project was archived by the owner on Apr 20, 2025. It is now
+;; read-only. Consider to remove when starts failing to build and nothing
+;; depends on it.
+(define-public python-rsa
+ (package
+ (name "python-rsa")
+ (version "4.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rsa" version))
+ (sha256
+ (base32 "0xdfs3mhdb9wjpckj7i4zyv9sr82m7hk0mfkvw3lrnlpakdvzgg7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;tests are not included in PyPI archive
+ (native-inputs
+ (list python-poetry-core))
+ (propagated-inputs
+ (list python-pyasn1))
+ (home-page "https://stuvel.eu/rsa")
+ (synopsis "Pure-Python RSA implementation")
+ (description "Python-RSA is a pure-Python RSA implementation. It supports
+encryption and decryption, signing and verifying signatures, and key
+generation according to PKCS#1 version 1.5. It can be used as a Python
+library as well as on the command line.")
+ (license license:asl2.0)))
+
(define-public python-scrypt
(package
(name "python-scrypt")
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm
index ae87001340..d75f0edd2e 100644
--- a/gnu/packages/python-graphics.scm
+++ b/gnu/packages/python-graphics.scm
@@ -819,7 +819,7 @@ wrappers for common SDL2 functionality.")
(setenv "HOME" "/tmp")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-setuptools-scm
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 12a0dc7d20..cb701a0c7d 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2406,7 +2406,7 @@ Evapotranspiration using various standard methods.")
(with-directory-excursion (site-packages inputs outputs)
(for-each delete-file (find-files "." "test*"))))))))
(native-inputs
- (list python-cython-3 python-pytest python-setuptools python-wheel))
+ (list python-cython python-pytest python-setuptools python-wheel))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/storpipfugl/pykdtree")
@@ -2591,7 +2591,7 @@ factorization routine for quasi-definite linear system.")
(with-directory-excursion #$output
(apply invoke "pytest" "-vv" test-flags))))))))
(propagated-inputs (list python-numpy python-packaging python-scipy))
- (native-inputs (list python-cython-3
+ (native-inputs (list python-cython
python-numpy
python-packaging
python-pytest
@@ -2975,7 +2975,7 @@ logic, also known as grey logic.")
python-spin))
(native-inputs (list gfortran
pkg-config
- python-cython-3
+ python-cython
python-meson-python
python-numpy
python-pytest
@@ -3106,7 +3106,7 @@ be accessible and easy to use in many contexts.")
;; permission.
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pandas
python-pytest
python-setuptools
@@ -3839,7 +3839,7 @@ tissue-specificity metrics for gene expression.")
(native-inputs
(list meson-python
python-beautifulsoup4
- python-cython-3
+ python-cython
python-html5lib
python-lxml
python-matplotlib
@@ -4590,7 +4590,7 @@ readable.")
python-six
python-tabulate))
(native-inputs
- (list python-pytest python-cython-3 python-setuptools python-wheel))
+ (list python-pytest python-cython python-setuptools python-wheel))
(home-page "https://www.github.com/maartenbreddels/vaex")
(synopsis "Core of Vaex library for exploring tabular datasets")
(description "Vaex is a high performance Python library for lazy
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 016ac6a1da..a92c6440fe 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -23,6 +23,7 @@
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018, 2019, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -1828,7 +1829,7 @@ for adding, removing and dropping callbacks.")
python-yarl))
(native-inputs
(list gunicorn-bootstrap
- python-cython-3
+ python-cython
python-freezegun
python-pytest
python-pytest-cov
@@ -2790,7 +2791,7 @@ AWS S3 Service using boto3 S3 resource as a driver.")
(native-inputs
(list python-aiofiles
python-cbor2
- python-cython-3 ;for faster binaries
+ python-cython ;for faster binaries
python-fakeredis
python-httpx
python-mujson
@@ -3930,6 +3931,65 @@ high-speed transfers via libcurl and frequently outperforms alternatives.")
;; under the terms of LGPLv2.1+ or Expat.
(license (list license:lgpl2.1+ license:expat))))
+(define-public python-tldextract
+ (package
+ (name "python-tldextract")
+ (version "5.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tldextract" version))
+ (sha256
+ (base32 "02c6cyh8f3dagcw786m9nl5y0n3xa98p5mb7d7xfr84l2l5bglmk"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list nss-certs-for-test
+ python-pytest
+ python-pytest-mock
+ python-responses
+ python-setuptools
+ python-setuptools-scm
+ python-syrupy))
+ (propagated-inputs
+ (list python-filelock
+ python-idna
+ python-requests
+ python-requests-file))
+ (home-page "https://github.com/john-kurkowski/tldextract")
+ (synopsis
+ "Separate the TLD from the registered domain and subdomains of a URL")
+ (description
+ "TLDExtract accurately separates the TLD from the registered domain and
+subdomains of a URL, using the Public Suffix List. By default, this includes
+the public ICANN TLDs and their exceptions. It can optionally support the
+Public Suffix List's private domains as well.")
+ (license license:bsd-3)))
+
+(define-public python-tracerite
+ (package
+ (name "python-tracerite")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tracerite" version))
+ (sha256
+ (base32 "07mkg0sl0h335kj6yjvxki2c19gxhb7rkks1zgzh7aj0y83c17qi"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI or Git
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-html5tagger))
+ (home-page "https://github.com/sanic-org/tracerite")
+ (synopsis "Human-readable HTML tracebacks")
+ (description
+ "@code{tracerite} converts Python tracebacks into useful error messages
+in human-readable HTML format.")
+ (license license:unlicense)))
+
(define-public python-trio-websocket
(package
(name "python-trio-websocket")
@@ -8297,7 +8357,7 @@ name resolutions asynchronously.")
(("build_inplace=False") "build_inplace=True")))))))
(native-inputs
(list python-covdefaults
- python-cython-3
+ python-cython
python-expandvars
python-pytest
python-pytest-cov
@@ -8936,7 +8996,7 @@ hard or impossible to fix in cssselect.")
(delete-file-recursively "uvloop")))))))
(native-inputs
(list python-aiohttp
- python-cython-3
+ python-cython
python-psutil
python-pyopenssl
python-pytest
@@ -11691,8 +11751,8 @@ as Flask.")
python-pytest-sugar
python-pytest-trio))
(propagated-inputs
- (list python-exceptiongroup
- python-hypercorn
+ (list hypercorn
+ python-exceptiongroup
python-quart
python-trio))
(home-page "https://github.com/pgjones/quart-trio")
@@ -11787,30 +11847,28 @@ regular expressions.")
(define-public python-scrapy
(package
(name "python-scrapy")
- (version "2.13.1")
+ (version "2.13.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scrapy" version))
(sha256
- (base32 "18anr8jjjqyv6pfzdm4fr5hx4vddb8qclyja0y874f5slcnsfsrx"))))
+ (base32 "0k90pni6vkj7axx3cji0b2x7yg4yfh5kh1csqiq9ssp42265h5xz"))))
(build-system pyproject-build-system)
(arguments
(list #:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
- ;; Tests requiring a display.
- "-k" (string-append
- "not " (string-join
- (list "test_pformat"
- "test_pformat_old_windows"
- "test_pformat_windows"
- ;; AssertionError.
- "test_start_deprecated_super"
- ;; Connection refused.
- "test_persist")
- " and not "))
- ;; Connection refused to some local FTP server.
- "--ignore=tests/test_feedexport.py"
+ "-k" (string-join
+ ;; ConnectionRefusedError: [Errno 111] Connection
+ ;; refused
+ (list "not test_append"
+ "test_append_active_mode"
+ "test_overwrite"
+ "test_overwrite_active_mode"
+ "test_persist"
+ ;; AssertionError
+ "test_start_deprecated_super")
+ " and not ")
;; Skip documentation testing.
"--ignore=docs")
#:phases
@@ -11830,24 +11888,22 @@ regular expressions.")
python-protego
python-pydispatcher
python-pyopenssl
+ python-pypydispatcher
python-queuelib
python-service-identity
python-tldextract
- python-typing-extensions
python-twisted
python-w3lib
python-zope-interface))
(native-inputs
(list nss-certs-for-test
python-hatchling
- python-mypy
python-pexpect
python-pytest
python-pytest-xdist
python-setuptools
python-sybil
- python-testfixtures
- python-wheel))
+ python-testfixtures))
(home-page "https://scrapy.org")
(synopsis "High-level Web crawling and Web scraping framework")
(description "Scrapy is a fast high-level web crawling and web
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b9962fc569..3ec7d6b280 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1472,6 +1472,29 @@ 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-pypydispatcher
+ (package
+ (name "python-pypydispatcher")
+ (version "2.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyPyDispatcher" version))
+ (sha256
+ (base32 "1wihj7xgq5fk91li0id6a311lyrnmq7ch8rbr9dm7lprrzgwbgmn"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-setuptools-scm))
+ (home-page "https://github.com/scrapy/pypydispatcher")
+ (synopsis "Multi-producer-multi-consumer signal dispatching mechanism")
+ (description
+ "This package implements a functionality of pulti-producer-multi-consumer
+signal dispatching mechanism. It's a fork of
+http://pydispatcher.sourceforge.net/ with PyPy support.")
+ (license license:bsd-3)))
+
(define-public python-pyte
(package
(name "python-pyte")
@@ -1766,6 +1789,77 @@ Snake with a message.")
be displayed terminal.")
(license license:expat)))
+(define-public python-sqlglot
+ (package
+ (name "python-sqlglot")
+ (version "26.33.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sqlglot" version))
+ (sha256
+ (base32 "0wqdpix71bzx61qwk3mi7v42afmrj03dg81sykgdclgsg63jf5r8"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-backend #~'unittest
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "SQLGLOTRS_TOKENIZER" "0"))))))
+ (native-inputs
+ (list python-duckdb
+ python-pytz
+ python-pandas
+ python-setuptools
+ python-setuptools-scm
+ python-tzdata))
+ (home-page "https://sqlglot.com/")
+ (synopsis "Python SQL Parser and Transpiler")
+ (description
+ "SQLGlot is a no-dependency SQL parser, transpiler, optimizer, and
+engine. It can be used to format SQL or translate between 31 different
+dialects like DuckDB, Presto / Trino, Spark / Databricks, Snowflake, and
+BigQuery. It aims to read a wide variety of SQL inputs and output
+syntactically and semantically correct SQL in the targeted dialects.")
+ (license license:expat)))
+
+(define-public python-sqlglotrs
+ (package
+ (inherit python-sqlglot)
+ (name "python-sqlglotrs")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sqlglotrs" version))
+ (sha256
+ (base32 "1q8ii7fbgl2b2smi80bn5ifbs5xfzrkqqb4r1j5xx2k98jjsff7n"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:install-source? #false
+ #:tests? #f ;no tests
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cargo-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-python-module
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'build-python-module 'install-python-module
+ (assoc-ref py:%standard-phases 'install))
+ (add-after 'install-python-module 'add-install-to-pythonpath
+ (assoc-ref py:%standard-phases 'add-install-to-pythonpath)))))
+ (native-inputs
+ (list maturin
+ python-wrapper))
+ (inputs
+ (cargo-inputs 'python-sqlglotrs))))
+
(define-public python-streamtracer
(package
(name "python-streamtracer")
@@ -1815,150 +1909,6 @@ regularly spaced grids. The actual streamline tracing is done at a low level
in Rust, with a nice Python API provided on top.")
(license license:gpl3+)))
-(define-public python-takethetime
- (package
- (name "python-takethetime")
- (version "0.3.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "TakeTheTime" version))
- (sha256
- (base32 "1y9gzqb9l1f2smx8783ccjzjvby5mphshgrfks7s75mml59h9qyv"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ; tests are time dependent and not provided in PyPI
- (native-inputs
- (list python-setuptools
- python-wheel))
- (home-page "https://github.com/ErikBjare/TakeTheTime")
- (synopsis "Timing chunks of code")
- (description
- "This package implements a functionality for time taking using context
-managers.")
- (license license:expat)))
-
-(define-public python-tatsu
- (package
- (name "python-tatsu")
- (version "5.13.1")
- (source
- (origin
- (method git-fetch) ; no tests in PyPI releasefor tests
- (uri (git-reference
- (url "https://github.com/neogeny/TatSu")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0pdq9d45vbp7j600ig4k21mv2wipvmz05dji91x7kifhzfl5i6w9"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools
- python-wheel))
- (home-page "https://tatsu.readthedocs.io/en/stable/")
- (synopsis "PEG/Packrat Parser generator for Python")
- (description
- "TatSu (竜) takes a grammar in a variation of Extended Backus-Naur
-Form (EBNF) as input, and outputs a memoizing Parsing Expression Grammar (PEG)
-or Packrat parser in Python.")
- (license license:bsd-2)))
-
-(define-public python-term-image
- (package
- (name "python-term-image")
- (version "0.7.2")
- (source
- (origin
- ;; We need the full repo to run the tests.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/AnonymouX47/term-image")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1lsd5m0k5m99arkca2rzrrlln10c8ax6xfawqwjnspcbf8l3h3dq"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-flags
- #~(list "tests"
- ;; These tests require network access.
- "-k" (string-append "not test_from_url"
- " and not test_source"
- " and not test_close"))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'adjust-dependencies
- (lambda _
- (substitute* "setup.py"
- (("pillow>=9.1,<11") "pillow>=9.1,<12")))))))
- (propagated-inputs (list python-pillow python-requests))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-urwid))
- (home-page "https://github.com/AnonymouX47/term-image")
- (synopsis "Display images in the terminal")
- (description "term-image is a library and program to display images on
-compatible terminals.
-
-Features:
-@enumerate
-@item Multiple image formats (basically all formats supported by
-@code{PIL.Image.open()})
-@item Multiple image source types: PIL image instance, local file, URL
-@item Multiple image render styles (with automatic support detection)
-@item Support for multiple terminal graphics protocols, including Kitty
-@item Transparency support (with multiple options)
-@item Animated image support (including transparent ones)
-@item Integration into various TUI / terminal-based output libraries
-@item Terminal size awareness
-@item Automatic and manual image sizing
-@item Horizontal and vertical alignment
-@item Automatic and manual font ratio adjustment (to preserve image aspect
-ratio)
-@end enumerate")
- (license license:expat)))
-
-(define-public python-trubar
- (package
- (name "python-trubar")
- (version "0.3.4")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "trubar" version))
- (sha256
- (base32 "149l5wid1b41gmfzsrhapcigcbcsflviz8p1pfa937443fxw1dkd"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- ;; AttributeError: module 'libcst' has no attribute
- ;; 'FlattenSentinel'. Did you mean: 'MaybeSentinel'?
- (list "not test_import_from_future"
- "test_inport_after_docstring"
- ;; AssertionError: Items in the second set but not
- ;; the first
- "test_walk_files")
- " and not "))))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-libcst
- python-pyyaml))
- (home-page "https://github.com/janezd/trubar")
- (synopsis "Utility for translation of Python sources")
- (description
- "This package provides a tool for translation and localization of Python
-programs via modification of source files. Trubar supports f-strings and does
-not require any changes to the original source code, such as marking strings
-for translation.")
- (license license:expat)))
-
(define-public python-jaconv
(package
(name "python-jaconv")
@@ -2184,7 +2134,7 @@ easy logging and rotating to a console or a file.")
(build-system pyproject-build-system)
(native-inputs
(list python-brotli
- python-cython-3
+ python-cython
python-pytest
python-setuptools
python-wheel))
@@ -3542,31 +3492,6 @@ library.")
of it like a generator that is \"reusable\" and has a length.")
(license license:bsd-3)))
-(define-public python-tenacity
- (package
- (name "python-tenacity")
- (version "9.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tenacity" version))
- (sha256
- (base32 "0fyp421r038naskvyhj90hkq0az96477njad4rhs6annjz53fzw0"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools
- python-setuptools-scm
- python-tornado-6
- python-typeguard
- python-wheel))
- (home-page "https://github.com/jd/tenacity")
- (synopsis "Retrying library for python")
- (description
- "Tenacity is a general-purpose python library to simplify the task of
-adding retry behavior to just about anything.")
- (license license:asl2.0)))
-
(define-public python-pytelegrambotapi
(package
(name "python-pytelegrambotapi")
@@ -5035,7 +4960,7 @@ of the netcdf4 package before.")
(setenv "NO_CDL" "1")
(invoke "python" "run_all.py"))))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-setuptools
python-wheel))
(propagated-inputs
@@ -5390,24 +5315,6 @@ to allow the user to choose from a list of options, and terminal interaction
helpers.")
(license license:expat)))
-(define-public python-textparser
- (package
- (name "python-textparser")
- (version "0.23.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "textparser" version))
- (sha256
- (base32
- "0w5lyhrsvzs5a9q1l3sjgxgljrvd3ybf796w93kc39wayzvd02gh"))))
- (build-system python-build-system)
- (home-page "https://github.com/eerimoq/textparser")
- (synopsis "Fast text parser for Python")
- (description "This library provides a text parser written in the Python
-language. It aims to be fast.")
- (license license:expat)))
-
;; XXX: The project might be abandoned and this package has no users in Guix,
;; consider to remove if it keeps failing.
;; See: <https://github.com/ethanfurman/aenum/issues/45>,
@@ -7373,18 +7280,20 @@ files.")
(define-public python-cli-helpers
(package
(name "python-cli-helpers")
- (version "2.4.0")
+ (version "2.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cli_helpers" version))
(sha256
- (base32 "0kbs5106kh4yr49wp6cb0xaf6mc6ylkgl86v64vlfai1b9q3p42m"))))
+ (base32 "1h4b0ka9nh9qidl6s1ard1ixh9c3d0ai5ph3013grhpbvc81glb2"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-pytest python-setuptools python-wheel))
+ (list python-pytest
+ python-setuptools))
(propagated-inputs
- (list python-configobj python-tabulate python-wcwidth))
+ (list python-configobj
+ python-tabulate))
(home-page "https://github.com/dbcli/cli_helpers")
(synopsis "Helpers for building command-line apps")
(description
@@ -7906,34 +7815,6 @@ Capabilities include:
@end itemize")
(license license:expat)))
-(define-public python-text-unidecode
- (package
- (name "python-text-unidecode")
- (version "1.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "text-unidecode" version))
- (sha256
- (base32
- "14xb99fdv52j21dsljgsbmbaqv10ps4b453p229r29sdn4xn1mms"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest" "-vv"))))))
- (native-inputs
- (list python-pytest))
- (home-page "https://github.com/kmike/text-unidecode/")
- (synopsis "Decode Unicode data")
- (description
- "@code{text-unidecode} is a basic Python port of the @code{Text::Unidecode}
-Perl library. It can create ASCII representations of Unicode data. In general
-users should prefer the @code{python-unidecode} package which offers better
-memory usage and transliteration quality.")
- ;; The user can choose either license.
- (license (list license:clarified-artistic license:gpl2+))))
-
(define-public python-pyjwt
(package
(name "python-pyjwt")
@@ -8072,7 +7953,7 @@ environments and back.")
(base32 "0gmwggzm0j0iprx074g5hah91y2f68sfhhldq0f8crddj7ndk16m"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-wheel))
@@ -10418,7 +10299,8 @@ writing C extensions for Python as easy as Python itself.")
;; time of the test suite.
(setenv "CFLAGS" "-O0"))))))))
-(define-public python-cython-3 python-cython)
+;; It may be removed after 2026-01-24.
+(define-deprecated/public-alias python-cython-3 python-cython)
;; NOTE: when upgrading numpy please make sure that python-numba,
;; python-pandas and python-scipy still build, as these three packages are
@@ -11438,7 +11320,7 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(("build_inplace=False") "build_inplace=True")))))))
(native-inputs
(list python-covdefaults
- python-cython-3
+ python-cython
python-expandvars
python-pytest
python-pytest-cov
@@ -12480,27 +12362,23 @@ a general image processing tool.")
(define-public python-pillow-heif
(package
(name "python-pillow-heif")
- (version "0.22.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pillow_heif" version))
(sha256
- (base32 "16mkap63d14f69105b3bm8pi64fvpdznncgn48vhgls0jf977m31"))))
+ (base32 "1pkbkg88jg6f24xvbg95aq8dm8fa8ffz7zy4rq262m98i658q3pn"))))
(build-system pyproject-build-system)
(inputs (list libheif))
(propagated-inputs (list python-pillow))
(native-inputs (list opencv ; for opencv-python
- python-coverage
python-defusedxml
python-numpy
python-packaging
- python-pre-commit
- python-pylint
python-pympler
python-pytest
- python-setuptools
- python-wheel))
+ python-setuptools))
(home-page "https://github.com/bigcat88/pillow_heif")
(synopsis "Python interface for libheif library")
(description "This package provides Python bindings for the libheif library
@@ -12735,96 +12613,6 @@ ImageJ ROIs, an undocumented and ImageJ application specific format to store
regions of interest, geometric shapes, paths, text, etc for image overlays.")
(license license:bsd-3)))
-(define-public python-tifffile
- (package
- (name "python-tifffile")
- (version "2025.10.4")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tifffile" version))
- (sha256
- (base32 "0f1ybmr2jz19gjg92p9vz3qib49m0x4ipxvrvjyfa6r1mcb7qhrf"))))
- (build-system pyproject-build-system)
- ;; Tests require lfdfiles, which depends on tifffile
- (arguments (list #:tests? #f))
- (propagated-inputs
- (list python-numpy))
- (native-inputs
- (list python-setuptools))
- (home-page "https://www.lfd.uci.edu/~gohlke/")
- (synopsis "Read and write TIFF(r) files")
- (description
- "This package lets you read image and metadata from many bio-scientific
-formats such as plain TIFF, BigTIFF, OME-TIFF, STK, LSM, SGI,NIH, ImageJ,
-MicroManager, MD GEL, and FluoView files. It also lets you write numpy arrays
-to TIFF, BigTIFF, and ImageJ hyperstack compatible files.")
- (license license:bsd-3)))
-
-(define-public python-tifffile-for-dask-image
- ;; It's for python-dask-image@2024.5.3, remove when no longer required.
- (hidden-package
- (package
- (inherit python-tifffile)
- (name "python-tifffile")
- (version "2023.12.9")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tifffile" version))
- (sha256
- (base32 "1f6d8qdlq0zlksfdhp1mhj9icpwhw4cz47r4i80m6r0a328xmlcx")))))))
-
-(define-public python-tiktoken
- (package
- (name "python-tiktoken")
- (version "0.9.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tiktoken" version))
- (sha256
- (base32 "0p9cg6n8mzdi4lbbwxrrp26chy5hr14bqmzr3w74kq1qm6k5qanh"))))
- (build-system cargo-build-system)
- (arguments
- (list
- #:install-source? #false
- #:imported-modules
- (append %pyproject-build-system-modules
- %cargo-build-system-modules)
- #:modules
- '((guix build cargo-build-system)
- ((guix build pyproject-build-system) #:prefix py:)
- (guix build utils))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'build
- (assoc-ref py:%standard-phases 'build))
- (add-after 'install 'wrap
- (lambda _
- ;; Collection of python- and pyproject-build-system phases
- ;; between 'install and 'check.
- (assoc-ref py:%standard-phases 'add-install-to-pythonpath)
- (assoc-ref py:%standard-phases 'add-install-to-path)
- (assoc-ref py:%standard-phases 'wrap)
- (assoc-ref py:%standard-phases 'create-entrypoints)
- (assoc-ref py:%standard-phases 'compile-bytecode)))
- (replace 'install
- (assoc-ref py:%standard-phases 'install)))))
- (propagated-inputs (list python-regex python-requests))
- (inputs (cargo-inputs 'python-tiktoken))
- (native-inputs
- (list python-setuptools
- python-setuptools-rust
- python-wheel
- python-wrapper))
- (home-page "https://github.com/openai/tiktoken/")
- (synopsis "Fast BPE tokeniser for use with OpenAI's models")
- (description
- "Tiktoken is a fast @dfn{byte pair encoding} (BPE) tokeniser for use with
-@code{OpenAI's} models.")
- (license license:expat)))
-
(define-public python-lfdfiles
(package
(name "python-lfdfiles")
@@ -13250,7 +13038,7 @@ a front-end for C compilers or analysis tools.")
(list meson
ninja
pkg-config
- python-cython-3
+ python-cython
python-meson-python
python-numpy
python-pytest))
@@ -14585,63 +14373,6 @@ cluster down and deletes the throwaway profile.")
connect strings, then issue SQL commands within IPython or IPython Notebook.")
(license license:expat)))
-(define-public python-traitlets
- (package
- (name "python-traitlets")
- (version "5.14.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "traitlets" version))
- (sha256
- (base32
- "0zjj8ha4z5lbhhmvcl3q8wp5qmwqq0lwxma3d8qvh10s6xdi11c5"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- '(list "-k" "not mypy_list_typing and not mypy_dict_typing")))
- (native-inputs
- (list python-argcomplete
- python-hatchling
- python-mypy
- python-pytest
- python-pytest-mock
- python-pytest-mypy-testing))
- (home-page "https://ipython.org")
- (synopsis "Configuration system for Python applications")
- (description
- "Traitlets is a framework that lets Python classes have attributes with
-type checking, dynamically calculated default values, and ‘on change’
-callbacks. The package also includes a mechanism to use traitlets for
-configuration, loading values from files or from command line arguments. This
-is a distinct layer on top of traitlets, so you can use traitlets in your code
-without using the configuration machinery.")
- (license license:bsd-3)))
-
-(define-public python-treelib
- (package
- (name "python-treelib")
- (version "1.8.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/caesar0301/treelib")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0jd3rdaq8v7ykb626cm1gxa03higqnn2pmnv46fc0lc55xbrkxlf"))
- (patches
- (search-patches "python-treelib-remove-python2-compat.patch"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-poetry-core python-pytest))
- (home-page "https://github.com/caesar0301/treelib")
- (synopsis "Implementation of a tree structure in Python")
- (description
- "This package provides a Python implementation of a tree structure.")
- (license license:asl2.0)))
-
(define-public python-optree
(package
(name "python-optree")
@@ -15226,44 +14957,6 @@ computing.")
code.")
(license license:bsd-3)))
-(define-public python-textdistance
- (package
- (name "python-textdistance")
- (version "4.6.3")
- (source
- (origin
- ;; There are no tests in the PyPI tarball.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/life4/textdistance")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1qaplikab46p38jqr93bxd26vvxcnvib15fjxmmp4cbsiy5196sg"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (min 4 (parallel-job-count))))))
- (native-inputs
- (list python-numpy
- python-pytest
- python-pytest-xdist
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-jellyfish
- python-distance
- python-levenshtein
- python-pylev
- python-pyxdameraulevenshtein
- python-rapidfuzz))
- (home-page "https://github.com/life4/textdistance")
- (synopsis "Compute distance between the two texts")
- (description "@code{textdistance} is a pure Python library for comparing
-distance between two or more sequences by many algorithms.")
- (license license:expat)))
-
(define-public python-pydbus
(package
(name "python-pydbus")
@@ -15614,33 +15307,6 @@ language, in Python.")
GA4GH Task Execution API.")
(license license:expat)))
-(define-public python-toposort
- (package
- (name "python-toposort")
- (version "1.10")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "toposort" version))
- (sha256
- (base32
- "1gd66z5dy6j7qs5qkj1pg0vb15rwd571yq02fkm9d9nhaff4gfxz"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- '(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (invoke "python3" "-m" "test.test_toposort"))))))
- (native-inputs (list python-setuptools python-wheel))
- (home-page "https://gitlab.com/ericvsmith/toposort")
- (synopsis "Topological sort algorithm")
- (description
- "This package provides an implementation of a topological sort
-algorithm.")
- (license license:asl2.0)))
-
(define-public python-altgraph
(package
(name "python-altgraph")
@@ -15661,61 +15327,6 @@ traversals, topological sort, shortest paths, and more with graphviz
output.")
(license license:expat)))
-(define-public python-three-merge
- (package
- (name "python-three-merge")
- (version "0.1.1")
- (source
- (origin
- ;; There are no tests in the PyPI tarball.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spyder-ide/three-merge")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1fw28swh6jq4myr09j7gv68l241b8vwg470ak5xv0x4xwh2a1m86"))))
- (build-system pyproject-build-system)
- (propagated-inputs
- (list python-diff-match-patch))
- (native-inputs
- (list python-pytest python-setuptools python-wheel))
- (home-page "https://github.com/spyder-ide/three-merge")
- (synopsis "Library for merging two strings with respect to a base one")
- (description
- "This package provides a Python library to perform a 3-way merge between
-strings, based on @code{diff-match-patch}. This library performs merges at a
-character level, as opposed to most VCS systems, which opt for a line-based
-approach.")
- (license license:expat)))
-
-(define-public python-throttler
- (package
- (name "python-throttler")
- (version "1.2.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/uburuntu/throttler")
- (commit (string-append "v" version))))
- (sha256
- (base32 "1gn21x0zkm7rr7qijlz7nvw7z0mm1j2r0r2lslg7wln1z36gjkbw"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-aiohttp
- python-codecov
- python-flake8
- python-pytest
- python-pytest-asyncio
- python-pytest-cov
- python-setuptools
- python-wheel))
- (home-page "https://github.com/uburuntu/throttler")
- (synopsis "Throttling with asyncio support")
- (description
- "This is a Python package for easy throttling with asyncio support.")
- (license license:expat)))
-
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
@@ -17072,8 +16683,9 @@ stdin/stdout/stderr.")
(uri (pypi-uri "stopit" version))
(sha256
(base32 "0vcrcvky249q4rbgmwf18mwmnypfk8jpn4h6knyjf86r7xc9rwzp"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ;there are none
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ;there are none
+ (native-inputs (list python-setuptools))
(home-page "https://pypi.python.org/pypi/stopit")
(synopsis "Timeout control decorator and context managers")
(description
@@ -17081,27 +16693,6 @@ stdin/stdout/stderr.")
blocks or callables with two context managers and two decorators.")
(license license:expat)))
-(define-public python-timeout-decorator
- ;; TODO: Remove when python-requests-caches releses a fresh version dropping
- ;; it, see, <https://github.com/requests-cache/requests-cache/pull/1111>.
- (package
- (name "python-timeout-decorator")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "timeout-decorator" version))
- (sha256
- (base32 "1mxk2qyydhzncm93z08kvj5ssxq3fr2n7pkrrji28nqwvdc2ybva"))))
- (build-system pyproject-build-system)
- (arguments (list #:tests? #f))
- (native-inputs (list python-setuptools python-wheel))
- (home-page "https://github.com/pnpnpn/timeout-decorator")
- (synopsis "Timeout decorator")
- (description "This package provides a decorator that raises an error
-when an operation takes longer than expected.")
- (license license:expat)))
-
(define-public python-straight-plugin
(package
(name "python-straight-plugin")
@@ -17363,22 +16954,44 @@ from an XML-based format.")
(define-public python-ly
(package
(name "python-ly")
- (version "0.9.5")
+ (version "0.9.9")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri name version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/frescobaldi/python-ly")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0x98dv7p8mg26p4816yy8hz4f34zf6hpnnfmr56msgh9jnsm2qfl"))))
- (build-system python-build-system)
+ (base32 "1q9jdvc4mrv3xkp7jm4g4kisq1k1d05b5d3wfvhpd85a9yqjrhq8"))))
+ (build-system pyproject-build-system)
(arguments
- ;; FIXME: Some tests need network access.
- '(#:tests? #f))
+ (list
+ #:phases
+ (let ((namespace-url "http://www.w3.org/2001/03/xml.xsd")
+ (xlink-url "http://www.w3.org/XML/2008/06/xlink.xsd"))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'inject-data
+ (lambda _
+ (substitute* "tests/musicxml.xsd"
+ (((string-join (string-split #$namespace-url #\.) "\\."))
+ #$(origin
+ (method url-fetch)
+ (uri namespace-url)
+ (sha256 (base32 "\
+1j6h0sp0pcqi5dv9m6sxwr8brrb59fyx091ld1x6wlh28js4vn8f"))))
+ (((string-join (string-split #$xlink-url #\.) "\\."))
+ #$(origin
+ (method url-fetch)
+ (uri xlink-url)
+ (sha256 (base32 "\
+0jpjha5iiq4rf4hx3qfnmyya9cf17ysxz0rbhsffn5nwgxnghgf8")))))))))))
+ (native-inputs (list python-hatchling python-lxml python-pytest))
(synopsis "Tool and library for manipulating LilyPond files")
- (description "This package provides a Python library to parse, manipulate
-or create documents in LilyPond format. A command line program ly is also
-provided that can be used to do various manipulations with LilyPond files.")
+ (description
+ "This package provides a Python library to parse, manipulate or create
+documents in LilyPond format. A command line program ly is also provided that
+can be used to do various manipulations with LilyPond files.")
(home-page "https://pypi.org/project/python-ly/")
(license license:gpl2+)))
@@ -17425,13 +17038,18 @@ refactoring library.")
(package
(name "python-gorilla")
(version "0.3.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "gorilla" version))
- (sha256
- (base32
- "0b40blcp6fih4nvqbilra4qw1dfccv1ahjmr41ac4d9rjadqkcpy"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/christophercrouzet/gorilla")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hm5ynswhz6i763s6cjlh8lv5ai0f3x17mjvlihqs8idlk4vbrn0"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-backend #~'unittest))
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/christophercrouzet/gorilla")
(synopsis "Convenient monkey patching with Python")
(description
@@ -17444,22 +17062,33 @@ third-party code.")
(define-public python-llfuse
(package
(name "python-llfuse")
- (version "1.4.4")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "llfuse" version))
- (sha256
- (base32
- "1jb4c9avvb0v3830xlbj1r9kj05i98vv6nq05105ppg57y7lq14j"))))
- (build-system python-build-system)
- (inputs
- (list fuse-2 attr))
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/python-llfuse/python-llfuse")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16wsrg1py4gvcxfgsfkll73lfq62psc0hcqvs73az7s4b1pvyy62"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" "not test_listdir") ; requires /usr/bin access.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'build-cython
+ (lambda _
+ (invoke "python" "setup.py" "build_cython"))))))
+ (inputs (list fuse-2 attr))
(native-inputs
- (list pkg-config python-pytest))
+ (list pkg-config python-cython python-pytest python-setuptools))
(synopsis "Python bindings for FUSE")
(description
"Python-LLFUSE is a set of Python bindings for the low level FUSE API.")
- (home-page "https://bitbucket.org/nikratio/python-llfuse/")
+ (home-page "https://github.com/python-llfuse/python-llfuse")
(license license:lgpl2.0+)))
(define-public python-msgpack
@@ -17683,110 +17312,6 @@ programming. It provides standard programming abstractions such as as
tasks, sockets, files, locks, and queues.")
(license license:bsd-3)))
-(define-public python-tables
- (package
- (name "python-tables")
- (version "3.10.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tables" version))
- (sha256
- (base32
- "0469jrkmp0qv8cmlqkizm3b8imyc97mk9pfn66ldpyl6f4m82i15"))
- (snippet '(begin
- (use-modules (guix build utils))
- ;; TODO: Unbundle.
- ;; (delete-file-recursively "hdf5-blosc")
- (delete-file-recursively "c-blosc")))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-tuning
- (lambda _
- (substitute* "setup.py"
- (("cpu_flags = .*")
- "cpu_flags = ['sse2']\n"))))
- (add-after 'unpack 'fix-reference-to-blosc2
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tables/__init__.py"
- (("( +)os.path.join\\(current_dir, blosc2_lib_hardcoded\\),"
- m indent)
- (string-append indent
- "\""
- (search-input-file inputs "/lib/libblosc2.so")
- "\",\n" m)))))
- (add-before 'build 'pre-build
- (lambda _
- (invoke "make" "distclean") ;Regenerate C code with Cython
- (setenv "BLOSC2_DIR" #$(this-package-input "cblosc2"))
- (setenv "BLOSC_DIR" #$(this-package-input "c-blosc"))
- (setenv "BZIP2_DIR" #$(this-package-input "bzip2"))
- (setenv "HDF5_DIR" #$(this-package-input "hdf5"))
- (setenv "LZO_DIR" #$(this-package-input "lzo"))))
- (add-before 'check 'pre-check
- (lambda _
- (setenv "HOME" "/tmp")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "/tmp"
- ;; Performing only a light (yet comprehensive) subset of the
- ;; test suite. If you want a more complete test, try
- ;; passing the --heavy flag to this script (or set the
- ;; 'heavy' parameter in case you are using tables.test()
- ;; call). The whole suite will take more than 4 hours to
- ;; complete on a relatively modern CPU and around 512 MB of
- ;; main memory.
- (invoke "python" "-m" "tables.tests.test_all"))))))))
- (native-inputs
- (list pkg-config
- python-cython
- python-pytest
- python-setuptools
- python-sphinx))
- (inputs
- (list bzip2
- c-blosc
- c-blosc2
- hdf5
- lzo))
- (propagated-inputs
- (list python-blosc2
- python-numexpr
- python-numpy
- python-packaging
- python-py-cpuinfo
- python-typing-extensions))
- (home-page "https://www.pytables.org/")
- (synopsis "Hierarchical datasets for Python")
- (description "PyTables is a package for managing hierarchical datasets and
-designed to efficiently cope with extremely large amounts of data.")
- (license license:bsd-3)))
-
-(define-public python-tasklogger
- (package
- (name "python-tasklogger")
- (version "1.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tasklogger" version))
- (sha256
- (base32 "1901mibcp6aiyjy8afnybrxnb0dkbdxlbvjqbr3gginlw7dr18xh"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-deprecated))
- (native-inputs (list python-coverage python-coveralls python-nose2
- python-numpy python-setuptools python-wheel))
- (home-page "https://github.com/scottgigante/tasklogger")
- (synopsis "Extension to the core Python logging library")
- (description "This package provides an extension to the core Python
-logging library for logging the beginning and completion of tasks and
-subtasks.")
- (license license:gpl2)))
-
(define-public python-sniffio
(package
(name "python-sniffio")
@@ -18014,19 +17539,19 @@ provides a collection of cache libraries in the same API interface.")
(version "1.2.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pylru" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jlhutch/pylru")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "15yj46307sw703vjfkgnr04dqvaicmfcj0hc6yrciildp55r6bs9"))))
- (build-system python-build-system)
+ (base32 "0sqai530d7fpjzny476f3zqq9mv05xqbyw500jmbhrpj9yy1l9xp"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- (invoke "python" "test.py")))))))
+ (list
+ #:test-backend #~'custom
+ #:test-flags #~(list "test.py")))
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/jlhutch/pylru")
(synopsis "Least recently used (LRU) cache implementation")
(description
@@ -18267,74 +17792,64 @@ is binding LibSass.")
(version "1.0.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "idna-ssl" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aio-libs/idna-ssl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0ydrc8hpg9mdr5hqq1lqfsfbn6sjq69slwpfrnlrm3k0phqg14qj"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ;circular dependency with python-aiohttp
+ (base32 "1fj4zkcnx3mk7kbnf4d6pjgv331n17wzpphpwdnmr498ghbsph9k"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ;circular dependency with python-aiohttp
+ (native-inputs (list python-setuptools))
(propagated-inputs (list python-idna))
(home-page "https://github.com/aio-libs/idna-ssl")
- (synopsis "Patch @code{ssl.match_hostname} for Unicode(idna) domains support")
- (description "Patch @code{ssl.match_hostname} for Unicode(idna)
-domains support.")
+ (synopsis "Support Unicode(idna) domains for Python's @code{ssl} module")
+ (description
+ "This package provides Unicode(idna) domains support for Python's
+@code{ssl} module. It patches @code{ssl.match_hostname} for that purpose.")
(license license:expat)))
-;;; Variant used to break a cycle with python-pip-run-bootstrap.
-(define-public python-path-bootstrap
- (hidden-package
- (package
- (name "python-path-bootstrap")
- (version "17.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "path" version))
- (sha256
- (base32 "1scqbwgcbisx8mb28hw789a7np953851wg6z0bbzdm519znha7nl"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f))
- (native-inputs (list python-setuptools python-setuptools-scm python-wheel))
- (home-page "https://github.com/jaraco/path")
- (synopsis "Object-oriented file system path manipulation library")
- (description "@code{path} (formerly @code{path.py}) implements path
-objects as first-class entities, allowing common operations on files to be
-invoked on those path objects directly.")
- (license license:expat))))
-
(define-public python-path
- (package/inherit python-path-bootstrap
+ (package
(name "python-path")
+ (version "17.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "path" version))
+ (sha256
+ (base32 "1scqbwgcbisx8mb28hw789a7np953851wg6z0bbzdm519znha7nl"))))
+ (build-system pyproject-build-system)
(arguments
- (substitute-keyword-arguments
- (package-arguments python-path-bootstrap)
- ((#:tests? _ #f)
- (not (%current-target-system)))
- ((#:test-flags flags #~'())
- #~(append (list "-k"
- (string-append
- ;; Do not test the myproject.toml build as it tries
- ;; to pull dependencies from the Internet.
- "not project "
- ;; This tests assumes a root user exists.
- "and not test_get_owner"))
- #$flags))))
+ (list
+ #:tests? (not (%current-target-system))
+ #:test-flags
+ #~(list "-k"
+ (string-append
+ ;; Do not test the myproject.toml build as it tries
+ ;; to pull dependencies from the Internet.
+ "not project "
+ ;; This tests assumes a root user exists.
+ "and not test_get_owner"))))
(native-inputs
- (modify-inputs (package-native-inputs python-path-bootstrap)
- (append python-appdirs
- python-more-itertools
- python-packaging
- python-pygments
- python-pytest)))
- (properties (alist-delete 'hidden?
- (package-properties
- python-path-bootstrap)))))
+ (list python-appdirs
+ python-more-itertools
+ python-packaging
+ python-pygments
+ python-pytest
+ python-setuptools
+ python-setuptools-scm))
+ (home-page "https://github.com/jaraco/path")
+ (synopsis "Object-oriented file system path manipulation library")
+ (description "@code{path} (formerly @code{path.py}) implements path
+objects as first-class entities, allowing common operations on files to be
+invoked on those path objects directly.")
+ (license license:expat)))
-(define-deprecated-package python-pathpy
- python-path)
+;; It may be removed after 2026-01-24.
+(define-deprecated/public-alias python-path-bootstrap python-path)
+(define-deprecated/public-alias python-pathpy python-path)
(define-public python-pretend
(package
@@ -18362,216 +17877,64 @@ or doubles. Basically, a stub is an object that returns pre-canned responses,
rather than doing any computation.")
(license license:bsd-3)))
-;;; Variant used to break a dependency cycle with
-;;; python-pytest-perf-bootstrap.
-(define-public python-pip-run-bootstrap
- (hidden-package
- (package
- (name "python-pip-run-bootstrap")
- (version "8.8.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jaraco/pip-run")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0ycrjj3jgqcr9c2k7y8vprq65iblg0q0hvwz8zwi13gmb0ffds0c"))))
- (build-system python-build-system)
- (arguments
- (list
- #:tests? #f
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'pretend-version
- ;; The version string is usually derived via setuptools-scm, but
- ;; without the git metadata available this fails.
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
- (native-inputs (list python-setuptools-scm))
- (propagated-inputs (list python-autocommand python-path-bootstrap
- python-packaging))
- (home-page "https://github.com/jaraco/pip-run")
- (synopsis "Dynamic dependency loader for Python")
- (description "The @command{pip-run} command provides on-demand temporary
-package installation for a single interpreter run. It replaces this series of
-commands:
-@example
-$ virtualenv --python pythonX.X --system-site-packages /tmp/env
-$ /tmp/env/bin/pip install pkg1 pkg2 -r reqs.txt
-$ /tmp/env/bin/python ...
-$ rm -rf /tmp/env
-@end example")
- (license license:expat))))
-
(define-public python-pip-run
- (package/inherit python-pip-run-bootstrap
- (name "python-pip-run")
- (arguments
- (substitute-keyword-arguments (package-arguments python-pip-run-bootstrap)
- ((#:tests? _ #f)
- (not (%current-target-system)))
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-k"
- (string-append
- ;; Do not test the myproject.toml build as it tries
- ;; to pull dependencies from the internet.
- "not project "
- ;; These tests attempt to install dependencies from
- ;; the network and fail.
- "and not test_pkg_imported "
- "and not test_pkg_loaded_from_alternate_index ")))))))))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-pip-run-bootstrap)
- (replace "python-path-bootstrap" python-path)))
- (native-inputs
- (modify-inputs (package-native-inputs python-pip-run-bootstrap)
- (append python-nbformat
- python-pygments
- python-pytest)))
- (properties (alist-delete 'hidden? (package-properties
- python-pip-run-bootstrap)))))
-
-(define-public python-tlsh
(package
- (name "python-tlsh")
- (version "4.11.2")
- (home-page "https://github.com/trendmicro/tlsh")
+ (name "python-pip-run")
+ (version "8.8.0")
(source
(origin
(method git-fetch)
- (uri (git-reference (url home-page) (commit version)))
+ (uri (git-reference
+ (url "https://github.com/jaraco/pip-run")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1gb5j73nw3nmx030rf8pm75rns5syxhv44zxr6i74kjicyly1i9w"))))
+ (base32 "0ycrjj3jgqcr9c2k7y8vprq65iblg0q0hvwz8zwi13gmb0ffds0c"))))
(build-system pyproject-build-system)
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'configure
- (lambda _
- (invoke "cmake" "."))) ;to generate tlsh_version.h
- (add-after 'configure 'chdir
- (lambda _
- (chdir "py_ext")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "../Testing"
- (invoke "./python_test.sh"))))))))
- (native-inputs (list cmake-minimal python-setuptools))
- (synopsis "Fuzzy matching library for Python")
- (description
- "Trend Micro Locality Sensitive Hash (TLSH) is a fuzzy matching library.
-Given a byte stream with a minimum length of 256 bytes, TLSH generates a hash
-value which can be used for similarity comparisons. Similar objects have
-similar hash values, which allows for the detection of similar objects by
-comparing their hash values. The byte stream should have a sufficient amount
-of complexity; for example, a byte stream of identical bytes will not generate
-a hash value.")
- (license license:asl2.0)))
-
-(define-public python-termcolor
- (package
- (name "python-termcolor")
- (version "2.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "termcolor" version))
- (sha256
- (base32 "0vwaxyr2vk8gi7s1slq74nb0ssbb0wcn208ziqp48j3dv8kqv3cr"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-hatch-vcs
- python-hatchling
- python-pytest
- python-pytest-cov))
- (home-page "https://pypi.org/project/termcolor/")
- (synopsis "ANSII Color formatting for terminal output")
- (description
- "This package provides ANSII Color formatting for output in terminals.")
- (license license:expat)))
-
-(define-public python-termcolor-1
- (package
- (inherit python-termcolor)
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "termcolor" version))
- (sha256
- (base32
- "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x"))))
- ;; There are no tests
- (arguments (list #:tests? #false))
- (native-inputs
- (list python-setuptools
- python-wheel))))
-
-(define-public python-terminaltables
- (package
- (name "python-terminaltables")
- (version "3.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Robpol86/terminaltables")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256 (base32 "1jlm7n6kxypbr8mvwpd7hf9hbfk0a002ad03wqgxlri4aw8pk39a"))))
- (build-system pyproject-build-system)
- ;; XXX: A lot of test fail with flaky behavior.
- (arguments (list #:tests? #f))
+ (list
+ #:tests? (not (%current-target-system))
+ #:test-flags
+ #~(list "-k" (string-append
+ ;; Do not test the myproject.toml build as it tries
+ ;; to pull dependencies from the internet.
+ "not project "
+ ;; These tests attempt to install dependencies from
+ ;; the network and fail.
+ "and not test_pkg_imported "
+ "and not test_pkg_loaded_from_alternate_index "
+ "and not test_pkg_loaded_from_url "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pretend-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
- (list python-colorclass
- python-colorama
+ (list python-nbformat
+ python-pygments
python-pytest
python-setuptools
- python-termcolor))
- (home-page "https://github.com/Robpol86/terminaltables")
- (synopsis
- "Generate simple tables in terminals from a nested list of strings")
- (description
- "This package makes it easy to draw tables in terminal/console
-applications from a list of lists of strings. It supports multi-line rows.")
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-autocommand
+ python-packaging
+ python-path
+ python-pip))
+ (home-page "https://github.com/jaraco/pip-run")
+ (synopsis "Dynamic dependency loader for Python")
+ (description "The @command{pip-run} command provides on-demand temporary
+package installation for a single interpreter run. It replaces this series of
+commands:
+@example
+$ virtualenv --python pythonX.X --system-site-packages /tmp/env
+$ /tmp/env/bin/pip install pkg1 pkg2 -r reqs.txt
+$ /tmp/env/bin/python ...
+$ rm -rf /tmp/env
+@end example")
(license license:expat)))
-(define-public python-term-background
- (package
- (name "python-term-background")
- (version "1.0.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "term_background" version))
- (sha256
- (base32 "0p674silrwc3jncncmdnj1lr6pl2q5qbx0xi3mzjq9sgcs5vmp4n"))))
- (arguments
- (list
- #:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'fix-build
- (lambda _ (delete-file "setup.py"))))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools
- python-setuptools-scm
- python-wrapper
- python-wheel))
- (home-page "http://github.com/rocky/shell-term-background")
- (synopsis "Determine if shell has a light or dark background")
- (description "This package determines if shell has a light or dark
-background.")
- (license license:gpl2+)))
+;; It may be removed after 2026-01-24.
+(define-deprecated/public-alias python-pip-run-bootstrap python-pip-run)
(define-public python-libarchive-c
(package
@@ -19874,29 +19237,6 @@ and dataclasses.")
@code{ArgumentParser} object.")
(license license:asl2.0)))
-(define-public python-texttable
- (package
- (name "python-texttable")
- (version "1.6.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/foutaise/texttable/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1lcn76wx6fsj8d79gs985irkqz5qbwq1v9ji9jxsra6dbb643v5j"))))
- (build-system pyproject-build-system)
- (arguments (list #:test-flags #~(list "tests.py")))
- (native-inputs (list python-pytest python-setuptools))
- (home-page "https://github.com/foutaise/texttable/")
- (synopsis "Create simple ASCII tables in Python")
- (description
- "This package provides a Python module for creating simple ASCII
-tables.")
- (license license:expat)))
-
(define-public python-atomicwrites
(package
(name "python-atomicwrites")
@@ -20619,28 +19959,6 @@ text.")
@code{boto} library.")
(license license:asl2.0)))
-(define-public python-rsa
- (package
- (name "python-rsa")
- (version "3.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rsa" version))
- (sha256
- (base32
- "1dcxvszbikgzh99ybdc7jq0zb9wspy2ds8z9mjsqiyv3q884xpr5"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-pyasn1))
- (synopsis "Pure-Python RSA implementation")
- (description "Python-RSA is a pure-Python RSA implementation. It supports
-encryption and decryption, signing and verifying signatures, and key
-generation according to PKCS#1 version 1.5. It can be used as a Python
-library as well as on the command line.")
- (home-page "https://stuvel.eu/rsa")
- (license license:asl2.0)))
-
(define-public python-plumbum
(package
(name "python-plumbum")
@@ -20768,7 +20086,7 @@ document.")
(invoke "nose2" "-v" "symengine.tests"))
(format #t "test suite not run~%")))))))
(native-inputs (list cmake-minimal
- python-cython-3
+ python-cython
python-nose2
python-setuptools
python-wheel))
@@ -21380,29 +20698,6 @@ Eventlet, or gevent. Tasks can execute asynchronously (in the background) or
synchronously (wait until ready).")
(license license:bsd-3)))
-(define-public python-translitcodec
- (package
- (name "python-translitcodec")
- (version "0.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/claudep/translitcodec")
- (commit (string-append "version-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cj11sa5hy8ga7p0dgwi4g4gv0qx6c1yi2csgnvxiir16ywslhpw"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools))
- (home-page "https://github.com/claudep/translitcodec")
- (synopsis "Unicode to 8-bit charset transliteration codec")
- (description
- "This package contains codecs for transliterating ISO 10646 texts into
-best-effort representations using smaller coded character sets (ASCII,
-ISO 8859, etc.).")
- (license license:expat)))
-
(define-public python-anyqt
(package
(name "python-anyqt")
@@ -21663,37 +20958,39 @@ can also be used to get the exact location, font or color of the text.")
(define-public python-rarfile
(package
(name "python-rarfile")
- (version "4.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "rarfile" version))
- (sha256
- (base32
- "1882wv9szcm29mnyhjmspyflyr2l7z73srn14w4dlnww49lqfm37"))))
- (build-system python-build-system)
+ (version "4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/markokr/rarfile")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lm4vz4w0hrnzln7w10ijhdiwxy7gz45m44zw4fz7rdnn7c06b36"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f ;; The bsdtar utility is very limited and most tests fail.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "rarfile.py"
- ;; Disable unrar and unar, which are unavailable on Guix.
- (("(unrar|unar)=True" all tool) (string-append tool "=False"))
- ;; Hardcode path to bsdtar
- (("\"bsdtar\"")
- (string-append "\"" (assoc-ref inputs "libarchive") "/bin/bsdtar\"")))
- #t))
- (replace 'check
- (lambda* (#:key inputs tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
- (native-inputs (list python-pytest))
+ (list
+ #:tests? #f ;The bsdtar utility is very limited and most tests fail.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "rarfile.py"
+ ;; Disable unrar and unar, which are unavailable on Guix.
+ (("(unrar|unar)=True" all tool)
+ (string-append tool "=False"))
+ ;; Hardcode path to bsdtar
+ (("\"bsdtar\"")
+ (format #f "~s"
+ (search-input-file inputs "bin/bsdtar")))))))))
+ (native-inputs (list python-pytest python-setuptools))
(inputs (list libarchive))
(home-page "https://github.com/markokr/rarfile")
(synopsis "RAR archive reader for Python")
- (description "This is Python module for RAR archive reading. The interface
-is made as zipfile like as possible.")
+ (description
+ "This is Python module for RAR archive reading. The interface is made as
+zipfile like as possible.")
(license license:isc)))
(define-public python-slugid
@@ -21709,21 +21006,14 @@ is made as zipfile like as possible.")
(file-name (git-file-name name version))
(sha256
(base32 "1h64p2jlqv6lsmw8h2j203kx3bhv72cwzpk5gdhsaamw30cp3h1i"))))
- (build-system python-build-system)
- (native-inputs (list python-nose))
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs tests? #:allow-other-keys)
- (when tests?
- ;; The project uses tox to run the tests via nose.
- (invoke "nosetests" "-v" "test.py")))))))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-backend #~'nose))
+ (native-inputs (list python-pynose python-setuptools))
(home-page "http://taskcluster.github.io/slugid.py")
(synopsis "Module for Base64 encoded UUID v4 slugs")
- (description "This package provides a module for generating v4
-UUIDs and encoding them into 22 character URL-safe base64 slug
-representation.")
+ (description
+ "This package provides a module for generating v4 UUIDs and encoding them
+into 22 character URL-safe base64 slug representation.")
(license license:mpl2.0)))
(define-public python-rich
@@ -21799,58 +21089,6 @@ attractive help output from click, formatted with rich, with minimal
customization required.")
(license license:expat)))
-(define-public python-textual
- (package
- (name "python-textual")
- (version "3.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Textualize/textual")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1sldkhy8phk9c7pln70dyb6aya7qpxb5niym9s91z144dv6ykgws"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-flags
- ;; Snapshot tests require python-pytest-textual-snapshot which
- ;; in turn depends on python-textual.
- '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
- "-k" (string-append
- ;; Broken for unknown reason.
- "not test_textual_env_var"
- ;; Tests that require python-treesitter-languages.
- " and not test_widget_construct"
- " and not test_setting_builtin_language_via_constructor"
- " and not test_setting_builtin_language_via_attribute"
- " and not test_setting_language_to_none"
- " and not test_setting_unknown_language"
- " and not test_register_language"
- " and not test_update_highlight_query"
- " and not test_default_theme"
- " and not test_setting_builtin_themes"
- " and not test_setting_unknown_theme_raises_exception"
- " and not test_registering_and_setting_theme"))))
- (propagated-inputs
- (list python-markdown-it-py
- python-platformdirs
- python-rich
- python-tree-sitter
- ;; python-tree-sitter-languages ; optional, not packed yet
- python-typing-extensions))
- (native-inputs
- (list python-poetry-core
- python-pytest
- python-pytest-asyncio
- python-pytest-xdist))
- (home-page "https://github.com/Textualize/textual")
- (synopsis "Build text user interfaces in Python")
- (description "Textual is a @acronym{TUI, Text User Interface} framework
-for Python inspired by modern web development.")
- (license license:expat)))
-
(define-public python-magic
(package
(name "python-magic")
@@ -21862,49 +21100,40 @@ for Python inspired by modern web development.")
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1x11kfn4g244fia9a7y4ly8dqv5zsxfg3l5azc54dl6gkp2bk7vx"))
- (modules '((guix build utils)))
- ;; Adjust expected output for file@5.45.
- (snippet #~(substitute* "test/libmagic_test.py"
- (("PDF document, version 1\\.2, 2 pages")
- "PDF document, version 1.2, 2 page(s)")))))
- (build-system python-build-system)
+ (base32 "1x11kfn4g244fia9a7y4ly8dqv5zsxfg3l5azc54dl6gkp2bk7vx"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- ;; Replace a specific method call with a hard-coded
- ;; path to the necessary libmagic.so file in the
- ;; store. If we don't do this, then the method call
- ;; will fail to find the libmagic.so file, which in
- ;; turn will cause any application using
- ;; python-magic to fail.
- (add-before 'build 'hard-code-path-to-libmagic
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((magic (search-input-file inputs "/lib/libmagic.so")))
- (substitute* "magic/loader.py"
- (("find_library\\('magic'\\)")
- (string-append "'" magic "'"))))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- ;; The test suite mandates this variable.
- (setenv "LC_ALL" "C.UTF-8")
- (if tests?
- (with-directory-excursion "test"
- (invoke "python" "./libmagic_test.py"))
- (format #t "test suite not run~%")))))))
- (native-inputs
- (list which))
+ (list
+ #:test-backend #~'custom
+ #:test-flags #~(list "test/libmagic_test.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; Adjust expected output for file@5.45.
+ (substitute* "test/libmagic_test.py"
+ (("PDF document, version 1\\.2, 2 pages")
+ "PDF document, version 1.2, 2 page(s)"))))
+ ;; Replace a specific method call with a hard-coded path to the
+ ;; necessary libmagic.so file in the store.
+ (add-before 'build 'hard-code-path-to-libmagic
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "magic/loader.py"
+ (("find_library\\('magic'\\)")
+ (format #f "~s"
+ (search-input-file inputs "lib/libmagic.so")))))))))
+ (native-inputs (list which python-setuptools))
(inputs
;; python-magic needs to be able to find libmagic.so.
(list file))
(synopsis "File type identification using libmagic")
(description
- "This module uses ctypes to access the libmagic file type
-identification library. It makes use of the local magic database and
-supports both textual and MIME-type output. Note that this module and
-the python-file module both provide a \"magic.py\" file; these two
-modules, which are different and were developed separately, both serve
-the same purpose: to provide Python bindings for libmagic.")
+ "This module uses ctypes to access the libmagic file type identification
+library. It makes use of the local magic database and supports both textual
+and MIME-type output. Note that this module and the python-file module both
+provide a \"magic.py\" file; these two modules, which are different and were
+developed separately, both serve the same purpose: to provide Python bindings
+for libmagic.")
(license license:expat)))
(define-public s3cmd
@@ -22006,6 +21235,7 @@ check if a package meets certain version requirements, query CFLAGS and
LDFLAGS and parse the output to build extensions with setup.py.")
(license license:expat)))
+;; This package is unmaintained since 2014, but still used in `khmer'.
(define-public python-bz2file
(package
(name "python-bz2file")
@@ -22015,11 +21245,10 @@ LDFLAGS and parse the output to build extensions with setup.py.")
(method url-fetch)
(uri (pypi-uri "bz2file" version))
(sha256
- (base32
- "126s53fkpx04f33a829yqqk8fj4png3qwg4m66cvlmhmwc8zihb4"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; Tests use deprecated python modules.
+ (base32 "126s53fkpx04f33a829yqqk8fj4png3qwg4m66cvlmhmwc8zihb4"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; Tests use deprecated python modules.
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/nvawda/bz2file")
(synopsis "Read and write bzip2-compressed files")
(description
@@ -22083,7 +21312,7 @@ codebase to support both Python 2 and Python 3 with minimal overhead.")
(build-system pyproject-build-system)
(native-inputs (list meson-python
pkg-config
- python-cython-3
+ python-cython
python-pytest
python-sphinx))
(home-page "https://github.com/sagemath/cysignals")
@@ -22126,105 +21355,37 @@ in strings and comments.")
(define-public python-py3status
(package
(name "python-py3status")
- (version "3.50")
+ (version "3.62")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "py3status" version))
- (sha256
- (base32 "0j2dx9lzpic15r8p0r0s3jmcskxpacahxl640b4864ldn5rlnh9d"))))
- (build-system python-build-system)
- (inputs
- (list file))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- ;; 'file' is used for detection of configuration file encoding
- ;; let's make link the dependency to particular input
- (add-before 'build 'patch-file-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((file-path (assoc-ref inputs "file")))
- (substitute* "py3status/parse_config.py"
- (("\\[\"file\", \"-b\"")
- (string-append "['" file-path "/bin/file', '-b'")))
- #t))))
- #:tests? #f)) ; TODO: Requires many libraries not in Guix.
- (home-page "https://github.com/ultrabug/py3status")
- (synopsis "Extensible i3status wrapper written in Python")
- (description "py3status is an i3status wrapper which extends i3status
-functionality in a modular way, allowing you to extend your panel with your
-own code, responding to click events and updating clock every second.")
- (license license:bsd-3)))
-
-(define-public python-tblib
- (package
- (name "python-tblib")
- (version "3.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tblib" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ultrabug/py3status")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0lnnbicpxx774s29nkbic4rrqvy4rhxd8skx5pp6zxh7kwn4qh06"))))
+ (base32 "13ggwr35w5isylrg1n7akhycm18r03bxin95hdpcmqg7fvqyfppz"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; Don't run benchmark tests.
- #:test-flags #~(list "--ignore=tests/test_perf.py")
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'fix-pytest-config
- (lambda _
- (substitute* "pytest.ini"
- (("--benchmark-disable") "")))))))
- (native-inputs
- (list python-pytest
- python-setuptools))
- (home-page "https://github.com/ionelmc/python-tblib")
- (synopsis "Traceback serialization library")
+ (add-before 'build 'hardcode-file-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "py3status/parse_config.py"
+ (("\\[\"file\", \"-b\"")
+ (format #f "[~s, \"-b\""
+ (search-input-file inputs "bin/file")))))))))
+ (native-inputs (list python-hatchling python-pytest))
+ (inputs (list file))
+ (home-page "https://github.com/ultrabug/py3status")
+ (synopsis "Extensible i3status wrapper written in Python")
(description
- "Traceback serialization allows you to:
-
-@enumerate
-@item Pickle tracebacks and raise exceptions with pickled tracebacks in
-different processes. This allows better error handling when running code over
-multiple processes (imagine multiprocessing, billiard, futures, celery etc).
-
-@item Parse traceback strings and raise with the parsed tracebacks.
-@end enumerate\n")
+ "py3status is an i3status wrapper which extends i3status functionality in
+a modular way, allowing you to extend your panel with your own code,
+responding to click events and updating clock every second.")
(license license:bsd-3)))
-(define-public python-tftpy
- (package
- (name "python-tftpy")
- (version "0.8.2")
- (source
- (origin
- (method git-fetch) ;no tests in PyPI archive
- (uri (git-reference
- (url "https://github.com/msoulier/tftpy")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1gl04ps8h8r7av3h0zbm8gwmkqs9rkk5vf7n8mv2bzrkwvy9hacc"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? inputs outputs #:allow-other-keys)
- (when tests?
- ;; The default DEBUG logging level is way too verbose.
- (substitute* "t/test.py"
- (("logging\\.DEBUG")
- "logging.INFO"))
- (invoke "python" "-m" "unittest" "t/test.py")))))))
- (home-page "https://tftpy.sourceforge.net/")
- (synopsis "Python trivial file transfer protocol (TFTP) library")
- (description "TFTPy is a trivial file transfer protocol (TFTP) Python
-library. It can be used to act both as a TFTP client or TFTP server.")
- (license license:expat)))
-
(define-public python-greenlet
(package
(name "python-greenlet")
@@ -22439,147 +21600,57 @@ graphviz.")
(define-public python-fastimport
(package
(name "python-fastimport")
- (version "0.9.9")
+ (version "0.9.16")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "fastimport" version))
- (sha256
- (base32 "06gk14qgm9dxx3pzjn0ckdbywc8ial2bjfzddqwlr4bn1nnqkbll"))))
- (build-system python-build-system)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jelmer/python-fastimport")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pbnp9ffjs09ngva9qcizpscxl9s47rmd4dhxl62f5iwl6c46798"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-backend #~'unittest))
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/jelmer/python-fastimport")
(synopsis "VCS fastimport parser and generator in Python")
- (description "This package provides a parser for and generator of the Git
+ (description
+ "This package provides a parser for and generator of the Git
@url{https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html,fastimport}
format.")
(license license:gpl2+)))
-(define-public python-twisted
+(define-public python-pika
(package
- (name "python-twisted")
- (version "24.11.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twisted/twisted")
- (commit (string-append "twisted-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0k4rd5bpx40j1k0mgbhzqa35dyni0kk7pxjr8x3pm1iaka1718rh"))))
+ (name "python-pika")
+ (version "1.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pika/pika")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bmp79lds26y2976xrpf53r3acqzpf3wpkprhlh3asqpfv5pwipb"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; tests: skips=638, successes=9759
- #:test-backend #~'custom
#:test-flags
- #~(list "-m" "twisted.trial"
- "--temp-directory=/tmp/_trial_temp"
- (string-append "-j" (number->string (min 8 (parallel-job-count))))
- "twisted")
+ ;; XXX: These test most likely require a running RabbitMQ server.
+ #~(list "--ignore=tests/acceptance/blocking_adapter_test.py")
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- (for-each delete-file
- (list
- ;; No idea why they fail
- "src/twisted/test/test_log.py"
- ;; Network tests
- "src/twisted/conch/test/test_cftp.py"
- "src/twisted/internet/test/test_endpoints.py"
- "src/twisted/protocols/test/test_tls.py"
- "src/twisted/test/test_sslverify.py"
- "src/twisted/web/test/test_agent.py"
- "src/twisted/web/test/test_tap.py"
- ;; These need a git executable
- "src/twisted/python/test/test_release.py"
- ;; These leave behind a socket file, which breaks the
- ;; build with "...has an unsupported type"
- "src/twisted/internet/test/test_unix.py"
- "src/twisted/test/test_unix.py"
- ;; These complain about missing test modules.
- "src/twisted/test/test_failure.py"
- "src/twisted/web/test/test_http2.py"
- "src/twisted/conch/test/test_forwarding.py")))))))
- (propagated-inputs
- (list python-attrs
- python-automat
- python-bcrypt
- python-constantly
- python-hyperlink
- python-incremental
- python-typing-extensions
- python-zope-interface
- ;; [conch]
- python-appdirs
- python-bcrypt
- python-cryptography
- ;; [http2]
- python-h2
- python-priority
- ;; [tls]
- python-idna
- python-pyopenssl
- python-service-identity
- ;; [serial]
- python-pyserial))
- (native-inputs
- (list glibc-utf8-locales ;for OpenTestLogTests.test_utf8
- python-hatch-fancy-pypi-readme
- python-hatchling
- python-httpx
- python-hypothesis
- python-incremental
- python-pyhamcrest
- python-pytest))
- (home-page "https://twistedmatrix.com/")
- (synopsis "Asynchronous networking framework written in Python")
- (description
- "Twisted is an extensible framework for Python programming, with special
-focus on event-based network programming and multiprotocol integration.")
- (license license:expat)))
-
-(define-public python-pika
- (package
- (name "python-pika")
- (version "1.2.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pika/pika")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0sqj3bg6jwign8vwvn337fbwy69sm684ns1vh5kbfnskq4him9i2"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'disable-live-tests
- (lambda _
- ;; Disable tests that require RabbitMQ, which is not
- ;; yet available in Guix.
- (substitute* "nose2.cfg"
- (("tests=tests/unit,tests/acceptance")
- "start-dir=tests/unit"))
- (with-directory-excursion "tests"
- (for-each delete-file
- '("unit/base_connection_tests.py"
- "unit/threaded_test_wrapper_test.py")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "PYTHONPATH" (getcwd))
- (invoke "nose2" "-v")))))))
- (native-inputs
- (list python-mock
- python-nose2
- ;; These are optional at runtime, and provided here for tests.
- python-gevent
- python-tornado
- python-twisted))
+ (add-before 'check 'configure-tests
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "PYTHONPATH" (getcwd))))))))
+ (native-inputs (list python-pytest
+ python-gevent
+ python-tornado
+ python-twisted
+ python-setuptools))
(home-page "https://pika.readthedocs.org")
(synopsis "Pure Python AMQP Client Library")
(description
@@ -22610,29 +21681,6 @@ network support library.")
It uses LR parsing and does extensive error checking.")
(license license:bsd-3)))
-(define-public python-tabulate
- (package
- (name "python-tabulate")
- (version "0.9.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "tabulate" version))
- (sha256
- (base32
- "0g4b0qnbw55igbpxfxzciqvb6w8ncw4gmcgyq0lyavcnylmv3580"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools-scm
- python-setuptools
- python-wheel))
- (home-page "https://bitbucket.org/astanin/python-tabulate")
- (synopsis "Pretty-print tabular data")
- (description
- "Tabulate is a library and command-line utility to pretty-print tabular
-data in Python.")
- (license license:expat)))
-
(define-public python-kazoo
(package
(name "python-kazoo")
@@ -22824,31 +21872,6 @@ Wikipedia code samples at
docstring and colored output.")
(license license:expat)))
-(define-public python-tomlkit
- (package
- (name "python-tomlkit")
- (version "0.13.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tomlkit" version))
- (sha256
- (base32 "18fjmmhiv5jkkg1dwidmxd0sjqnkf675igizxsa2ppspxr3z4323"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-poetry-core
- python-pytest
- python-pyyaml))
- (home-page "https://github.com/sdispater/tomlkit")
- (synopsis "Style-preserving TOML library")
- (description
- "TOML Kit is a 1.0.0rc1-compliant TOML library. It includes a parser that
-preserves all comments, indentations, whitespace and internal element ordering,
-and makes them accessible and editable via an intuitive API. It can also
-create new TOML documents from scratch using the provided helpers. Part of the
-implementation has been adapted, improved, and fixed from Molten.")
- (license license:expat)))
-
(define-public python-shellingham
(package
(name "python-shellingham")
@@ -24787,7 +23810,7 @@ from the header, as well as section details and data available.")
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-setuptools-scm
@@ -24822,29 +23845,6 @@ Werman's implementation of the Earth Mover's Distance.")
JPEG2000 and GIF files in pure Python.")
(license license:expat)))
-(define-public python-termstyle
- (package
- (name "python-termstyle")
- (version "0.1.11")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "termstyle" version))
- (sha256
- (base32
- "17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "test3.py"))))))
- (home-page "https://github.com/gfxmonk/termstyle")
- (synopsis "Console text coloring for Python")
- (description "This package provides console text coloring for Python.")
- (license license:bsd-3)))
-
(define-public python-argcomplete
(package
(name "python-argcomplete")
@@ -27029,37 +26029,6 @@ version of @code{SocksiPy} with bug fixes and extra features.")
@code{ffmpeg} to open various audio formats.")
(license license:expat))) ; MIT license
-(define-public python-tqdm
- (package
- (name "python-tqdm")
- (version "4.67.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tqdm" version))
- (sha256
- (base32 "1wi7cql2fc76b5z9v1sr96ix2gxcb974z8qfydjkmh885k2zkbpq"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-flags
- '(list "-o" "asyncio_mode=auto"
- "-k" "not perf and not test_rlock_creation")))
- (native-inputs
- (list python-pytest
- python-pytest-asyncio
- python-pytest-timeout
- python-setuptools
- python-setuptools-scm
- python-toml
- python-wheel))
- (home-page "https://github.com/tqdm/tqdm")
- (synopsis "Fast, extensible progress meter")
- (description
- "Make loops show a progress bar on the console by just wrapping any
-iterable with @code{|tqdm(iterable)|}. Offers many options to define
-design and layout.")
- (license (list license:mpl2.0 license:expat))))
-
(define-public python-pkginfo
(package
(name "python-pkginfo")
@@ -27089,69 +26058,6 @@ distribution, and the *.egg-info stored in a \"development checkout\" (e.g,
created by running @code{python setup.py develop}).")
(license license:expat)))
-(define-public python-twine
- (package
- (name "python-twine")
- (version "6.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "twine" version))
- (sha256
- (base32 "1kvm9cdvbnh232wafww1w5scaic9kkrwhlff1mvmk68cswphvvg5"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; tests: 228 passed, 1 deselected
- #:test-flags
- ;; Assertion is not equal for one tests.
- #~(list "--deselect=tests/test_check.py::test_fails_rst_syntax_error")))
- (native-inputs
- (list python-pretend
- python-pytest
- python-pytest-socket
- python-setuptools
- python-setuptools-scm))
- (propagated-inputs
- (list python-id
- python-keyring
- python-packaging
- python-readme-renderer
- python-requests
- python-requests-toolbelt
- python-rfc3986
- python-rich
- python-urllib3))
- (home-page "https://github.com/pypa/twine")
- (synopsis "Collection of utilities for interacting with PyPI")
- (description
- "@code{twine} currently supports registering projects and uploading
-distributions. It authenticates the user over HTTPS, allows them to pre-sign
-their files and supports any packaging format (including wheels).")
- (license license:asl2.0)))
-
-(define-public python-tracerite
- (package
- (name "python-tracerite")
- (version "1.1.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "tracerite" version))
- (sha256
- (base32
- "07mkg0sl0h335kj6yjvxki2c19gxhb7rkks1zgzh7aj0y83c17qi"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests in PyPI or Git
- (native-inputs (list python-setuptools python-setuptools-scm))
- (propagated-inputs (list python-html5tagger))
- (home-page "https://github.com/sanic-org/tracerite")
- (synopsis "Human-readable HTML tracebacks")
- (description
- "@code{tracerite} converts Python tracebacks into useful error messages
-in human-readable HTML format.")
- (license license:unlicense)))
-
;; XXX: This project was archived by the owner on Oct 4, 2023. It is now
;; read-only. Consider to remvoe when nothing depends on it.
(define-public python-ratelimiter
@@ -27211,7 +26117,7 @@ executed more than a given number of times during a given period.")
(substitute* "pyproject.toml"
((".*addopts.*") "")))))))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-pytest-asyncio
python-pytest-timeout
@@ -27424,59 +26330,6 @@ definitions to simplify the use of C bindings.")
Angus Johnson's polygon clipping Clipper library (ver. 6.4.2).")
(license license:expat)))
-(define-public python-tempdir
- (package
- (name "python-tempdir")
- (version "0.7.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tempdir" version))
- (sha256
- (base32 "13msyyxqbicr111a294x7fsqbkl6a31fyrqflx3q7k547gnq15k8"))))
- (build-system pyproject-build-system)
- (arguments (list #:tests? #f)) ; No tests.
- (native-inputs (list python-setuptools))
- (home-page "https://pypi.org/project/tempdir/")
- (synopsis "Python library for managing temporary directories")
- (description
- "This library manages temporary directories that are automatically
-deleted with all their contents when they are no longer needed. It is
-particularly convenient for use in tests.")
- (license license:expat)))
-
-(define-public python-tempora
- (package
- (name "python-tempora")
- (version "5.8.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tempora" version))
- (sha256
- (base32 "1k9d6qmlp0i4v3d0dcqcsndvmng3lfdh4y0p8gwy9i8cg7ndkddb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; Do not test the myproject.toml build as it tries to pull dependencies
- ;; from the Internet.
- #:test-flags #~(list "-k" "not project"
- "tests")))
- (native-inputs
- (list python-freezegun
- python-pytest
- python-setuptools
- python-setuptools-scm
- python-tzdata))
- (propagated-inputs (list python-dateutil python-jaraco-functools))
- (home-page "https://github.com/jaraco/tempora")
- (synopsis "Python date and time objects and routines")
- (description "The @code{tempora} Python library contains miscellaneous
-date and time related utilities and constants, routines for measuring,
-profiling, and getting datetime-aware @acronym{UTC, Coordinated Universal
-Time} values as well as an event scheduler.")
- (license license:expat)))
-
(define-public python-semver
(package
(name "python-semver")
@@ -27838,64 +26691,6 @@ a notation for identifying weeks; yyyyWww (where the W is a literal).
Week instances stringify to this form.")
(license license:bsd-3)))
-(define-public python-tokenize-rt
- (package
- (name "python-tokenize-rt")
- (version "6.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/asottile/tokenize-rt")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1maa9sifma0a6v7kl7mmyqzj0jdclzlp4wjr0vkdx95raihxx4fv"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools))
- (home-page "https://github.com/asottile/tokenize-rt")
- (synopsis "Wrapper around the stdlib tokenize which roundtrips")
- (description
- "This Python library is a wrapper around @code{tokenize} from the Python
-standard library. It provides two additional tokens @code{ESCAPED_NL} and
-@code{UNIMPORTANT_WS}, and a @code{Token} data type. Use @code{src_to_tokens}
-and @code{tokens_to_src} to roundtrip.")
- (license license:expat)))
-
-(define-public python-towncrier
- (package
- (name "python-towncrier")
- (version "23.6.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "towncrier" version))
- (sha256
- (base32
- "1hbhzxcn30qlnab1rnk2bf09jfy5bpxzfdp6zfn8sz3jnidbsagw"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-flags
- ;; TODO: Why is this failing?
- #~'("-k" "not test_version")))
- (propagated-inputs
- (list python-click
- python-click-default-group
- python-incremental
- python-jinja2
- python-tomli))
- (native-inputs
- (list git-minimal/pinned ;tests create git repositories
- python-hatchling
- python-packaging
- python-pytest
- python-twisted))
- (home-page "https://towncrier.readthedocs.io/en/stable/")
- (synopsis "Manage release notes")
- (description
- "@code{towncrier} is a utility to produce useful, summarized news
-files (also known as changelogs) for a project.")
- (license license:expat)))
-
(define-public python-future-fstrings
(package
(name "python-future-fstrings")
@@ -28902,49 +27697,19 @@ a file (or some information about a file), return a set of standardized tags
identifying what the file is.")
(license license:expat)))
-(define-public python-tldextract
+(define-public tldr
(package
- (name "python-tldextract")
- (version "3.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tldextract" version))
- (sha256
- (base32 "1wac4yvcpgqjvls770mfx165amvy7gr00nnd2w24bqqwyamj9kdd"))))
- (build-system pyproject-build-system)
- (native-inputs (list nss-certs-for-test
- python-pytest
- python-pytest-mock
- python-responses
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs (list python-filelock python-idna python-requests
- python-requests-file))
- (home-page "https://github.com/john-kurkowski/tldextract")
- (synopsis
- "Separate the TLD from the registered domain and subdomains of a URL")
- (description
- "TLDExtract accurately separates the TLD from the registered domain and
-subdomains of a URL, using the Public Suffix List. By default, this includes
-the public ICANN TLDs and their exceptions. It can optionally support the
-Public Suffix List's private domains as well.")
- (license license:bsd-3)))
-
-(define-public python-tldr
- (package
- (name "python-tldr")
- (version "3.3.0")
+ (name "tldr")
+ (version "3.4.3")
(source
(origin
- (method git-fetch) ; there's no test in PyPI
+ (method git-fetch)
(uri (git-reference
- (url "https://github.com/tldr-pages/tldr-python-client")
- (commit version)))
+ (url "https://github.com/tldr-pages/tldr-python-client")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "15mab6a7ph2rviy5f2ypid6qdbb583fvaf5zhd6q0nrggxx0kkcm"))))
+ (base32 "06rhpywaypqwakw8v187cdf52yl5c7fm19f1q7nbbsydbs0ndmb1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -28956,12 +27721,10 @@ Public Suffix List's private domains as well.")
(lambda _
(invoke "make" "-C" "docs"))))))
(native-inputs
- (list python-pytest
- python-pytest-runner
- python-setuptools
- python-sphinx-argparse
- python-wheel))
- (propagated-inputs
+ (list python-hatchling
+ python-pytest
+ python-sphinx-argparse))
+ (inputs
(list python-colorama
python-termcolor
python-shtab))
@@ -28970,7 +27733,10 @@ Public Suffix List's private domains as well.")
(description "This package provides the @code{tldr} command allowing users
to view @code{tldr} pages from a shell. The @code{tldr} pages are a community
effort to simplify the man pages with practical examples.")
- (license license:expat))) ; MIT license
+ (license license:expat)))
+
+(define-public python-tldr
+ (deprecated-package "python-tldr" tldr))
(define-public python-nodeenv
(package
@@ -29445,63 +28211,6 @@ library's @code{threading} module.")
instead of pickle.")
(license license:psfl)))
-(define-public python-toolrack
- (package
- (name "python-toolrack")
- (version "4.0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/albertodonato/toolrack")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1aglfj7j25fiwx9jh1rl34mlhfpdhn8yrkn30vhkz9yw7zrx42h0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-/bin/sh
- (lambda _
- (substitute* "tests/aio/process_test.py"
- (("/bin/sh")
- (which "sh"))))))))
- (native-inputs (list python-pytest
- python-pytest-asyncio
- python-pytest-mock
- python-setuptools))
- (home-page "https://github.com/albertodonato/toolrack")
- (synopsis "Collection of Python utility functions and classes")
- (description "This package provides a collection of miscellaneous utility
-functions and classes.")
- (license license:lgpl3+)))
-
-(define-public python-toolz
- (package
- (name "python-toolz")
- (version "1.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "toolz" version))
- (sha256
- (base32
- "00ks0jhl1jwm9576c5sh10pnla8ni21yvg4kcxasr627l3cy71ic"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools
- python-wheel))
- (home-page "https://github.com/pytoolz/toolz/")
- (synopsis "List processing tools and functional utilities")
- (description
- "This package provides a set of utility functions for iterators,
-functions, and dictionaries.")
- (license license:bsd-3)))
-
(define-public python-cytoolz
(package
(name "python-cytoolz")
@@ -30014,140 +28723,6 @@ project.")
;; Either license applies.
(license (list license:expat license:asl2.0))))
-(define-public python-trio
- (package
- (name "python-trio")
- (version "0.28.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "trio" version))
- (sha256
- (base32 "019wqwlbj185skknbjd7paxqqx6vl5gpqk2fwmc5d2lyzsb7hm2f"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- `(list "-k"
- (string-append
- ;; This tests times out.
- "not test_ki_protection_works"
- " and not test_KI_interrupts"
- ;; This fails with: signal only works in main thread of the main interpreter
- " and not test_catch_signals_race_condition_on_exit"
- ;; Assertion errors.
- " and not test_named_thread_os"
- " and not test_has_pthread_setname_np"
- " and not test_guest_mode_ki"
- " and not test_run_in_trio_thread_ki"
- " and not test_simple_cancel_scope_usage_doesnt_create\
-_cyclic_garbage"
- " and not test_nursery_cancel_doesnt_create_cyclic_garbage"
- " and not test_cancel_scope_exit_doesnt_create_cyclic_garbage"
- " and not test_locals_destroyed_promptly_on_cancel"
- " and not test_ipython_exc_handler"
- " and not test_for_leaking_fds"
- ;; Signals don’t work in the build sandbox.
- " and not test_open_signal_receiver"
- ;; These try to raise KeyboardInterrupt which does not work
- ;; in the build environment.
- " and not test_ki_self"
- " and not test_ki_wakes_us_up"
- ;; Failure in name resolution.
- " and not test_getnameinfo"
- " and not test_SocketType_resolve"
- ;; OSError: protocol not found.
- " and not test_getprotobyname"
- ;; EOFError: Ran out of input.
- " and not test_static_tool_sees_all_symbols")
- ,@(if (package? (this-package-native-input "python-trustme"))
- '()
- `("--ignore=src/trio/_tests/test_dtls.py"
- "--ignore=src/trio/_tests/test_highlevel_ssl_helpers.py"
- "--ignore=src/trio/_tests/test_ssl.py"))
- ;; It rerquires black and ruff to generate a final report.
- "--ignore=src/trio/_tests/tools/test_gen_exports.py"
- "src/trio/_tests")
- #:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'ignore-deprecations
- (lambda _
- (substitute* "pyproject.toml"
- ((" \"error\",") " \"ignore\","))))
- (add-before 'check 'set-env
- (lambda _
- ;; Tests require a writable home.
- (setenv "HOME" "/tmp")
- ;; #$output is first in path which causes "import file mismatch"
- (setenv "PYTHONPATH" (string-append (getcwd) "/src:$PYTHONPATH")))))))
- (native-inputs
- (append
- (if (supported-package? python-pyopenssl)
- (list python-pyopenssl)
- '())
- (list python-pytest
- python-setuptools)
- (if (supported-package? python-trustme)
- (list python-trustme)
- '())
- (list python-wheel)))
- (propagated-inputs
- (list python-attrs
- python-cffi
- python-exceptiongroup
- python-idna
- python-outcome
- python-sniffio
- python-sortedcontainers))
- (home-page "https://github.com/python-trio/trio")
- (synopsis "Friendly Python library for async concurrency and I/O")
- (description
- "Trio strives to be a production-quality, async/await-native I/O library
-for Python. Like all async libraries, its main purpose is to help you write
-programs that do multiple things at the same time with parallelized I/O.")
- ;; Either license applies.
- (license (list license:expat license:asl2.0))))
-
-(define-public python-trio-typing
- (package
- (name "python-trio-typing")
- (version "0.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "trio-typing" version))
- (sha256
- (base32 "1hvsj3w500i33ykfgh3sfkjnxhxf05incx131smshlkd562fcph6"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools python-wheel))
- (propagated-inputs
- (list python-async-generator
- python-importlib-metadata
- python-mypy-extensions
- python-packaging
- python-trio
- python-typing-extensions))
- (home-page "https://github.com/python-trio/trio-typing")
- (synopsis "Static type checking support for Trio and related projects")
- (description
- "This package provides:
-
-@itemize
-@item PEP 561 typing stubs packages for the Trio project packages:
-
-@itemize
-@item trio (@code{trio-stubs})
-@item outcome (@code{outcome-stubs})
-@item async_generator (@code{async_generator-stubs})
-@end itemize
-
-@item A package @code{trio_typing} containing types that Trio programs often
-want to refer to (@code{AsyncGenerator[Y, S]} and @code{TaskStatus[T])} and
-a mypy plugin that smooths over some limitations in the basic type hints.
-@end itemize")
- ;; Either license applies.
- (license (list license:expat license:asl2.0))))
-
(define-public python-humanize
(package
(name "python-humanize")
@@ -30169,26 +28744,6 @@ and dates in \"human readable\" forms. For example, it would display
\"12345591313\" as \"12.3 billion\".")
(license license:expat)))
-(define-public python-toolshed
- (package
- (name "python-toolshed")
- (version "0.4.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "toolshed" version))
- (sha256
- (base32
- "14zvz51gzf9i1i3d1sj363ba4rksl6lcf4lz1arl8hpqgcbir8r3"))))
- (build-system python-build-system)
- (native-inputs
- (list python-nose))
- (home-page "https://github.com/brentp/toolshed/")
- (synopsis "Collection of modules and functions for working with data")
- (description "This is a collection of well-tested, simple modules and
-functions that aim to reduce boilerplate when working with data.")
- (license license:bsd-2)))
-
(define-public python-annoy
(package
(name "python-annoy")
@@ -31454,37 +30009,6 @@ dedicated platform. The tool proposes a unified interface for any format and
an upload option to send your work back to the platform.")
(license license:gpl3+)))
-(define-public python-titlecase
- (package
- (name "python-titlecase")
- (version "2.4.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "titlecase" version))
- (sha256
- (base32
- "1x9myq3rlbw6wh946ncch8px7wyabhzacy2fjji13nmvrivs50vx"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? test-flags #:allow-other-keys)
- (when tests?
- (apply invoke "python" "-m" "unittest" test-flags)))))))
- (native-inputs
- (list python-setuptools))
- (home-page "https://github.com/ppannuto/python-titlecase")
- (synopsis "Capitalize strings similar to book titles")
- (description
- "Python-Titlecase is a Python port of John Gruber's titlecase.pl.
-It capitalizes (predominantly English) strings in a way that is similar to
-book titles, using the New York Times Manual of Style to leave certain words
-lowercase.")
- (license license:expat)))
-
(define-public python-pypng
(package
(name "python-pypng")
@@ -33026,33 +31550,6 @@ a Python library to convert RELAX NG schemata in Compact syntax (rnc) to
equivalent schemata in the XML-based default RELAX NG syntax.")
(license license:expat)))
-(define-public python-telethon
- (package
- (name "python-telethon")
- (version "1.41.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/LonamiWebs/Telethon")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0rbzqbxsihqm2w1zrvaaafvzwyqqyjx49wfffxrnsr9m32giwzsp"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-pytest-asyncio-0.26
- python-pytest-trio
- python-setuptools))
- (propagated-inputs
- (list python-rsa python-pyaes))
- (home-page "https://docs.telethon.dev")
- (synopsis "Full-featured Telegram client library for Python 3")
- (description "This library is designed to make it easy to write Python
-programs that can interact with Telegram.")
- (license license:expat)))
-
(define-public python-citeproc-py
(package
(name "python-citeproc-py")
@@ -35302,67 +33799,6 @@ HTML/XML from a Python program in an intuitive, lightweight, customizable and
pythonic way.")
(license license:expat)))
-(define-public python-tablib
- (package
- (name "python-tablib")
- (version "3.8.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "tablib" version))
- (sha256
- (base32 "0ayv93q7kpii6z3n57i6b78mpr1ibwd70nvd981a05d7cpfbrn4l"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pandas
- python-pytest
- python-pytest-cov
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-markuppy
- python-odfpy
- python-openpyxl
- python-pyyaml
- python-tabulate
- python-xlrd
- python-xlwt))
- (home-page "https://tablib.readthedocs.io")
- (synopsis "Format agnostic tabular data library")
- (description
- "@code{tablib} is a format-agnostic tabular dataset library,
-written in Python. Supported output formats are Excel (Sets + Books),
-JSON (Sets + Books), YAML (Sets + Books), HTML (Sets), Jira (Sets),
-TSV (Sets), ODS (Sets), CSV (Sets), and DBF (Sets).
-
-@code{tablib} also supports Pandas DataFrames (Sets). Anyhow, since pandas is
-quite huge, this Guix package doesn't depend on pandas. In case, just also
-install @code{python-pandas}.")
- (license license:expat)))
-
-(define-public python-taskgroup
- (package
- (name "python-taskgroup")
- (version "0.0.0a4")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "taskgroup" version))
- (sha256
- (base32 "170m7b59nxrhzs0nz6brj9brz4rzvw6k587ja0cnc9qy48nr027b"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ; no tests in PyPI and Git checkout
- (native-inputs
- (list python-flit-core))
- (home-page "https://github.com/graingert/taskgroup")
- (synopsis "Backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout")
- (description
- "This package provides a backport of @code{asyncio.TaskGroup},
-@code{asyncio.Runner} and @code{asyncio.timeout}.")
- (license license:expat)))
-
(define-public python-csb43
(package
(name "python-csb43")
@@ -38156,6 +36592,1572 @@ instance in spelling correction, predictive typing, to help disabled people
write text fast, and for various text generation, statistics, and modeling tasks.")
(license license:expat)))
+(define-public python-tables
+ (package
+ (name "python-tables")
+ (version "3.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tables" version))
+ (sha256
+ (base32
+ "0469jrkmp0qv8cmlqkizm3b8imyc97mk9pfn66ldpyl6f4m82i15"))
+ (snippet '(begin
+ (use-modules (guix build utils))
+ ;; TODO: Unbundle.
+ ;; (delete-file-recursively "hdf5-blosc")
+ (delete-file-recursively "c-blosc")))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-tuning
+ (lambda _
+ (substitute* "setup.py"
+ (("cpu_flags = .*")
+ "cpu_flags = ['sse2']\n"))))
+ (add-after 'unpack 'fix-reference-to-blosc2
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tables/__init__.py"
+ (("( +)os.path.join\\(current_dir, blosc2_lib_hardcoded\\),"
+ m indent)
+ (string-append indent
+ "\""
+ (search-input-file inputs "/lib/libblosc2.so")
+ "\",\n" m)))))
+ (add-before 'build 'pre-build
+ (lambda _
+ (invoke "make" "distclean") ;Regenerate C code with Cython
+ (setenv "BLOSC2_DIR" #$(this-package-input "cblosc2"))
+ (setenv "BLOSC_DIR" #$(this-package-input "c-blosc"))
+ (setenv "BZIP2_DIR" #$(this-package-input "bzip2"))
+ (setenv "HDF5_DIR" #$(this-package-input "hdf5"))
+ (setenv "LZO_DIR" #$(this-package-input "lzo"))))
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ ;; Performing only a light (yet comprehensive) subset of the
+ ;; test suite. If you want a more complete test, try
+ ;; passing the --heavy flag to this script (or set the
+ ;; 'heavy' parameter in case you are using tables.test()
+ ;; call). The whole suite will take more than 4 hours to
+ ;; complete on a relatively modern CPU and around 512 MB of
+ ;; main memory.
+ (invoke "python" "-m" "tables.tests.test_all"))))))))
+ (native-inputs
+ (list pkg-config
+ python-cython
+ python-pytest
+ python-setuptools
+ python-sphinx))
+ (inputs
+ (list bzip2
+ c-blosc
+ c-blosc2
+ hdf5
+ lzo))
+ (propagated-inputs
+ (list python-blosc2
+ python-numexpr
+ python-numpy
+ python-packaging
+ python-py-cpuinfo
+ python-typing-extensions))
+ (home-page "https://www.pytables.org/")
+ (synopsis "Hierarchical datasets for Python")
+ (description "PyTables is a package for managing hierarchical datasets and
+designed to efficiently cope with extremely large amounts of data.")
+ (license license:bsd-3)))
+
+(define-public python-tablib
+ (package
+ (name "python-tablib")
+ (version "3.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tablib" version))
+ (sha256
+ (base32 "1qjzbpaln1grr5ngcm2apd5dxp0gcrwis5n60hg60d8gvf7bsshv"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm))
+ (inputs ;; [cli]
+ (list python-tabulate))
+ (propagated-inputs
+ (list python-markuppy
+ python-odfpy
+ python-openpyxl
+ python-pyyaml
+ python-xlrd
+ python-xlwt))
+ (home-page "https://tablib.readthedocs.io")
+ (synopsis "Format agnostic tabular data library")
+ (description
+ "@code{tablib} is a format-agnostic tabular dataset library,
+written in Python. Supported output formats are Excel (Sets + Books),
+JSON (Sets + Books), YAML (Sets + Books), HTML (Sets), Jira (Sets),
+TSV (Sets), ODS (Sets), CSV (Sets), and DBF (Sets).
+
+@code{tablib} also supports Pandas DataFrames (Sets). Anyhow, since pandas is
+quite huge, this Guix package doesn't depend on pandas. In case, just also
+install @code{python-pandas}.")
+ (license license:expat)))
+
+(define-public python-tabulate
+ (package
+ (name "python-tabulate")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tabulate" version))
+ (sha256
+ (base32 "0g4b0qnbw55igbpxfxzciqvb6w8ncw4gmcgyq0lyavcnylmv3580"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools-scm
+ python-setuptools))
+ (propagated-inputs
+ (list python-wcwidth))
+ (home-page "https://github.com/astanin/python-tabulate")
+ (synopsis "Pretty-print tabular data")
+ (description
+ "Tabulate is a library and command-line utility to pretty-print tabular
+data in Python.")
+ (license license:expat)))
+
+(define-public python-takethetime
+ (package
+ (name "python-takethetime")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "TakeTheTime" version))
+ (sha256
+ (base32 "1y9gzqb9l1f2smx8783ccjzjvby5mphshgrfks7s75mml59h9qyv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ; tests are time dependent and not provided in PyPI
+ (native-inputs
+ (list python-setuptools
+ python-wheel))
+ (home-page "https://github.com/ErikBjare/TakeTheTime")
+ (synopsis "Timing chunks of code")
+ (description
+ "This package implements a functionality for time taking using context
+managers.")
+ (license license:expat)))
+
+(define-public python-taskgroup
+ (package
+ (name "python-taskgroup")
+ (version "0.0.0a4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "taskgroup" version))
+ (sha256
+ (base32 "170m7b59nxrhzs0nz6brj9brz4rzvw6k587ja0cnc9qy48nr027b"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ; no tests in PyPI and Git checkout
+ (native-inputs
+ (list python-flit-core))
+ (home-page "https://github.com/graingert/taskgroup")
+ (synopsis "Backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout")
+ (description
+ "This package provides a backport of @code{asyncio.TaskGroup},
+@code{asyncio.Runner} and @code{asyncio.timeout}.")
+ (license license:expat)))
+
+(define-public python-tasklogger
+ (package
+ (name "python-tasklogger")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tasklogger" version))
+ (sha256
+ (base32 "1901mibcp6aiyjy8afnybrxnb0dkbdxlbvjqbr3gginlw7dr18xh"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-numpy
+ python-setuptools))
+ (propagated-inputs
+ (list python-deprecated))
+ (home-page "https://github.com/scottgigante/tasklogger")
+ (synopsis "Extension to the core Python logging library")
+ (description "This package provides an extension to the core Python
+logging library for logging the beginning and completion of tasks and
+subtasks.")
+ (license license:gpl2)))
+
+(define-public python-tatsu
+ (package
+ (name "python-tatsu")
+ (version "5.13.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/neogeny/TatSu")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ppgi5r55iirzhnf988b32yvh8ly8lzxbg59y0zgqfaxbma50650"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://tatsu.readthedocs.io/en/stable/")
+ (synopsis "PEG/Packrat Parser generator for Python")
+ (description
+ "TatSu (竜) takes a grammar in a variation of Extended Backus-Naur
+Form (EBNF) as input, and outputs a memoizing Parsing Expression Grammar (PEG)
+or Packrat parser in Python.")
+ (license license:bsd-2)))
+
+(define-public python-tblib
+ (package
+ (name "python-tblib")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tblib" version))
+ (sha256
+ (base32 "0lnnbicpxx774s29nkbic4rrqvy4rhxd8skx5pp6zxh7kwn4qh06"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Don't run benchmark tests.
+ #:test-flags #~(list "--ignore=tests/test_perf.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-pytest-config
+ (lambda _
+ (substitute* "pytest.ini"
+ (("--benchmark-disable") "")))))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://github.com/ionelmc/python-tblib")
+ (synopsis "Traceback serialization library")
+ (description
+ "Traceback serialization allows you to:
+
+@enumerate
+@item Pickle tracebacks and raise exceptions with pickled tracebacks in
+different processes. This allows better error handling when running code over
+multiple processes (imagine multiprocessing, billiard, futures, celery etc).
+
+@item Parse traceback strings and raise with the parsed tracebacks.
+@end enumerate\n")
+ (license license:bsd-3)))
+
+(define-public python-telethon
+ (package
+ (name "python-telethon")
+ (version "1.41.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LonamiWebs/Telethon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rbzqbxsihqm2w1zrvaaafvzwyqqyjx49wfffxrnsr9m32giwzsp"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio-0.26
+ python-pytest-trio
+ python-setuptools))
+ (propagated-inputs
+ (list python-rsa python-pyaes))
+ (home-page "https://docs.telethon.dev")
+ (synopsis "Full-featured Telegram client library for Python 3")
+ (description "This library is designed to make it easy to write Python
+programs that can interact with Telegram.")
+ (license license:expat)))
+
+(define-public python-tempdir
+ (package
+ (name "python-tempdir")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tempdir" version))
+ (sha256
+ (base32 "13msyyxqbicr111a294x7fsqbkl6a31fyrqflx3q7k547gnq15k8"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests.
+ (native-inputs (list python-setuptools))
+ (home-page "https://pypi.org/project/tempdir/")
+ (synopsis "Python library for managing temporary directories")
+ (description
+ "This library manages temporary directories that are automatically
+deleted with all their contents when they are no longer needed. It is
+particularly convenient for use in tests.")
+ (license license:expat)))
+
+(define-public python-tempora
+ (package
+ (name "python-tempora")
+ (version "5.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tempora" version))
+ (sha256
+ (base32 "1k9d6qmlp0i4v3d0dcqcsndvmng3lfdh4y0p8gwy9i8cg7ndkddb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Do not test the myproject.toml build as it tries to pull dependencies
+ ;; from the Internet.
+ #:test-flags #~(list "-k" "not project"
+ "tests")))
+ (native-inputs
+ (list python-freezegun
+ python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-tzdata))
+ (propagated-inputs (list python-dateutil python-jaraco-functools))
+ (home-page "https://github.com/jaraco/tempora")
+ (synopsis "Python date and time objects and routines")
+ (description
+ "The @code{tempora} Python library contains miscellaneous date and time
+related utilities and constants, routines for measuring, profiling, and
+getting datetime-aware @acronym{UTC, Coordinated Universal Time} values as
+well as an event scheduler.")
+ (license license:expat)))
+
+(define-public python-tenacity
+ (package
+ (name "python-tenacity")
+ (version "9.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tenacity" version))
+ (sha256
+ (base32 "0fyp421r038naskvyhj90hkq0az96477njad4rhs6annjz53fzw0"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-tornado-6
+ python-typeguard
+ python-wheel))
+ (home-page "https://github.com/jd/tenacity")
+ (synopsis "Retrying library for python")
+ (description
+ "Tenacity is a general-purpose python library to simplify the task of
+adding retry behavior to just about anything.")
+ (license license:asl2.0)))
+
+(define-public python-term-background
+ (package
+ (name "python-term-background")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "term_background" version))
+ (sha256
+ (base32 "0p674silrwc3jncncmdnj1lr6pl2q5qbx0xi3mzjq9sgcs5vmp4n"))))
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build
+ (lambda _ (delete-file "setup.py"))))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wrapper
+ python-wheel))
+ (home-page "http://github.com/rocky/shell-term-background")
+ (synopsis "Determine if shell has a light or dark background")
+ (description "This package determines if shell has a light or dark
+background.")
+ (license license:gpl2+)))
+
+(define-public python-term-image
+ (package
+ (name "python-term-image")
+ (version "0.7.2")
+ (source
+ (origin
+ ;; We need the full repo to run the tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AnonymouX47/term-image")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lsd5m0k5m99arkca2rzrrlln10c8ax6xfawqwjnspcbf8l3h3dq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags
+ #~(list "tests"
+ ;; These tests require network access.
+ "-k" (string-append "not test_from_url"
+ " and not test_source"
+ " and not test_close"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-dependencies
+ (lambda _
+ (substitute* "setup.py"
+ (("pillow>=9.1,<11") "pillow>=9.1,<12")))))))
+ (propagated-inputs (list python-pillow python-requests))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-urwid))
+ (home-page "https://github.com/AnonymouX47/term-image")
+ (synopsis "Display images in the terminal")
+ (description "term-image is a library and program to display images on
+compatible terminals.
+
+Features:
+@enumerate
+@item Multiple image formats (basically all formats supported by
+@code{PIL.Image.open()})
+@item Multiple image source types: PIL image instance, local file, URL
+@item Multiple image render styles (with automatic support detection)
+@item Support for multiple terminal graphics protocols, including Kitty
+@item Transparency support (with multiple options)
+@item Animated image support (including transparent ones)
+@item Integration into various TUI / terminal-based output libraries
+@item Terminal size awareness
+@item Automatic and manual image sizing
+@item Horizontal and vertical alignment
+@item Automatic and manual font ratio adjustment (to preserve image aspect
+ratio)
+@end enumerate")
+ (license license:expat)))
+
+(define-public python-termcolor
+ (package
+ (name "python-termcolor")
+ (version "2.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "termcolor" version))
+ (sha256
+ (base32 "0vwaxyr2vk8gi7s1slq74nb0ssbb0wcn208ziqp48j3dv8kqv3cr"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-hatch-vcs
+ python-hatchling
+ python-pytest
+ python-pytest-cov))
+ (home-page "https://pypi.org/project/termcolor/")
+ (synopsis "ANSII Color formatting for terminal output")
+ (description
+ "This package provides ANSII Color formatting for output in terminals.")
+ (license license:expat)))
+
+(define-public python-termcolor-1
+ (package
+ (inherit python-termcolor)
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "termcolor" version))
+ (sha256
+ (base32
+ "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x"))))
+ ;; There are no tests
+ (arguments (list #:tests? #false))
+ (native-inputs
+ (list python-setuptools
+ python-wheel))))
+
+(define-public python-terminaltables
+ (package
+ (name "python-terminaltables")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Robpol86/terminaltables")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "1jlm7n6kxypbr8mvwpd7hf9hbfk0a002ad03wqgxlri4aw8pk39a"))))
+ (build-system pyproject-build-system)
+ ;; XXX: A lot of test fail with flaky behavior.
+ (arguments (list #:tests? #f))
+ (native-inputs
+ (list python-colorclass
+ python-colorama
+ python-pytest
+ python-setuptools
+ python-termcolor))
+ (home-page "https://github.com/Robpol86/terminaltables")
+ (synopsis
+ "Generate simple tables in terminals from a nested list of strings")
+ (description
+ "This package makes it easy to draw tables in terminal/console
+applications from a list of lists of strings. It supports multi-line rows.")
+ (license license:expat)))
+
+(define-public python-termstyle
+ (package
+ (name "python-termstyle")
+ (version "0.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "termstyle" version))
+ (sha256
+ (base32 "17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'custom
+ #:test-flags #~(list "test3.py")))
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/gfxmonk/termstyle")
+ (synopsis "Console text coloring for Python")
+ (description "This package provides console text coloring for Python.")
+ (license license:bsd-3)))
+
+(define-public python-text-unidecode
+ (package
+ (name "python-text-unidecode")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "text-unidecode" version))
+ (sha256
+ (base32 "14xb99fdv52j21dsljgsbmbaqv10ps4b453p229r29sdn4xn1mms"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://github.com/kmike/text-unidecode/")
+ (synopsis "Decode Unicode data")
+ (description
+ "@code{text-unidecode} is a basic Python port of the @code{Text::Unidecode}
+Perl library. It can create ASCII representations of Unicode data. In general
+users should prefer the @code{python-unidecode} package which offers better
+memory usage and transliteration quality.")
+ ;; The user can choose either license.
+ (license (list license:clarified-artistic license:gpl2+))))
+
+(define-public python-textdistance
+ (package
+ (name "python-textdistance")
+ (version "4.6.3")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/life4/textdistance")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qaplikab46p38jqr93bxd26vvxcnvib15fjxmmp4cbsiy5196sg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (min 4 (parallel-job-count))))))
+ (native-inputs
+ (list python-numpy
+ python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-jellyfish
+ python-distance
+ python-levenshtein
+ python-pylev
+ python-pyxdameraulevenshtein
+ python-rapidfuzz))
+ (home-page "https://github.com/life4/textdistance")
+ (synopsis "Compute distance between the two texts")
+ (description "@code{textdistance} is a pure Python library for comparing
+distance between two or more sequences by many algorithms.")
+ (license license:expat)))
+
+(define-public python-textparser
+ (package
+ (name "python-textparser")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "textparser" version))
+ (sha256
+ (base32 "0dc3aqbzh0x13i6cmr73q777wv8nxyk3p0kdnynh5l59bbkhixsn"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'unittest))
+ (native-inputs (list python-setuptools))
+ (home-page "https://github.com/eerimoq/textparser")
+ (synopsis "Fast text parser for Python")
+ (description "This library provides a text parser written in the Python
+language. It aims to be fast.")
+ (license license:expat)))
+
+(define-public python-texttable
+ (package
+ (name "python-texttable")
+ (version "1.6.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/foutaise/texttable/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lcn76wx6fsj8d79gs985irkqz5qbwq1v9ji9jxsra6dbb643v5j"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-flags #~(list "tests.py")))
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/foutaise/texttable/")
+ (synopsis "Create simple ASCII tables in Python")
+ (description
+ "This package provides a Python module for creating simple ASCII
+tables.")
+ (license license:expat)))
+
+(define-public python-textual
+ (package
+ (name "python-textual")
+ (version "3.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Textualize/textual")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sldkhy8phk9c7pln70dyb6aya7qpxb5niym9s91z144dv6ykgws"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags
+ ;; Snapshot tests require python-pytest-textual-snapshot which
+ ;; in turn depends on python-textual.
+ '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
+ "-k" (string-append
+ ;; Broken for unknown reason.
+ "not test_textual_env_var"
+ ;; Tests that require python-treesitter-languages.
+ " and not test_widget_construct"
+ " and not test_setting_builtin_language_via_constructor"
+ " and not test_setting_builtin_language_via_attribute"
+ " and not test_setting_language_to_none"
+ " and not test_setting_unknown_language"
+ " and not test_register_language"
+ " and not test_update_highlight_query"
+ " and not test_default_theme"
+ " and not test_setting_builtin_themes"
+ " and not test_setting_unknown_theme_raises_exception"
+ " and not test_registering_and_setting_theme"))))
+ (propagated-inputs
+ (list python-markdown-it-py
+ python-platformdirs
+ python-rich
+ python-tree-sitter
+ ;; python-tree-sitter-languages ; optional, not packed yet
+ python-typing-extensions))
+ (native-inputs
+ (list python-poetry-core
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-xdist))
+ (home-page "https://github.com/Textualize/textual")
+ (synopsis "Build text user interfaces in Python")
+ (description "Textual is a @acronym{TUI, Text User Interface} framework
+for Python inspired by modern web development.")
+ (license license:expat)))
+
+(define-public python-tftpy
+ (package
+ (name "python-tftpy")
+ (version "0.8.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/msoulier/tftpy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11cs52skmisg7rlmcxghmpcxfszcwmph6cvmfdn2p0ks6ckfy9q2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-backend #~'unittest
+ #:test-flags #~(list "tests/test.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'configure-tests
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The default DEBUG logging level is way too verbose.
+ (substitute* "tests/test.py"
+ (("logging\\.DEBUG")
+ "logging.INFO"))))))))
+ (native-inputs (list python-setuptools))
+ (home-page "https://tftpy.sourceforge.net/")
+ (synopsis "Python trivial file transfer protocol (TFTP) library")
+ (description
+ "TFTPy is a trivial file transfer protocol (TFTP) Python library. It can
+be used to act both as a TFTP client or TFTP server.")
+ (license license:expat)))
+
+(define-public python-three-merge
+ (package
+ (name "python-three-merge")
+ (version "0.1.1")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spyder-ide/three-merge")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fw28swh6jq4myr09j7gv68l241b8vwg470ak5xv0x4xwh2a1m86"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-diff-match-patch))
+ (native-inputs
+ (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/spyder-ide/three-merge")
+ (synopsis "Library for merging two strings with respect to a base one")
+ (description
+ "This package provides a Python library to perform a 3-way merge between
+strings, based on @code{diff-match-patch}. This library performs merges at a
+character level, as opposed to most VCS systems, which opt for a line-based
+approach.")
+ (license license:expat)))
+
+(define-public python-throttler
+ (package
+ (name "python-throttler")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uburuntu/throttler")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1gn21x0zkm7rr7qijlz7nvw7z0mm1j2r0r2lslg7wln1z36gjkbw"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-aiohttp
+ python-codecov
+ python-flake8
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-cov
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/uburuntu/throttler")
+ (synopsis "Throttling with asyncio support")
+ (description
+ "This is a Python package for easy throttling with asyncio support.")
+ (license license:expat)))
+
+(define-public python-tifffile
+ (package
+ (name "python-tifffile")
+ (version "2025.10.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tifffile" version))
+ (sha256
+ (base32 "0f1ybmr2jz19gjg92p9vz3qib49m0x4ipxvrvjyfa6r1mcb7qhrf"))))
+ (build-system pyproject-build-system)
+ ;; Tests require lfdfiles, which depends on tifffile
+ (arguments (list #:tests? #f))
+ (propagated-inputs
+ (list python-numpy))
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://www.lfd.uci.edu/~gohlke/")
+ (synopsis "Read and write TIFF(r) files")
+ (description
+ "This package lets you read image and metadata from many bio-scientific
+formats such as plain TIFF, BigTIFF, OME-TIFF, STK, LSM, SGI,NIH, ImageJ,
+MicroManager, MD GEL, and FluoView files. It also lets you write numpy arrays
+to TIFF, BigTIFF, and ImageJ hyperstack compatible files.")
+ (license license:bsd-3)))
+
+(define-public python-tifffile-for-dask-image
+ ;; It's for python-dask-image@2024.5.3, remove when no longer required.
+ (hidden-package
+ (package
+ (inherit python-tifffile)
+ (name "python-tifffile")
+ (version "2023.12.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tifffile" version))
+ (sha256
+ (base32 "1f6d8qdlq0zlksfdhp1mhj9icpwhw4cz47r4i80m6r0a328xmlcx")))))))
+
+(define-public python-tiktoken
+ (package
+ (name "python-tiktoken")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tiktoken" version))
+ (sha256
+ (base32 "0p9cg6n8mzdi4lbbwxrrp26chy5hr14bqmzr3w74kq1qm6k5qanh"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:install-source? #false
+ #:imported-modules
+ (append %pyproject-build-system-modules
+ %cargo-build-system-modules)
+ #:modules
+ '((guix build cargo-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'install 'wrap
+ (lambda _
+ ;; Collection of python- and pyproject-build-system phases
+ ;; between 'install and 'check.
+ (assoc-ref py:%standard-phases 'add-install-to-pythonpath)
+ (assoc-ref py:%standard-phases 'add-install-to-path)
+ (assoc-ref py:%standard-phases 'wrap)
+ (assoc-ref py:%standard-phases 'create-entrypoints)
+ (assoc-ref py:%standard-phases 'compile-bytecode)))
+ (replace 'install
+ (assoc-ref py:%standard-phases 'install)))))
+ (propagated-inputs (list python-regex python-requests))
+ (inputs (cargo-inputs 'python-tiktoken))
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-rust
+ python-wheel
+ python-wrapper))
+ (home-page "https://github.com/openai/tiktoken/")
+ (synopsis "Fast BPE tokeniser for use with OpenAI's models")
+ (description
+ "Tiktoken is a fast @dfn{byte pair encoding} (BPE) tokeniser for use with
+@code{OpenAI's} models.")
+ (license license:expat)))
+
+(define-public python-timeout-decorator
+ ;; TODO: Remove when python-requests-caches releses a fresh version dropping
+ ;; it, see, <https://github.com/requests-cache/requests-cache/pull/1111>.
+ (package
+ (name "python-timeout-decorator")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "timeout-decorator" version))
+ (sha256
+ (base32 "1mxk2qyydhzncm93z08kvj5ssxq3fr2n7pkrrji28nqwvdc2ybva"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/pnpnpn/timeout-decorator")
+ (synopsis "Timeout decorator")
+ (description "This package provides a decorator that raises an error
+when an operation takes longer than expected.")
+ (license license:expat)))
+
+(define-public python-titlecase
+ (package
+ (name "python-titlecase")
+ (version "2.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "titlecase" version))
+ (sha256
+ (base32 "1x9myq3rlbw6wh946ncch8px7wyabhzacy2fjji13nmvrivs50vx"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-backend #~'unittest))
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/ppannuto/python-titlecase")
+ (synopsis "Capitalize strings similar to book titles")
+ (description
+ "Python-Titlecase is a Python port of John Gruber's titlecase.pl.
+It capitalizes (predominantly English) strings in a way that is similar to
+book titles, using the New York Times Manual of Style to leave certain words
+lowercase.")
+ (license license:expat)))
+
+(define-public python-tlsh
+ (package
+ (name "python-tlsh")
+ (version "4.11.2")
+ (home-page "https://github.com/trendmicro/tlsh")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gb5j73nw3nmx030rf8pm75rns5syxhv44zxr6i74kjicyly1i9w"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda _
+ (invoke "cmake" "."))) ;to generate tlsh_version.h
+ (add-after 'configure 'chdir
+ (lambda _
+ (chdir "py_ext")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "../Testing"
+ (invoke "./python_test.sh"))))))))
+ (native-inputs (list cmake-minimal python-setuptools))
+ (synopsis "Fuzzy matching library for Python")
+ (description
+ "Trend Micro Locality Sensitive Hash (TLSH) is a fuzzy matching library.
+Given a byte stream with a minimum length of 256 bytes, TLSH generates a hash
+value which can be used for similarity comparisons. Similar objects have
+similar hash values, which allows for the detection of similar objects by
+comparing their hash values. The byte stream should have a sufficient amount
+of complexity; for example, a byte stream of identical bytes will not generate
+a hash value.")
+ (license license:asl2.0)))
+
+(define-public python-tokenize-rt
+ (package
+ (name "python-tokenize-rt")
+ (version "6.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asottile/tokenize-rt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1maa9sifma0a6v7kl7mmyqzj0jdclzlp4wjr0vkdx95raihxx4fv"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/asottile/tokenize-rt")
+ (synopsis "Wrapper around the stdlib tokenize which roundtrips")
+ (description
+ "This Python library is a wrapper around @code{tokenize} from the Python
+standard library. It provides two additional tokens @code{ESCAPED_NL} and
+@code{UNIMPORTANT_WS}, and a @code{Token} data type. Use @code{src_to_tokens}
+and @code{tokens_to_src} to roundtrip.")
+ (license license:expat)))
+
+(define-public python-tomlkit
+ (package
+ (name "python-tomlkit")
+ (version "0.13.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tomlkit" version))
+ (sha256
+ (base32 "18fjmmhiv5jkkg1dwidmxd0sjqnkf675igizxsa2ppspxr3z4323"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-poetry-core
+ python-pytest
+ python-pyyaml))
+ (home-page "https://github.com/sdispater/tomlkit")
+ (synopsis "Style-preserving TOML library")
+ (description
+ "TOML Kit is a 1.0.0rc1-compliant TOML library. It includes a parser that
+preserves all comments, indentations, whitespace and internal element ordering,
+and makes them accessible and editable via an intuitive API. It can also
+create new TOML documents from scratch using the provided helpers. Part of the
+implementation has been adapted, improved, and fixed from Molten.")
+ (license license:expat)))
+
+(define-public python-toolrack
+ (package
+ (name "python-toolrack")
+ (version "4.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodonato/toolrack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1aglfj7j25fiwx9jh1rl34mlhfpdhn8yrkn30vhkz9yw7zrx42h0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-/bin/sh
+ (lambda _
+ (substitute* "tests/aio/process_test.py"
+ (("/bin/sh")
+ (which "sh"))))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio
+ python-pytest-mock
+ python-setuptools))
+ (home-page "https://github.com/albertodonato/toolrack")
+ (synopsis "Collection of Python utility functions and classes")
+ (description "This package provides a collection of miscellaneous utility
+functions and classes.")
+ (license license:lgpl3+)))
+
+(define-public python-toolshed
+ (package
+ (name "python-toolshed")
+ (version "0.4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "toolshed" version))
+ (sha256
+ (base32 "14zvz51gzf9i1i3d1sj363ba4rksl6lcf4lz1arl8hpqgcbir8r3"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;tests are not included in PyPI archive
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/brentp/toolshed/")
+ (synopsis "Collection of modules and functions for working with data")
+ (description "This is a collection of well-tested, simple modules and
+functions that aim to reduce boilerplate when working with data.")
+ (license license:bsd-2)))
+
+(define-public python-toolz
+ (package
+ (name "python-toolz")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "toolz" version))
+ (sha256
+ (base32 "00ks0jhl1jwm9576c5sh10pnla8ni21yvg4kcxasr627l3cy71ic"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/pytoolz/toolz/")
+ (synopsis "List processing tools and functional utilities")
+ (description
+ "This package provides a set of utility functions for iterators,
+functions, and dictionaries.")
+ (license license:bsd-3)))
+
+(define-public python-toposort
+ (package
+ (name "python-toposort")
+ (version "1.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "toposort" version))
+ (sha256
+ (base32 "1gd66z5dy6j7qs5qkj1pg0vb15rwd571yq02fkm9d9nhaff4gfxz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'custom
+ #:test-flags #~(list "-m" "test.test_toposort")))
+ (native-inputs (list python-setuptools))
+ (home-page "https://gitlab.com/ericvsmith/toposort")
+ (synopsis "Topological sort algorithm")
+ (description
+ "This package provides an implementation of a topological sort
+algorithm.")
+ (license license:asl2.0)))
+
+(define-public python-towncrier
+ (package
+ (name "python-towncrier")
+ (version "25.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "towncrier" version))
+ (sha256
+ (base32 "1c8fjjwlx29jgllxvyzby4cn51iraxba0cmfnfmmgb9iz0lnvwgf"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list git-minimal/pinned ;tests create git repositories
+ python-hatchling
+ python-pytest
+ python-twisted))
+ (propagated-inputs
+ (list python-click
+ python-jinja2))
+ (home-page "https://towncrier.readthedocs.io/en/stable/")
+ (synopsis "Manage release notes")
+ (description
+ "@code{towncrier} is a utility to produce useful, summarized news files
+ (also known as changelogs) for a project.")
+ (license license:expat)))
+
+(define-public python-tqdm
+ (package
+ (name "python-tqdm")
+ (version "4.67.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tqdm" version))
+ (sha256
+ (base32 "1wi7cql2fc76b5z9v1sr96ix2gxcb974z8qfydjkmh885k2zkbpq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags
+ '(list "-o" "asyncio_mode=auto"
+ "-k" "not perf and not test_rlock_creation")))
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio
+ python-pytest-timeout
+ python-setuptools
+ python-setuptools-scm
+ python-toml
+ python-wheel))
+ (home-page "https://github.com/tqdm/tqdm")
+ (synopsis "Fast, extensible progress meter")
+ (description
+ "Make loops show a progress bar on the console by just wrapping any
+iterable with @code{|tqdm(iterable)|}. Offers many options to define
+design and layout.")
+ (license (list license:mpl2.0 license:expat))))
+
+(define-public python-traitlets
+ (package
+ (name "python-traitlets")
+ (version "5.14.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "traitlets" version))
+ (sha256
+ (base32 "0zjj8ha4z5lbhhmvcl3q8wp5qmwqq0lwxma3d8qvh10s6xdi11c5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ '(list "-k" "not mypy_list_typing and not mypy_dict_typing")))
+ (native-inputs
+ (list python-argcomplete
+ python-hatchling
+ python-mypy
+ python-pytest
+ python-pytest-mock
+ python-pytest-mypy-testing))
+ (home-page "https://ipython.org")
+ (synopsis "Configuration system for Python applications")
+ (description
+ "Traitlets is a framework that lets Python classes have attributes with
+type checking, dynamically calculated default values, and ‘on change’
+callbacks. The package also includes a mechanism to use traitlets for
+configuration, loading values from files or from command line arguments. This
+is a distinct layer on top of traitlets, so you can use traitlets in your code
+without using the configuration machinery.")
+ (license license:bsd-3)))
+
+(define-public python-translitcodec
+ (package
+ (name "python-translitcodec")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/claudep/translitcodec")
+ (commit (string-append "version-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cj11sa5hy8ga7p0dgwi4g4gv0qx6c1yi2csgnvxiir16ywslhpw"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/claudep/translitcodec")
+ (synopsis "Unicode to 8-bit charset transliteration codec")
+ (description
+ "This package contains codecs for transliterating ISO 10646 texts into
+best-effort representations using smaller coded character sets (ASCII,
+ISO 8859, etc.).")
+ (license license:expat)))
+
+(define-public python-treelib
+ (package
+ (name "python-treelib")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caesar0301/treelib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jd3rdaq8v7ykb626cm1gxa03higqnn2pmnv46fc0lc55xbrkxlf"))
+ (patches
+ (search-patches "python-treelib-remove-python2-compat.patch"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page "https://github.com/caesar0301/treelib")
+ (synopsis "Implementation of a tree structure in Python")
+ (description
+ "This package provides a Python implementation of a tree structure.")
+ (license license:asl2.0)))
+
+(define-public python-trio
+ (package
+ (name "python-trio")
+ (version "0.28.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "trio" version))
+ (sha256
+ (base32 "019wqwlbj185skknbjd7paxqqx6vl5gpqk2fwmc5d2lyzsb7hm2f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ `(list "-k"
+ (string-append
+ ;; This tests times out.
+ "not test_ki_protection_works"
+ " and not test_KI_interrupts"
+ ;; This fails with: signal only works in main thread of the main interpreter
+ " and not test_catch_signals_race_condition_on_exit"
+ ;; Assertion errors.
+ " and not test_named_thread_os"
+ " and not test_has_pthread_setname_np"
+ " and not test_guest_mode_ki"
+ " and not test_run_in_trio_thread_ki"
+ " and not test_simple_cancel_scope_usage_doesnt_create\
+_cyclic_garbage"
+ " and not test_nursery_cancel_doesnt_create_cyclic_garbage"
+ " and not test_cancel_scope_exit_doesnt_create_cyclic_garbage"
+ " and not test_locals_destroyed_promptly_on_cancel"
+ " and not test_ipython_exc_handler"
+ " and not test_for_leaking_fds"
+ ;; Signals don’t work in the build sandbox.
+ " and not test_open_signal_receiver"
+ ;; These try to raise KeyboardInterrupt which does not work
+ ;; in the build environment.
+ " and not test_ki_self"
+ " and not test_ki_wakes_us_up"
+ ;; Failure in name resolution.
+ " and not test_getnameinfo"
+ " and not test_SocketType_resolve"
+ ;; OSError: protocol not found.
+ " and not test_getprotobyname"
+ ;; EOFError: Ran out of input.
+ " and not test_static_tool_sees_all_symbols")
+ ,@(if (package? (this-package-native-input "python-trustme"))
+ '()
+ `("--ignore=src/trio/_tests/test_dtls.py"
+ "--ignore=src/trio/_tests/test_highlevel_ssl_helpers.py"
+ "--ignore=src/trio/_tests/test_ssl.py"))
+ ;; It rerquires black and ruff to generate a final report.
+ "--ignore=src/trio/_tests/tools/test_gen_exports.py"
+ "src/trio/_tests")
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'ignore-deprecations
+ (lambda _
+ (substitute* "pyproject.toml"
+ ((" \"error\",") " \"ignore\","))))
+ (add-before 'check 'set-env
+ (lambda _
+ ;; Tests require a writable home.
+ (setenv "HOME" "/tmp")
+ ;; #$output is first in path which causes "import file mismatch"
+ (setenv "PYTHONPATH" (string-append (getcwd) "/src:$PYTHONPATH")))))))
+ (native-inputs
+ (append
+ (if (supported-package? python-pyopenssl)
+ (list python-pyopenssl)
+ '())
+ (list python-pytest
+ python-setuptools)
+ (if (supported-package? python-trustme)
+ (list python-trustme)
+ '())
+ (list python-wheel)))
+ (propagated-inputs
+ (list python-attrs
+ python-cffi
+ python-exceptiongroup
+ python-idna
+ python-outcome
+ python-sniffio
+ python-sortedcontainers))
+ (home-page "https://github.com/python-trio/trio")
+ (synopsis "Friendly Python library for async concurrency and I/O")
+ (description
+ "Trio strives to be a production-quality, async/await-native I/O library
+for Python. Like all async libraries, its main purpose is to help you write
+programs that do multiple things at the same time with parallelized I/O.")
+ ;; Either license applies.
+ (license (list license:expat license:asl2.0))))
+
+(define-public python-trio-typing
+ (package
+ (name "python-trio-typing")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "trio-typing" version))
+ (sha256
+ (base32 "1hvsj3w500i33ykfgh3sfkjnxhxf05incx131smshlkd562fcph6"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (propagated-inputs
+ (list python-async-generator
+ python-importlib-metadata
+ python-mypy-extensions
+ python-packaging
+ python-trio
+ python-typing-extensions))
+ (home-page "https://github.com/python-trio/trio-typing")
+ (synopsis "Static type checking support for Trio and related projects")
+ (description
+ "This package provides:
+
+@itemize
+@item PEP 561 typing stubs packages for the Trio project packages:
+
+@itemize
+@item trio (@code{trio-stubs})
+@item outcome (@code{outcome-stubs})
+@item async_generator (@code{async_generator-stubs})
+@end itemize
+
+@item A package @code{trio_typing} containing types that Trio programs often
+want to refer to (@code{AsyncGenerator[Y, S]} and @code{TaskStatus[T])} and
+a mypy plugin that smooths over some limitations in the basic type hints.
+@end itemize")
+ ;; Either license applies.
+ (license (list license:expat license:asl2.0))))
+
+(define-public python-trubar
+ (package
+ (name "python-trubar")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "trubar" version))
+ (sha256
+ (base32 "149l5wid1b41gmfzsrhapcigcbcsflviz8p1pfa937443fxw1dkd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; AttributeError: module 'libcst' has no attribute
+ ;; 'FlattenSentinel'. Did you mean: 'MaybeSentinel'?
+ (list "not test_import_from_future"
+ "test_inport_after_docstring"
+ ;; AssertionError: Items in the second set but not
+ ;; the first
+ "test_walk_files")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-libcst
+ python-pyyaml))
+ (home-page "https://github.com/janezd/trubar")
+ (synopsis "Utility for translation of Python sources")
+ (description
+ "This package provides a tool for translation and localization of Python
+programs via modification of source files. Trubar supports f-strings and does
+not require any changes to the original source code, such as marking strings
+for translation.")
+ (license license:expat)))
+
+(define-public python-twine
+ (package
+ (name "python-twine")
+ (version "6.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "twine" version))
+ (sha256
+ (base32 "1kvm9cdvbnh232wafww1w5scaic9kkrwhlff1mvmk68cswphvvg5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 228 passed, 1 deselected
+ #:test-flags
+ ;; Assertion is not equal for one tests.
+ #~(list "--deselect=tests/test_check.py::test_fails_rst_syntax_error")))
+ (native-inputs
+ (list python-pretend
+ python-pytest
+ python-pytest-socket
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-id
+ python-keyring
+ python-packaging
+ python-readme-renderer
+ python-requests
+ python-requests-toolbelt
+ python-rfc3986
+ python-rich
+ python-urllib3))
+ (home-page "https://github.com/pypa/twine")
+ (synopsis "Collection of utilities for interacting with PyPI")
+ (description
+ "@code{twine} currently supports registering projects and uploading
+distributions. It authenticates the user over HTTPS, allows them to pre-sign
+their files and supports any packaging format (including wheels).")
+ (license license:asl2.0)))
+
+(define-public python-twisted
+ (package
+ (name "python-twisted")
+ (version "24.11.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twisted/twisted")
+ (commit (string-append "twisted-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k4rd5bpx40j1k0mgbhzqa35dyni0kk7pxjr8x3pm1iaka1718rh"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: skips=638, successes=9759
+ #:test-backend #~'custom
+ #:test-flags
+ #~(list "-m" "twisted.trial"
+ "--temp-directory=/tmp/_trial_temp"
+ (string-append "-j" (number->string (min 8 (parallel-job-count))))
+ "twisted")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ (for-each delete-file
+ (list
+ ;; No idea why they fail
+ "src/twisted/test/test_log.py"
+ ;; Network tests
+ "src/twisted/conch/test/test_cftp.py"
+ "src/twisted/internet/test/test_endpoints.py"
+ "src/twisted/protocols/test/test_tls.py"
+ "src/twisted/test/test_sslverify.py"
+ "src/twisted/web/test/test_agent.py"
+ "src/twisted/web/test/test_tap.py"
+ ;; These need a git executable
+ "src/twisted/python/test/test_release.py"
+ ;; These leave behind a socket file, which breaks the
+ ;; build with "...has an unsupported type"
+ "src/twisted/internet/test/test_unix.py"
+ "src/twisted/test/test_unix.py"
+ ;; These complain about missing test modules.
+ "src/twisted/test/test_failure.py"
+ "src/twisted/web/test/test_http2.py"
+ "src/twisted/conch/test/test_forwarding.py")))))))
+ (propagated-inputs
+ (list python-attrs
+ python-automat
+ python-bcrypt
+ python-constantly
+ python-hyperlink
+ python-incremental
+ python-typing-extensions
+ python-zope-interface
+ ;; [conch]
+ python-appdirs
+ python-bcrypt
+ python-cryptography
+ ;; [http2]
+ python-h2
+ python-priority
+ ;; [tls]
+ python-idna
+ python-pyopenssl
+ python-service-identity
+ ;; [serial]
+ python-pyserial))
+ (native-inputs
+ (list glibc-utf8-locales ;for OpenTestLogTests.test_utf8
+ python-hatch-fancy-pypi-readme
+ python-hatchling
+ python-httpx
+ python-hypothesis
+ python-incremental
+ python-pyhamcrest
+ python-pytest))
+ (home-page "https://twistedmatrix.com/")
+ (synopsis "Asynchronous networking framework written in Python")
+ (description
+ "Twisted is an extensible framework for Python programming, with special
+focus on event-based network programming and multiprotocol integration.")
+ (license license:expat)))
+
(define-public python-typeapi
(package
(name "python-typeapi")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 6142272b51..397904bca0 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4763,17 +4763,23 @@ top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.")
"--ignore=qtpy/tests/test_qtwidgets.py"
"--ignore=qtpy/tests/test_uic.py"
;; ModuleNotFoundError: No module named 'PyQt5.QtTextToSpeech'
- "-k" "not test_qttexttospeech")))
+ "-k" (string-append "not test_qttexttospeech"
+ ;; Fatal Python error: Segmentation fault
+ " and not test_qtsql_members_aliases"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-pytest-config
+ (lambda _
+ ;; Drop test coverage requirements.
+ (substitute* "pytest.ini"
+ (("--cov-report=term-missing") "")
+ (("--cov-report=xml") "")))))))
+ ;; XXX: Do not include, even supported: Qt5, PySide2 PySide6, only test
+ ;; agains Qt6 to reduce closure size..
(native-inputs
- (list python-pyqt
- python-pyqt-6
- python-pyside-2
- python-pyside-6
+ (list python-pyqt-6
python-pytest
- python-pytest-cov
- python-pytest-qt
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-packaging))
(home-page "https://github.com/spyder-ide/qtpy")
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 07a14a7dd7..bff07ce4ce 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -3257,7 +3257,7 @@ Caller-ID.")
python-ipython
python-numpy
python-pyserial
- python-pyside-2
+ python-pyside-6
python-pyusb))
(arguments
(list
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 8f6cd1fb6e..ea63231e35 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -2492,6 +2492,10 @@
(crate-source "clap" "4.3.24"
"11z4695sw0kp1s4rfnfdgg19n6xllcp297z5mmx0s344qy0hwsgv"))
+(define rust-clap-4.5.23
+ (crate-source "clap" "4.5.23"
+ "110cf0i9fmkfqzqhi1h8za9y0vnr5rwhy3wmv1p0rcgp5vnffd9i"))
+
(define rust-clap-4.5.31
(crate-source "clap" "4.5.31"
"0ryp6xjbdc9cbjjkafjl35j91pvv0ykislwqhr537bi9hkcv0yq2"))
@@ -2548,6 +2552,10 @@
(crate-source "clap_builder" "4.3.24"
"03l6d45csywv8xazs44jwy1hk2jbvznn7mj8dw7p93bdq5mykljy"))
+(define rust-clap-builder-4.5.23
+ (crate-source "clap_builder" "4.5.23"
+ "0f28rgc09kdgfq1hgg1bb1ydaw243w6dwyw74syz439k6b32yn1h"))
+
(define rust-clap-builder-4.5.31
(crate-source "clap_builder" "4.5.31"
"0qyqd6kfcs41x29a95n15744jyv2v07srvwi6z9g7q3jl35y12am"))
@@ -3409,6 +3417,10 @@
(crate-source "crosstermion" "0.14.0"
"1i7caxqlz174zj6pll85vp4avhhzzy00vfdivry3v5hq3phgzf1v"))
+(define rust-crunchy-0.2.2
+ (crate-source "crunchy" "0.2.2"
+ "1dx9mypwd5mpfbbajm78xcrg5lirqk7934ik980mmaffg3hdm0bs"))
+
(define rust-crunchy-0.2.3
(crate-source "crunchy" "0.2.3"
"0aa9k4izp962qlsn5ndgw2zq62mizcpnkns8bxscgz3gqr35knj3"))
@@ -7464,6 +7476,10 @@
(crate-source "half" "1.8.3"
"00q4ki8ycdswapw6xn1q89vr7rzi1c8m99igps0lx1i1gzhyshqv"))
+(define rust-half-2.4.1
+ (crate-source "half" "2.4.1"
+ "123q4zzw1x4309961i69igzd1wb7pj04aaii3kwasrz3599qrl3d"))
+
(define rust-half-2.5.0
(crate-source "half" "2.5.0"
"1ldv2i761fjqxl4rn033nasjrdnw5ysnc1xalsfkfl5skc9zzckx"))
@@ -8323,6 +8339,10 @@
(crate-source "indoc" "1.0.9"
"01l3b4ami6sck57yrn8n2z44jifph2m3jiivkws7w2njbvfrk9xz"))
+(define rust-indoc-2.0.4
+ (crate-source "indoc" "2.0.4"
+ "1n2z66b0y59rr6v4znpcijc2yd3yg6s40hpzv89yb140mvxnq60y"))
+
(define rust-indoc-2.0.5
(crate-source "indoc" "2.0.5"
"1dgjk49rkmx4kjy07k4b90qb5vl89smgb5rcw02n0q0x9ligaj5j"))
@@ -8550,6 +8570,10 @@
(crate-source "is-macro" "0.2.2"
"083v9iqim0cf7rlj09gmks82qv6fx77z3i6595x4fxwv2ag0fzca"))
+(define rust-is-terminal-0.4.13
+ (crate-source "is-terminal" "0.4.13"
+ "0jwgjjz33kkmnwai3nsdk1pz9vb6gkqvw1d1vq7bs3q48kinh7r6"))
+
(define rust-is-terminal-0.4.16
(crate-source "is-terminal" "0.4.16"
"1acm63whnpwiw1padm9bpqz04sz8msymrmyxc55mvlq8hqqpykg0"))
@@ -8824,6 +8848,11 @@
(crate-source "js-sys" "0.3.70"
"0yp3rz7vrn9mmqdpkds426r1p9vs6i8mkxx8ryqdfadr0s2q0s0q"))
+(define rust-js-sys-0.3.76
+ ;; TODO: Check bundled sources.
+ (crate-source "js-sys" "0.3.76"
+ "1dz7v777h2j38wkf8k5iwkfxskn6nff2cdv2jsslyxkpn2svc5v7"))
+
(define rust-js-sys-0.3.77
(crate-source "js-sys" "0.3.77"
"13x2qcky5l22z4xgivi59xhjjx4kxir1zg7gcj0f1ijzd4yg7yhw"))
@@ -9129,6 +9158,10 @@
(crate-source "libc" "0.2.148"
"16rn9l8s5sj9n2jb2pw13ghqwa5nvjggkh9q3lp6vs1jfghp3p4w"))
+(define rust-libc-0.2.169
+ (crate-source "libc" "0.2.169"
+ "02m253hs8gw0m1n8iyrsc4n15yzbqwhddi7w1l0ds7i92kdsiaxm"))
+
(define rust-libc-0.2.170
(crate-source "libc" "0.2.170"
"0a38q3avb6r6azxb7yfbjly5sbr8926z6c4sryyp33rgrf03cnw7"))
@@ -9837,6 +9870,10 @@
(crate-source "log" "0.4.20"
"13rf7wphnwd61vazpxr7fiycin6cb1g8fmvgqg18i464p0y1drmm"))
+(define rust-log-0.4.22
+ (crate-source "log" "0.4.22"
+ "093vs0wkm1rgyykk7fjbqp2lwizbixac1w52gv109p5r4jh0p9x7"))
+
(define rust-log-0.4.26
(crate-source "log" "0.4.26"
"17mvchkvhnm2zxyfagh2g9p861f0qx2g1sg2v14sww9nvjry5g9h"))
@@ -11583,6 +11620,10 @@
(crate-source "once_cell" "1.18.0"
"0vapcd5ambwck95wyz3ymlim35jirgnqn9a0qmi19msymv95v2yx"))
+(define rust-once-cell-1.19.0
+ (crate-source "once_cell" "1.19.0"
+ "14kvw7px5z96dk4dwdm1r9cqhhy2cyj1l5n5b29mynbb8yr15nrz"))
+
(define rust-once-cell-1.20.2
(crate-source "once_cell" "1.20.2"
"0xb7rw1aqr7pa4z3b00y7786gyf8awx2gca3md73afy76dzgwq8j"))
@@ -11631,6 +11672,10 @@
(crate-source "oo7" "0.2.2"
"13cpaq7f51gqcspd4097vjr7r2cjpxpn6c02x67dsdizk0xaiv5c"))
+(define rust-oorandom-11.1.4
+ (crate-source "oorandom" "11.1.4"
+ "1sg4j19r5302a6jpn0kgfkbjnslrqr3ynxv8x2h2ddaaw7kvn45l"))
+
(define rust-oorandom-11.1.5
(crate-source "oorandom" "11.1.5"
"07mlf13z453fq01qff38big1lh83j8l6aaglf63ksqzzqxc0yyfn"))
@@ -12676,6 +12721,10 @@
(crate-source "portable-atomic" "1.11.1"
"10s4cx9y3jvw0idip09ar52s2kymq8rq9a668f793shn1ar6fhpq"))
+(define rust-portable-atomic-1.9.0
+ (crate-source "portable-atomic" "1.9.0"
+ "1cmd87qj90panwsi350djb8lsxdryqkkxmimjcz7a1nsysini76c"))
+
(define rust-portable-atomic-util-0.2.4
(crate-source "portable-atomic-util" "0.2.4"
"01rmx1li07ixsx3sqg2bxqrkzk7b5n8pibwwf2589ms0s3cg18nq"))
@@ -13208,6 +13257,10 @@
"0abjav5868avfgb8fjfvz2dbpm916zmhm8xvxzfgns5hhq033nhp"
#:snippet '(delete-file-recursively "branding")))
+(define rust-pyo3-0.25.0
+ (crate-source "pyo3" "0.25.0"
+ "19277ka0xfam1sljmm5129iars41nbqpflpqzqxfgkiv6rbdcfgj"))
+
(define rust-pyo3-build-config-0.15.2
(crate-source "pyo3-build-config" "0.15.2"
"0414biclhrxv6y0bjm6s9fq9z6yah393ffkd8748pqdq83y3k4kp"))
@@ -13240,6 +13293,10 @@
(crate-source "pyo3-build-config" "0.24.1"
"1hazmb2hm7qad5xcy9gajwj3231hqjnndfcb145014ypkf46awg2"))
+(define rust-pyo3-build-config-0.25.0
+ (crate-source "pyo3-build-config" "0.25.0"
+ "0v8viwyp3whd39wywfh0lv53kjhrykvalisj2vx48h63l5qscpkm"))
+
(define rust-pyo3-ffi-0.16.6
(crate-source "pyo3-ffi" "0.16.6"
"0pzpcmndak7y72p4rw494cki1bxh86diiqdzsw14gxammc1jg26a"))
@@ -13268,6 +13325,10 @@
(crate-source "pyo3-ffi" "0.24.1"
"1g5a5w7rsq2afb5zamz1jjx5834cnwlg4gig0qhb9xnvw4k0aa05"))
+(define rust-pyo3-ffi-0.25.0
+ (crate-source "pyo3-ffi" "0.25.0"
+ "0vlm6m6q3060g2gzvfpijkrr6lmy8kvhyc7asj8lgr4if3ka55gw"))
+
(define rust-pyo3-macros-0.15.2
(crate-source "pyo3-macros" "0.15.2"
"0fmrzl185i00c6kdvy7icmhhc99c51pyha46incqggk4qvl4gch0"))
@@ -13300,6 +13361,10 @@
(crate-source "pyo3-macros" "0.24.1"
"0i2zrpazxwgfbpmzvrcqhdgg3j97l5i0q455b4rzdlx4d9lfag2w"))
+(define rust-pyo3-macros-0.25.0
+ (crate-source "pyo3-macros" "0.25.0"
+ "0502a6860s62sw7vlw92vg4bd4fp1ryfh59glqlhi4lk3cfn8yd1"))
+
(define rust-pyo3-macros-backend-0.15.2
(crate-source "pyo3-macros-backend" "0.15.2"
"15bhc1xib9yz4l1sd2lk3nc7scbqsjfvgvlr3mj0xq0jqh92i32s"))
@@ -13332,6 +13397,10 @@
(crate-source "pyo3-macros-backend" "0.24.1"
"0m9q9zlwn5s0pa2819z3a13yn94pmq1q3swvx04fvc5z1jm6zkzl"))
+(define rust-pyo3-macros-backend-0.25.0
+ (crate-source "pyo3-macros-backend" "0.25.0"
+ "17p8l74mxkrzwd3zcx2yky5fmv33d45f8yiz1qdl935brbmqbzwx"))
+
(define rust-pyproject-toml-0.11.0
(crate-source "pyproject-toml" "0.11.0"
"0sm3ncm57hgcyladl55w59ycl39vq4crigjb9bya0n6b7c162w7g"))
@@ -14452,6 +14521,10 @@
(crate-source "rustc-hash" "1.1.0"
"1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08"))
+(define rust-rustc-hash-2.1.0
+ (crate-source "rustc-hash" "2.1.0"
+ "15yln6fmqlbg0k35r748h8g9xsd637ri23xihq81jb03ncwq1yy7"))
+
(define rust-rustc-hash-2.1.1
(crate-source "rustc-hash" "2.1.1"
"03gz5lvd9ghcwsal022cgkq67dmimcgdjghfb5yb5d352ga06xrm"))
@@ -18748,6 +18821,10 @@
(crate-source "wasm-bindgen" "0.2.93"
"1dfr7pka5kwvky2fx82m9d060p842hc5fyyw8igryikcdb0xybm8"))
+(define rust-wasm-bindgen-0.2.99
+ (crate-source "wasm-bindgen" "0.2.99"
+ "15k3rzb3kjrxyqnh0916gq99mrpwhwy62smawxxc2w0x3llgcx54"))
+
(define rust-wasm-bindgen-backend-0.2.100
(crate-source "wasm-bindgen-backend" "0.2.100"
"1ihbf1hq3y81c4md9lyh6lcwbx6a5j0fw4fygd423g62lm8hc2ig"))
@@ -18772,6 +18849,10 @@
(crate-source "wasm-bindgen-backend" "0.2.93"
"0yypblaf94rdgqs5xw97499xfwgs1096yx026d6h88v563d9dqwx"))
+(define rust-wasm-bindgen-backend-0.2.99
+ (crate-source "wasm-bindgen-backend" "0.2.99"
+ "0ycwa4c68j34687k513djgyy2asn3fw3yp4g9rkq2kvbchwbp2az"))
+
(define rust-wasm-bindgen-futures-0.4.34
(crate-source "wasm-bindgen-futures" "0.4.34"
"0m0lnnnhs9ni4dn9vz74prsjz8bdcf8dvnznd5ljch5s279f06gj"))
@@ -18816,6 +18897,10 @@
(crate-source "wasm-bindgen-macro" "0.2.93"
"1kycd1xfx4d9xzqknvzbiqhwb5fzvjqrrn88x692q1vblj8lqp2q"))
+(define rust-wasm-bindgen-macro-0.2.99
+ (crate-source "wasm-bindgen-macro" "0.2.99"
+ "1znlcrk5bvisr3vscwlqkdby959n3sb367zgdzpjwjd7v4giiiic"))
+
(define rust-wasm-bindgen-macro-support-0.2.100
(crate-source "wasm-bindgen-macro-support" "0.2.100"
"1plm8dh20jg2id0320pbmrlsv6cazfv6b6907z19ys4z1jj7xs4a"))
@@ -18840,6 +18925,10 @@
(crate-source "wasm-bindgen-macro-support" "0.2.93"
"0dp8w6jmw44srym6l752nkr3hkplyw38a2fxz5f3j1ch9p3l1hxg"))
+(define rust-wasm-bindgen-macro-support-0.2.99
+ (crate-source "wasm-bindgen-macro-support" "0.2.99"
+ "1hihsgyg0kf46kjhgfv8x5g9x0q1d0aizj6n7s84ag1xfrdskmrh"))
+
(define rust-wasm-bindgen-shared-0.2.100
(crate-source "wasm-bindgen-shared" "0.2.100"
"0gffxvqgbh9r9xl36gprkfnh3w9gl8wgia6xrin7v11sjcxxf18s"))
@@ -18864,6 +18953,10 @@
(crate-source "wasm-bindgen-shared" "0.2.93"
"1104bny0hv40jfap3hp8jhs0q4ya244qcrvql39i38xlghq0lan6"))
+(define rust-wasm-bindgen-shared-0.2.99
+ (crate-source "wasm-bindgen-shared" "0.2.99"
+ "19h61snrhh1qhb5gz6zyb89l7fbj1fhmxcvi09p9l0mav8zsnfll"))
+
(define rust-wasm-bindgen-test-0.3.50
(crate-source "wasm-bindgen-test" "0.3.50"
"1hsjc60wynlhgw02p32pgb93303pqmsdfxj67gxdkdm37kixbj36"))
@@ -19334,6 +19427,11 @@
(crate-source "web-sys" "0.3.61"
"15qbbdbhyz02srvm01p0cvlh0pvmbbin9hislp0yx8rvnbs9jfz3"))
+(define rust-web-sys-0.3.76
+ ;; TODO: Check bundled sources.
+ (crate-source "web-sys" "0.3.76"
+ "1g0j3kii20mh7hqmdajz2r4c21zynb9h9h026wymalkx88ip5p84"))
+
(define rust-web-sys-0.3.77
(crate-source "web-sys" "0.3.77"
"1lnmc1ffbq34qw91nndklqqm75rasaffj2g4f8h1yvqqz4pdvdik"))
@@ -39477,6 +39575,88 @@
rust-windows-x86-64-gnu-0.52.6
rust-windows-x86-64-gnullvm-0.52.6
rust-windows-x86-64-msvc-0.52.6))
+ (python-sqlglotrs =>
+ (list rust-aho-corasick-1.1.3
+ rust-anes-0.1.6
+ rust-anstyle-1.0.10
+ rust-autocfg-1.1.0
+ rust-bumpalo-3.16.0
+ rust-cast-0.3.0
+ rust-cfg-if-1.0.0
+ rust-ciborium-0.2.2
+ rust-ciborium-io-0.2.2
+ rust-ciborium-ll-0.2.2
+ rust-clap-4.5.23
+ rust-clap-builder-4.5.23
+ rust-clap-lex-0.7.4
+ rust-criterion-0.5.1
+ rust-criterion-plot-0.5.0
+ rust-crossbeam-deque-0.8.6
+ rust-crossbeam-epoch-0.9.18
+ rust-crossbeam-utils-0.8.21
+ rust-crunchy-0.2.2
+ rust-either-1.13.0
+ rust-half-2.4.1
+ rust-heck-0.5.0
+ rust-hermit-abi-0.4.0
+ rust-indoc-2.0.4
+ rust-is-terminal-0.4.13
+ rust-itertools-0.10.5
+ rust-itoa-1.0.14
+ rust-js-sys-0.3.76
+ rust-libc-0.2.169
+ rust-log-0.4.22
+ rust-memchr-2.7.4
+ rust-memoffset-0.9.0
+ rust-num-traits-0.2.19
+ rust-once-cell-1.19.0
+ rust-oorandom-11.1.4
+ rust-plotters-0.3.7
+ rust-plotters-backend-0.3.7
+ rust-plotters-svg-0.3.7
+ rust-portable-atomic-1.9.0
+ rust-proc-macro2-1.0.89
+ rust-pyo3-0.25.0
+ rust-pyo3-build-config-0.25.0
+ rust-pyo3-ffi-0.25.0
+ rust-pyo3-macros-0.25.0
+ rust-pyo3-macros-backend-0.25.0
+ rust-quote-1.0.37
+ rust-rayon-1.10.0
+ rust-rayon-core-1.12.1
+ rust-regex-1.11.1
+ rust-regex-automata-0.4.9
+ rust-regex-syntax-0.8.5
+ rust-rustc-hash-2.1.0
+ rust-ryu-1.0.18
+ rust-same-file-1.0.6
+ rust-serde-1.0.216
+ rust-serde-derive-1.0.216
+ rust-serde-json-1.0.133
+ rust-syn-2.0.87
+ rust-target-lexicon-0.13.2
+ rust-tinytemplate-1.2.1
+ rust-unicode-ident-1.0.12
+ rust-unindent-0.2.3
+ rust-walkdir-2.5.0
+ rust-wasm-bindgen-0.2.99
+ rust-wasm-bindgen-backend-0.2.99
+ rust-wasm-bindgen-macro-0.2.99
+ rust-wasm-bindgen-macro-support-0.2.99
+ rust-wasm-bindgen-shared-0.2.99
+ rust-web-sys-0.3.76
+ rust-winapi-util-0.1.9
+ rust-windows-sys-0.52.0
+ rust-windows-sys-0.59.0
+ rust-windows-targets-0.52.6
+ rust-windows-aarch64-gnullvm-0.52.6
+ rust-windows-aarch64-msvc-0.52.6
+ rust-windows-i686-gnu-0.52.6
+ rust-windows-i686-gnullvm-0.52.6
+ rust-windows-i686-msvc-0.52.6
+ rust-windows-x86-64-gnu-0.52.6
+ rust-windows-x86-64-gnullvm-0.52.6
+ rust-windows-x86-64-msvc-0.52.6))
(python-streamtracer =>
(list rust-autocfg-1.4.0
rust-cfg-if-1.0.0
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
index 4fad4d30ca..f70c537009 100644
--- a/gnu/packages/sagemath.scm
+++ b/gnu/packages/sagemath.scm
@@ -199,7 +199,7 @@ represented as strings.")
"080p17yn8wjl973jnw15hz3dhxzp3db1bi4giw3c28d2brrki8qk"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-cython-3 python-pytest python-setuptools python-wheel))
+ (list python-cython python-pytest python-setuptools python-wheel))
(propagated-inputs
(list python-cysignals))
(inputs
@@ -281,7 +281,7 @@ libraries GMO, MPFR and MPC.")
(base32 "1zggfj09zkfcabcsasq27vwbhdmkig4yn380gi6wykcih9n22anl"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-cython-3
+ (list python-cython
python-pytest
python-setuptools
python-wheel))
@@ -381,7 +381,7 @@ database.")
(build-system pyproject-build-system)
(native-inputs
(list autoconf automake m4 pkg-config ; for ./bootstrap
- python-cython-3
+ python-cython
python-cysignals
python-memory-allocator
python-pkgconfig
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 097aa885f8..23da2455da 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2024 Sébastien Lerique <sl@eauchat.org>
@@ -31,6 +31,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
@@ -182,36 +183,38 @@ based on human speech recordings.")
(license license:gpl3+)))
(define-public espeak-ng
- (package
- (name "espeak-ng")
- (version "1.51")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/espeak-ng/espeak-ng")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0xhgdmvpgi464x9ba586c6hvscfkbhry75cv796hl9pz1nawq31b"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags '("--disable-static")
- ;; Building in parallel triggers a race condition in 1.49.2.
- #:parallel-build? #f
- ;; XXX: Some tests require an audio device.
- #:tests? #f))
- (native-inputs
- (list autoconf automake libtool which))
- (inputs
- (list libcap pcaudiolib))
- (home-page "https://github.com/espeak-ng/espeak-ng")
- (synopsis "Software speech synthesizer")
- (description
- "eSpeak NG is a software speech synthesizer for more than 100 languages.
+ (let ((commit "0d451f8c1c6ae837418b823bd9c4cbc574ea9ff5")
+ (revision "1"))
+ (package
+ (name "espeak-ng")
+ (version (git-version "1.52.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/espeak-ng/espeak-ng")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s1kiq8y7vlz8p5xgkxdrbiyh3p0rd32hdzib421nbnji3wy54y2"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
+ ;; Building in parallel triggers a race condition in 1.49.2.
+ #:parallel-build? #f
+ ;; XXX: Some tests require an audio device.
+ #:tests? #f))
+ (native-inputs
+ (list which))
+ (inputs
+ (list libcap pcaudiolib sonic))
+ (home-page "https://github.com/espeak-ng/espeak-ng")
+ (synopsis "Software speech synthesizer")
+ (description
+ "eSpeak NG is a software speech synthesizer for more than 100 languages.
It is based on the eSpeak engine and supports spectral and Klatt formant
synthesis, and the ability to use MBROLA voices.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public mitlm
(package
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 5d04470960..52e898ea02 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -152,7 +152,7 @@
(native-inputs
(list imagemagick ;for "convert"
nss-certs-for-test
- python-cython-3
+ python-cython
python-defusedxml
python-flit-core
python-pytest
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 87e40e1177..ba3b792e37 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1403,7 +1403,7 @@ conformal prediction methods intervals.")
python-patsy
python-scipy))
(native-inputs
- (list python-cython-3
+ (list python-cython
python-matplotlib
python-setuptools
python-setuptools-scm))
@@ -3312,7 +3312,7 @@ files, including Rmarkdown files.")
(build-system python-build-system)
(propagated-inputs (list python-pandas))
(inputs (list libiconv zlib))
- (native-inputs (list python-cython-3))
+ (native-inputs (list python-cython))
(home-page "https://github.com/Roche/pyreadstat")
(synopsis
"Read and write SAS, SPSS and Stata files into/from Pandas DataFrames")
@@ -3633,7 +3633,10 @@ and Causal), and simulations in Bayesian Networks.")
(file-name (git-file-name name version))
(sha256
(base32
- "1p0cmgy19kbkxia139cb5w9dnkp2cdqp5n3baag6cq3prn3n71mf"))))
+ "1p0cmgy19kbkxia139cb5w9dnkp2cdqp5n3baag6cq3prn3n71mf"))
+ (patches
+ (search-patches
+ "xlispstat-fix-compilation-with-modern-gcc.patch"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; Parallel builds are not supported
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index c586e689b9..0b82d8ffbb 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -99,8 +99,11 @@
(snippet
'(begin
;; QProgressIndicator is not available in Guix.
- ;; FIXME: Fix building with the system kirigami.
- (let* ((keep '("QProgressIndicator" "kirigami")))
+ ;; FIXME: Fix building with the system kirigami and qtsolutions.
+ (let* ((keep '("QProgressIndicator"
+ "kirigami"
+ "qtlockedfile"
+ "qtsingleapplication")))
(with-directory-excursion "src/3rdparty"
(for-each delete-file-recursively
(lset-difference string=?
@@ -109,18 +112,8 @@
(with-directory-excursion "src/gui"
(substitute* "CMakeLists.txt"
;; Remove references of deleted 3rdparties.
- (("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.(cpp|h)")
- "")
- (("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.(cpp|h)")
- "")
(("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.(cpp|h)")
"")
- (("[ \t]*list\\(APPEND 3rdparty_SRC \\.\\./3rdparty/?.*\\)")
- "")
- (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtlockedfile")
- "")
- (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtsingleapplication")
- "")
(("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/kmessagewidget")
;; For this, we rely on build inputs, so let's just replace
;; them by an autoconf-style variable.
@@ -129,15 +122,7 @@
;; no longer are post-vendoring.
(("KF6::Archive")
(string-append "KF6::Archive "
- "QtSolutions_LockedFile "
- "QtSolutions_SingleApplication "
- "KF6WidgetsAddons")))
- ;; Fix compatibility with QtSingleApplication from QtSolutions.
- (substitute* '("application.h" "application.cpp")
- (("SharedTools::QtSingleApplication")
- "QtSingleApplication")
- (("slotParseMessage\\(const QString &(msg)?.*\\)")
- "slotParseMessage(const QString &msg)")))
+ "KF6WidgetsAddons"))))
#t))))
(build-system qt-build-system)
(arguments
@@ -245,7 +230,6 @@
qt5compat
qtdeclarative
qtkeychain-qt6
- qtsolutions
qtsvg
qtwayland
qtwebchannel
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 61a71d2d9f..8444116572 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2024 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -281,7 +282,7 @@ Features:
(define-public liferea
(package
(name "liferea")
- (version "1.14.6")
+ (version "1.16.5")
(source
(origin
(method git-fetch)
@@ -290,7 +291,7 @@ Features:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1d701rjjpf2d8i88xdl7m9bi5lfl88920aj7wajk3vl1fwg3pzqp"))))
+ (base32 "1bphjmab2zj0ivydzlr00ds57krfcfaakk02yyxzxr3wsgdi8saf"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -298,10 +299,6 @@ Features:
"--disable-static")
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'prepare-build-environment
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Workaround for https://github.com/lwindolf/liferea/issues/767.
- (setenv "WEBKIT_DISABLE_COMPOSITING_MODE" "1")))
(add-after 'install 'wrap-gi-python
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -309,8 +306,7 @@ Features:
(python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/liferea")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
- #t)))))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path)))))))))
(native-inputs
(list autoconf
automake
@@ -330,9 +326,9 @@ Features:
gstreamer
json-glib
libnotify
- libpeas
+ libpeas-2
libsecret
- libsoup-minimal-2
+ libsoup-minimal
libxml2
libxslt
pango
@@ -340,7 +336,7 @@ Features:
python-pycairo
python-pygobject
sqlite
- webkitgtk-with-libsoup2))
+ webkitgtk-for-gtk3))
(home-page "https://lzone.de/liferea/")
(synopsis "News reader for GTK/GNOME")
(description "Liferea is a desktop feed reader/news aggregator that
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 47baa946d7..0214e95dff 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1063,6 +1063,28 @@ minimalistic.")
usable with any list--including files, command history, processes and more.")
(license license:expat)))
+(define-public python-pyfzf
+ (package
+ (name "python-pyfzf")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyfzf" version))
+ (sha256
+ (base32 "1lkbnhjf92063gg9snxskcx4n2yj7mck2qgrh8q9rjpyrws2x46x"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs
+ (list python-setuptools))
+ (inputs
+ (list fzf))
+ (home-page "https://github.com/nk412/pyfzf")
+ (synopsis "Python wrapper for junegunn's fuzzyfinder (fzf)")
+ (description "This package provides a thin wrapper for @code{fzf}.")
+ (license license:expat)))
+
(define-public tmate
(package
(name "tmate")
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 2eb73704d4..b01431bba0 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -304,7 +304,7 @@ key, and private key are written to a new directory.")
(base32 "16yr25llnbgl2iwk458ca0rhrxsmpfx72q4gdg4a52i6g546p3hd"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-cython-3
+ (list python-cython
python-poetry-core
python-pytest
python-setuptools))
diff --git a/gnu/packages/uucp.scm b/gnu/packages/uucp.scm
index 2e509f6dab..cde94ededb 100644
--- a/gnu/packages/uucp.scm
+++ b/gnu/packages/uucp.scm
@@ -20,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages uucp)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-compression)
@@ -47,18 +48,18 @@
"0b5nhl9vvif1w3wdipjsk8ckw49jj1w85xw1mmqi3zbcpazia306"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The old 'configure' script doesn't support the arguments
- ;; that we pass by default.
- (setenv "CONFIG_SHELL" (which "sh"))
- (let ((out (assoc-ref outputs "out")))
- (invoke "./configure"
- (string-append "--prefix=" out)
- (string-append "--infodir=" out
- "/share/info"))))))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ ;; The old 'configure' script doesn't support the arguments
+ ;; that we pass by default.
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (invoke "./configure"
+ (string-append "--prefix=" #$output)
+ (string-append "--infodir=" #$output
+ "/share/info")))))))
+ (native-inputs (list gcc-13))
(home-page "https://www.gnu.org/software/uucp/uucp.html")
(synopsis "UUCP protocol implementation")
(description
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index aa55af927a..bc42fe28b2 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -820,7 +820,7 @@ is fully configurable and extensible in Common Lisp.")
(define-public lagrange
(package
(name "lagrange")
- (version "1.18.4")
+ (version "1.19.3")
(source
(origin
(method url-fetch)
@@ -828,7 +828,7 @@ is fully configurable and extensible in Common Lisp.")
(string-append "https://git.skyjake.fi/skyjake/lagrange/releases/"
"download/v" version "/lagrange-" version ".tar.gz"))
(sha256
- (base32 "0c3dwsp8zkx2nzmd5mskcf91n20mjk7dlzgy6gn3df6brw57awk9"))
+ (base32 "0srd5ahkls1kdf6waszjaayjgk7jd58i8hjlzh636d26h0vmy0k5"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index b3162b492e..f7e5317655 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6616,7 +6616,7 @@ basic eye-candy effects.")
python-lz4 ; Faster compression than zlib.
python-netifaces
python-pycups))
- (native-inputs (list pkg-config pandoc python-cython-3))
+ (native-inputs (list pkg-config pandoc python-cython))
(arguments
(list
#:configure-flags #~(list "--without-Xdummy"
diff --git a/gnu/packages/zig-xyz.scm b/gnu/packages/zig-xyz.scm
index 9665a56a2d..b4e38a6b57 100644
--- a/gnu/packages/zig-xyz.scm
+++ b/gnu/packages/zig-xyz.scm
@@ -278,6 +278,30 @@ compatible Zig code based on the @acronym{LSP, Language Server Protocol} meta
model.")
(license license:expat))))
+(define-public zig-lsp-kit-for-zls-0.15
+ (let ((commit "6274eebace9a6a82ce182e24468fef88e0b95f37")
+ (revision "0"))
+ (package
+ (name "zig-lsp-kit")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zigtools/lsp-kit")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g4jdvj2pj6qbg912fxifk8rq6bg62kpgpcm0nfmi2h1h34cwp53"))))
+ (build-system zig-build-system)
+ (arguments (list #:skip-build? #t))
+ (home-page "https://zigtools.github.io/lsp-kit/")
+ (synopsis "Develop Language Server Protocol implementations in Zig")
+ (description
+ "Zig @acronym{LSP, Language Server Protocol} Kit provides the necessary
+building blocks to develop LSP implementations in Zig.")
+ (license license:expat))))
+
(define-public zig-diffz
(let ((commit "420fcb22306ffd4c9c3c761863dfbb6bdbb18a73")
(revision "0"))
@@ -319,6 +343,23 @@ model.")
(base32
"0ah1m8mjqjc2szl5lx62zqj69irkbb3y245z14pknikxgg8xdzg7")))))))
+(define-public zig-diffz-for-zls-0.15
+ (let ((commit "a20dd1f11b10819a6f570f98b42e1c91e3704357")
+ (revision "0"))
+ (package
+ (inherit zig-diffz)
+ (name "zig-diffz")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziglibs/diffz")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qz7jqdh4f5dcrzkxipdmsgkfs37k450r9gm7ik7r72dfvjs9c6b")))))))
+
(define-public zig-known-folders
(let ((commit "1cceeb70e77dec941a4178160ff6c8d05a74de6f")
(revision "0"))
@@ -363,6 +404,27 @@ across several operating systems.")
(substitute-keyword-arguments (package-arguments base)
((#:zig _ #f) zig-0.14))))))
+(define-public zig-known-folders-for-zls-0.15
+ (let ((commit "92defaee76b07487769ca352fd0ba95bc8b42a2f")
+ (revision "0")
+ (base zig-known-folders))
+ (package
+ (inherit base)
+ (name "zig-known-folders")
+ (version (git-version "0.7.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziglibs/known-folders")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bwv7kndr4lv7khrrjwg2vgg3cy41y28rmv7rbv7jy06shqy4nzq"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:zig _ #f) zig-0.15))))))
+
(define-public zig-pixman
(package
(name "zig-pixman")
@@ -619,4 +681,34 @@ Language Server Protocol} for the Zig programming language.")
(replace "zig-diffz" zig-diffz-for-zig-zls-0.14)
(replace "zig-known-folders" zig-known-folders-for-zig-0.14))))))
+(define-public zig-zls-0.15
+ (let ((base zig-zls-0.14))
+ (package
+ (inherit base)
+ (name "zig-zls")
+ (version "0.15.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zigtools/zls")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ydnaxf29mj3gamig9phf991s1civfk6jkydn2xiqwv394fx4p0q"))
+ (snippet
+ (rename-zig-dependencies
+ '(("diffz" . "zig-diffz")
+ ("known_folders" . "zig-known-folders")
+ ("lsp_kit" . "zig-lsp-kit"))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" zig-0.15)))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (prepend zig-lsp-kit-for-zls-0.15)
+ (delete "zig-lsp-codegen")
+ (replace "zig-diffz" zig-diffz-for-zls-0.15)
+ (replace "zig-known-folders" zig-known-folders-for-zls-0.15))))))
+
(define-public zig-zls zig-zls-0.13)
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 82484d652d..219896e730 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2021 Calum Irwin <calumirwin1@gmail.com>
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023, 2024 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2025 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2009,25 +2010,21 @@ toolchain. Among other features it provides
(method git-fetch)
(uri (git-reference
(url "https://github.com/ziglang/libc-abi-tools")
- (commit "21993a6036cc165485b20229589340dff9d4fc3c")))
+ (commit "6878b563bd0620c626dc92c7b641a903b648c592")))
(file-name "libc-abi-tools")
(sha256
- (base32 "0miwb0zfgfmm4bh2bs7982wpk0wp5vj2mz10x9c3m8fw7zzcyvbh"))
- (modules '((guix build utils)))
- (snippet
- #~(substitute* "netbsd/consolidate.zig"
- ((".write_buffer = buffer") ".write_buffer = &buffer")))))
+ (base32 "0yfg3ggjmsricg44yalg2l6l5r3hk8lmgh485p6nhhgdiqfdwzng"))))
(define-public zig-0.15
(package
(inherit zig-0.14)
(name "zig")
- (version "0.15.1")
+ (version "0.15.2")
(source
(origin
(inherit (zig-source
version version
- "1cp18plf0x5wip4rnxiqavaqnqxnqzhipb34in6zd3y7wihwjmj4"))
+ "0kr8y1xzb7ffqg4yy7ncg4jh6kndxn5xfqf2viy5gvqdqqql8ymv"))
(patches
(search-patches
"zig-0.14-use-baseline-cpu-by-default.patch"
diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm
index 595cad347e..08416e9962 100644
--- a/gnu/services/ci.scm
+++ b/gnu/services/ci.scm
@@ -180,6 +180,8 @@
(default "/var/lib/forgejo-runner"))
(run-directory forgejo-runner-configuration-run-directory
(default "/var/run/forgejo-runner"))
+ (log-file forgejo-runner-configuration-log-file
+ (default "/var/log/forgejo-runner.log"))
;; Configuration options for the YAML config file:
;; <https://forgejo.org/docs/latest/admin/runner-installation/#configuration>.
@@ -259,7 +261,7 @@
(define (forgejo-runner-shepherd-service config)
(match-record config <forgejo-runner-configuration>
- (package data-directory run-directory name
+ (package data-directory run-directory log-file name
capacity timeout fetch-timeout fetch-interval report-interval
labels)
(define runner (file-append package "/bin/forgejo-runner"))
@@ -286,6 +288,7 @@
#:user "forgejo-runner"
#:group "forgejo-runner"
#:directory #$run-directory
+ #:log-file #$log-file
#:environment-variables
;; Provide access to a fresh Guix obtained via 'guix
;; pull'.
diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm
index 19faea782f..b44ca2ae3d 100644
--- a/gnu/services/getmail.scm
+++ b/gnu/services/getmail.scm
@@ -245,7 +245,7 @@ lines.")
(symbol "unset")
"A symbol to identify the getmail service.")
(package
- (file-like getmail)
+ (file-like getmail6)
"The getmail package to use.")
(user
(string "getmail")
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index ee5913a1d8..51aaf550bf 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -126,14 +126,18 @@
nar-herder-configuration-database-dump
nar-herder-configuration-host
nar-herder-configuration-port
+ nar-herder-configuration-control-host
+ nar-herder-configuration-control-port
nar-herder-configuration-storage
nar-herder-configuration-storage-limit
+ nar-herder-configuration-storage-minimum-free-space
nar-herder-configuration-storage-nar-removal-criteria
nar-herder-configuration-log-level
nar-herder-configuration-cached-compressions
nar-herder-configuration-cached-compression-min-uses
nar-herder-configuration-cached-compression-workers
nar-herder-configuration-cached-compression-nar-source
+ nar-herder-configuration-extra-options
nar-herder-configuration-extra-environment-variables
nar-herder-cached-compression-configuration
@@ -852,6 +856,9 @@ ca-certificates.crt file in the system profile."
(default #f))
(storage-limit nar-herder-configuration-storage-limit
(default "none"))
+ (storage-minimum-free-space
+ nar-herder-configuration-storage-minimum-free-space
+ (default "none"))
(storage-nar-removal-criteria
nar-herder-configuration-storage-nar-removal-criteria
(default '()))
@@ -875,6 +882,9 @@ ca-certificates.crt file in the system profile."
(cached-compression-nar-source
nar-herder-configuration-cached-compression-nar-source
(default #f))
+ (extra-options
+ nar-herder-configuration-extra-options
+ (default '()))
(extra-environment-variables
nar-herder-configuration-extra-environment-variables
(default '())))
@@ -951,10 +961,13 @@ ca-certificates.crt file in the system profile."
mirror
database database-dump
host port
- storage storage-limit storage-nar-removal-criteria
+ control-host control-port
+ storage storage-limit storage-minimum-free-space
+ storage-nar-removal-criteria
ttl new-ttl negative-ttl log-level
cached-compressions cached-compression-min-uses
cached-compression-workers cached-compression-nar-source
+ extra-options
extra-environment-variables)
(unless (or mirror storage)
@@ -972,8 +985,10 @@ ca-certificates.crt file in the system profile."
"--pid-file=/var/run/nar-herder/pid"
#$(string-append "--port=" (number->string port))
#$(string-append "--host=" host)
- #$(string-append "--control-port=" (number->string port))
- #$(string-append "--control-host=" host)
+ #$(string-append "--control-port="
+ (number->string control-port))
+ #$(string-append "--control-host="
+ control-host)
#$@(if mirror
(list (string-append "--mirror=" mirror))
'())
@@ -986,6 +1001,11 @@ ca-certificates.crt file in the system profile."
(if (number? storage-limit)
(number->string storage-limit)
storage-limit))
+ #$(string-append
+ "--storage-minimum-free-space="
+ (if (number? storage-minimum-free-space)
+ (number->string storage-minimum-free-space)
+ storage-minimum-free-space))
#$@(map (lambda (criteria)
(string-append
"--storage-nar-removal-criteria="
@@ -1022,7 +1042,8 @@ ca-certificates.crt file in the system profile."
(list (simple-format
#f "--cached-compression-nar-source=~A"
cached-compression-nar-source))
- '()))
+ '())
+ #$@extra-options)
#:user #$user
#:group #$group
#:directory "/var/lib/nar-herder"
diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm
index 06361ba49e..d276ba1b74 100644
--- a/gnu/services/herd.scm
+++ b/gnu/services/herd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016-2019, 2022-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016-2019, 2022-2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;;
@@ -58,7 +58,6 @@
unload-services
unload-service
load-services
- load-services/safe
start-service
stop-service
restart-service
@@ -297,14 +296,9 @@ service is transient."
"Load and register the services from FILES, where FILES contain code that
returns a shepherd <service> object."
(eval-there `(register-services
- ,@(map (lambda (file)
- `(primitive-load ,file))
- files))))
-
-(define load-services/safe
- ;; Deprecated. It used to behave differently before service replacements
- ;; were a thing.
- load-services)
+ (list ,@(map (lambda (file)
+ `(primitive-load ,file))
+ files)))))
(define* (start-service name #:optional (arguments '()))
(invoke-action name 'start arguments
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 14982cf1b5..8b692f2876 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -334,9 +334,10 @@ host all all ::1/128 trust"))))))
(service dhcpcd-service-type)
(service nar-herder-service-type
(nar-herder-configuration
- (host "0.0.0.0")
- ;; Not a realistic value, but works for the test
- (storage "/tmp")))))
+ (host "0.0.0.0")
+ (control-host "0.0.0.0")
+ ;; Not a realistic value, but works for the test
+ (storage "/tmp")))))
(define (run-nar-herder-test)
(define os
@@ -349,11 +350,17 @@ host all all ::1/128 trust"))))))
(nar-herder-configuration-port
(nar-herder-configuration)))
+ (define control-forwarded-port
+ (nar-herder-configuration-control-port
+ (nar-herder-configuration)))
+
(define vm
(virtual-machine
(operating-system os)
(memory-size 1024)
- (port-forwardings `((,forwarded-port . ,forwarded-port)))))
+ (port-forwardings `((,forwarded-port . ,forwarded-port)
+ (,control-forwarded-port
+ . ,control-forwarded-port)))))
(define test
(with-imported-modules '((gnu build marionette))
@@ -390,6 +397,16 @@ host all all ::1/128 trust"))))))
#:decode-body? #t)))
(response-code response)))
+ (test-equal "control http-get"
+ 404
+ (let-values
+ (((response text)
+ (http-get #$(simple-format
+ #f "http://localhost:~A/"
+ control-forwarded-port)
+ #:decode-body? #t)))
+ (response-code response)))
+
(test-end))))
(gexp->derivation "nar-herder-test" test))
@@ -477,3 +494,5 @@ host all all ::1/128 trust"))))))
(name "bffe")
(description "Connect to a running Build Farm Front-end.")
(value (run-bffe-test))))
+
+%nar-herder-os