aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-compression.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-11-23 13:17:31 +0100
committerRicardo Wurmus <rekado@elephly.net>2022-11-23 13:57:48 +0100
commit101a4e2718db6b9b96333d75cacb761640074405 (patch)
treed19133329365cd794e4d960dd8bdd1b5a3eadc0f /gnu/packages/python-compression.scm
parent6ea2229f89bac7adfbf27f00a8387df3a4ad9310 (diff)
downloadguix-101a4e2718db6b9b96333d75cacb761640074405.tar
guix-101a4e2718db6b9b96333d75cacb761640074405.tar.gz
gnu: Add python-pybcj.
* gnu/packages/python-compression.scm (python-pybcj): New variable.
Diffstat (limited to 'gnu/packages/python-compression.scm')
-rw-r--r--gnu/packages/python-compression.scm30
1 files changed, 30 insertions, 0 deletions
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 @@ file-object abstraction, making it possible to use multiple files as if they
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")