From 101a4e2718db6b9b96333d75cacb761640074405 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Nov 2022 13:17:31 +0100 Subject: gnu: Add python-pybcj. * gnu/packages/python-compression.scm (python-pybcj): New variable. --- gnu/packages/python-compression.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 8aa666cc25..999f989102 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -72,6 +72,36 @@ (define-public python-multivolumefile were a single file.") (license license:lgpl2.1+))) +(define-public python-pybcj + (package + (name "python-pybcj") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "pybcj" version)) + (sha256 + (base32 + "1hvm3c3mb20z25kmbzyyn6pr5inx50z0ignl8b0bggxaik82ws4b")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-importlib-metadata)) + (native-inputs + (list python-coverage + python-hypothesis + python-pytest + python-pytest-cov + python-setuptools-scm)) + (home-page "https://codeberg.org/miurahr/pybcj") + (synopsis "BCJ filter library") + (description "In data compression, BCJ, short for Branch-Call-Jump, refers +to a technique that improves the compression of machine code of executable +binaries by replacing relative branch addresses with absolute ones. This +allows a LZMA compressor to identify duplicate targets and archive higher +compression rate. BCJ is used in the 7-zip compression utility as the default +filter for executable binaries. + +pybcj provides Python bindings to a BCJ implementation in C.") + (license license:lgpl2.1+))) + (define-public python-bcj-cffi (package (name "python-bcj-cffi") -- cgit v1.2.3