aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-01-31 13:11:30 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-01-31 14:14:45 +0000
commit2cdc267de7acf020458c1f8d811f0d2bcfb13324 (patch)
treea0af0fdfce53e534bd321648a2a7e39e035327d6
parentf8ebf6223626eea7baaccb40c1a1b9b029189da6 (diff)
devel/py-isal: Add py-isal 1.8.0
This package provides Python bindings for the ISA-L library. The Intel(R) Intelligent Storage Acceleration Library (ISA-L) implements several key algorithms in assembly language. This includes a variety of functions to provide zlib/gzip-compatible compression. python-isal provides the bindings by offering four modules: - isal_zlib: A drop-in replacement for the zlib module that uses ISA-L to accelerate its performance. - igzip: A drop-in replacement for the gzip module that uses isal_zlib instead of zlib to perform its compression and checksum tasks, which improves performance. - igzip_threaded offers an open function which returns buffered read or write streams that can be used to read and write large files while escaping the GIL using one or multiple threads. This functionality only works for streaming, seeking is not supported. - igzip_lib: Provides compression functions which have full access to the API of ISA-L's compression functions.
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-isal/Makefile28
-rw-r--r--devel/py-isal/distinfo3
-rw-r--r--devel/py-isal/files/patch-pyproject.toml18
-rw-r--r--devel/py-isal/pkg-descr17
5 files changed, 67 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 89b8e33a370b..fe9f8916cd7a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5106,6 +5106,7 @@
SUBDIR += py-ipython-pygments-lexers
SUBDIR += py-ipython_genutils
SUBDIR += py-ipywidgets
+ SUBDIR += py-isal
SUBDIR += py-iso8601
SUBDIR += py-isodate
SUBDIR += py-isoduration
diff --git a/devel/py-isal/Makefile b/devel/py-isal/Makefile
new file mode 100644
index 000000000000..716fccf6a881
--- /dev/null
+++ b/devel/py-isal/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= isal
+PORTVERSION= 1.8.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Python bindings for the ISA-L ibrary
+WWW= https://python-isal.readthedocs.io/en/stable/ \
+ https://github.com/pycompression/python-isal
+
+LICENSE= PSFL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS= libisal.so:devel/isa-l
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+MAKE_ENV= PYTHON_ISAL_LINK_DYNAMIC=1
+
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/devel/py-isal/distinfo b/devel/py-isal/distinfo
new file mode 100644
index 000000000000..e8ba877c5138
--- /dev/null
+++ b/devel/py-isal/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1768625559
+SHA256 (isal-1.8.0.tar.gz) = 124233e9a31a62030a07aafd48c26689561926f4e10417ed3ea46c211218f2b4
+SIZE (isal-1.8.0.tar.gz) = 4133365
diff --git a/devel/py-isal/files/patch-pyproject.toml b/devel/py-isal/files/patch-pyproject.toml
new file mode 100644
index 000000000000..43ef07511259
--- /dev/null
+++ b/devel/py-isal/files/patch-pyproject.toml
@@ -0,0 +1,18 @@
+--- pyproject.toml.orig 2025-09-10 08:41:47 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=77", "setuptools-scm>=8"]
++requires = ["setuptools>=61", "setuptools-scm>=8"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
+@@ -8,7 +8,7 @@ python bindings for the ISA-L ibrary."""
+ description = """
+ Faster zlib and gzip compatible compression and decompression by providing \
+ python bindings for the ISA-L ibrary."""
+-license="PSF-2.0"
++license={text = "PSF-2.0"}
+ keywords=["isal", "isa-l", "compression", "deflate", "gzip", "igzip"]
+ authors = [{name = "Leiden University Medical Center"},
+ {email = "r.h.p.vorderman@lumc.nl"}]
diff --git a/devel/py-isal/pkg-descr b/devel/py-isal/pkg-descr
new file mode 100644
index 000000000000..d7b02cc93c10
--- /dev/null
+++ b/devel/py-isal/pkg-descr
@@ -0,0 +1,17 @@
+This package provides Python bindings for the ISA-L library. The Intel(R)
+Intelligent Storage Acceleration Library (ISA-L) implements several key
+algorithms in assembly language. This includes a variety of functions to provide
+zlib/gzip-compatible compression.
+
+python-isal provides the bindings by offering four modules:
+- isal_zlib: A drop-in replacement for the zlib module that uses ISA-L to
+ accelerate its performance.
+- igzip: A drop-in replacement for the gzip module that uses isal_zlib instead
+ of zlib to perform its compression and checksum tasks, which improves
+ performance.
+- igzip_threaded offers an open function which returns buffered read or write
+ streams that can be used to read and write large files while escaping the GIL
+ using one or multiple threads. This functionality only works for streaming,
+ seeking is not supported.
+- igzip_lib: Provides compression functions which have full access to the API of
+ ISA-L's compression functions.