diff --git a/science/py-pymatgen-core/Makefile b/science/py-pymatgen-core/Makefile index 319ddce6da9e..317d4ad67021 100644 --- a/science/py-pymatgen-core/Makefile +++ b/science/py-pymatgen-core/Makefile @@ -1,50 +1,71 @@ PORTNAME= pymatgen-core DISTVERSIONPREFIX= v -DISTVERSION= 2026.5.18 +DISTVERSION= 2026.9.23 CATEGORIES= science python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Python Materials Genomics core data structures and algorithms WWW= https://pymatgen.org/ \ https://github.com/materialsproject/pymatgen-core LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PY_SETUPTOOLS} \ - ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=2.1.0:math/py-numpy@${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}bibtexparser>=1.4.3:textproc/py-bibtexparser@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bibtexparser>=1:textproc/py-bibtexparser@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}joblib>=1.3.2:devel/py-joblib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>=6.1.0:devel/py-lxml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.8:math/py-matplotlib@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}monty>=2026.5.18:devel/py-monty@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}monty>=2026.7.16:devel/py-monty@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}networkx>=2.7:math/py-networkx@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}numpy>=1.25.0:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}orjson>=3.10:devel/py-orjson@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}palettable>=3.3.3:misc/py-palettable@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pandas>=2:math/py-pandas@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}plotly>0:graphics/py-plotly@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}plotly>=5.0:graphics/py-plotly@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.32.5:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}scipy>=1.13.0:science/py-scipy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}spglib>=2.5.0:science/py-spglib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sympy>=1.3:math/py-sympy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tabulate>=0.9.0:devel/py-tabulate@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tqdm>=4.67.3:misc/py-tqdm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}uncertainties>=3.1:math/py-uncertainties@${PY_FLAVOR} USES= compiler:c++11-lang python USE_PYTHON= pep517 cython concurrent autoplist pytest USE_GITHUB= yes GH_ACCOUNT= materialsproject GH_PROJECT= pymatgen-core TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} \ + ETS_TOOLKIT=null \ + QT_QPA_PLATFORM=offscreen \ PMG_TEST_FILES_DIR=${WRKSRC}/test-files \ MPLBACKEND=Agg +TEST_ARGS= --disable-plugin-autoload \ + --deselect=tests/core/test_graphs.py::TestMoleculeGraph::test_construction \ + --deselect=tests/io/qchem/test_outputs.py::TestQCOutput::test_structural_change \ + --deselect=tests/io/test_cif.py::TestCifIO::test_cif_parser \ + --deselect=tests/io/test_cif.py::TestMagCif::test_bibtex \ + --deselect=tests/util/test_provenance.py::TestStructureNL::test_authors \ + --deselect=tests/util/test_provenance.py::TestStructureNL::test_references \ + --deselect=tests/util/test_provenance.py::TestStructureNL::test_eq \ + --deselect=tests/util/test_provenance.py::TestStructureNL::test_as_from_dict +MAKE_ENV= SETUPTOOLS_SCM_PRETEND_VERSION=${DISTVERSION} -# tests as of 2026.5.18: not run +post-patch: + @${REINPLACE_CMD} -e 's|setuptools>=77.0.0|setuptools|' \ + -e 's|license = "MIT"|license = { text = "MIT" }|' \ + -e '/^license-files = /d' \ + ${WRKSRC}/pyproject.toml + @${REINPLACE_CMD} -e 's|np.linalg.det(scale_matrix)|round(float(np.linalg.det(scale_matrix)))|' \ + ${WRKSRC}/src/pymatgen/core/structure.py + +# tests as of 2026.9.23: 2882 passed, 353 skipped, 10 deselected, 4 xfailed, 4411 warnings in 478.58s (0:07:58) .include diff --git a/science/py-pymatgen-core/distinfo b/science/py-pymatgen-core/distinfo index 515ad1756626..2cf1874910a3 100644 --- a/science/py-pymatgen-core/distinfo +++ b/science/py-pymatgen-core/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1779172841 -SHA256 (materialsproject-pymatgen-core-v2026.5.18_GH0.tar.gz) = 17f45b5584187b0b5510f3a893d451467cfc3e7c07b1923aa2f6ef6c68124430 -SIZE (materialsproject-pymatgen-core-v2026.5.18_GH0.tar.gz) = 236919715 +TIMESTAMP = 1790136104 +SHA256 (materialsproject-pymatgen-core-v2026.9.23_GH0.tar.gz) = ad00f49c5bc9b9aa67e4bf7b74334c236490382dc424ad6e5f4f6798ff76453c +SIZE (materialsproject-pymatgen-core-v2026.9.23_GH0.tar.gz) = 227818899 diff --git a/science/py-pymatgen-core/files/patch-pyproject.toml b/science/py-pymatgen-core/files/patch-pyproject.toml deleted file mode 100644 index dcd20e005160..000000000000 --- a/science/py-pymatgen-core/files/patch-pyproject.toml +++ /dev/null @@ -1,36 +0,0 @@ --- Remove build-time version pins for numpy and setuptools that are too new --- for the versions available in FreeBSD ports. --- Fix version to match the release tag (upstream bug: tag is v2026.5.18 but --- version in pyproject.toml is 2026.5.17). --- Remove the pmg CLI entry point which requires pymatgen (not just pymatgen-core). ---- pyproject.toml.orig 2026-05-19 06:56:20 UTC -+++ pyproject.toml -@@ -3,8 +3,8 @@ requires = [ - "Cython>=0.29.23", - # Building against NPY2 will support both NPY1 and NPY2 - # https://numpy.org/devdocs/dev/depending_on_numpy.html#build-time-dependency -- "numpy>=2.1.0", -- "setuptools>=65.0.0", -+ "numpy", -+ "setuptools", - ] - build-backend = "setuptools.build_meta" - -@@ -77,7 +77,7 @@ dependencies = [ - "tqdm>=4.67.3", - "uncertainties>=3.1", - ] --version = "2026.5.17" -+version = "2026.5.18" - - [project.urls] - Homepage = "https://pymatgen.org" -@@ -112,8 +112,6 @@ zeopp = ["pyzeo; platform_system != 'Windows'"] # Not - tblite = ["tblite[ase]>=0.3.0; platform_system=='Linux' and python_version<'3.12'"] - zeopp = ["pyzeo; platform_system != 'Windows'"] # Note: requires Voro++ and Zeo++ to be installed - --[project.scripts] --pmg = "pymatgen.cli.pmg:main" - - [tool.setuptools] - include-package-data = false diff --git a/science/py-pymatgen-core/files/patch-src_pymatgen_core_structure.py b/science/py-pymatgen-core/files/patch-src_pymatgen_core_structure.py deleted file mode 100644 index 49edfa1b8482..000000000000 --- a/science/py-pymatgen-core/files/patch-src_pymatgen_core_structure.py +++ /dev/null @@ -1,11 +0,0 @@ ---- src/pymatgen/core/structure.py.orig 2026-05-18 23:38:43 UTC -+++ src/pymatgen/core/structure.py -@@ -1182,7 +1182,7 @@ class IStructure(SiteCollection, MSONable): - ) - new_sites.append(periodic_site) - -- new_charge = self._charge * np.linalg.det(scale_matrix) if self._charge else None -+ new_charge = self._charge * round(float(np.linalg.det(scale_matrix))) if self._charge else None - return Structure.from_sites(new_sites, charge=new_charge, to_unit_cell=True).relabel_sites(ignore_uniq=True) - - def __rmul__(self, scaling_matrix):