aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-07-21 09:55:11 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2024-07-21 09:55:11 +0000
commit2c514f74a30c33c214a703ac7ec1d4a2a9796ac7 (patch)
tree13f926b88dbeaf578e65aea7ab1ea9574dc7b224
parent6898985d09ae7214f7d5659f7d7812fdbd05057c (diff)
devel/py-xrootd: Add py-xrootd 5.7.0
The XRootD project provides a high-performance, fault-tolerant, and secure solution for handling massive amounts of data distributed across multiple storage resources, such as disk servers, tape libraries, and remote sites. It enables efficient data access and movement in a transparent and uniform manner, regardless of the underlying storage technology or location. It was initially developed by the High Energy Physics (HEP) community to meet the data storage and access requirements of the BaBar experiment at SLAC and later extended to meet the needs of experiments at the Large Hadron Collider (LHC) at CERN. XRootD is the core technology powering the EOS distributed filesystem, which is the storage solution used by LHC experiments and the storage backend for CERNBox. XRootD is also used as the core technology for global CDN deployments across multiple science domains. XRootD is based on a scalable architecture that supports multi-protocol communications. XRootD provides a set of plugins and tools that allows the user to configure it freely to deploy data access clusters of any size, and which can include sophisticated features such as erasure coded files, various methods of authentication and authorization, as well as integration with other storage systems like ceph. This port is the Python binding for XRootD.
-rw-r--r--databases/Makefile1
-rw-r--r--databases/py-xrootd/Makefile28
-rw-r--r--databases/py-xrootd/distinfo3
-rw-r--r--databases/py-xrootd/files/patch-setup.py11
-rw-r--r--databases/py-xrootd/pkg-descr21
5 files changed, 64 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 1e6dbfa87208..a48c28daf7f0 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -841,6 +841,7 @@
SUBDIR += py-varstack
SUBDIR += py-whisper
SUBDIR += py-xapian
+ SUBDIR += py-xrootd
SUBDIR += py-zodbpickle
SUBDIR += pythoncego
SUBDIR += qdbm
diff --git a/databases/py-xrootd/Makefile b/databases/py-xrootd/Makefile
new file mode 100644
index 000000000000..5863652e0c0d
--- /dev/null
+++ b/databases/py-xrootd/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= xrootd
+PORTVERSION= 5.7.0
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Python binding for XRootD (eXtended ROOT Daemon)
+WWW= https://xrootd.slac.stanford.edu/ \
+ https://github.com/xrootd/xrootd/tree/master/bindings/python \
+ https://github.com/xrootd/xrootd
+
+LICENSE= LGPL3+
+LICENSE_FILE= ${WRKSRC}/../../COPYING.LGPL
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS= libXrdCl.so:databases/xrootd
+
+USES= cmake:indirect python
+USE_PYTHON= autoplist concurrent pep517
+
+WRKSRC_SUBDIR= bindings/python
+
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/databases/py-xrootd/distinfo b/databases/py-xrootd/distinfo
new file mode 100644
index 000000000000..7fcb0e090c4d
--- /dev/null
+++ b/databases/py-xrootd/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1721499006
+SHA256 (xrootd-5.7.0.tar.gz) = 453bda26b2492580f90d374974905a5446bfffa749952337ca21cd25c19ef24c
+SIZE (xrootd-5.7.0.tar.gz) = 6812420
diff --git a/databases/py-xrootd/files/patch-setup.py b/databases/py-xrootd/files/patch-setup.py
new file mode 100644
index 000000000000..6c1b4166b20c
--- /dev/null
+++ b/databases/py-xrootd/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2024-07-01 06:56:54 UTC
++++ setup.py
+@@ -118,7 +118,7 @@ class CMakeBuild(build_ext):
+ os.makedirs(self.build_temp)
+
+ check_call([cmake, ext.src, '-B', self.build_temp] + cmake_args)
+- check_call([cmake, '--build', self.build_temp, '--parallel'])
++ check_call([cmake, '--build', self.build_temp])
+
+ version = get_version()
+
diff --git a/databases/py-xrootd/pkg-descr b/databases/py-xrootd/pkg-descr
new file mode 100644
index 000000000000..588f78fa126b
--- /dev/null
+++ b/databases/py-xrootd/pkg-descr
@@ -0,0 +1,21 @@
+The XRootD project provides a high-performance, fault-tolerant, and secure
+solution for handling massive amounts of data distributed across multiple
+storage resources, such as disk servers, tape libraries, and remote sites. It
+enables efficient data access and movement in a transparent and uniform manner,
+regardless of the underlying storage technology or location. It was initially
+developed by the High Energy Physics (HEP) community to meet the data storage
+and access requirements of the BaBar experiment at SLAC and later extended to
+meet the needs of experiments at the Large Hadron Collider (LHC) at CERN. XRootD
+is the core technology powering the EOS distributed filesystem, which is the
+storage solution used by LHC experiments and the storage backend for CERNBox.
+XRootD is also used as the core technology for global CDN deployments across
+multiple science domains.
+
+XRootD is based on a scalable architecture that supports multi-protocol
+communications. XRootD provides a set of plugins and tools that allows the user
+to configure it freely to deploy data access clusters of any size, and which can
+include sophisticated features such as erasure coded files, various methods of
+authentication and authorization, as well as integration with other storage
+systems like ceph.
+
+This port is the Python binding for XRootD.