git: cc6a5c646bd2 - main - math/py-fsph: New port: Library to quickly compute series of complex spherical harmonics

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 04 May 2023 16:24:53 UTC
The branch main has been updated by yuri:

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

commit cc6a5c646bd298186f00f2aa1351088b18c16f55
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-05-04 16:24:22 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-05-04 16:24:49 +0000

    math/py-fsph: New port: Library to quickly compute series of complex spherical harmonics
---
 math/Makefile          |  1 +
 math/py-fsph/Makefile  | 37 +++++++++++++++++++++++++++++++++++++
 math/py-fsph/distinfo  |  3 +++
 math/py-fsph/pkg-descr |  3 +++
 4 files changed, 44 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index f6834fde91ec..5a7948550ebd 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -919,6 +919,7 @@
     SUBDIR += py-formulaic
     SUBDIR += py-fpylll
     SUBDIR += py-fraction
+    SUBDIR += py-fsph
     SUBDIR += py-fvcore
     SUBDIR += py-gau2grid
     SUBDIR += py-gimmik
diff --git a/math/py-fsph/Makefile b/math/py-fsph/Makefile
new file mode 100644
index 000000000000..b78b8ab6e370
--- /dev/null
+++ b/math/py-fsph/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	fsph
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.3.0
+CATEGORIES=	math
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Library to quickly compute series of complex spherical harmonics
+WWW=		https://fsph.readthedocs.io/en/latest/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+PY_DEPENDS=	${PYNUMPY}
+#		${PYTHON_PKGNAMEPREFIX}tensorflow>0:science/py-tensorflow@${PY_FLAVOR} # tensorflow is an optional dependency that is currently broken: https://github.com/glotzerlab/fsph/issues/6
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
+		${PY_DEPENDS}
+RUN_DEPENDS=	${PY_DEPENDS}
+
+USES=		compiler:c++14-lang localbase python
+USE_PYTHON=	pep517 autoplist pytest
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	glotzerlab
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+TEST_WRKSRC=	${WRKSRC}/tests
+
+CONFLICTS_BUILD=	${PYTHON_PKGNAMEPREFIX}-tensorflow
+
+post-install:
+	@${STRIP_CMD} \
+		${STAGEDIR}${PYTHON_SITELIBDIR}/fsph/_fsph${PYTHON_EXT_SUFFIX}.so
+		#${STAGEDIR}${PYTHON_SITELIBDIR}/fsph/_tf_ops${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/math/py-fsph/distinfo b/math/py-fsph/distinfo
new file mode 100644
index 000000000000..e0fa409f6890
--- /dev/null
+++ b/math/py-fsph/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683212869
+SHA256 (glotzerlab-fsph-v0.3.0_GH0.tar.gz) = 113a4fdc6787044f8119533925af9d159cb559df2de369200e5affcb1c7df041
+SIZE (glotzerlab-fsph-v0.3.0_GH0.tar.gz) = 150856
diff --git a/math/py-fsph/pkg-descr b/math/py-fsph/pkg-descr
new file mode 100644
index 000000000000..b9efb2b2218a
--- /dev/null
+++ b/math/py-fsph/pkg-descr
@@ -0,0 +1,3 @@
+fsph is a library to efficiently compute series of spherical harmonics.
+
+It is based on math enumerated by Martin J. Mohlenkamp.