git: 5f1575b6a096 - main - archivers/py-blosc: Add py-blosc 1.11.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 03 Nov 2024 13:25:08 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5f1575b6a096d8913f8ad699172261eda581d5a1

commit 5f1575b6a096d8913f8ad699172261eda581d5a1
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-11-03 13:20:40 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-11-03 13:20:40 +0000

    archivers/py-blosc: Add py-blosc 1.11.2
    
    Blosc is a high performance compressor optimized for binary data. It has been
    designed to transmit data to the processor cache faster than the traditional,
    non-compressed, direct memory fetch approach via a memcpy() OS call.
    
    Blosc works well for compressing numerical arrays that contains data with
    relatively low entropy, like sparse data, time series, grids with regular-spaced
    values, etc.
    
    python-blosc a Python package that wraps Blosc.
---
 archivers/Makefile                            |  1 +
 archivers/py-blosc/Makefile                   | 33 +++++++++++++++++++++++++++
 archivers/py-blosc/distinfo                   |  3 +++
 archivers/py-blosc/files/patch-pyproject.toml |  6 +++++
 archivers/py-blosc/pkg-descr                  |  9 ++++++++
 5 files changed, 52 insertions(+)

diff --git a/archivers/Makefile b/archivers/Makefile
index 4043aef3a0a5..755d5fb7dc95 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -184,6 +184,7 @@
     SUBDIR += ppunpack
     SUBDIR += py-acefile
     SUBDIR += py-bitshuffle
+    SUBDIR += py-blosc
     SUBDIR += py-blosc2
     SUBDIR += py-borgbackup
     SUBDIR += py-borgbackup12
diff --git a/archivers/py-blosc/Makefile b/archivers/py-blosc/Makefile
new file mode 100644
index 000000000000..b309fe1cc86e
--- /dev/null
+++ b/archivers/py-blosc/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	blosc
+PORTVERSION=	1.11.2
+CATEGORIES=	archivers python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Blosc data compressor
+WWW=		https://www.blosc.org/python-blosc/python-blosc.html \
+		https://github.com/Blosc/python-blosc
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}py-cpuinfo>=0:sysutils/py-py-cpuinfo@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build>=0:devel/py-scikit-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS=	libblosc.so:archivers/c-blosc
+
+USES=		cmake:indirect python
+USE_PYTHON=	autoplist concurrent pep517
+
+MAKE_ENV=	USE_SYSTEM_BLOSC=1
+
+post-patch:
+# Clean up bundled libraries
+	@${RM} -r ${WRKSRC}/blosc/c-blosc/
+
+post-install:
+	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/archivers/py-blosc/distinfo b/archivers/py-blosc/distinfo
new file mode 100644
index 000000000000..4c86337ace09
--- /dev/null
+++ b/archivers/py-blosc/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730540888
+SHA256 (blosc-1.11.2.tar.gz) = ac5e7c1bfc1c7232b900be94cddb5ffcf9ea49f313c8ae98a7ca0dd87b872bf4
+SIZE (blosc-1.11.2.tar.gz) = 1434010
diff --git a/archivers/py-blosc/files/patch-pyproject.toml b/archivers/py-blosc/files/patch-pyproject.toml
new file mode 100644
index 000000000000..2eca37e0872a
--- /dev/null
+++ b/archivers/py-blosc/files/patch-pyproject.toml
@@ -0,0 +1,6 @@
+--- pyproject.toml.orig	2024-06-24 16:59:37 UTC
++++ pyproject.toml
+@@ -1,2 +1,2 @@
+ [build-system]
+-requires = ["setuptools", "scikit-build", "cmake", "ninja", "py-cpuinfo"]
++requires = ["setuptools", "scikit-build", "py-cpuinfo"]
diff --git a/archivers/py-blosc/pkg-descr b/archivers/py-blosc/pkg-descr
new file mode 100644
index 000000000000..a1eff5261f02
--- /dev/null
+++ b/archivers/py-blosc/pkg-descr
@@ -0,0 +1,9 @@
+Blosc is a high performance compressor optimized for binary data. It has been
+designed to transmit data to the processor cache faster than the traditional,
+non-compressed, direct memory fetch approach via a memcpy() OS call.
+
+Blosc works well for compressing numerical arrays that contains data with
+relatively low entropy, like sparse data, time series, grids with regular-spaced
+values, etc.
+
+python-blosc a Python package that wraps Blosc.