diff options
Diffstat (limited to 'gnu/packages')
31 files changed, 891 insertions, 544 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b03d2d4fe5..634ca92990 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -57,6 +57,7 @@ ;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5623,6 +5624,42 @@ encoder used for an MPEG Layer III (MP3) file, as well as scan any MPEG audio file (any layer) and print a lot of useful information.") (license license:lgpl2.1+))) +(define-public mp3cat + (package + (name "mp3cat") + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tomclegg/mp3cat") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n6hjg2wgd06m561zc3ib5w2m3pwpf74njv2b2w4sqqh5md2ymfr")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;upstream defines no tests + #:make-flags + #~(list (string-append "PREFIX=" + #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-makefile + (lambda _args + (substitute* "Makefile" + (("cc") + #$(cc-for-target)))))))) + (home-page "http://tomclegg.net/mp3cat") + (synopsis "MP3 stream copier and concatenator") + (description + "Copies a stream, skipping everything except MP3 frames with valid +headers. This can be used to copy and concatenate streams, even if +they contain extra garbage.") + (license license:gpl2+))) + (define-public shntool (package (name "shntool") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index eac62ffcc1..41a0ead9d0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -20178,26 +20178,31 @@ set.") (define-public instrain (package (name "instrain") - (version "1.9.0") + ;; Git repository does not tag releases, use the latest commit from master + ;; branch. + (properties '((commit . "6180be7b49a61b7e1ffe9f1489da5c6aa2ff9ac3") + (revision . "0"))) + (version (git-version "1.10.0" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/MrOlm/instrain") - ;; There are no tags. - (commit "168f3f777b45139a9f6099f68974105b45e2d8ba"))) + (url "https://github.com/MrOlm/instrain") + (commit (assoc-ref properties 'commit)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1wc69ggyiacm1slb678239lqmf1g5dlb4alwsbp14gi6393gj9fg")))) + (base32 "1njsxjf3248121yw3q1ig6asf6b3wa5fgjfyc6dkgk6nd4ih8wni")))) (build-system pyproject-build-system) (arguments (list ;; Tests assume that test files exist (they don't) and are located in - ;; the developer's home directory. + ;; the developer's home directory, see: + ;; <https://github.com/MrOlm/inStrain/issues/218>. #:tests? #false #:phases - '(modify-phases %standard-phases + #~(modify-phases %standard-phases (add-after 'unpack 'patch-relative-imports (lambda _ (substitute* (find-files "test/tests" "test_.*\\.py") @@ -20208,7 +20213,11 @@ set.") (("from s3_utils") "from .s3_utils") (("from job_utils") - "from .job_utils"))))))) + "from .job_utils")))) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + ((".*pytest.*") ""))))))) (propagated-inputs (list python-biopython-1.73 python-h5py @@ -20222,10 +20231,7 @@ set.") python-seaborn python-tqdm)) (native-inputs - (list python-boto3 - python-pytest - python-setuptools - python-wheel)) + (list python-setuptools)) (home-page "https://github.com/MrOlm/inStrain") (synopsis "Calculation of strain-level metrics") (description @@ -23528,15 +23534,16 @@ The output is in SAM format.") (define-public libsbml (package (name "libsbml") - (version "5.18.0") + (version "5.20.5") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/sbml/libsbml/" - version "/stable/libSBML-" - version "-core-src.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sbmlteam/libsbml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0slkagrk3nfi2qsksv6b1brj6zhx4bj4bkib2sdycvrcd10ql2lh")))) + "1bzsgwblh5l15xxy7kpdwiya5kwm26sj6daqr9i93h04manpqmfw")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9fae9575e8..397ffd1c27 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11060,13 +11060,13 @@ matrix) for the double-truncated multinormal case.") (define-public r-rvest (package (name "r-rvest") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "rvest" version)) (sha256 - (base32 "19lw0jk8d8x88z247hz761gwbx9f5n3yqnv63mn7pkwl55mpqw3x")))) + (base32 "005wadzdhxf6hgr8vl4nl0nfi2crj6467mhwbccqfy26njh38z0y")))) (build-system r-build-system) (arguments (list diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index b18e62e3db..06dbd4973c 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -410,7 +410,7 @@ the Net to search for documents which are not on the local system.") (define-public zeal (package (name "zeal") - (version "0.7.1") + (version "0.7.2") (source (origin (method git-fetch) @@ -419,10 +419,11 @@ the Net to search for documents which are not on the local system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yz9zz18rh1d67w40ib4pna70vqkwa9i9nyj423rjysv5rdj2pzp")))) + (base32 "1slq3asssszim9y4lvqx08svilmyisk3cl35mmb676fsx7pningn")))) (build-system qt-build-system) (arguments (list + #:qtbase qtbase #:tests? #f)) ;no tests (native-inputs (list extra-cmake-modules pkg-config)) @@ -430,12 +431,10 @@ the Net to search for documents which are not on the local system.") (list bash-minimal libarchive sqlite - qtbase-5 - qtdeclarative-5 - qtwayland-5 - qtwebchannel-5 - qtwebengine-5 - qtquickcontrols-5 + qtdeclarative + qtwayland + qtwebchannel + qtwebengine qtx11extras xcb-util-keysyms)) (home-page "https://zealdocs.org/") diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 56cae54c14..a2c9e3cf09 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1518,6 +1518,35 @@ verification.") #~(modify-phases #$phases (delete 'fix-scripts))))))) +(define-public python-pyucis + (package + (name "python-pyucis") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fvutils/pyucis/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19bxmhqkdmhbibkbzcjqvzvcni1kzg28nqz9vh6zj73hl26lf2ij")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools)) + (propagated-inputs + (list python-jsonschema-objects + python-lxml + python-pyyaml)) + (home-page "https://fvutils.github.io/pyucis//") + (synopsis "Python interface to UCIS data") + (description + "The code{PyUCIS} library provides two APIs for creating and accessing +coverage data via the @acronym{UCIS, Unified Coverage Interoperability +Standard} data mode.") + (license license:asl2.0))) + (define-public python-cocotb (package (name "python-cocotb") diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 362e38a231..e89c7261d9 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -4653,14 +4653,14 @@ device contains a @code{exec} port to interface with the host system.") (sha256 (base32 "1xahdr6bh3dw5swrc2r8kqa8ljhqlb7k2kxv5mrw5rhcmcnzcyig")))) (build-system pyproject-build-system) - (arguments - (list #:tests? #f)) ;no tests in PyPI archive + ;; Tests either require kstool, or Python 2, or are 10 years old and fail. + (arguments (list #:tests? #f)) ; no tests (native-inputs (list cmake-minimal - python-setuptools - python-wheel)) + python-setuptools)) (home-page "https://www.keystone-engine.org") - (synopsis "Lightweight multi-platform, multi-architecture assembler framework") + (synopsis + "Lightweight multi-platform, multi-architecture assembler framework") (description "Keystone is a lightweight multi-platform, multi-architecture assembler framework. It supports a wide-range of different architectures diff --git a/gnu/packages/gambas.scm b/gnu/packages/gambas.scm index 76a8b0cc9e..f7b3862bb8 100644 --- a/gnu/packages/gambas.scm +++ b/gnu/packages/gambas.scm @@ -55,7 +55,7 @@ (define-public gambas (package (name "gambas") - (version "3.20.2") + (version "3.21.0") (source (origin (method git-fetch) @@ -64,7 +64,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "060f8w19jf78mappqgy11873ss3h97gi47ga3c1ws1bazix9x7rk")))) + (base32 "0lkm4fbxqmkqpk2f2z660m77xshhmvj4pnlv0z43zrarsij8l6gf")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index a45546b62c..b483f620c0 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -193,7 +193,7 @@ authentication and support for SSL3 and TLS.") (define-public gnunet (package (name "gnunet") - (version "0.25.1") + (version "0.25.2") (source (origin (method url-fetch) @@ -201,7 +201,7 @@ authentication and support for SSL3 and TLS.") ".tar.gz")) (sha256 (base32 - "0p4gcv67rh9832vgi5k31pgpq6hmv6198dfmbyfizyaprlb6qcr1")))) + "1rn24rm6z5p0vnk5lwq0jihnbh956n24yd5nmmgv2firbp1nzdza")))) (build-system meson-build-system) (inputs (list bluez diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 6f57c3a557..8899272d33 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -1025,6 +1025,7 @@ recalculates.") (build-system qt-build-system) (arguments (list + #:qtbase qtbase #:build-type "Release" ; 542 MiB in release mode #:tests? #f ; Downloads test data #:configure-flags @@ -1173,6 +1174,7 @@ recalculates.") libtiff libxcursor libxml2 + libxslt libxt lz4 lzip @@ -1190,15 +1192,13 @@ recalculates.") python-mpi4py python-numpy python-wrapper - qtbase-5 - qtdeclarative-5 - qtmultimedia-5 - qtsvg-5 - qttools-5 - qtwebchannel-5 - qtwebengine-5 - qtx11extras - qtxmlpatterns-5 + qt5compat + qtdeclarative + qtmultimedia + qtsvg + qttools + qtwebchannel + qtwebengine sdl2 sqlite tbb @@ -2061,14 +2061,15 @@ processing pipelines.") (native-inputs (list python-pytest python-pytest-qt - xorg-server-for-tests - python-wheel)) + python-setuptools + xorg-server-for-tests)) (propagated-inputs (list python-imgviz python-matplotlib python-natsort python-numpy python-pillow + python-pyqt python-pyyaml python-qtpy python-termcolor)) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index ec0f7872d7..e484e1b7f2 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -1399,13 +1399,13 @@ analyzing Jupyter Notebooks.") (define-public python-qtconsole (package (name "python-qtconsole") - (version "5.6.1") + (version "5.7.0") (source (origin (method url-fetch) (uri (pypi-uri "qtconsole" version)) (sha256 - (base32 "1r8bznf8mlajh8rcrhikp694naq653nx4zw58f0yzlvmdiz1rbaw")))) + (base32 "0w9i0s70dm39cxgn3vh4wcaxdywzp9j0ac7f49q4qmggx4f3fcqd")))) (build-system pyproject-build-system) (arguments (list @@ -1423,22 +1423,23 @@ analyzing Jupyter Notebooks.") #~(modify-phases %standard-phases (add-before 'check 'pre-check (lambda _ - (setenv "PYTEST_QT_API" "pyqt5") - (setenv "QT_LIB" "pyqt5") + (setenv "PYTEST_QT_API" "pyqt6") + (setenv "QT_LIB" "pyqt6") (setenv "QT_QPA_PLATFORM" "offscreen") (system "Xvfb :1 -screen 0 640x480x24 &") (setenv "DISPLAY" ":1") (setenv "HOME" "/tmp")))))) (native-inputs (list python-flaky - python-pyqt + python-pyqt-6 python-pytest + python-pytest-asyncio python-pytest-qt python-setuptools - python-wheel xorg-server-for-tests)) (propagated-inputs (list python-ipykernel + python-ipython-pygments-lexers python-jupyter-client python-jupyter-core python-packaging diff --git a/gnu/packages/kde-education.scm b/gnu/packages/kde-education.scm index 5415d2c400..0e4a0a10db 100644 --- a/gnu/packages/kde-education.scm +++ b/gnu/packages/kde-education.scm @@ -187,6 +187,7 @@ Currently available boards include: (build-system qt-build-system) (arguments (list + #:qtbase qtbase #:tests? #f #:phases #~(modify-phases %standard-phases @@ -211,7 +212,6 @@ Currently available boards include: kxmlgui libplasma ncurses - qtbase qtdeclarative qtsvg qtwayland diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 3367834775..453f940da6 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -4201,7 +4201,8 @@ notifications which can be embedded in your application.") "1n2hwgpkq32xprg4dgirb22rijplvp4rf6brllgz98y09xm3pp6d")))) (build-system qt-build-system) (arguments - (list #:phases + (list #:qtbase qtbase + #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-partloader-test (lambda _ @@ -4222,8 +4223,7 @@ notifications which can be embedded in your application.") kitemviews ki18n kjobwidgets - kwidgetsaddons - qtbase)) + kwidgetsaddons)) (home-page "https://community.kde.org/Frameworks") (synopsis "Plugin framework for user interface components") (description "This library implements the framework for KDE parts, which are @@ -4244,6 +4244,9 @@ widgets with a user-interface defined in terms of actions.") (sha256 (base32 "0czrlqh5cxnj1mlbz839c7hifhnpzl476d92lv4hxji50wnjlfqr")))) + (arguments + (substitute-keyword-arguments (package-arguments kparts) + ((#:qtbase _ #f) qtbase-5))) (propagated-inputs (list kio-5 ktextwidgets-5 kxmlgui-5)) (native-inputs diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm index 4ca8a17d62..26cde3a2eb 100644 --- a/gnu/packages/kde-games.scm +++ b/gnu/packages/kde-games.scm @@ -416,7 +416,7 @@ This package is part of the KDE games module.") ki18n libkmahjongg python - python-pyqt + python-pyqt-6 python-twisted python-qtpy python-zope-interface diff --git a/gnu/packages/kde-graphics.scm b/gnu/packages/kde-graphics.scm index bad92269e6..bc54a521b7 100644 --- a/gnu/packages/kde-graphics.scm +++ b/gnu/packages/kde-graphics.scm @@ -472,10 +472,9 @@ illustrate project schedules.") (sha256 (base32 "0s9b3q7wvrbz52d500mcaflkrfjwhbzh5bsf5gxzgxjdzdiywaw7")))) - (build-system cmake-build-system) + (build-system qt-build-system) (inputs - (list qtbase - boost + (list boost graphviz ki18n kiconthemes @@ -485,7 +484,9 @@ illustrate project schedules.") qtwayland)) (native-inputs (list pkg-config extra-cmake-modules kdoctools)) - (arguments (list #:tests? #f)) + (arguments + (list #:qtbase qtbase + #:tests? #f)) (home-page "https://apps.kde.org/kgraphviewer/") (synopsis "Graphviz dot graph viewer for KDE") (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 17c012041a..79cb263661 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -187,6 +187,8 @@ different notification systems.") (base32 "0lqirjirjxin4b2bkf9raalygvjp35qs1r51ydmgf97gjk6nhzzv")))) (build-system qt-build-system) + (arguments + (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules pkg-config qttools)) (inputs diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 2e48ac6db3..d22a47f7fe 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -548,7 +548,6 @@ This package is part of the KDE multimedia module.") kwindowsystem kxmlgui breeze-icons ; default icon set - qtbase qtmultimedia qtsvg qtwayland diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 497d1f0e10..b351a02b0a 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -2414,7 +2414,7 @@ transport data and for performing public transport journey queries.") "/src/libgravatar-" version ".tar.xz")) (sha256 (base32 "1rn1dc994xff9bha59155ardib0mshj18h9jj1dhf8qhs0nv1nrb")))) - (build-system qt-build-system) + (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kconfig ki18n @@ -2427,8 +2427,7 @@ transport data and for performing public transport journey queries.") kwidgetsaddons qtbase)) (arguments - (list #:qtbase qtbase - #:tests? #f)) ;; 2/7 tests fail (due to network issues?) + (list #:tests? #f)) ;; 2/7 tests fail (due to network issues?) (home-page "https://invent.kde.org/pim/libgravatar") (synopsis "Online avatar lookup library") (description "This library retrieves avatar images based on a diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm index 5c306190e2..b007ab1f13 100644 --- a/gnu/packages/kde-systemtools.scm +++ b/gnu/packages/kde-systemtools.scm @@ -227,6 +227,8 @@ unmount drives and view them in a file manager.") (sha256 (base32 "1nmhg3v73p8yapmvp3chac3vi6jpjwmc0jj28ksbmdrp952yaygb")))) (build-system qt-build-system) + (arguments + (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules kdoctools perl)) (inputs @@ -244,7 +246,6 @@ unmount drives and view them in a file manager.") kwindowsystem libxml2 breeze-icons ;; default icon set - qtbase xapian qtwayland qtwebengine)) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 73417fabe2..dec1a6f998 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -30,6 +30,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -525,7 +526,7 @@ plug-in system.") (revision "1")) ; `$HOME/.kodirc'. (package (name "kodi-cli") - (version (string-append "1.1-" revision "." (string-take commit 7))) + (version (git-version "1.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/nawar/kodi-cli") @@ -533,29 +534,30 @@ plug-in system.") (sha256 (base32 "1xjhasc5gngfxpr1dlzy6q24w0wpdfjx12p43fanjppxw4i49n5p")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (git-file-name name version)))) (build-system trivial-build-system) (inputs - (list bash curl mps-youtube)) + (list bash-minimal curl python-yewtube)) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (copy-recursively (assoc-ref %build-inputs "source") ".") - (substitute* "kodi-cli" - (("/bin/bash") - (search-input-file %build-inputs "/bin/bash")) - (("output=\\$\\((curl)" all curl) - (string-append "output=$(" - (assoc-ref %build-inputs "curl") - "/bin/" curl)) - (("play_youtube `(mpsyt)" all mpsyt) - (string-append "play_youtube `" - (assoc-ref %build-inputs "mps-youtube") - "/bin/" mpsyt))) - (install-file "kodi-cli" (string-append %output "/bin")) - #t))) + (list + #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") ".") + (substitute* "kodi-cli" + (("/bin/bash") + (search-input-file %build-inputs "/bin/bash")) + (("output=\\$\\((curl)" all curl) + (string-append "output=$(" + #$(this-package-input "curl") + "/bin/" curl)) + ;; Executable is just called yt with yewtube. + (("play_youtube `mpsyt") + (string-append "play_youtube `" + #$(this-package-input "python-yewtube") + "/bin/yt"))) + (install-file "kodi-cli" (string-append %output "/bin"))))) (home-page "https://github.com/nawar/kodi-cli") (synopsis "Control Kodi from the command line") (description "@code{kodi-cli} is a tool for sending commands to a Kodi diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 8a8b36e455..54f7ba9f02 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -330,8 +330,8 @@ compatible, and adds new functionality.") (sbcl-package->ecl-package sbcl-3d-math)) (define-public sbcl-3d-matrices - (let ((commit "b4f5a58299f8437fad2d77f0879c374e3430f4b5") - (revision "2")) + (let ((commit "bc1ffa08dcf4732523e09adcf9deba4ddeb559ff") + (revision "3")) (package (name "sbcl-3d-matrices") (version (git-version "1.0.0" revision commit)) @@ -339,17 +339,17 @@ compatible, and adds new functionality.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Shinmera/3d-matrices") + (url "https://codeberg.org/shinmera/3d-matrices") (commit commit))) (file-name (git-file-name "cl-3d-matrices" version)) (sha256 - (base32 "1s8b4zlmqwyplghs73riz1khf0c5sk64w6b12jd599091d5nr6sr")))) + (base32 "0jzckgb5lsmh1gn1f4mczjfc5ckkw01a73wrl1shyb9sil93a751")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-parachute)) (inputs (list sbcl-3d-vectors sbcl-documentation-utils)) - (home-page "https://shinmera.github.io/3d-matrices/") + (home-page "https://codeberg.org/shinmera/3d-matrices") (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices") (description "@code{3D-MATRICES} is a library implementing common matrix operations, @@ -492,8 +492,8 @@ alternative 4x4 matrix representation.") (sbcl-package->clasp-package sbcl-3d-transforms)) (define-public sbcl-3d-vectors - (let ((commit "257969402864ac3859d77b981abf0aa5373c4e78") - (revision "2")) + (let ((commit "fc751c65b2285e971c348539bfbc3cbb58b253b0") + (revision "3")) (package (name "sbcl-3d-vectors") (version (git-version "3.1.0" revision commit)) @@ -501,11 +501,11 @@ alternative 4x4 matrix representation.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Shinmera/3d-vectors") + (url "https://codeberg.org/shinmera/3d-vectors") (commit commit))) (file-name (git-file-name "cl-3d-vectors" version)) (sha256 - (base32 "0vmf7nycc49ydcy0dfs25cgs655kwjc6jcjvpwxw61jq4gl2fh7x")))) + (base32 "0im0c4yv3bmlipbpfqfcbkdpqknr4468xjvdmrr01pchc8r4m11j")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-parachute)) @@ -4296,20 +4296,20 @@ operating on them.") (sbcl-package->ecl-package sbcl-cl-algebraic-data-type)) (define-public sbcl-cl-all - (let ((commit "4ce1ea9d9f33c0dd6212044e7952a0c854757ace") - (revision "0")) + (let ((commit "8db710a4a92a25ca7c8f09fe1ad91a48ad6bd0c9") + (revision "1")) (package (name "sbcl-cl-all") - (version (git-version "1.0.0" revision commit)) + (version (git-version "2.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Shinmera/cl-all") + (url "https://codeberg.org/shinmera/cl-all") (commit commit))) (file-name (git-file-name "cl-all" version)) (sha256 - (base32 "0n4sjarj373zpxn78m32rmhxnsnr8qahdslrd9vrkkwjpzar2bwp")))) + (base32 "08jsbnkapijn0v4n5h9g6s87i279xmg4fnbw6jajylrg512n38cx")))) (build-system asdf-build-system/sbcl) (outputs '("out" "bin")) (arguments @@ -4323,7 +4323,7 @@ operating on them.") outputs #:entry-program '((cl-all:toplevel arguments)) #:compress? #t)))))) - (home-page "https://github.com/Shinmera/cl-all") + (home-page "https://shinmera.com/docs/cl-all") (synopsis "Evaluate Common Lisp expressions in multiple implementations") (description "@samp{cl-all} is a library and script for evaluating Common Lisp expressions in multiple implementations.") @@ -14253,11 +14253,11 @@ database files (dbf and db3 files).") (sbcl-package->ecl-package sbcl-db3)) (define-public sbcl-dbi - (let ((commit "738a74dd69adb2a7c21fa67e140d89c7df25b227") - (revision "2")) + (let ((commit "be4df4f236391f4e4150a1fe77f8acc92b9f3996") + (revision "3")) (package (name "sbcl-dbi") - (version (git-version "0.9.5" revision commit)) + (version (git-version "0.11.1" revision commit)) (source (origin (method git-fetch) @@ -14266,7 +14266,7 @@ database files (dbf and db3 files).") (commit commit))) (file-name (git-file-name "cl-dbi" version)) (sha256 - (base32 "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg")))) + (base32 "0n3lh0rng5gbbb9aqcrszvc99f80j5zk1hdrcvz20qg6c31hhjl6")))) (build-system asdf-build-system/sbcl) (native-inputs `(("alexandria" ,sbcl-alexandria) @@ -22962,11 +22962,11 @@ extensions to Common Lisp. It contains: (sbcl-package->clasp-package sbcl-misc-extensions)) (define-public sbcl-mito - (let ((commit "47ba4865ca4bb2894b53703a49a299e973f8eb86") - (revision "3")) + (let ((commit "10c22b64047053b079beb5168d21222abe4d4b1d") + (revision "4")) (package (name "sbcl-mito") - (version (git-version "0.1" revision commit)) + (version (git-version "0.2.0" revision commit)) (home-page "https://github.com/fukamachi/mito") (source (origin @@ -22976,23 +22976,24 @@ extensions to Common Lisp. It contains: (commit commit))) (file-name (git-file-name "mito" version)) (sha256 - (base32 "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs")))) + (base32 "0yx1hf22k3wgl0b274i25i6cnshijzy7wppi6clgmhi2y5svgddr")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-prove)) (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-package-locks" ,sbcl-cl-package-locks) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("cl-reexport" ,sbcl-cl-reexport) - ("closer-mop" ,sbcl-closer-mop) - ("dbi" ,sbcl-dbi) - ("dissect" ,sbcl-dissect) - ("esrap" ,sbcl-esrap) - ("local-time" ,sbcl-local-time) - ("sxql" ,sbcl-sxql) - ("trivia" ,sbcl-trivia) - ("uuid" ,sbcl-uuid))) + (list sbcl-alexandria + sbcl-chipz + sbcl-cl-package-locks + sbcl-cl-ppcre + sbcl-cl-reexport + sbcl-closer-mop + sbcl-dbi + sbcl-dissect + sbcl-esrap + sbcl-local-time + sbcl-sxql + sbcl-trivia + sbcl-uuid)) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/orange.scm b/gnu/packages/orange.scm index 28a066bbfb..3b741e7dbb 100644 --- a/gnu/packages/orange.scm +++ b/gnu/packages/orange.scm @@ -22,6 +22,7 @@ #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (gnu packages) @@ -42,38 +43,32 @@ (define-public python-orange-canvas-core (package (name "python-orange-canvas-core") - (version "0.2.5") + (version "0.2.6") (source (origin (method url-fetch) (uri (pypi-uri "orange_canvas_core" version)) (sha256 - (base32 "0bp6c5y4a4fzr1hg7aijlbfwp6bqacxxcqhwb2swc21aj846ns0n")))) + (base32 "1h0p6p36h9vwmgs7xa7x0qa06zjxjyj8pr1p8d4iykbvl60s3dq0")))) (build-system pyproject-build-system) (arguments (list + ;; tests: 227 passed, 4 skipped, 13 deselected, 15 warnings #:test-flags #~(list "-k" (string-join - (list - ;; AttributeError: 'NoneType' object has no attribute - ;; 'trigger' - "not test_context_menu_delete" - "test_copy_cut_paste" - ;; AttributeError: 'NoneType' object has no attribute - ;; 'isEnabled' - "test_item_context_menu" - ;; Tests fail with error: Failed: CALL ERROR: Exceptions - ;; caught in Qt event loop. - "test_create_new_window" - "test_new_window" - "test_dont_load_swp_on_new_window" - "test_toolbox" - "test_widgettoolgrid" - "test_editlinksnode" - "test_links_edit" - "test_links_edit_widget" - "test_flattened" - "test_tooltree_registry") + ;; Tests fail with error: Failed: CALL ERROR: Exceptions + ;; caught in Qt event loop. + (list "not test_create_new_window" + "test_dont_load_swp_on_new_window" + "test_editlinksnode" + "test_links_edit" + "test_links_edit_widget" + "test_new_window" + "test_toolbox" + "test_widgettoolgrid" + ;; AssertionError: Lists differ + "test_create_normal" + "test_create_on_demand") " and not ")) #:phases #~(modify-phases %standard-phases @@ -85,28 +80,23 @@ (add-before 'check 'pre-check (lambda _ (setenv "HOME" "/tmp") - (setenv "QT_PLUGIN_PATH" - (string-append #$(this-package-input "qtbase") "/lib/qt6/plugins:" - (getenv "QT_PLUGIN_PATH"))) (setenv "QT_QPA_PLATFORM" "offscreen")))))) (native-inputs (list python-pytest python-pytest-qt python-setuptools - python-trubar - python-wheel)) - (inputs - (list qtbase)) + python-trubar)) (propagated-inputs (list python-anyqt - python-cachecontrol python-commonmark python-dictdiffer python-docutils python-numpy + python-packaging python-qasync python-requests python-requests-cache + python-truststore python-typing-extensions)) (home-page "https://github.com/biolab/orange-canvas-core") (synopsis "Core component of Orange Canvas") @@ -166,47 +156,56 @@ GUI based workflow. It is primarily used in the Orange framework.") (define-public orange (package (name "orange") - (version "3.32.0") + ;; XXX: The latest commit provides comparability with GCC 14, revert to + ;; git tag in the next refresh cycle. + (properties '((commit . "44e66283aff4132614ef64a877f9ceef963588a7") + (revision . "0"))) + (version (git-version "3.39.0" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) (source (origin - (method url-fetch) - (uri (pypi-uri "Orange3" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/biolab/orange3") + (commit (assoc-ref properties 'commit)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0pxjwisc209cdgpqlqazc2vlmr0iqz8ry862w7jx95zic54d9p5l")))) - (build-system python-build-system) + (base32 "0d2ws64y8chj77yw689pr98wndpiapbh0msxyjah5ki8lygflizs")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'preparations - (lambda _ - ;; Delete test that opens an outgoing connection. - (delete-file "Orange/tests/test_url_reader.py") - ;; This is a binary data file and it breaks runpath validation. - (delete-file "Orange/tests/datasets/binary-blob.tab") - ;; Skip the test which uses that binary file. - (substitute* "Orange/tests/test_txt_reader.py" - (("test_read_nonutf8_encoding") "_test_read_nonutf8_encoding")) - ;; We use a correct version of PyQtWebEngine, but the build scripts - ;; consider it incorrect anyways. Remove the constraint entirely to - ;; work around this bug. - (substitute* "requirements-pyqt.txt" (("PyQtWebEngine>=5.12") "")))) - (add-before 'check 'pre-check - ;; Tests need a writable home. - (lambda _ - (setenv "HOME" "/tmp") - (setenv "QT_QPA_PLATFORM" "offscreen"))) - (add-after 'install 'wrap-executable - ;; Ensure that icons are found at runtime. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/orange-canvas") - `("QT_PLUGIN_PATH" prefix - ,(list (string-append (assoc-ref inputs "qtsvg") - "/lib/qt5/plugins/")))))))))) + (list + ;; TODO: Figure out how to enable/fix tests: ImportError: cannot import + ;; name '_variable' from partially initialized module 'Orange.data' + #:tests? #f + #:test-backend #~'unittest + #:test-flags #~(list "-v" "Orange.tests" "Orange.widgets.tests") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + ;; Tests need a writable home. + (lambda _ + (setenv "HOME" "/tmp") + (setenv "QT_QPA_PLATFORM" "offscreen"))) + (add-after 'wrap 'wrap-executable + ;; Ensure that icons are found at runtime. + (lambda _ + (wrap-program (string-append #$output "/bin/orange-canvas") + `("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-cython)) + (list python-cython + python-recommonmark + python-setuptools + python-trubar)) (inputs - (list bash-minimal + (list bash-minimal ;for wrap python-anyqt python-baycomp python-bottleneck @@ -223,21 +222,24 @@ GUI based workflow. It is primarily used in the Orange framework.") python-opentsne python-orange-canvas-core python-orange-widget-base + python-packaging python-pandas python-pygments - python-pyqt + python-pyqt-6 python-pyqtgraph - python-pyqtwebengine + python-pyqtwebengine-6 python-pyyaml python-qtconsole python-requests python-scikit-learn python-scipy python-serverfiles + python-xgboost python-xlrd python-xlsxwriter - qtbase-5 - qtsvg-5 + qtbase + qtsvg + qtwayland xdg-utils)) (home-page "https://orangedatamining.com/") (synopsis "Component-based data mining framework") diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index cc81f7400d..6a11852bc7 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.21") + (version "2.83.23") (source (origin (method git-fetch) @@ -198,7 +198,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "18qa91g395kqi7a7rrhrfbrx2w5yil3rg8k3fmfng47i8i7522hm")) + (base32 "18j824bvypk4z36xd59gafwb3ssl5fh6jlfrrzskpcllbpslcajl")) (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 126b8f1c71..97b3f83a5f 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -3104,28 +3104,28 @@ types (i.e. Convention, Warn, and Error) fail the build.") (define-public python-pytest-qt (package (name "python-pytest-qt") - (version "4.4.0") + (version "4.5.0") (source (origin (method url-fetch) - (uri (pypi-uri "pytest-qt" version)) + (uri (pypi-uri "pytest_qt" version)) (sha256 - (base32 "0i38qp2rqb44grbk9rn7zr5ffjvdlcl6k380759ji920m51632bn")))) + (base32 "17ridbk4gsr1aclgs1ai55r6k2ngrg0wn9b40g96bw48qh0hwqji")))) (build-system pyproject-build-system) (arguments (list - ;;#:test-target "pytest" #:phases - '(modify-phases %standard-phases + #~(modify-phases %standard-phases (add-before 'check 'set-qpa (lambda _ (setenv "QT_QPA_PLATFORM" "offscreen")))))) - (propagated-inputs - (list python-pluggy python-pyqt python-pytest)) (native-inputs - (list python-pre-commit + (list python-pyqt-6 + python-pytest-bootstrap python-setuptools - python-setuptools-scm - python-wheel)) + python-setuptools-scm)) + (propagated-inputs + (list python-pluggy + python-typing-extensions)) (home-page "https://github.com/pytest-dev/pytest-qt") (synopsis "Pytest support for PyQt and PySide applications") (description diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index c514e0ab46..12a0dc7d20 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -5465,6 +5465,7 @@ visual integration of spatially referenced datasets.") (native-inputs (list python-ipython python-matplotlib python-numpy + python-pyqt-6 python-pytest python-pytest-cov python-pytest-qt @@ -5876,11 +5877,15 @@ abstractions to use in dvc and dvc-data.") (base32 "1qyr461hcvhgy02slfkgrbip2xwa8zz6dvmi1476v6f66lclzy34")))) (build-system pyproject-build-system) (arguments + ;; tests: 949 passed, 1356 skipped, 2 deselected, 8 xfailed, 130 warnings (list #:test-flags - ;; The test_reload test fails. It suggests to disable assert - ;; rewriting in Pytest, but it still doesn't pass. - #~(list "-k" "not test_reload" - "-n" (number->string (parallel-job-count))) + ;; Failed: CALL ERROR: Exceptions caught in Qt event loop. + #~(list "--deselect=tests/exporters/test_svg.py::test_plotscene" + ;; The test_reload test fails. It suggests to disable + ;; assert rewriting in Pytest, but it still doesn't pass. + "-k" "not test_reload" + ;; Run unit tets only. + "tests") #:phases #~(modify-phases %standard-phases (add-before 'check 'set-qpa @@ -5888,18 +5893,18 @@ abstractions to use in dvc and dvc-data.") (setenv "QT_QPA_PLATFORM" "offscreen")))))) (native-inputs (list python-pytest - python-pytest-cov - python-pytest-xdist - python-setuptools - python-wheel)) - (inputs - (list qtbase-5)) + ;; Do not propagate Qt5/Qt6 let the user of the package to select + ;; any supported one, see + ;; <https://pyqtgraph.readthedocs.io/en/pyqtgraph-0.13.7> + ;; </getting_started/how_to_use.html#pyqt-and-pyside>. + python-pyqt-6 + python-pytest-qt + python-setuptools)) (propagated-inputs (list python-h5py python-numpy python-pyopengl - python-scipy - python-pyqt)) + python-scipy)) (home-page "https://www.pyqtgraph.org") (synopsis "Scientific graphics and GUI library for Python") (description diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 0beff7d6e0..5ba7fa7094 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2977,6 +2977,63 @@ other HTTP libraries.") "Cheroot is a high-performance, pure-Python HTTP server.") (license license:bsd-3))) +(define-public python-cherrypy + (package + (name "python-cherrypy") + (version "18.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cherrypy/cherrypy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mhs64z75mj3rk4rgxc3xm1yksaj253rj9czhk4632blz5yi0kbn")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(map + (lambda (test) + (string-append "--deselect=cherrypy/test/" test)) + (list + ;; XXX: Unraisable exceptions. + "test_config_server.py::ServerConfigTests::testMaxRequestSize" + "test_core.py::CoreRequestHandlingTest::testRanges" + "test_core.py::CoreRequestHandlingTest::testRedirect" + "test_encoding.py::EncodingTests::\ +test_multipart_decoding_bigger_maxrambytes" + "test_encoding.py::EncodingTests::\ +test_test_http.py::HTTPTests::test_post_filename_with_special_characters" + "test_http.py::HTTPTests::test_post_multipart" + "test_http.py::HTTPTests::test_post_filename_with_special_characters" + "test_mime.py::SafeMultipartHandlingTest::test_Flash_Upload" + "test_tutorials.py::TutorialTest::test09Files")))) + (propagated-inputs + (list python-cheroot + python-jaraco-collections + python-more-itertools + python-portend + python-zc-lockfile)) + (native-inputs + (list python-objgraph + python-path + python-pytest + python-pytest-cov + python-pytest-forked + python-pytest-services + python-pytest-sugar + python-requests-toolbelt + python-setuptools)) + (home-page "https://www.cherrypy.dev") + (synopsis "Object-Oriented HTTP framework") + (description + "CherryPy is a pythonic, object-oriented web framework. It helps in +building web applications in the same way any other object-oriented Python +program would be built.") + (license license:bsd-3))) + (define-public httpie (package (name "httpie") @@ -6078,23 +6135,42 @@ HTTP via a UNIX domain socket.") (define-public python-requests-unixsocket (deprecated-package "python-requests-unixsocket" python-requests-unixsocket2)) -(define-public python-requests_ntlm +(define-public python-requests-ntlm (package - (name "python-requests_ntlm") - (version "1.2.0") + (name "python-requests-ntlm") + (version "1.3.0") (source (origin - (method url-fetch) - (uri (pypi-uri "requests_ntlm" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/requests/requests-ntlm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1a0np7lk8ma1plv1s4aw5q9h2z3aljprkl9qsfypqcaf0zsqbhik")))) - (build-system python-build-system) + (base32 "0snsk66zdihdlyfjz2zgpyfgdyjg814m3cc4g3my09hdnb5xvagv")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; XXX: Connection refused. + #~(list "-k" (string-join + (list "not test_ntlm_http_with_cbt" + "test_ntlm_http_without_cbt" + "test_ntlm_https_with_cbt" + "test_ntlm_https_without_cbt") + " and not ")) + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'spawn-test-server + (lambda _ + ;; Taken from .github/workflows/ci.yml. + (spawn "python" + (list "python" "-m" "tests.test_server"))))))) (propagated-inputs (list python-cryptography python-pyspnego python-requests)) + (native-inputs (list python-flask python-pytest python-setuptools)) (home-page "https://github.com/requests/requests-ntlm") - (synopsis - "NTLM authentication support for Requests") + (synopsis "NTLM authentication support for Requests") (description "This package allows for HTTP NTLM authentication using the requests library.") @@ -10107,6 +10183,30 @@ conflicts detected by that mechanism.") for Python. It is mainly used by the ZODB.") (license license:zpl2.1))) +(define-public python-truststore + (package + (name "python-truststore") + (version "0.10.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "truststore" version)) + (sha256 + (base32 "00f3xc7720rkddsn291yrw871kfnimi6d9xbwi75xbb3ci1vv4cx")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;all tests require Internet access + (native-inputs + (list python-flit-core)) + (home-page "https://github.com/sethmlarson/truststore") + (synopsis "Verify certificates using native system trust stores") + (description + "Truststore is a library which exposes native system certificate stores (ie +\"trust stores\") through an @code{ssl.SSLContext-like} API. This means that +Python applications no longer need to rely on certifi as a root certificate +store.") + (license license:expat))) + (define-public python-robot-detection (package (name "python-robot-detection") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b5aa148e14..b46bd16e3d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2618,6 +2618,39 @@ decorators, including variants of the Python standard library's (sha256 (base32 "1m20wqipm50zvcgs3z2xksb96qwx1xc1jbhvaxcnglkmj6m1qrhs")))))) +(define-public python-colorclass + (package + (name "python-colorclass") + (version "2.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matthewdeanmartin/colorclass") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ylj167lfh8yzms30qrkiznv6737hdxra5lk8mhijcjm3hi1cl9l")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" "not test_piped") ; Unclear why this test fails. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-poetry-core + (lambda _ + ;; Patch to use the core poetry API. + (substitute* "pyproject.toml" + (("poetry.masonry.api") "poetry.core.masonry.api"))))))) + (native-inputs (list python-poetry-core python-pytest)) + (home-page "https://github.com/matthewdeanmartin/colorclass") + (synopsis "Colorful console applications with Python") + (description + "This package provides an ANSI color text library for Python. It +provides automatic coloring for dark or light terminals.") + (license license:expat))) + (define-public python-colorcet (package (name "python-colorcet") @@ -7746,6 +7779,35 @@ you traverse a schema like paths and access a schema on demand with separate dereferencing accessor layer.") (license license:asl2.0))) +(define-public python-jsonschema-objects + (package + (name "python-jsonschema-objects") + (version "0.5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cwacek/python-jsonschema-objects/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p3m0fbj25brhfma4bl47xjq6x4ay14yx284qwrki96dwd6v46xd")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-pytest-mock + python-setuptools)) + (propagated-inputs + (list python-inflection + python-jsonschema + python-markdown)) + (home-page "http://python-jsonschema-objects.readthedocs.org/") + (synopsis "Automatic Python binding generation from JSON schemas") + (description + "This package provides an automatic class-based binding to JSON +Schemas for use in python.") + (license license:expat))) + (define-public python-jsonschema-specifications (package (name "python-jsonschema-specifications") @@ -12965,50 +13027,52 @@ that requires its specific capabilities.") (define-public python-ffmpeg-python ;; The latest release (0.2.0) is old and its test suite crashs on Python 3.10. - (let ((commit "df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6") (revision "0")) - (package - (name "python-ffmpeg-python") - (version (git-version "0.2.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kkroening/ffmpeg-python.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1zj4ac37n4igfj21zy405mdlvbpv6jyb12wfpszf8zkhhj2qby4c")))) - (build-system python-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'hardcode-ffmpeg - (lambda* (#:key inputs #:allow-other-keys) - (define ffmpeg (search-input-file inputs "bin/ffmpeg")) + (package + (name "python-ffmpeg-python") + (properties '((commit . "df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6") + (revision . "0"))) + (version (git-version "0.2.0" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kkroening/ffmpeg-python.git") + (commit (assoc-ref properties 'commit)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zj4ac37n4igfj21zy405mdlvbpv6jyb12wfpszf8zkhhj2qby4c")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" "not test_pipe and not test__probe") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'hardcode-ffmpeg + (lambda* (#:key inputs #:allow-other-keys) + (let ((ffmpeg (search-input-file inputs "bin/ffmpeg"))) (substitute* "ffmpeg/_run.py" (("cmd='ffmpeg'") (string-append "cmd='" ffmpeg "'"))) (substitute* "ffmpeg/tests/test_ffmpeg.py" (("out_file.compile\\(\\) == \\['ffmpeg'") - (string-append "out_file.compile() == ['" ffmpeg "'"))))) - ;; Some tests fail with ffmpeg 5+ - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv" - "-k" "not test_pipe and not test__probe"))))))) - (inputs (list ffmpeg)) - (propagated-inputs (list python-future)) - (native-inputs (list python-future python-numpy python-pytest - python-pytest-mock python-pytest-runner)) - (home-page "https://github.com/kkroening/ffmpeg-python") - (synopsis "Python bindings for FFmpeg with complex filtering support") - (description - "ffmpeg-python allows you to write FFmpeg filtergraphs in familiar + (format #f "out_file.compile() == [~s" ffmpeg))))))))) + (inputs (list ffmpeg)) + (propagated-inputs (list python-future)) + (native-inputs (list python-future + python-numpy + python-pytest + python-pytest-mock + python-setuptools)) + (home-page "https://github.com/kkroening/ffmpeg-python") + (synopsis "Python bindings for FFmpeg with complex filtering support") + (description + "ffmpeg-python allows you to write FFmpeg filtergraphs in familiar Python terms, taking care of running ffmpeg with the correct command-line arguments. It handles arbitrarily large (directed-acyclic) signal graphs.") - (license license:asl2.0)))) + (license license:asl2.0))) (define-public python-imageio-ffmpeg (package @@ -13358,23 +13422,23 @@ all of your favorite programs.") (define-public python-pywinrm (package (name "python-pywinrm") - (version "0.4.1") + (version "0.5.0") (source (origin - (method url-fetch) - (uri (pypi-uri "pywinrm" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/diyan/pywinrm/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "10gabhhg3rgacd5ahmi2r128z99fzbrbx6mz1nnq0dxmhmn5rpjf")))) - (build-system python-build-system) + (base32 "0jp7rps6zg5b6n98lfkwbhv72982sxxnqc4v4i6hjlq1ycjmmb8r")))) + (build-system pyproject-build-system) (propagated-inputs - (list python-six python-requests_ntlm python-xmltodict - python-kerberos)) + (list python-requests python-requests-ntlm python-xmltodict)) (native-inputs - (list python-mock python-pytest)) + (list python-mock python-pytest python-setuptools)) (home-page "https://github.com/diyan/pywinrm/") - (synopsis - "Python library for Windows Remote Management (WinRM)") + (synopsis "Python library for Windows Remote Management (WinRM)") (description "pywinrm is a Python client for the Windows Remote Management (WinRM) service. It allows you to invoke commands on target Windows machines from @@ -13533,16 +13597,19 @@ etc. The core of this module is a decorator factory.") (uri (pypi-uri "drmaa" version)) (sha256 (base32 "0xzqriqyvk5b8hszbavsyxd29wm3sxirm8zvvdm73rs2iq7w4hkx")))) - (build-system python-build-system) + (build-system pyproject-build-system) ;; The test suite requires libdrmaa which is provided by the cluster ;; environment. At runtime the environment variable DRMAA_LIBRARY_PATH ;; should be set to the path of the libdrmaa library. (arguments - '(#:tests? #f - #:phases (modify-phases %standard-phases - ;; Loading the library fails because DRMAA_LIBRARY_PATH - ;; is not configured. - (delete 'sanity-check)))) + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Loading the library fails because DRMAA_LIBRARY_PATH + ;; is not configured. + (delete 'sanity-check)))) + (native-inputs (list python-setuptools)) (home-page "https://pypi.org/project/drmaa/") (synopsis "Python bindings for the DRMAA library") (description @@ -13570,11 +13637,11 @@ Python language binding specification.") (substitute* '("grako/util.py" "grako/walkers.py") (("collections\\.Mapping") "collections.abc.Mapping")))))) - (build-system python-build-system) - (arguments '(#:tests? #f)) ; Test file 'grako.ebnf' is missing from archive. - (native-inputs - (list unzip python-pytest python-pytest-runner)) - (home-page "https://bitbucket.org/neogeny/grako") + (build-system pyproject-build-system) + ;; XXX: Test file 'grako.ebnf' is missing from archive. + (arguments (list #:tests? #f)) + (native-inputs (list unzip python-pytest python-setuptools)) + (home-page "https://pypi.org/project/grako") (synopsis "EBNF parser generator") (description "Grako takes a grammar in a variation of EBNF as input, and outputs a @@ -13639,7 +13706,7 @@ you to actually draw things with your favorite toolkit.") (define-public python-gridmap (package (name "python-gridmap") - (version "0.14.0") + (version "0.15.0") (source (origin (method git-fetch) @@ -13648,15 +13715,20 @@ you to actually draw things with your favorite toolkit.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v0sgpg6pz8h61f9aqjf5xk0ipr512bbz8dxzjjylksj135qr19l")))) - (build-system python-build-system) + (base32 "0w1sxvhv5ldbzkx70q7036yvny0zsylc4zj7nzmp3nhjdl8whlrm")))) + (build-system pyproject-build-system) (arguments - '(#:tests? #f ;FIXME: Requires python-cherrypy. - #:phases (modify-phases %standard-phases - ;; Importing the web server module requires cherrypy, too. - (delete 'sanity-check)))) + (list #:tests? #f ;XXX: freezes or timeout + #:test-backend #~'nose)) + (native-inputs + (list ;; python-pynose + python-setuptools)) (propagated-inputs - (list python-psutil python-drmaa python-pyzmq)) + (list python-cherrypy + python-cloudpickle + python-psutil + python-drmaa + python-pyzmq)) (home-page "https://github.com/pygridtools/gridmap") (synopsis "Create jobs on a cluster directly from Python") (description @@ -18444,7 +18516,7 @@ $ rm -rf /tmp/env (file-name (git-file-name name version)) (sha256 (base32 "1gb5j73nw3nmx030rf8pm75rns5syxhv44zxr6i74kjicyly1i9w")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -18459,7 +18531,7 @@ $ rm -rf /tmp/env (when tests? (with-directory-excursion "../Testing" (invoke "./python_test.sh")))))))) - (native-inputs (list cmake-minimal)) + (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. @@ -18516,12 +18588,21 @@ a hash value.") (version "3.1.0") (source (origin - (method url-fetch) - (uri (pypi-uri "terminaltables" version)) - (sha256 - (base32 - "109vhldk6nv1z3hzp4dyqf6rjvlhl0y2k5k7qcm9fcrq5swhxszk")))) - (build-system python-build-system) + (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") @@ -18598,26 +18679,26 @@ Python's @code{ctypes} foreign function interface (FFI).") (define-public python-file (package/inherit file (name "python-file") - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - '(#:tests? #f ;no tests - #:configure-flags '("--single-version-externally-managed" "--root=/") - #:phases (modify-phases %standard-phases - (add-before 'build 'change-directory - (lambda _ - (chdir "python") - #t)) - (add-before 'build 'set-library-file-name - (lambda* (#:key inputs #:allow-other-keys) - (let ((file (assoc-ref inputs "file"))) - (substitute* "magic.py" - (("find_library\\('magic'\\)") - (string-append "'" file "/lib/libmagic.so'"))) - #t)))))) - (inputs `(("file" ,file))) - (native-inputs (if (%current-target-system) - `(("self" ,this-package)) - '())) + (list + #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'change-directory + (lambda _ + (chdir "python"))) + (add-before 'build 'set-library-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "magic.py" + (("find_library\\('magic'\\)") + (format #f "~s" (search-input-file inputs + "lib/libmagic.so"))))))))) + (inputs (list file)) + (native-inputs (cons* python-setuptools + (if (%current-target-system) + (list this-package) + '()))) (synopsis "Python bindings to the libmagic file type guesser") (description "This package provides Python bindings to the libmagic file type guesser. @@ -18823,9 +18904,9 @@ Python.") (copy-file "lib/debian/_version.py.in" "lib/debian/_version.py") (substitute* "lib/debian/_version.py" (("__CHANGELOG_VERSION__") #$version)))))) - (build-system python-build-system) + (build-system pyproject-build-system) (native-inputs - (list python-pytest)) + (list python-pytest python-setuptools)) (propagated-inputs (list python-six python-chardet)) (synopsis "Debian package related modules") @@ -19057,19 +19138,24 @@ functions to find and load entry points.") (define-public python-epc (package (name "python-epc") - (version "0.0.5") + (properties '((commit . "f3673ae5c35f20a0f71546ab34c28e3dde3595c1") + (revision . "0"))) + (version (git-version "0.0.5" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) (source (origin - (method url-fetch) - (uri (pypi-uri "epc" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tkf/python-epc") + (commit (assoc-ref properties 'commit)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "09bx1ln1bwa00917dndlgs4k589h8qx2x080xch5m58p92kjwkd1")))) - (build-system python-build-system) - (propagated-inputs - (list python-sexpdata)) - (native-inputs - (list python-nose)) + (base32 "0q27bj49yan2qg6i8m5czs5b5jv26ff42yz7j4r5652s7j3f42mm")))) + (build-system pyproject-build-system) + (arguments (list #:test-backend #~'nose)) + (propagated-inputs (list python-sexpdata)) + (native-inputs (list python-pynose python-setuptools)) (home-page "https://github.com/tkf/python-epc") (synopsis "Remote procedure call (RPC) stack for Emacs Lisp and Python") (description @@ -19083,17 +19169,17 @@ from elisp.") (version "1.5") (source (origin - (method url-fetch) - (uri (pypi-uri "forex-python" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/MicroPyramid/forex-python") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1ma8cl1i2dh8aa99pifnlilyy4d1gd1s07fj0yd17wcbpsh532cj")))) - (build-system python-build-system) - (arguments - ;; Tests are not included in the PyPI tarball. Also, the tests in the - ;; repository require online data. - `(#:tests? #f)) - (propagated-inputs - (list python-requests python-simplejson)) + (base32 "0pl5sfd0wkv1a2y324l518h6sing7wkadrbr5xcf6hjykn2mbi5h")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ; Tests require online data. + (native-inputs (list python-setuptools)) + (propagated-inputs (list python-requests python-simplejson)) (home-page "https://github.com/MicroPyramid/forex-python") (synopsis "Foreign exchange rates and currency conversion") (description @@ -19119,11 +19205,15 @@ Features: (version "0.9.12") (source (origin - (method url-fetch) - (uri (pypi-uri "simpleeval" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/danthedeckie/simpleeval") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0diysdzvx865yy2rjfah75ha2qfxaxz7r108kp7j2kkd903ya2ry")))) - (build-system python-build-system) + (base32 "0khgl729q5133fgc00d550f4r77707rkkn7r56az4v8bvx0q8xp4")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/danthedeckie/simpleeval") (synopsis "Simple, safe single expression evaluator library") (description @@ -19382,39 +19472,32 @@ Jupyter kernels such as IJulia and IRKernel.") (define-public python-jsbeautifier (package (name "python-jsbeautifier") - (version "1.10.2") + (version "1.15.3") (home-page "https://github.com/beautify-web/js-beautify") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0wawb070ki1axb3jc9xvsrgpji52vcfif3zmjzc3z4g98m5xw4kg")))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zl1g6w5zn2hxk5qq83j52cxa1ig75ryjwsjxv9wiwkar4qq88zg")))) + (build-system pyproject-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - ;; The upstream Git repository contains all the code, - ;; but this package only builds the python code. - (chdir "python") - #t)) - (add-after 'unpack 'patch-python-six-requirements - (lambda _ - (substitute* "python/setup.py" - (("six>=1.12.0") - "six>=1.11.0")) - #t))))) - (propagated-inputs - (list python-editorconfig python-six)) - (native-inputs - (list python-pytest)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "python") + (rename-file "setup-js.py" "setup.py")))))) + (propagated-inputs (list python-editorconfig python-six)) + (native-inputs (list python-pytest python-setuptools)) (synopsis "JavaScript unobfuscator and beautifier") - (description "Beautify, unpack or deobfuscate JavaScript, leveraging -popular online obfuscators.") + (description + "This packages provides tooling to beautify, unpack or deobfuscate +JavaScript, leveraging popular online obfuscators.") (license license:expat))) (define-public python-chardet @@ -19623,38 +19706,45 @@ tutorial.") @code{PythonAnywhere} services.") (license license:expat))) -(define-public python-pythondialog +(define-public python-dialog (package - (name "python-pythondialog") - (version "3.4.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "pythondialog" version)) - (sha256 - (base32 - "1728ghsran47jczn9bhlnkvk5bvqmmbihabgif5h705b84r1272c")))) - (build-system python-build-system) + (name "python-dialog") + (version "3.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pythondialog" version)) + (sha256 + (base32 "08v3flvbhpc0p20drniiaalc3ijghlxk9ka5vz5mqqm6y254m8xj")) + (modules '((guix build utils))) + (snippet #~(delete-file-recursively "doc")))) + (build-system pyproject-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((dialog (assoc-ref inputs "dialog"))) - (substitute* "dialog.py" - (("os.getenv\\(\"PATH\", \":/bin:/usr/bin\"\\)") (string-append - "os.getenv(\"PATH\") + \":" - dialog - "/bin\""))) - #t)))) - #:tests? #f)) - (propagated-inputs (list dialog)) + (list + ;; XXX: There are no tests, but some examples. However, they need to + ;; be run on a terminal. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "dialog.py" + (("_path_to_executable\\(dialog\\)") + (format #f "os.path.realpath(~s)" + (search-input-file inputs "bin/dialog"))))))))) + (native-inputs (list python-setuptools)) + (inputs (list dialog)) (home-page "https://pythondialog.sourceforge.net/") (synopsis "Python interface to the UNIX dialog utility") (description - "A Python wrapper for the dialog utility. Its purpose is to -provide an easy to use, pythonic and comprehensive Python interface to dialog. -This allows one to make simple text-mode user interfaces on Unix-like systems") + "A Python wrapper for the dialog utility. Its purpose is to provide an +easy to use, pythonic and comprehensive Python interface to dialog. This +allows one to make simple text-mode user interfaces on Unix-like systems") (license license:lgpl2.1))) +(define-public python-pythondialog + (deprecated-package "python-pythondialog" python-dialog)) + (define-public python-confection (package (name "python-confection") @@ -20760,40 +20850,53 @@ manipulation library.") (define-public python-asteval (package (name "python-asteval") - (version "0.9.23") + (version "1.0.6") (source (origin (method url-fetch) (uri (pypi-uri "asteval" version)) (sha256 - (base32 - "0f54sd4w1a72ij1bcxs2x7dk9xf8bzclawijf1z18bqx9f96l2gm")))) - (build-system python-build-system) + (base32 "17x1qk07cixj1nn59pp5dzjc9jna92v6kljdss81l5rf9cqfga0s")))) + (build-system pyproject-build-system) (native-inputs - (list python-pytest)) + (list python-pytest + python-pytest-cov + python-setuptools + python-setuptools-scm)) (home-page "https://github.com/newville/asteval") (synopsis "Minimalistic evaluator of Python expressions") (description "This package provides a minimalistic evaluator of Python expression -using the @code{ast} module") +using the @code{ast} module.") (license license:expat))) (define-public python-lmfit (package (name "python-lmfit") - (version "1.0.2") + (version "1.3.4") (source (origin (method url-fetch) (uri (pypi-uri "lmfit" version)) (sha256 (base32 - "0iab33jjb60f8kn0k0cqb0vjp1mdskks2n3kpn97zkw5cvjhq2b7")))) - (build-system python-build-system) + "15z4zcyc4crfdw22qnbaq8wrf552jgl83gd3nk2zc5zp8f6c48iw")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; Costly tests that may fail with multiprocessing.context.TimeoutError. + #~(list "--ignore=tests/test_jacobian_pickling.py") + #:phases + #~(modify-phases %standard-phases + ;; XXX: Unclear why, but the phase seems broken. + ;; asteval>=1.0 is not understood correctly. + (delete 'sanity-check)))) (propagated-inputs - (list python-asteval python-numpy python-scipy python-uncertainties)) + (list python-asteval python-dill python-numpy python-scipy + python-uncertainties)) (native-inputs - (list python-pytest)) + (list python-pytest python-pytest-cov python-setuptools)) (home-page "https://lmfit.github.io/lmfit-py/") (synopsis "Least-Squares minimization with bounds and constraints") (description @@ -20999,19 +21102,32 @@ Amazon Web Services (AWS) API.") (define-public python-pyfiglet (package (name "python-pyfiglet") - (version "0.8.post1") + (version "1.0.4") (source (origin - (method url-fetch) - (uri (pypi-uri "pyfiglet" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pwaller/pyfiglet") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0f9n2076ga2ccsg174k2d7n0z4d44ml96yzc72s6g4nhalbk5hn6")))) - (build-system python-build-system) + (base32 "1r1fyphz99jar2xfk761cl740zxk4b0gygajgjfx6i1kf0dxdv40")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fallback-on-default-build + (lambda _ + ;; This pyproject has little value and fails because of the + ;; :__legacy__ suffix. Removing it to rely on defaults. + (delete-file "pyproject.toml")))))) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/pwaller/pyfiglet") (synopsis "Draw ASCII art big letters in Python") - (description "This module lets you draw large letter from ordinary characters -in pure Python.") + (description + "This module lets you draw large letter from ordinary characters in pure + Python.") (license license:expat))) (define-public python-mako @@ -21334,21 +21450,20 @@ synchronously (wait until ready).") (define-public python-translitcodec (package (name "python-translitcodec") - (version "0.4.0") + (version "0.7.0") (source (origin - (method url-fetch) - (uri (pypi-uri "translitcodec" version)) + (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 - "10x6pvblkzky1zhjs8nmx64nb9jdzxad4bxhq4iwv0j4z2aqjnki")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; no tests provided - (home-page - "https://github.com/claudep/translitcodec") - (synopsis - "Unicode to 8-bit charset transliteration codec") + (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, @@ -21358,56 +21473,69 @@ ISO 8859, etc.).") (define-public python-anyqt (package (name "python-anyqt") - (version "0.2.0") + (version "0.2.1") (source (origin - (method url-fetch) - (uri (pypi-uri "AnyQt" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ales-erjavec/anyqt") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0fvnhdk0nzhlm1xydisvdq1w7lwaakdkbwb1rkyz4vd232wji4jb")))) - (build-system python-build-system) + (base32 "0dci4sx53icd3jxv5gm22yr5g4dcyqbyvkkwliqpmbkxxjxj0dc8")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f ;there are no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-files - ;; Delete files related to other operating systems. - (lambda _ - (delete-file "AnyQt/QtMacExtras.py") - (delete-file "AnyQt/QtWinExtras.py")))))) + (list + ;; XXX: Qt tests require Qt modules, see test/test_import.py. + ;; TODO Add/configure the right Qt inputs. + #:test-flags + #~(list "--ignore-glob=tests/test_q*.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-files + ;; Delete files related to other operating systems. + (lambda _ + (delete-file "AnyQt/QtMacExtras.py") + (delete-file "AnyQt/QtWinExtras.py")))))) + (native-inputs + (list python-pyqt-6 + python-pytest + python-pytest-qt + python-setuptools)) (home-page "https://github.com/ales-erjavec/anyqt") - (synopsis "PyQt4/PyQt5 compatibility layer") - (description "AnyQt is a PyQt4/PyQt5 compatibility layer.") + (synopsis "PyQt compatibility layer") + (description + "This package provides a PyQt/PySide compatibility layer. More precisely, +it provides compatibility for the following modules: PyQt4, PyQt5, PyQt6, +PySide, PySide2.") (license license:gpl3))) (define-public python-qasync (package (name "python-qasync") - (version "0.27.1") + (version "0.28.0") (source (origin - ;; There are no tests in the PyPI tarball. (method git-fetch) (uri (git-reference - (url "https://github.com/CabbageDevelopment/qasync/") - (commit (string-append "v" version)))) + (url "https://github.com/CabbageDevelopment/qasync/") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0j6ksfnq9qfjdfppbkdz7jh6w0gnslwnckhafmlgim29b25g0z51")))) + (base32 "13i5riq7ig4csxlx61fzb8xl12ny0dkwj4h8f8r95xz5rii7a0kr")))) (build-system pyproject-build-system) (arguments - (list #:test-flags - ;; XXX: Added with python@3.11, not fixed upstream. - #~(list "-k" "not test_regression_bug13") - #:phases - #~(modify-phases %standard-phases - (add-before 'check 'set-qpa - (lambda _ - (setenv "QT_QPA_PLATFORM" "offscreen")))))) + (list + #:build-backend "poetry.core.masonry.api" ;XXX: python-uv-build is required + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-qpa + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen")))))) (native-inputs (list python-poetry-core python-pytest)) (propagated-inputs - (list python-pyqt)) + (list python-pyqt-6)) (home-page "https://github.com/CabbageDevelopment/qasync") (synopsis "Implementation of the PEP 3156 Event-Loop with Qt") (description @@ -21417,40 +21545,44 @@ by providing an implementation of the PEP 3156 event-loop.") (define-public python-editor (package - (name "python-editor") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (pypi-uri "python-editor" version)) - (sha256 - (base32 - "0yrjh8w72ivqxi4i7xsg5b1vz15x8fg51xra7c3bgfyxqnyadzai")))) - (build-system python-build-system) - (arguments - '(#:tests? #f)) ;XXX: needs a TTY and an editor - (home-page "https://github.com/fmoo/python-editor") - (synopsis "Programmatically open an editor, capture the result") - (description - "python-editor is a library that provides the editor module for -programmatically interfacing with your system's $EDITOR.") - (license license:asl2.0))) + (name "python-editor") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fmoo/python-editor") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hm5gcz5117dsq39bqfxpwazk4khqd272ran0n12x0x84mnqvfxa")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;XXX: needs a TTY and an editor + (native-inputs (list python-setuptools)) + (home-page "https://github.com/fmoo/python-editor") + (synopsis "Programmatically open an editor, capture the result") + (description + "This package provides the editor module for programmatically interfacing +with your system's $EDITOR.") + (license license:asl2.0))) (define-public python-multiprocessing-logging (package (name "python-multiprocessing-logging") - (version "0.3.1") + (version "0.3.4") (home-page "https://github.com/jruere/multiprocessing-logging") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1625wy3djlr3b2fpd3vi822f8gw6b75mnls5a4318dbi9za5pf0y")))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ib1plsyi4g68n0crc2cqhk54fccsmcijzh66g89fd3lgababgxd")))) + (build-system pyproject-build-system) + (arguments (list #:test-backend #~'unittest)) + (native-inputs (list python-setuptools)) (synopsis "Manage logs from multiple processes") (description "This Python module implements a multiprocessing-aware @code{Handler} @@ -21462,33 +21594,27 @@ main process so that they are handled correctly.") (package (name "python-munkres") (version "1.1.4") - (source (origin - (method url-fetch) - (uri (pypi-uri "munkres" version)) - (sha256 - (base32 - "00yvj8bxmhhhhd74v7j0x673is7vizmxwgb3dd5xmnkr74ybyi7w")))) + (source + (origin + (method url-fetch) + (uri (pypi-uri "munkres" version)) + (sha256 + (base32 "00yvj8bxmhhhhd74v7j0x673is7vizmxwgb3dd5xmnkr74ybyi7w")))) + (build-system pyproject-build-system) (arguments (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'disable-test - (lambda _ - ;; See https://github.com/bmc/munkres/issues/40 - (substitute* "test/test_munkres.py" - (("^def test_profit_float" m) - (string-append "\ -import platform -@pytest.mark.skipif(platform.architecture()[0] == \"32bit\", - reason=\"Fails on 32 bit architectures\") -" m)))))))) - (build-system python-build-system) - (native-inputs (list python-pytest)) + ;; See https://github.com/bmc/munkres/issues/40 + #:test-flags + (if (member (%current-system) %32bit-supported-systems) + #~(list "-k" "not test_profit_float") + #~(list)))) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://software.clapper.org/munkres/") (synopsis "Implementation of the Munkres algorithm") - (description "The Munkres module provides an implementation of the Munkres -algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm), -useful for solving the Assignment Problem.") + (description + "The Munkres module provides an implementation of the Munkres algorithm +(also called the Hungarian algorithm or the Kuhn-Munkres algorithm), useful +for solving the Assignment Problem.") (license license:bsd-3))) (define-public python-codespell @@ -34582,18 +34708,39 @@ were local.") (define-public python-nampa (package (name "python-nampa") - (version "0.1.1") + ;; PyPI version is 0.1.1 from 2017. Tag 1.0 on git is from 2020 and still + ;; has 0.1.1 as version. Latest commit is from 2024. + (properties '((commit . "cb6a63aae64324f57bdc296064bc6aa2b99ff99a") + (revision . "0"))) + (version (git-version "1.0.0" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) (source (origin - (method url-fetch) - (uri (pypi-uri "nampa" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/thebabush/nampa") + (commit (assoc-ref properties 'commit)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0k6cq2gflpkm40qhgqbbcjmq5lq589c15bmk567qyh3d08062hvd")))) + (base32 "0a3fx0wpch4il1fwv1nan6nsd7bv84b0bs2xxxjacisw3spizlg0")))) (build-system pyproject-build-system) (arguments - (list #:tests? #f)) ;no tests in PyPI archvie, no 0.1.1 tag in Git + (list + #:test-flags + #~(list "-k test_random_values") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; Unclear why this top-level __init__.py is here. It seems to + ;; setup a plugin for binaryninja, which Guix does not package. + (delete-file "__init__.py") + ;; Yields tests, which is not allowed anymore. + (substitute* "tests/test_crc.py" + (("yield") "#yield"))))))) (propagated-inputs (list python-future)) - (native-inputs (list python-setuptools)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/thebabush/nampa") (synopsis "Python implementation of IDA Pro's FLIRT technology") (description diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 82512f80e6..efd307aea1 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -414,9 +414,6 @@ problems for efficient solution on parallel systems.") (license license:gpl3+) (home-page "https://openfoam.org"))) -(define-public openfoam - (deprecated-package "openfoam" openfoam-org)) - (define-public openfoam-com ;; This is a fork of 'openfoam-org', maintained separately. (package diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 688db00783..87e40e1177 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -244,12 +244,13 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") pango readline gtk+ - gtksourceview-3 + gtksourceview-4 spread-sheet-widget zlib)) (native-inputs (list autoconf ;for tests `(,glib "bin") ;for glib-genmarshal + glibc-locales ;for test 1597: tex non-ascii perl pkg-config python-3 ;for tests diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index c1ad2ba86f..d1a6d90507 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -76,18 +76,17 @@ (version "1.18.0") (source (origin - (method url-fetch) - (uri (pypi-uri "termdown" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/trehn/termdown") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "07nxsqpwnpr9jkvif2ngjlcq05z0ldnmqxd15d1l593lzmxdyrci")))) + (base32 "15i7ilwzwdj831bcd1gjnirydcdbr1b10d7jw5syjv0xwqq3yy8y")))) (build-system pyproject-build-system) - (native-inputs - (list python-setuptools python-wheel)) - (propagated-inputs - (list python-click - python-pyfiglet - python-dateutil)) + (arguments (list #:tests? #f)) ; No tests. + (native-inputs (list python-pytest python-setuptools)) + (propagated-inputs (list python-click python-pyfiglet python-dateutil)) (home-page "https://github.com/trehn/termdown") (synopsis "Countdown timer for your terminal") (description diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2ef3e4ea3e..c621104bd4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3134,7 +3134,7 @@ video streaming services of the Finnish national broadcasting company Yle.") (define-public yt-dlp (package (name "yt-dlp") - (version "2025.10.14") + (version "2025.10.22") (source (origin (method git-fetch) @@ -3146,7 +3146,7 @@ video streaming services of the Finnish national broadcasting company Yle.") (snippet #~(substitute* "pyproject.toml" (("^.*Programming Language :: Python :: 3\\.13.*$") ""))) (sha256 - (base32 "187rwpdh881m922h6m32pikqah1wlxjqww73ijw511i2fnwykfy7")))) + (base32 "19viqfk3gnl6yk9p17kp0a21w18yr32qii4grm3mys758ws881ld")))) (build-system pyproject-build-system) (arguments (list @@ -6605,17 +6605,31 @@ downloader. It does not require a Youtube API key.") (define-public python-youtube-search (package (name "python-youtube-search") - (version "1.6.6") + ;; Original repository is archived, see + ;; https://github.com/alexmercerind/youtube-search-python/issues/189 + ;; The most promising fork (in the sense that it works) is + ;; https://github.com/ahmedayyad-dev/youtube-search-python-fork, + ;; which is therefor packaged in Guix. + (properties '((commit . "6d7e16ebcdc90032392749c2f30f8e29ea0956ae") + (revision . "0"))) + (version (git-version "1.6.6" + (assoc-ref properties 'revision) + (assoc-ref properties 'commit))) (source (origin - (method url-fetch) - (uri (pypi-uri "youtube-search-python" version)) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/ahmedayyad-dev/youtube-search-python-fork") + (commit (assoc-ref properties 'commit)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1xgw6nqypnj3ymjkfyzc1vvwar73qvp08prnp15ypmzcd7bx2s25")))) + (base32 "1b2sc0v0xw8kqrqy1844xkdsss70npkyk26fprpw3yhz09az5k3q")))) + (arguments (list #:tests? #f)) ;no tests in repository (build-system pyproject-build-system) (propagated-inputs (list python-httpx)) - (native-inputs (list python-setuptools python-wheel)) - (home-page "https://github.com/alexmercerind/youtube-search-python") + (native-inputs (list python-setuptools)) + (home-page "https://github.com/ahmedayyad-dev/youtube-search-python-fork") (synopsis "Search for YouTube videos, channels & playlists") (description "This package provides tools to search for @code{YouTube} videos, diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 1c98d8828c..689b91551b 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -942,8 +942,8 @@ traversing network address translators (@dfn{NAT}s) and firewalls.") ncurses openvpn procps + python-dialog python-jinja2 - python-pythondialog python-requests which)) (synopsis "Command-line client for ProtonVPN") |