diff --git a/etc/guix-install.sh b/etc/guix-install.sh index 3215c4cfea9..39189304727 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -97,8 +97,7 @@ WAR=$'[ \033[33;1mWARN\033[0m ] ' INF="[ INFO ] " DEBUG=0 -GNU_URL="https://ftp.gnu.org/gnu/guix/" -#GNU_URL="https://alpha.gnu.org/gnu/guix/" +GNU_URL="https://ftpmirror.gnu.org/gnu/guix/" # The following associative array holds set of GPG keys used to sign the # releases, keyed by their corresponding Savannah user ID. diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 66af265cd0a..1da6e771948 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4910,26 +4910,19 @@ key of digital audio.") (define-public wavpack (package (name "wavpack") - (version "5.4.0") + (version "5.8.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/dbry/WavPack/releases/download/" version "/wavpack-" version ".tar.xz")) (sha256 - (base32 "0ycbqarw25x7208jilh86vwwiqklr7f617jps9mllqc659mnmpjb")))) + (base32 "09hcbkjlg00gdcyqfviqa76wpx4xz4waxhfgmx88hb30k1a7f8kk")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list "--disable-static" - "--enable-tests") - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "./cli/wvtest" "--default" "--short")) - #t))))) + "--enable-tests"))) (home-page "https://www.wavpack.com/") (synopsis "Hybrid lossless audio codec") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3cd2c838bfd..0e80c7eb208 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -21816,16 +21816,32 @@ throughput chromatin profiles. Typical use cases include: (package (name "umi-tools") (version "1.1.6") + ;; TODO: Delete generated Cython C files. (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/CGATOxford/UMI-tools") - (commit (string-append "v" version)))) + (url "https://github.com/CGATOxford/UMI-tools") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1liykfj4msvcgk8an5qq802jcxwlijqxrvijipqj1pwpxqzl9qnh")))) (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--ignore=tests/test_style.py" + "--ignore=step1_unit_test.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-bash-path + (lambda _ + (substitute* "tests/test_umi_tools.py" + (("/bin/bash") + (which "sh"))))) + (add-before 'check 'build-extensions + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace")))))) (inputs (list python-pandas python-future @@ -21836,7 +21852,10 @@ throughput chromatin profiles. Typical use cases include: python-scipy python-pysam)) (native-inputs - (list python-setuptools python-wheel)) + (list python-cython + python-pyaml + python-pytest + python-setuptools)) (home-page "https://github.com/CGATOxford/UMI-tools") (synopsis "Tools for analyzing unique modular identifiers") (description "This package provides tools for dealing with @dfn{Unique @@ -24259,7 +24278,7 @@ for the analysis and visualization of raw nanopore signal.") (base32 "0i4j5bq5q32q216ja7yvg0mpww5j0b9p8ky5bya4d31wqmygal8z")))) (build-system pyproject-build-system) (propagated-inputs (list python-setuptools)) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/dridk/PyVCF3") (synopsis "Variant Call Format parser for Python") (description "This package provides a @acronym{VCF,Variant Call Format} diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index b8349aa8ce4..d50bec38770 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -827,7 +827,7 @@ supported devices, as well as input/output file format support.") (define-public m8c (package (name "m8c") - (version "2.1.0") + (version "2.2.0") (source (origin (method git-fetch) @@ -836,7 +836,7 @@ supported devices, as well as input/output file format support.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vv0m4ry23nns5a47m2n9k6i3wly2jjc5n1j3l7sh1m480ga3d42")))) + (base32 "1mx4n5di1bsm4ill55sf4dfa5rldrch0mrr4mk83x0xqd2rfy2mp")))) (build-system cmake-build-system) (arguments (list @@ -921,6 +921,10 @@ which allows one to install the M8 firmware on any Teensy.") (string-append "-DTRELLIS_INSTALL_PREFIX=" #$(this-package-input "prjtrellis")) "-DUSE_IPO=OFF") + #:modules '((guix build qt-build-system) + (guix build utils) + (ice-9 ftw) + (srfi srfi-26)) #:phases #~(modify-phases %standard-phases ;; Required by himbaechel architecture, ng-ultra support. @@ -947,10 +951,42 @@ which allows one to install the M8 firmware on any Teensy.") (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake") (string-append #$(this-package-native-input "sanitizers-cmake") - "/share/sanitizers-cmake/cmake")))))))) + "/share/sanitizers-cmake/cmake"))))) + (add-after 'install 'run-icestorm-examples + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PATH" + (string-append #$output "/bin:" (getenv "PATH"))) + ;; Tests need write access. + (copy-recursively + (string-append + #$(this-package-native-input "icestorm") "/examples") + "/tmp/icestorm/examples") + (with-directory-excursion "/tmp/icestorm/examples" + (for-each + (cut invoke "make" "-C" <>) + (scandir "." (negate (cut member <> '("." ".."))))))))) + (add-after 'run-icestorm-examples 'run-prjtrellis-examples + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PATH" + (string-append #$output "/bin:" (getenv "PATH"))) + ;; Tests need write access. + (copy-recursively + (string-append + #$(this-package-native-input "prjtrellis") "/examples") + "/tmp/prjtrellis/examples") + (with-directory-excursion "/tmp/prjtrellis/examples" + (for-each + (cut invoke "make" "-C" <>) + ;; Other tests require unavailable tools. + (list "ecp5_evn" "tinyfpga_rev1" + "tinyfpga_rev2" "versa5g"))))))))) (native-inputs - (list googletest - sanitizers-cmake)) + `(("icestorm" ,(package-source icestorm)) + ("googletest" ,googletest) + ("prjtrellis" ,(package-source prjtrellis)) + ("sanitizers-cmake" ,sanitizers-cmake))) (inputs (list apycula boost @@ -1357,12 +1393,13 @@ GUI for sigrok.") (("\\[FindOsvvmSettingsDirectory\\]") " \"\" ")))) (add-after 'fix-scripts 'check - (lambda _ - (setenv "OSVVM_DIR" (getcwd)) - (setenv "OSVVM_MUST_BUILD" (getcwd)) - (invoke "tclsh" - (string-append #$(this-package-native-input "nvc") - "/test/test-osvvm.tcl"))))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "OSVVM_DIR" (getcwd)) + (setenv "OSVVM_MUST_BUILD" (getcwd)) + (invoke "tclsh" + (string-append #$(this-package-native-input "nvc") + "/test/test-osvvm.tcl")))))))) (native-inputs (list nvc tcl tcllib which)) (native-search-paths @@ -1398,6 +1435,8 @@ verification.") (base32 "1kn18ibvm7bzdyw2d914284wriravyh5qwfarj06pb052x1yblyx")))) (arguments (substitute-keyword-arguments (package-arguments osvvm) + ((#:tests? _ #t) + #f) ((#:phases phases #~%standard-phases) #~(modify-phases #$phases (delete 'fix-scripts))))))) diff --git a/gnu/packages/fediverse.scm b/gnu/packages/fediverse.scm index ce91efa9b4d..fdfd25f52c9 100644 --- a/gnu/packages/fediverse.scm +++ b/gnu/packages/fediverse.scm @@ -34,6 +34,7 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages bash) + #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -44,6 +45,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages nss) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) @@ -137,7 +139,10 @@ the federation of interconnected video hosting services.") python-requests python-tomlkit python-urwid-3 - python-wcwidth)) + python-wcwidth + ;; Required to display images in the TUI + python-pillow + python-term-image)) (home-page "https://github.com/ihabunek/toot/") (synopsis "Mastodon CLI client") (description "Interact with Mastodon social network from the command line. @@ -219,34 +224,47 @@ seamlessly with your desktop environment.") (define-public python-mastodon-py (package (name "python-mastodon-py") - (version "1.5.1") + (version "2.1.4") (source - (origin - (method url-fetch) - (uri (pypi-uri "Mastodon.py" version)) - (sha256 - (base32 - "1vikvkzcij2gd730cssigxi38vlmzqmwdy58r3y2cwsxifnxpz9a")))) - (build-system python-build-system) - (propagated-inputs - (list python-blurhash - python-dateutil - python-decorator - python-magic - python-pytz - python-requests - python-six)) + (origin + (method url-fetch) + (uri (pypi-uri "mastodon_py" version)) + (sha256 + (base32 "1988sanhh4162jilffa7r1n9ylls5v868ndfmnsp0z5k9p5fj0k6")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-check-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZ" "UTC") + (setenv "TZDIR" + (search-input-directory inputs + "share/zoneinfo"))))))) (native-inputs - (list python-blurhash - python-cryptography - python-http-ece + (list nss-certs-for-test python-pytest python-pytest-cov python-pytest-mock - python-pytest-runner - python-pytest-vcr + python-pytest-recording + python-pytest-retry + python-pytz python-requests-mock - python-vcrpy)) + python-setuptools + python-vcrpy + tzdata-for-tests)) + (propagated-inputs + (list python-blurhash + python-decorator + python-dateutil + python-magic + python-requests + ;; [optional] + python-blurhash + python-cryptography + python-grapheme ;project was not updated for 6y + python-http-ece)) (home-page "https://github.com/halcy/Mastodon.py") (synopsis "Python wrapper for the Mastodon API") (description diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index d5589fba198..b6083dadea3 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015-2017, 2019, 2021-2022, 2025 Ludovic Courtès ;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2015 David Hashe -;;; Copyright © 2016, 2017, 2019, 2021-2024 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2021-2025 Efraim Flashner ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2017 Nikita ;;; Copyright © 2017, 2018 Mark H Weaver @@ -603,7 +603,16 @@ freedesktop.org project.") ;; XXX: Using 'debug' or 'debugoptimized' pulls in an additional test that ;; hangs, and the comments around it suggests that we should be using this ;; Meson target anyway. - #:build-type "release")) + #:build-type "release" + #:phases + ,@(if (target-64bit?) + `(%standard-phases) + `((modify-phases %standard-phases + ;; Backported from a commit after the 1.29.0 release. + (add-after 'unpack 'correct-value-type-in-atou64_test + (lambda _ + (substitute* "test/test-utils.c" + (("unsigned long val") "uint64_t val"))))))))) (native-inputs (append (list check pkg-config python-minimal-wrapper python-pytest) (if (%current-target-system) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index dda73b78176..94b8ce6ec4e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4672,7 +4672,9 @@ editors, IDEs, etc.") ((#:configure-flags flags #~'()) #~(cons "-Dgtk4=false" (delete "-Dgtk3=false" #$flags))))) (propagated-inputs (modify-inputs (package-propagated-inputs vte) - (replace "gtk" gtk+))))) + (replace "gtk" gtk+))) + (properties + `((upstream-name . "vte"))))) (define-public vte-with-sixel (package/inherit vte diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c98d5fc7d26..621954a612c 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages base) + #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages crypto) #:use-module (gnu packages emacs) @@ -616,17 +617,26 @@ distributed separately.") (define-public python-pygpgme (package (name "python-pygpgme") - (version "0.4") + (version "0.6") (source (origin (method url-fetch) (uri (pypi-uri "pygpgme" version)) (sha256 (base32 - "1px1c5nqsls3fxg0zkyd9sgc5rxpdagvsadnp8fd5bmgrrjka5ws")))) + "0k25y3c07bkmz6q87lcbsbf34gva99rmdf5gffd8c1r1sccjif1n")))) (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; gpgme.GpgmeError: (, , + ;; 'No such file or directory') + #~(list "--deselect=tests/test_import.py::ImportTestCase::test_import_keys"))) (native-inputs - (list gnupg python-setuptools python-wheel)) + (list gnupg ;to run gpg-connect-agent + pkg-config + python-pytest + python-setuptools)) (inputs (list gpgme)) (home-page "https://github.com/jhenstridge/pygpgme") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index fd7519b957c..4a613264dce 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -9336,6 +9336,24 @@ standard Read class, for better deserialisation of Haskell values from Strings.") (license license:lgpl2.1))) +(define-public ghc-portmidi + (package + (name "ghc-portmidi") + (version "0.2.0.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "PortMidi" version)) + (sha256 + (base32 + "1jb722gwgx1fdyv64nj3by22970l3r04ibc3fa3hnp3k4l2jvk0f")))) + (build-system haskell-build-system) + (inputs (list alsa-lib)) + (home-page "https://github.com/PortMidi/PortMidi-haskell") + (synopsis "Haskell bindings for PortMedia/PortMidi") + (description "This is a Haskell module for PortMidi audio library, +which supports real-time MIDI input and output.") + (license license:bsd-3))) + (define-public ghc-pqueue (package (name "ghc-pqueue") diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index cef10491542..31a61630065 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -453,6 +453,7 @@ projects.") #:configure-flags #~(list "-DBUILD_WITH_QT6=ON" + "-DWITH_FFMPEG=ON" (string-append "-DDOCBOOK_XSL_DIR=" #$(this-package-native-input "docbook-xsl"))) #:qtbase qtbase @@ -467,13 +468,13 @@ projects.") (native-inputs (list docbook-xsl extra-cmake-modules - ffmpeg-4 kdoctools libxslt python-minimal-wrapper qttools)) (inputs (list chromaprint + ffmpeg-6 flac id3lib kconfig @@ -548,7 +549,7 @@ variety of formats.") cdrdao cdrtools dvd+rw-tools - ffmpeg + ffmpeg-6 flac karchive kauth diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index 28262aed53d..e255a0e0956 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -1057,7 +1057,7 @@ the schedule and venue information.") (inputs (list libxkbcommon libva pipewire - ffmpeg + ffmpeg-6 kcoreaddons ki18n kwayland diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cbed9b1d45f..b8df4438e93 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -10986,6 +10986,26 @@ and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development.") (license license:lgpl2.0+))) +(define-public pipewire-minimal + ;; Used as libpipewire to reduce closure size and avoid dependency cycles. + (hidden-package + (package + (inherit pipewire) + (name "pipewire-minimal") + (arguments + (list + #:configure-flags + #~(list "-Dsession-managers=[]" + "-Ddbus=disabled" + "-Dflatpak=disabled" + ;; XXX: Otherwise test_loop will fail with: + ;; libgcc_s.so.1 must be installed for pthread_cancel to work + (string-append "-Dc_link_args=-Wl,-rpath=" #$output "/lib" + " -lgcc_s") + "-Db_asneeded=false"))) + (native-inputs '()) + (inputs '())))) + (define-public wireplumber (package (name "wireplumber") diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 1b16f2ffb44..4f72018d823 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1073,45 +1073,38 @@ to establish class invariants.") (define-public python-inline-snapshot (package (name "python-inline-snapshot") - (version "0.18.2") + (version "0.29.1") (source (origin (method url-fetch) (uri (pypi-uri "inline_snapshot" version)) (sha256 - (base32 "09pqgz4phal2pjkv03wg3gvj7jr89rrb93rfw4hd2x9v8px4mqqv")))) + (base32 "19x5j97i96p3xr9xyjvwh0mmpcnypf8g5hf2jjm6g82ghsv3rrqp")))) (build-system pyproject-build-system) (arguments (list + ;; tests: 518 passed, 88 skipped, 1 xfailed, 903 subtests passed #:test-flags - ;; Missing "freezer" fixture - '(list "--ignore=tests/test_external.py" - "--ignore=tests/test_pytest_plugin.py" - "-k" - (string-append - "not test_trailing_comma" - ;; Cannot use inline-snapshop when xdist is available. - " and not test_xdist" - " and not test_xdist_disabled" - " and not test_xdist_and_disable" - " and not test_typing")))) - (propagated-inputs (list python-asttokens - python-black - python-click - python-executing - python-mkdocs - python-rich - python-tomli - python-typing-extensions)) + #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) + ;; To prevent adding mypy and pyright. + "--ignore=tests/test_typing.py"))) (native-inputs - (list python-dirty-equals + (list python-black ;XXX: used in tests/conftest.py to self lint + python-dirty-equals python-freezegun python-hatchling - python-pydantic - python-pytest + python-hypothesis + python-pydantic-2 + python-pytest-bootstrap + python-pytest-freezer python-pytest-mock - python-pytest-subtests)) - (home-page "https://pypi.org/project/inline-snapshot/") + python-pytest-subtests + python-pytest-xdist)) + (propagated-inputs + (list python-asttokens + python-executing + python-rich)) + (home-page "https://github.com/15r10nk/inline-snapshot/") (synopsis "Golden master/snapshot/approval testing library") (description "This package can be used for different things: @@ -2925,6 +2918,32 @@ The main usage is to use the @code{qtbot} fixture, responsible for handling interaction, like key presses and mouse clicks.") (license license:expat))) +(define-public python-pytest-recording + (package + (name "python-pytest-recording") + (version "0.13.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest_recording" version)) + (sha256 + (base32 "133nj8vha63gv226f0gvqn16gnazbn2rqh8amv2fx4jrm2r693an")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;XXX: more than 50% tets failed + (native-inputs + (list python-pytest-bootstrap + python-hatchling)) + (propagated-inputs + (list python-vcrpy)) + (home-page "https://github.com/kiwicom/pytest-recording") + (synopsis "Pytest support for recording and replaying HTTP traffic") + (description + "This package provides a Pytest plugin powered by +@url{https://vcrpy.readthedocs.io/en/latest/, VCR.py} to record and replay +HTTP traffic.") + (license license:expat))) + (define-public python-pytest-remotedata (package (name "python-pytest-remotedata") @@ -3014,6 +3033,27 @@ times.") eliminate flaky failures.") (license license:mpl2.0))) +(define-public python-pytest-retry + (package + (name "python-pytest-retry") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest_retry" version)) + (sha256 + (base32 "03zqgl2y16pcf0w0sn7z9n1gaqmkspl9xfhigks9v50yy0wj7mgq")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest-bootstrap + python-setuptools)) + (home-page "https://github.com/str0zzapreti/pytest-retry") + (synopsis "Pytest plugin to retry flaky tests in CI environments") + (description + "This package provides a plugin for Pytest which adds the ability to retry +flaky tests, thereby improving the consistency of the test suite results.") + (license license:expat))) + ;; This is only used by python-sanic (define-public python-pytest-sanic (package diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 152b3c36d7c..dd0ad272382 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -949,6 +949,36 @@ part of @url{https://github.com/hgrecco/pint, Pint}, the Python units package. ") (license license:bsd-3))) +(define-public python-grapheme + ;; 0.6.0 has not git tag, PyPI has no tests. use the latest commit on master + ;; branch. + (let ((commit "66f07ca02fc64a9ea2f9b4ad66593b226d473adb") + (revision "0")) + (package + (name "python-grapheme") + (version (git-version "0.6.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alvinlindstam/grapheme") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fqw6iymg7s8q1pfwijx0awcj1j55jppx7hfa5ci7y0c7x4jc8v9")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools)) + (home-page "https://github.com/alvinlindstam/grapheme") + (synopsis "Unicode grapheme helpers") + (description + "This package provides a functionality for working with user perceived +characters. More specifically, string manipulation and calculation functions +for working with grapheme cluster groups (graphemes) as defined by the +@url{http://unicode.org/reports/tr29/, Unicode Standard Annex #29}.") + (license license:expat)))) + (define-public python-halo (package (name "python-halo") @@ -1052,6 +1082,37 @@ supports: identities.") (license license:asl2.0))) +(define-public python-inotify + (package + (name "python-inotify") + (version "0.2.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dsoprea/PyInotify") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n1rqpzk70ap2i4zk2k0znz407i909y2001v65agy7y30apjzb67")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-requirements + (lambda _ + (substitute* "inotify/resources/requirements.txt" + (("build") + ""))))))) + (native-inputs (list python-pytest python-setuptools)) + (home-page "https://github.com/dsoprea/PyInotify") + (synopsis "Linux filesystem activity monitor library for Python") + (description + "This package provides an efficient and elegant inotify (Linux filesystem +activity monitor) library for Python.") + (license license:gpl2))) + (define-public python-jsonpath-ng (package (name "python-jsonpath-ng") @@ -1622,6 +1683,62 @@ 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") @@ -20749,6 +20866,7 @@ for the module to work under Python 3.3.") text.") (license license:bsd-3))) +;; XXX: Not maintained since 2012. (define-public python-monthdelta (package (name "python-monthdelta") @@ -20760,7 +20878,9 @@ text.") (sha256 (base32 "0iwcsk7ryjw5h1wp10ykwd01f3am8gdlga6461q1v1njsk0rxh41")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:test-backend #~'unittest)) + (native-inputs (list python-setuptools)) (home-page "http://packages.python.org/MonthDelta") (synopsis "Date computations with months") (description @@ -29076,6 +29196,7 @@ working with iterables.") Python.") (license license:expat))) +;; XXX: Not maintained since 2020. (define-public python-pybktree (package (name "python-pybktree") @@ -29087,7 +29208,9 @@ Python.") (sha256 (base32 "0asd2lw9c5l5wi4z24k7gkhlprpdkcvs8d94szk56x9xvmy07h7f")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list #:tests? #f)) ;no tests provided + (native-inputs (list python-setuptools)) (home-page "https://github.com/Jetsetter/pybktree") (synopsis "Pythonic BK-tree data structure") (description diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 66cb9e9b931..7a0e12e886c 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -191,7 +191,7 @@ hardware.") libxkbcommon libxrandr mesa ;required by wayland - pipewire + pipewire-minimal pulseaudio wayland)) (inputs diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index b870f7396d2..944c99b8bf9 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2971,6 +2971,7 @@ changeset itself; there won't be any extra commits. Either GnuPG or OpenSSL can be used for signing.") (license license:gpl2)))) ;per commitsigs.py +;; XXX: Not maintained since 2019. (define-public heatwave (package (name "heatwave") @@ -2982,6 +2983,10 @@ can be used for signing.") (sha256 (base32 "1zzwmb9hvbyswzjgap02rrq8p44hb6xlzk1wd8w01mh2vva0xlx7")))) (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;no tests in PyPI + (native-inputs + (list python-setuptools)) (propagated-inputs (list python-click python-gitpython diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index e7af1b46846..6b8635f540a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2745,7 +2745,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ;; XXX: lua > 5.2 is not currently supported; see meson.build lua-5.2 mesa - pipewire + pipewire-minimal pulseaudio shaderc wayland @@ -3937,7 +3937,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (list alsa-lib `(,alsa-plugins "pulseaudio") bash-minimal - ffmpeg + ffmpeg-6 fftw frei0r-plugins gdk-pixbuf