diff --git a/science/phonopy/Makefile b/science/phonopy/Makefile index dfe8e60a441f..1e7809474c82 100644 --- a/science/phonopy/Makefile +++ b/science/phonopy/Makefile @@ -1,26 +1,26 @@ PORTNAME= phonopy DISTVERSIONPREFIX= v -DISTVERSION= 3.5.1 +DISTVERSION= 4.0.0 CATEGORIES= science python MAINTAINER= yuri@FreeBSD.org COMMENT= Package for phonon calculations at harmonic and quasi-harmonic levels WWW= https://phonopy.github.io/phonopy/ \ https://github.com/phonopy/phonopy LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake USE_LDCONFIG= yes USE_GITHUB= yes CMAKE_ON= PHONOPY PHONOPY_LIBS BUILD_SHARED_LIBS PLIST_FILES= include/phonopy.h \ lib/libphonopy_libs.so \ lib/libphonopy_libs.so.1 \ lib/libphonopy_libs.so.${DISTVERSION} .include diff --git a/science/phonopy/distinfo b/science/phonopy/distinfo index c349b0fdb493..e2d90a31b9d4 100644 --- a/science/phonopy/distinfo +++ b/science/phonopy/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1777008346 -SHA256 (phonopy-phonopy-v3.5.1_GH0.tar.gz) = 2aeaf0e363054c61e12b4948207cec5ddd70a50b68c9520fe813fe1e65439e2a -SIZE (phonopy-phonopy-v3.5.1_GH0.tar.gz) = 8136506 +TIMESTAMP = 1779007077 +SHA256 (phonopy-phonopy-v4.0.0_GH0.tar.gz) = 8eb4f3dbe47c6061c3e1a9974598ec94c8d0674a16d87ab2b9468be7d0a287f2 +SIZE (phonopy-phonopy-v4.0.0_GH0.tar.gz) = 8274065 diff --git a/science/py-phonopy/Makefile b/science/py-phonopy/Makefile index fa0c1d81ad67..d00bcb62bb2d 100644 --- a/science/py-phonopy/Makefile +++ b/science/py-phonopy/Makefile @@ -1,43 +1,37 @@ PORTNAME= phonopy -DISTVERSION= 3.5.1 -PORTREVISION= 1 +DISTVERSION= 4.0.0 CATEGORIES= science python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Package for phonon calculations at harmonic and quasi-harmonic levels WWW= https://phonopy.github.io/phonopy/ \ https://github.com/phonopy/phonopy LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= cmake:devel/cmake-core \ ${PYTHON_PKGNAMEPREFIX}nanobind>0:devel/py-nanobind@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.17:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR} \ ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}h5py>=3.0:science/py-h5py@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}h5py>=3.0:science/py-h5py@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}matplotlib>=2.2.2:math/py-matplotlib@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}spglib>=2.3:science/py-spglib@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}symfc>=1.1.6:science/py-symfc@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3:devel/py-pyyaml@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}numpy>=1.17:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3:devel/py-pyyaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}spglib>=2.5:science/py-spglib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}symfc>=1.7:science/py-symfc@${PY_FLAVOR} USES= python -USE_PYTHON= pep517 cython autoplist pytest +USE_PYTHON= pep517 autoplist pytest TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} TEST_WRKSRC= ${WRKSRC}/test post-install: @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/phonopy/_phonopy${PYTHON_TAG}.so -# tests as of 3.5.1: -# Results (64.10s (0:01:04)): -# 880 passed -# 22 skipped - .include diff --git a/science/py-phonopy/distinfo b/science/py-phonopy/distinfo index 45a200b76146..3262ecd4144c 100644 --- a/science/py-phonopy/distinfo +++ b/science/py-phonopy/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1777015315 -SHA256 (phonopy-3.5.1.tar.gz) = 37869c383d0b1fa1355f17a1bb3599479406530d730791d71dc16186848db196 -SIZE (phonopy-3.5.1.tar.gz) = 5128062 +TIMESTAMP = 1779007076 +SHA256 (phonopy-4.0.0.tar.gz) = 650907380f4dd6c9ac6156651231c25d4d814cb4eca0bf06ec62b2263a8115a2 +SIZE (phonopy-4.0.0.tar.gz) = 5244720 diff --git a/science/py-phonopy/files/patch-pyproject.toml b/science/py-phonopy/files/patch-pyproject.toml index 34603697161f..662f294faf7e 100644 --- a/science/py-phonopy/files/patch-pyproject.toml +++ b/science/py-phonopy/files/patch-pyproject.toml @@ -1,9 +1,23 @@ ---- pyproject.toml.orig 2026-03-01 18:46:34 UTC +-- Relax dependency constraints that break the ports tree. +-- Drop the nanobind upper cap and remove phonors hard runtime dependency +-- until a corresponding FreeBSD port is available. +-- Upstream: not yet submitted + +--- pyproject.toml.orig 2026-05-17 08:22:00 UTC +++ pyproject.toml -@@ -1,5 +1,5 @@ +@@ -1,4 +1,4 @@ [build-system] -requires = ["scikit-build-core", "nanobind<2.10.0", "numpy"] +requires = ["scikit-build-core", "nanobind", "numpy"] build-backend = "scikit_build_core.build" - [project] +@@ -13,8 +13,7 @@ + dependencies = [ + "numpy>=1.17.0", + "PyYAML>=5.3", + "matplotlib>=2.2.2", + "h5py>=3.0", + "spglib>=2.5", + "symfc>=1.7", +- "phonors" + ] diff --git a/science/py-phonopy/files/patch-test_conftest.py b/science/py-phonopy/files/patch-test_conftest.py index af2e20741878..ea2d202b2f41 100644 --- a/science/py-phonopy/files/patch-test_conftest.py +++ b/science/py-phonopy/files/patch-test_conftest.py @@ -1,23 +1,22 @@ --- Fix test crash by setting matplotlib to use non-interactive Agg backend. --- This prevents segmentation faults when matplotlib tries to use GTK4 backend --- in a headless FreeBSD environment during test execution. --- See: https://github.com/phonopy/phonopy/issues/??? +-- Force non-interactive matplotlib backend in tests. +-- Prevents crashes in headless FreeBSD test environments that otherwise select +-- a GUI backend. +-- Upstream: not yet submitted ---- test/conftest.py.orig 2026-04-24 07:29:40 UTC +--- test/conftest.py.orig 2022-11-09 12:37:21 UTC +++ test/conftest.py -@@ -5,12 +5,15 @@ from collections.abc import Callable +@@ -4,11 +4,14 @@ + import pathlib from collections.abc import Callable +import matplotlib import numpy as np import pytest import phonopy - from phonopy import Phonopy - from phonopy.structure.atoms import PhonopyAtoms + +matplotlib.use("Agg") - - cwd = pathlib.Path(__file__).parent - + from phonopy import Phonopy + from phonopy.interface.phonopy_yaml import read_cell_yaml + from phonopy.structure.atoms import PhonopyAtoms