Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Jan 2026 14:20:50 +0000
From:      Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2cdc267de7ac - main - devel/py-isal: Add py-isal 1.8.0
Message-ID:  <697e0fc2.316a9.1e686be@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2cdc267de7acf020458c1f8d811f0d2bcfb13324

commit 2cdc267de7acf020458c1f8d811f0d2bcfb13324
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2026-01-31 13:11:30 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2026-01-31 14:14:45 +0000

    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.
---
 devel/Makefile                           |  1 +
 devel/py-isal/Makefile                   | 28 ++++++++++++++++++++++++++++
 devel/py-isal/distinfo                   |  3 +++
 devel/py-isal/files/patch-pyproject.toml | 18 ++++++++++++++++++
 devel/py-isal/pkg-descr                  | 17 +++++++++++++++++
 5 files changed, 67 insertions(+)

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.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?697e0fc2.316a9.1e686be>