git: d694124d7ae5 - main - science/py-pymatgen-io-validation: New port: IO validation for pymatgen

Yuri Victorovich <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.ports
Message-ID <[email protected]>
The branch main has been updated by yuri:

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

commit d694124d7ae5b919ddcc13ed66fe7517f4ee2aae
Author:     Yuri Victorovich <[email protected]>
AuthorDate: 2026-08-01 06:40:15 +0000
Commit:     Yuri Victorovich <[email protected]>
CommitDate: 2026-08-01 06:50:07 +0000

    science/py-pymatgen-io-validation: New port: IO validation for pymatgen
---
 science/Makefile                                   |  1 +
 science/py-pymatgen-io-validation/Makefile         | 32 ++++++++++++++++++
 science/py-pymatgen-io-validation/distinfo         |  3 ++
 .../files/patch-pyproject.toml                     | 38 ++++++++++++++++++++++
 science/py-pymatgen-io-validation/pkg-descr        |  3 ++
 5 files changed, 77 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index 15771d0291c1..5ce25e864404 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -430,6 +430,7 @@
     SUBDIR += py-pymatgen
     SUBDIR += py-pymatgen-analysis-alloys
     SUBDIR += py-pymatgen-core
+    SUBDIR += py-pymatgen-io-validation
     SUBDIR += py-pymbd
     SUBDIR += py-pymol
     SUBDIR += py-pynrrd
diff --git a/science/py-pymatgen-io-validation/Makefile b/science/py-pymatgen-io-validation/Makefile
new file mode 100644
index 000000000000..37184bb547b3
--- /dev/null
+++ b/science/py-pymatgen-io-validation/Makefile
@@ -0,0 +1,32 @@
+PORTNAME=	pymatgen-io-validation
+DISTVERSION=	0.1.2
+CATEGORIES=	science python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	pymatgen_io_validation-${DISTVERSION}
+
+MAINTAINER=	[email protected]
+COMMENT=	IO validation for pymatgen
+WWW=		https://github.com/materialsproject/pymatgen-io-validation
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.1:devel/py-pydantic2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.0.0:devel/py-pydantic-settings@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pymatgen>0:science/py-pymatgen@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist
+
+NO_ARCH=	yes
+
+# tests as of 0.1.2: not enabled because the sdist is missing the conftest.py
+# fixture (test_dir) and test data required by the upstream test files.
+
+.include <bsd.port.mk>
diff --git a/science/py-pymatgen-io-validation/distinfo b/science/py-pymatgen-io-validation/distinfo
new file mode 100644
index 000000000000..3f8cdeeafd4b
--- /dev/null
+++ b/science/py-pymatgen-io-validation/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1785521994
+SHA256 (pymatgen_io_validation-0.1.2.tar.gz) = 76632878ab2269356092dab5bae08c8f42418c3e15d4610f4eb304f0102e7f24
+SIZE (pymatgen_io_validation-0.1.2.tar.gz) = 51515
diff --git a/science/py-pymatgen-io-validation/files/patch-pyproject.toml b/science/py-pymatgen-io-validation/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f2bd7482b96c
--- /dev/null
+++ b/science/py-pymatgen-io-validation/files/patch-pyproject.toml
@@ -0,0 +1,38 @@
+-- Replace versioningit with setuptools-scm, lower the setuptools
+-- requirement to the version available in the FreeBSD ports tree, pin the
+-- version statically, and exclude the top-level examples directory from
+-- package discovery. The sdist has no git history, so dynamic versioning via
+-- setuptools-scm falls back to an incorrect 0.1.0rc0, and examples/ otherwise
+-- installs a conflicting site-packages/examples/ directory.
+--- pyproject.toml.orig
++++ pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ build-backend = "setuptools.build_meta"
+-requires = ["setuptools >= 65.0.0", "versioningit >= 1,< 4", "wheel"]
++requires = ["setuptools >= 63.1.0", "setuptools-scm >= 8", "wheel"]
+
+ [project]
+ authors = [
+@@ -32,10 +32,11 @@
+   "pydantic-settings>=2.0.0",
+ ]
+ description = "A comprehensive I/O validator for electronic structure calculations"
+-dynamic = ["version"]
++dynamic = []
+ keywords = ["io", "validation", "dft", "vasp"]
+ license = { text = "modified BSD" }
+ name = "pymatgen-io-validation"
++version = "0.1.2"
+ readme = "README.md"
+ requires-python = '>=3.8'
+
+@@ -53,7 +54,7 @@
+ #repository = "https://github.com/materialsproject/pymatgen-io-validation"
+
+ [tool.setuptools.packages.find]
+-exclude = ["tests"]
++exclude = ["tests", "examples", "examples.*"]
+ where = ["./"]
+
+ [tool.versioningit.vcs]
diff --git a/science/py-pymatgen-io-validation/pkg-descr b/science/py-pymatgen-io-validation/pkg-descr
new file mode 100644
index 000000000000..3d87ce824a04
--- /dev/null
+++ b/science/py-pymatgen-io-validation/pkg-descr
@@ -0,0 +1,3 @@
+pymatgen-io-validation performs input/output validation for pymatgen
+calculations and structures, ensuring that files and data meet the
+expected schemas.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.