git: 0813890a4fd6 - main - science/py-icet: New port: Pythonic approach to alloy cluster expansions

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 25 Jan 2025 01:42:37 UTC
The branch main has been updated by yuri:

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

commit 0813890a4fd637730a0adc0ab1ef0dfbf56fafb9
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-01-25 01:37:07 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-01-25 01:42:34 +0000

    science/py-icet: New port: Pythonic approach to alloy cluster expansions
---
 science/Makefile          |  1 +
 science/py-icet/Makefile  | 40 ++++++++++++++++++++++++++++++++++++++++
 science/py-icet/distinfo  |  3 +++
 science/py-icet/pkg-descr |  7 +++++++
 4 files changed, 51 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index 922ae5eb1da1..80f95512340d 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -352,6 +352,7 @@
     SUBDIR += py-h5pyd
     SUBDIR += py-hiphive
     SUBDIR += py-hoomd-blue
+    SUBDIR += py-icet
     SUBDIR += py-inequality
     SUBDIR += py-ipygany
     SUBDIR += py-jupyter_jsmol
diff --git a/science/py-icet/Makefile b/science/py-icet/Makefile
new file mode 100644
index 000000000000..44a8eb096d13
--- /dev/null
+++ b/science/py-icet/Makefile
@@ -0,0 +1,40 @@
+PORTNAME=	icet
+DISTVERSION=	3.0
+CATEGORIES=	science # chemistry, physics
+#MASTER_SITES=	PYPI # no tests
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Pythonic approach to alloy cluster expansions
+WWW=		https://icet.materialsmodeling.org \
+		https://gitlab.com/materials-modeling/icet
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}ase>0:science/py-ase@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numba>0:devel/py-numba@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=0.23:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}spglib>=1.12.0:science/py-spglib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}trainstation>=1.1:science/py-trainstation@${PY_FLAVOR}
+
+USES=		compiler:c++14-lang python
+USE_PYTHON=	pep517 autoplist pytest
+
+USE_GITLAB=	yes
+GL_ACCOUNT=	materials-modeling
+GL_TAGNAME=	769b5db248baa5146bdb294e963e061cf2dfd228
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/_icet.cpython-311.so
+
+# tests fail to run, see https://gitlab.com/materials-modeling/icet/-/issues/623
+
+.include <bsd.port.mk>
diff --git a/science/py-icet/distinfo b/science/py-icet/distinfo
new file mode 100644
index 000000000000..bcff29135073
--- /dev/null
+++ b/science/py-icet/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1737766451
+SHA256 (materials-modeling-icet-769b5db248baa5146bdb294e963e061cf2dfd228_GL0.tar.gz) = bec8c2a34bc8343e7e075460964c997228a1a8fe1a12ba449503c7e80b2b653a
+SIZE (materials-modeling-icet-769b5db248baa5146bdb294e963e061cf2dfd228_GL0.tar.gz) = 3928095
diff --git a/science/py-icet/pkg-descr b/science/py-icet/pkg-descr
new file mode 100644
index 000000000000..12820a501747
--- /dev/null
+++ b/science/py-icet/pkg-descr
@@ -0,0 +1,7 @@
+icet is a tool for the construction and sampling of alloy cluster expansions.
+
+icet is written in Python, which allows easy integration with countless
+first-principles codes and analysis tools accessible from Python, and allows
+for a simple and intuitive user interface. All computationally demanding parts
+are, however, written in C++ providing performance while maintaining
+portability.