guix_mirror_bot pushed a commit to branch python-team in repository guix. commit c666ee859493890a5f7b7e815bae10c150555d69 Author: Sharlatan Hellseher <sharlata...@gmail.com> AuthorDate: Thu Jul 31 20:56:29 2025 +0100
gnu: python-brotli: Move to python-compression and switch to pyproject. Fixes gnu/gnu#1730 python-brotli does not benefit from being inherited from brotli, it's built from scratch, this change moves it to python-compression as a stand along package, a collection of Python bindings and swap build system to pyproject. * gnu/packages/compression.scm (python-brotli, python-google-brotli): Move from here ... * gnu/packages/python-compression.scm: ... to here. * gnu/packages/django.scm: Add python-compression module. * gnu/packages/fonts.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/video.scm: Likewise. Change-Id: I592d84321893e5967181fd48d3037246c3cd4796 --- gnu/packages/compression.scm | 14 -------------- gnu/packages/django.scm | 1 + gnu/packages/fonts.scm | 1 + gnu/packages/gnome.scm | 1 + gnu/packages/python-compression.scm | 34 ++++++++++++++++++++++++++++++++++ gnu/packages/video.scm | 1 + 6 files changed, 38 insertions(+), 14 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index cb3eb84aa5..82139e1f8e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -71,7 +71,6 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) - #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -2428,19 +2427,6 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (define-public google-brotli (deprecated-package "google-brotli" brotli)) -(define-public python-brotli - (package - (inherit brotli) - (name "python-brotli") - (build-system python-build-system) - (arguments '()) - (synopsis "Python interface to Brotli") - (description "This package provides a Python interface to the @code{brotli} -package, an implementation of the Brotli lossless compression algorithm."))) - -(define-public python-google-brotli - (deprecated-package "python-google-brotli" python-brotli)) - (define-public java-brotli (package (inherit brotli) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 83c71a51f3..816ec1cee4 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index bf58efdbc7..077bae8816 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -109,6 +109,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sdl) #:use-module (gnu packages xorg)) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b7d8bacee1..b0331f96ac 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -198,6 +198,7 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 251a4813ee..9ab947a844 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -34,6 +34,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix gexp) #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) @@ -150,6 +151,39 @@ Python-Blosc2 also reproduces the API of Python-Blosc and is meant to be able to access its data, so it can be used as a drop-in replacement.") (license license:bsd-3))) +(define-public python-brotli + (package + (name "python-brotli") + (version "1.0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/brotli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fikasxf7r2dwlk8mv8w7nmjkn0jw5ic31ky3mvpkdzwgd4xfndl")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Cherry-picked from upstream since the latest release + ;; https://github.com/google/brotli/commit/09b0992b6acb7faa6fd3b23f9bc036ea117230fc + (substitute* (find-files "scripts" "^lib.*pc\\.in") + (("-R\\$\\{libdir\\} ") "")))))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools)) + (home-page "https://github.com/google/brotli") + (synopsis "Python interface to Brotli") + (description "This package provides a Python interface to the @code{brotli} +package, an implementation of the Brotli lossless compression algorithm.") + (license license:expat))) + +(define-public python-google-brotli + (deprecated-package "python-google-brotli" python-brotli)) + (define-public python-multivolumefile (package (name "python-multivolumefile") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5a60701615..840bd5d614 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -203,6 +203,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz)