git: 744b44a84a84 - main - math/py-libceed: New port: CEED Library: Code for Efficient Extensible Discretizations

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 24 Oct 2024 06:03:29 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=744b44a84a841cf1514c0ceb11210b7b5a7509b2

commit 744b44a84a841cf1514c0ceb11210b7b5a7509b2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-10-24 04:59:19 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-10-24 06:03:25 +0000

    math/py-libceed: New port: CEED Library: Code for Efficient Extensible Discretizations
---
 math/Makefile             |  1 +
 math/py-libceed/Makefile  | 44 ++++++++++++++++++++++++
 math/py-libceed/distinfo  |  3 ++
 math/py-libceed/pkg-descr |  3 ++
 math/py-libceed/pkg-plist | 86 +++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 137 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index f24073883517..6b9626e549fe 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -986,6 +986,7 @@
     SUBDIR += py-keras-preprocessing
     SUBDIR += py-kiwisolver
     SUBDIR += py-levmar
+    SUBDIR += py-libceed
     SUBDIR += py-libpoly
     SUBDIR += py-linearmodels
     SUBDIR += py-lmfit
diff --git a/math/py-libceed/Makefile b/math/py-libceed/Makefile
new file mode 100644
index 000000000000..f51af743227b
--- /dev/null
+++ b/math/py-libceed/Makefile
@@ -0,0 +1,44 @@
+PORTNAME=	libceed
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.12.0-763
+DISTVERSIONSUFFIX=	-ge3ae47f6
+CATEGORIES=	math # machine-learning
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	CEED Library: Code for Efficient Extensible Discretizations
+WWW=		https://libceed.org/en/latest/
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR} \
+		${PYNUMPY}
+BUILD_DEPENDS=	gmake:devel/gmake \
+		${PY_DEPENDS}
+RUN_DEPENDS=	${PY_DEPENDS}
+
+USES=		fortran python
+USE_PYTHON=	distutils autoplist pytest
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	CEED
+GH_PROJECT=	libCEED
+
+CFLAGS+=	-fPIC # https://github.com/CEED/libCEED/issues/1706
+
+BINARY_ALIAS=	make=${GMAKE}
+#		python3=${PYTHON_CMD}
+
+post-install:
+	@${STRIP_CMD} \
+		${STAGEDIR}${PYTHON_SITELIBDIR}/_ceed_cffi.abi3.so \
+		${STAGEDIR}${PYTHON_SITELIBDIR}/libceed/lib/libceed.so
+
+do-test:
+	cd ${WRKSRC}/python/tests && \
+		${SETENV} PYTHON=${PYTHON_CMD} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} ${GMAKE} test
+
+# rebuilds and reinstalls the C library, see https://github.com/CEED/libCEED/issues/1707
+
+.include <bsd.port.mk>
diff --git a/math/py-libceed/distinfo b/math/py-libceed/distinfo
new file mode 100644
index 000000000000..7484df314fb6
--- /dev/null
+++ b/math/py-libceed/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1729731290
+SHA256 (CEED-libCEED-v0.12.0-763-ge3ae47f6_GH0.tar.gz) = e7137cb55d8505500a6d85c869722a2c39bd8e45abea31bc5f5d5f3e895c6291
+SIZE (CEED-libCEED-v0.12.0-763-ge3ae47f6_GH0.tar.gz) = 3385219
diff --git a/math/py-libceed/pkg-descr b/math/py-libceed/pkg-descr
new file mode 100644
index 000000000000..c530134e1532
--- /dev/null
+++ b/math/py-libceed/pkg-descr
@@ -0,0 +1,3 @@
+libCEED provides fast algebra for element-based discretizations, designed for
+performance portability, run-time flexibility, and clean embedding in higher
+level libraries and applications.
diff --git a/math/py-libceed/pkg-plist b/math/py-libceed/pkg-plist
new file mode 100644
index 000000000000..c1c018f1bf34
--- /dev/null
+++ b/math/py-libceed/pkg-plist
@@ -0,0 +1,86 @@
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/backend.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/ceed-f32.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/ceed-f64.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/ceed.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/cuda.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/fortran.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/hip.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-atomic-add-fallback.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-gen-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-jit.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-basis-nontensor-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-basis-nontensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-basis-tensor-at-points.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-basis-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-operator-assemble-diagonal.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-operator-assemble.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-qfunction.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-restriction-at-points.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-restriction-curl-oriented.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-restriction-offset.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-restriction-oriented.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-ref-restriction-strided.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-shared-basis-read-write-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-shared-basis-tensor-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-shared-basis-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/cuda/cuda-types.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-identity.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-mass1dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-mass2dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-mass3dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-massapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson1dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson1dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson2dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson2dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson3dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-poisson3dbuild.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-scale.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-vectormassapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-vectorpoisson1dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-vectorpoisson2dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/gallery/ceed-vectorpoisson3dapply.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-gen-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-jit.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-basis-nontensor-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-basis-nontensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-basis-tensor-at-points.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-basis-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-operator-assemble-diagonal.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-operator-assemble.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-qfunction.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-restriction-at-points.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-restriction-curl-oriented.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-restriction-offset.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-restriction-oriented.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-ref-restriction-strided.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-shared-basis-read-write-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-shared-basis-tensor-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-shared-basis-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/hip/hip-types.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-grad-1d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-grad-2d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-grad-3d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-interp-1d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-interp-2d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-interp-3d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-interp-deriv-nontensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-weight-1d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-weight-2d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-weight-3d.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-basis-weight-nontensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-common-defs.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-common-nontensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/magma/magma-common-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-gen-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-jit.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-ref-qfunction.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-shared-basis-read-write-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-shared-basis-tensor-templates.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-shared-basis-tensor.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/jit-source/sycl/sycl-types.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceed/types.h
+%%PYTHON_SITELIBDIR%%/libceed/include/ceedf.h
+%%PYTHON_SITELIBDIR%%/libceed/lib/libceed.so
+%%PYTHON_SITELIBDIR%%/libceed/lib/pkgconfig/ceed.pc