From b3c34739368eecb8b564b4270184d259c761095a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 6 Nov 2025 19:38:13 -0800 Subject: [PATCH 1/2] python3Packages.brotli: 1.1.0 -> 1.2.0 Diff: https://github.com/google/brotli/compare/v1.1.0...v1.2.0 Changelog: https://github.com/google/brotli/blob/v1.2.0/CHANGELOG.md --- .../development/python-modules/brotli/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix index ea4b5c43a455..07ea99c9467c 100644 --- a/pkgs/development/python-modules/brotli/default.nix +++ b/pkgs/development/python-modules/brotli/default.nix @@ -2,25 +2,29 @@ lib, buildPythonPackage, fetchFromGitHub, + pkgconfig, pytestCheckHook, setuptools, }: buildPythonPackage rec { pname = "brotli"; - version = "1.1.0"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "brotli"; tag = "v${version}"; - hash = "sha256-U1vAupUthD5W0xvlOKdgm9MAVLqsVyZUaFdeLsDAbDM="; + hash = "sha256-ePfllKdY12hOPuO9uHuXFZ3Bdib6BLD4ghiaeurJZ28="; # .gitattributes is not correct or GitHub does not parse it correct and the archive is missing the test data forceFetchGit = true; }; - build-system = [ setuptools ]; + build-system = [ + pkgconfig + setuptools + ]; # only returns information how to really build dontConfigure = true; @@ -29,10 +33,11 @@ buildPythonPackage rec { enabledTestPaths = [ "python/tests" ]; - meta = with lib; { + meta = { + changelog = "https://github.com/google/brotli/blob/${src.tag}/CHANGELOG.md"; homepage = "https://github.com/google/brotli"; description = "Generic-purpose lossless compression algorithm"; - license = licenses.mit; + license = lib.licenses.mit; maintainers = [ ]; }; } From 086b3bf9c913fb7332a9715ad1920fd9f34b6f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 6 Nov 2025 19:44:32 -0800 Subject: [PATCH 2/2] python3Packages.brotli: unvendor brotli --- pkgs/by-name/br/brotli/package.nix | 8 +++++--- pkgs/development/python-modules/brotli/default.nix | 7 +++++++ pkgs/top-level/python-packages.nix | 4 +++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/br/brotli/package.nix b/pkgs/by-name/br/brotli/package.nix index 4c681fd2dcc8..6cebf122e1bb 100644 --- a/pkgs/by-name/br/brotli/package.nix +++ b/pkgs/by-name/br/brotli/package.nix @@ -4,12 +4,11 @@ fetchFromGitHub, fetchpatch, cmake, + python3Packages, staticOnly ? stdenv.hostPlatform.isStatic, testers, }: -# ?TODO: there's also python lib in there - stdenv.mkDerivation (finalAttrs: { pname = "brotli"; version = "1.1.0"; @@ -54,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: { cp ../docs/*.3 $out/share/man/man3/ ''; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + passthru.tests = { + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + python = python3Packages.brotli; + }; meta = with lib; { homepage = "https://github.com/google/brotli"; diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix index 07ea99c9467c..fb78ead78779 100644 --- a/pkgs/development/python-modules/brotli/default.nix +++ b/pkgs/development/python-modules/brotli/default.nix @@ -1,5 +1,6 @@ { lib, + brotli, buildPythonPackage, fetchFromGitHub, pkgconfig, @@ -29,6 +30,12 @@ buildPythonPackage rec { # only returns information how to really build dontConfigure = true; + env.USE_SYSTEM_BROTLI = 1; + + buildInputs = [ + brotli + ]; + nativeCheckInputs = [ pytestCheckHook ]; enabledTestPaths = [ "python/tests" ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f22805eed7cc..e173349d0644 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2189,7 +2189,9 @@ self: super: with self; { brother-ql = callPackage ../development/python-modules/brother-ql { }; - brotli = callPackage ../development/python-modules/brotli { }; + brotli = callPackage ../development/python-modules/brotli { + inherit (pkgs) brotli; + }; brotli-asgi = callPackage ../development/python-modules/brotli-asgi { };