diff --git a/science/psi4/Makefile b/science/psi4/Makefile index 10ccbd8023fc..16ae863c6ea6 100644 --- a/science/psi4/Makefile +++ b/science/psi4/Makefile @@ -1,84 +1,85 @@ PORTNAME= psi4 DISTVERSIONPREFIX= v -DISTVERSION= 1.10 +DISTVERSION= 1.10.1 CATEGORIES= science # quantum-chemistry EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= yuri@FreeBSD.org COMMENT= Open-source suite of ab initio quantum chemistry programs WWW= https://psicode.org/ \ https://github.com/psi4/psi4/ LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/COPYING PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gau2grid>0:math/py-gau2grid@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}optking>=0.4.2:science/py-optking@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}qcelemental>0:science/py-qcelemental@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}qcengine>0:science/py-qcengine@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}qcmanybody>=0.5.1:science/py-qcmanybody@${PY_FLAVOR} BUILD_DEPENDS= boost-libs>0:devel/boost-libs \ ${LOCALBASE}/include/pybind11/pybind11.h:devel/pybind11 \ ${PY_DEPENDS} \ ${PY_SETUPTOOLS} \ libint2-psi4>0:science/libint2-psi4 # has to be this library LIB_DEPENDS= libgg.so:math/gau2grid \ libxc.so:science/libxc RUN_DEPENDS= ${PY_DEPENDS} \ libint2-psi4>0:science/libint2-psi4 TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} USES= blaslapack:openblas cmake compiler:c++17-lang eigen:3 fortran localbase:ldflags python USE_GITHUB= yes CMAKE_ARGS= -DLibxc_DIR=${LOCALBASE} \ -DFREEBSD_PYTHON_VER=${PYTHON_VER} \ -DPython_EXECUTABLE=${PYTHON_CMD} \ - -DPYMOD_INSTALL_LIBDIR=${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/lib||} + -DPYMOD_INSTALL_LIBDIR=${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/lib||} \ + -DCMAKE_INSIST_FIND_PACKAGE_Libint2=ON CONFIGURE_ENV= FREEBSD_PYTHON_VER=${PYTHON_VER} LDFLAGS+= -lexecinfo # for backtrace_symbols TEST_ENV= ${MAKE_ENV} \ PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}:${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/psi4/tests \ PSIDATADIR=${STAGEDIR}${DATADIR} \ PSIPATH=${STAGEDIR}${DATADIR}/basis TEST_WRKSRC= ${WRKSRC}/tests/pytests BINARY_ALIAS= python=${PYTHON_CMD} # only for tests OPTIONS_DEFINE= NATIVE NATIVE_CMAKE_BOOL= ENABLE_XHOST post-patch: # correct the default data dir @${REINPLACE_CMD} \ - -E 's|%%DATADIR%%|${DATADIR}|' \ + -e 's|/usr/local/share/psi4|${DATADIR}|' \ ${WRKSRC}/psi4/run_psi4.py do-install: # project fails to install itself into a stage directory due to a convoluted cmake code structure (DESTDIR isn't handled correctly) # main cd ${BUILD_WRKSRC}/stage && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX} ${FIND} ${STAGEDIR}${PREFIX} -name "*.pyc" -delete # samples cd ${WRKSRC} && ${COPYTREE_SHARE} samples ${STAGEDIR}${DATADIR} ${FIND} ${STAGEDIR}${PREFIX} -name "example_psi4rc_file" -delete # delete empty directories ${FIND} ${STAGEDIR} -type d -empty -delete # set executable flag ${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/psi4 # correct version number @${REINPLACE_CMD} -i '' -e "s|__version__ = 'undefined'|__version__ = '${DISTVERSION}'|" \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/psi4/metadata.py @${REINPLACE_CMD} -i '' -e "s|__version_long = 'undefined+11'|__version_long = '${DISTVERSION}'|" \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/psi4/metadata.py # psi4 sometimes fails to print its version: https://github.com/psi4/psi4/issues/2831 do-test: - # 2 tests fail, see https://github.com/psi4/psi4/issues/3014 - # 1.9: many tests fail: https://github.com/psi4/psi4/issues/3099 @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} pytest # tests can run without this target too, but this way tests output is more concise and it looks more appealing +# tests as of 1.10.1: 27 failed, 6072 passed, 1380 skipped, 51 xfailed in 6365.46s (1:46:05), see https://github.com/psi4/psi4/issues/3421 + .include diff --git a/science/psi4/distinfo b/science/psi4/distinfo index 2827c623bf8d..47687b324a4b 100644 --- a/science/psi4/distinfo +++ b/science/psi4/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1776702252 -SHA256 (psi4-psi4-v1.10_GH0.tar.gz) = 2d0ffcec6ff61141fbf13e8ee7ba984e28fc268659f67833352303a6356cc4e4 -SIZE (psi4-psi4-v1.10_GH0.tar.gz) = 51088510 +TIMESTAMP = 1780201783 +SHA256 (psi4-psi4-v1.10.1_GH0.tar.gz) = 9931c9189473cf32764b481964195b492ba488efa680f5e549ecb957a1d5bc54 +SIZE (psi4-psi4-v1.10.1_GH0.tar.gz) = 51081993 diff --git a/science/psi4/files/patch-CMakeLists.txt b/science/psi4/files/patch-CMakeLists.txt index bf2dc9b63c96..133fa7af43a3 100644 --- a/science/psi4/files/patch-CMakeLists.txt +++ b/science/psi4/files/patch-CMakeLists.txt @@ -1,30 +1,43 @@ ---- CMakeLists.txt.orig 2026-04-20 17:47:33 UTC +--- CMakeLists.txt.orig 2026-05-29 03:12:24 UTC +++ CMakeLists.txt @@ -221,7 +221,7 @@ set(Python_ADDITIONAL_VERSIONS 3.13 3.12 3.11 3.10) # # * library: not at all set(Python_ADDITIONAL_VERSIONS 3.13 3.12 3.11 3.10) # adjust with CMake minimum FindPythonInterp -find_package(Python 3.10 COMPONENTS Interpreter Development NumPy REQUIRED) +find_package(Python $ENV{FREEBSD_PYTHON_VER} COMPONENTS Interpreter Development NumPy REQUIRED) message(STATUS "${Cyan}Found Python ${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}${ColourReset}: ${Python_EXECUTABLE} (found version ${Python_VERSION}; NumPy version: ${Python_NumPy_VERSION})") set(STAGED_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/stage) message(STATUS "Psi4 staging: ${STAGED_INSTALL_PREFIX}") @@ -349,6 +349,7 @@ ExternalProject_Add(psi4-core -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_CYTHONIZE=${ENABLE_CYTHONIZE} -Dpsi4_SHGSHELL_ORDERING=${psi4_SHGSHELL_ORDERING} + -DFREEBSD_PYTHON_VER=${FREEBSD_PYTHON_VER} CMAKE_CACHE_ARGS -DCMAKE_PREFIX_PATH:PATH=${_cmake_CMAKE_PREFIX_PATH} -DCMAKE_C_COMPILER_ARG1:STRING=${CMAKE_C_COMPILER_ARG1} -DCMAKE_CXX_COMPILER_ARG1:STRING=${CMAKE_CXX_COMPILER_ARG1} -@@ -356,8 +357,8 @@ ExternalProject_Add(psi4-core +@@ -356,21 +357,10 @@ ExternalProject_Add(psi4-core # CMAKE__COMPILER_ARG1 vars pass args thru when CMAKE__COMPILER set as "compiler --vital-args" -DOpenMP_C_LIB_NAMES:STRING=${OpenMP_C_LIB_NAMES} -DOpenMP_CXX_LIB_NAMES:STRING=${OpenMP_CXX_LIB_NAMES} - USES_TERMINAL_BUILD 1 - BUILD_ALWAYS 1) + #USES_TERMINAL_BUILD 1 + BUILD_ALWAYS 0) add_subdirectory(external/downstream) add_subdirectory(doc) + include(ConfigTesting) + +-# <<< Install >>> +- +-install(DIRECTORY ${STAGED_INSTALL_PREFIX}/ +- DESTINATION ${CMAKE_INSTALL_PREFIX} +- USE_SOURCE_PERMISSIONS +- PATTERN "*.pyc" EXCLUDE) +- +-install(DIRECTORY samples +- DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/psi4 +- USE_SOURCE_PERMISSIONS +- PATTERN "example_psi4rc_file" EXCLUDE)