git: aa9c528e7d7d - main - science/libint2-psi4: New port: Evaluate the integrals in modern atomic and molecular theory (psi4)

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 26 Nov 2022 11:17:25 UTC
The branch main has been updated by yuri:

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

commit aa9c528e7d7d7f4ed8bd4a535c9ee4f5d815c477
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-26 10:55:05 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-26 11:04:46 +0000

    science/libint2-psi4: New port: Evaluate the integrals in modern atomic and molecular theory (psi4)
---
 science/Makefile                       |   1 +
 science/libint2-psi4/Makefile          |  35 +++++++
 science/libint2-psi4/distinfo          |   3 +
 science/libint2-psi4/files/build.patch |  13 +++
 science/libint2-psi4/pkg-descr         |   4 +
 science/libint2-psi4/pkg-plist         | 163 +++++++++++++++++++++++++++++++++
 6 files changed, 219 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index d03c526d0235..eea5525542a8 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -152,6 +152,7 @@
     SUBDIR += libgridxc
     SUBDIR += libint
     SUBDIR += libint2
+    SUBDIR += libint2-psi4
     SUBDIR += libkml
     SUBDIR += liblinear
     SUBDIR += libmbd
diff --git a/science/libint2-psi4/Makefile b/science/libint2-psi4/Makefile
new file mode 100644
index 000000000000..ae4617206194
--- /dev/null
+++ b/science/libint2-psi4/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	libint2-psi4
+DISTVERSION=	0.1
+CATEGORIES=	science
+MASTER_SITES=	https://github.com/loriab/libint/releases/download/v${DISTVERSION}/
+DISTFILES=	Libint2-export-5-4-3-6-5-4_mm4f12ob2.tgz
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Evaluate the integrals in modern atomic and molecular theory (psi4)
+WWW=		https://github.com/evaleev/libint
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
+		libgmpxx.so:math/gmp
+
+USES=		cmake:testing eigen:3 python:build
+USE_LDCONFIG=	yes
+
+WRKSRC=		${WRKDIR}/libint-2.7.1
+
+CMAKE_ARGS=	-DLIBINT2_SHGAUSS_ORDERING=gaussian \
+		-DPython_EXECUTABLE=${PYTHON_CMD}
+CMAKE_ON=	BUILD_SHARED_LIBS \
+		REQUIRE_CXX_API
+CMAKE_OFF=	ENABLE_FORTRAN \
+		REQUIRE_CXX_API_COMPILED
+
+CONFLICTS=	libint2
+
+post-configure: # workaround for clang hanging on unity_1935_cxx.cxx, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265809
+	@cd ${BUILD_WRKSRC} && \
+		${SED} -e 's|%%BUILD_WRKSRC%%|${BUILD_WRKSRC}|g ; s|%%WRKDIR%%|${WRKDIR}|g' < ${FILESDIR}/build.patch | tee p | ${PATCH}
+
+.include <bsd.port.mk>
diff --git a/science/libint2-psi4/distinfo b/science/libint2-psi4/distinfo
new file mode 100644
index 000000000000..f4f0dd6c9ea4
--- /dev/null
+++ b/science/libint2-psi4/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669405977
+SHA256 (Libint2-export-5-4-3-6-5-4_mm4f12ob2.tgz) = 2e1e4560992185ac0fbc74c53bc80476115ef9d0af60c9ad64c510ebe6235584
+SIZE (Libint2-export-5-4-3-6-5-4_mm4f12ob2.tgz) = 313090742
diff --git a/science/libint2-psi4/files/build.patch b/science/libint2-psi4/files/build.patch
new file mode 100644
index 000000000000..305c55ea670b
--- /dev/null
+++ b/science/libint2-psi4/files/build.patch
@@ -0,0 +1,13 @@
+- workaround for clang hanging on unity_1935_cxx.cxx, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265809
+
+--- build.ninja.orig	2022-11-25 16:11:30.230881000 -0800
++++ build.ninja	2022-11-25 16:10:18.165198000 -0800
+@@ -890,7 +890,7 @@
+ build CMakeFiles/int-obj.dir/Unity/unity_1935_cxx.cxx.o: CXX_COMPILER__int-obj_Release %%BUILD_WRKSRC%%/CMakeFiles/int-obj.dir/Unity/unity_1935_cxx.cxx || cmake_object_order_depends_target_int-obj
+   DEFINES = -D__COMPILING_LIBINT2=1
+   DEP_FILE = CMakeFiles/int-obj.dir/Unity/unity_1935_cxx.cxx.o.d
+-  FLAGS = -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fPIC
++  FLAGS = -pipe -fstack-protector-strong -fno-strict-aliasing -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fPIC
+   INCLUDES = -I%%BUILD_WRKSRC%%/include -I%%WRKDIR%%/libint-2.7.1/src -I%%WRKDIR%%/libint-2.7.1/include -I%%WRKDIR%%/libint-2.7.1/include/libint2
+   OBJECT_DIR = CMakeFiles/int-obj.dir
+   OBJECT_FILE_DIR = CMakeFiles/int-obj.dir/Unity
diff --git a/science/libint2-psi4/pkg-descr b/science/libint2-psi4/pkg-descr
new file mode 100644
index 000000000000..7f60d82c3859
--- /dev/null
+++ b/science/libint2-psi4/pkg-descr
@@ -0,0 +1,4 @@
+Libint is a library for evaluating ERI (electron replusion integral)
+over Cartesian Gaussian fuctions for modern atomic and molecular theory.
+
+Spacial build for science/psi4.
diff --git a/science/libint2-psi4/pkg-plist b/science/libint2-psi4/pkg-plist
new file mode 100644
index 000000000000..9fda97e6afb9
--- /dev/null
+++ b/science/libint2-psi4/pkg-plist
@@ -0,0 +1,163 @@
+include/libint2.h
+include/libint2.hpp
+include/libint2/GenericContract.h
+include/libint2/GenericGaussDeriv.h
+include/libint2/GenericGaussDeriv.impl.h
+include/libint2/GenericScale.h
+include/libint2/ITR_xs_xs.h
+include/libint2/OSVRR_sx_sx.h
+include/libint2/OSVRR_sx_sx_deriv.h
+include/libint2/OSVRR_xs_xs.h
+include/libint2/OSVRR_xs_xs_deriv.h
+include/libint2/VRR_GTG_1d_xx_xx.h
+include/libint2/VRR_GTG_1d_xx_xx_vec.h
+include/libint2/VRR_r12kg12_xs_xs.h
+include/libint2/atom.h
+include/libint2/basis.h
+include/libint2/boys.h
+include/libint2/boys_cheb7.h
+include/libint2/boys_cheb7_v2.h
+include/libint2/boys_fwd.h
+include/libint2/braket.h
+include/libint2/cartesian.h
+include/libint2/cgshell_ordering.h
+include/libint2/cgshellinfo.h
+include/libint2/chemistry/elements.h
+include/libint2/chemistry/sto3g_atomic_density.h
+include/libint2/config.h
+include/libint2/config2.h
+include/libint2/cxxapi.h
+include/libint2/deriv_iter.h
+include/libint2/deriv_map.h
+include/libint2/diis.h
+include/libint2/engine.h
+include/libint2/engine.impl.h
+include/libint2/initialize.h
+include/libint2/lcao/1body.h
+include/libint2/lcao/molden.h
+include/libint2/libint2_iface.h
+include/libint2/libint2_iface_internal.h
+include/libint2/libint2_params.h
+include/libint2/libint2_types.h
+include/libint2/numeric.h
+include/libint2/shell.h
+include/libint2/shgshell_ordering.h
+include/libint2/solidharmonics.h
+include/libint2/statics_definition.h
+include/libint2/tenno_cheb.h
+include/libint2/tenno_cheb15.h
+include/libint2/tensor.h
+include/libint2/tests/unit/fixture.h
+include/libint2/util/any.h
+include/libint2/util/array_adaptor.h
+include/libint2/util/compressed_pair.h
+include/libint2/util/cxxstd.h
+include/libint2/util/deprecated.h
+include/libint2/util/generated/libint2_iface.h
+include/libint2/util/generated/libint2_params.h
+include/libint2/util/generated/libint2_types.h
+include/libint2/util/intpart_iter.h
+include/libint2/util/intrinsic_operations.h
+include/libint2/util/intrinsic_types.h
+include/libint2/util/memory.h
+include/libint2/util/singleton.h
+include/libint2/util/small_vector.h
+include/libint2/util/timer.h
+include/libint2/util/type_traits.h
+include/libint2/util/vector.h
+include/libint2/util/vector_ppc.h
+include/libint2/util/vector_x86.h
+include/libint2/util_types.h
+lib/cmake/libint2/FindEigen3.cmake
+lib/cmake/libint2/libint2-config-version.cmake
+lib/cmake/libint2/libint2-config.cmake
+lib/cmake/libint2/libint2-targets-shared-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/libint2/libint2-targets-shared.cmake
+lib/libint2.so
+lib/libint2.so.2
+libdata/pkgconfig/libint2.pc
+share/libint/2.7.1/basis/3-21g.g94
+share/libint/2.7.1/basis/6-311g_d_p_.g94
+share/libint/2.7.1/basis/6-31g.g94
+share/libint/2.7.1/basis/6-31g_d_.g94
+share/libint/2.7.1/basis/6-31g_d_p_.g94
+share/libint/2.7.1/basis/ano-rcc.g94
+share/libint/2.7.1/basis/aug-cc-pv5z-cabs.g94
+share/libint/2.7.1/basis/aug-cc-pvdz-cabs.g94
+share/libint/2.7.1/basis/aug-cc-pvqz-cabs.g94
+share/libint/2.7.1/basis/aug-cc-pvtz-cabs.g94
+share/libint/2.7.1/basis/augmentation-cc-pv5z-jkfit.g94
+share/libint/2.7.1/basis/augmentation-cc-pv5z-ri.g94
+share/libint/2.7.1/basis/augmentation-cc-pv5z.g94
+share/libint/2.7.1/basis/augmentation-cc-pv6z-ri.g94
+share/libint/2.7.1/basis/augmentation-cc-pv6z.g94
+share/libint/2.7.1/basis/augmentation-cc-pvdz-jkfit.g94
+share/libint/2.7.1/basis/augmentation-cc-pvdz-ri.g94
+share/libint/2.7.1/basis/augmentation-cc-pvdz.g94
+share/libint/2.7.1/basis/augmentation-cc-pvqz-jkfit.g94
+share/libint/2.7.1/basis/augmentation-cc-pvqz-ri.g94
+share/libint/2.7.1/basis/augmentation-cc-pvqz.g94
+share/libint/2.7.1/basis/augmentation-cc-pvtz-jkfit.g94
+share/libint/2.7.1/basis/augmentation-cc-pvtz-ri.g94
+share/libint/2.7.1/basis/augmentation-cc-pvtz.g94
+share/libint/2.7.1/basis/cc-pv5z-jkfit.g94
+share/libint/2.7.1/basis/cc-pv5z-ri.g94
+share/libint/2.7.1/basis/cc-pv5z.g94
+share/libint/2.7.1/basis/cc-pv6z-ri.g94
+share/libint/2.7.1/basis/cc-pv6z.g94
+share/libint/2.7.1/basis/cc-pvdz-f12-cabs.g94
+share/libint/2.7.1/basis/cc-pvdz-f12.g94
+share/libint/2.7.1/basis/cc-pvdz-jkfit.g94
+share/libint/2.7.1/basis/cc-pvdz-ri.g94
+share/libint/2.7.1/basis/cc-pvdz.g94
+share/libint/2.7.1/basis/cc-pvqz-f12-cabs.g94
+share/libint/2.7.1/basis/cc-pvqz-f12.g94
+share/libint/2.7.1/basis/cc-pvqz-jkfit.g94
+share/libint/2.7.1/basis/cc-pvqz-ri.g94
+share/libint/2.7.1/basis/cc-pvqz.g94
+share/libint/2.7.1/basis/cc-pvtz-f12-cabs.g94
+share/libint/2.7.1/basis/cc-pvtz-f12.g94
+share/libint/2.7.1/basis/cc-pvtz-jkfit.g94
+share/libint/2.7.1/basis/cc-pvtz-ri.g94
+share/libint/2.7.1/basis/cc-pvtz.g94
+share/libint/2.7.1/basis/def2-qzvp-c.g94
+share/libint/2.7.1/basis/def2-qzvp-j.g94
+share/libint/2.7.1/basis/def2-qzvp-jk.g94
+share/libint/2.7.1/basis/def2-qzvp.g94
+share/libint/2.7.1/basis/def2-qzvpd.g94
+share/libint/2.7.1/basis/def2-qzvpp-c.g94
+share/libint/2.7.1/basis/def2-qzvpp-j.g94
+share/libint/2.7.1/basis/def2-qzvpp-jk.g94
+share/libint/2.7.1/basis/def2-qzvpp.g94
+share/libint/2.7.1/basis/def2-qzvppd-c.g94
+share/libint/2.7.1/basis/def2-qzvppd.g94
+share/libint/2.7.1/basis/def2-sv(p)-c.g94
+share/libint/2.7.1/basis/def2-sv(p)-j.g94
+share/libint/2.7.1/basis/def2-sv(p)-jk.g94
+share/libint/2.7.1/basis/def2-sv(p).g94
+share/libint/2.7.1/basis/def2-sv.g94
+share/libint/2.7.1/basis/def2-svp-c.g94
+share/libint/2.7.1/basis/def2-svp-j.g94
+share/libint/2.7.1/basis/def2-svp-jk.g94
+share/libint/2.7.1/basis/def2-svp.g94
+share/libint/2.7.1/basis/def2-svpd-c.g94
+share/libint/2.7.1/basis/def2-svpd.g94
+share/libint/2.7.1/basis/def2-tzvp-c.g94
+share/libint/2.7.1/basis/def2-tzvp-j.g94
+share/libint/2.7.1/basis/def2-tzvp-jk.g94
+share/libint/2.7.1/basis/def2-tzvp.g94
+share/libint/2.7.1/basis/def2-tzvpd-c.g94
+share/libint/2.7.1/basis/def2-tzvpd.g94
+share/libint/2.7.1/basis/def2-tzvpp-c.g94
+share/libint/2.7.1/basis/def2-tzvpp-j.g94
+share/libint/2.7.1/basis/def2-tzvpp-jk.g94
+share/libint/2.7.1/basis/def2-tzvpp.g94
+share/libint/2.7.1/basis/def2-tzvppd-c.g94
+share/libint/2.7.1/basis/def2-tzvppd.g94
+share/libint/2.7.1/basis/mini.g94
+share/libint/2.7.1/basis/sto-3g.g94
+share/libint/2.7.1/basis/sto-6g.g94
+@dir include/libint2/fortran
+@dir include/libint2/tests/eri
+@dir include/libint2/tests/fortran
+@dir include/libint2/tests/hartree-fock