summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-05-24 12:04:13 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2022-05-24 12:51:18 -0700
commit3079ad1eeb3730a0967ebcc19aa81f56d6e3e90b (patch)
tree0b84475a42db82a56391dcfa32e1c3a1caaf6e14
parentdevel/taskflow: Update 3.3.0 -> 3.4.0 (diff)
science/openmolcas: New port: Quantum chemistry software package
OpenMolcas has issues: it doesn't respect UNIX file path conventions, it expects the installation directory to be writable. Currently it needs to be either run as root, or after chown, or after copying the entire tree to the home directory. Hopefully they will resolve these issues.
-rw-r--r--science/Makefile1
-rw-r--r--science/openmolcas/Makefile48
-rw-r--r--science/openmolcas/distinfo7
-rw-r--r--science/openmolcas/files/patch-CMakeLists.txt11
-rw-r--r--science/openmolcas/files/patch-src_mma__util_cgetshmem.c11
-rw-r--r--science/openmolcas/pkg-descr6
-rw-r--r--science/openmolcas/pkg-plist214
7 files changed, 298 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 4d7200d9d13b..98ca59dbb9db 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -190,6 +190,7 @@
SUBDIR += openkim
SUBDIR += openkim-models
SUBDIR += openmc
+ SUBDIR += openmolcas
SUBDIR += openmx
SUBDIR += opensim-core
SUBDIR += opensph
diff --git a/science/openmolcas/Makefile b/science/openmolcas/Makefile
new file mode 100644
index 000000000000..6c0b062fc8ee
--- /dev/null
+++ b/science/openmolcas/Makefile
@@ -0,0 +1,48 @@
+PORTNAME= openmolcas
+DISTVERSION= 22.02
+CATEGORIES= science # chemistry
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Quantum chemistry software package
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}
+LIB_DEPENDS= libhdf5.so:science/hdf5 \
+ libsz.so:science/szip \
+ libxc.so:science/libxc
+
+USES= cmake fortran python shebangfix
+USE_GCC= yes # see https://gitlab.com/Molcas/OpenMolcas/-/issues/351
+
+USE_GITLAB= yes
+GL_ACCOUNT= Molcas
+GL_PROJECT= OpenMolcas
+GL_COMMIT= f8df69cf87b241a15ebc82d72a8f9a031a385dd4
+
+USE_GITHUB= nodefault
+GH_TUPLE= Reference-LAPACK:lapack:aa631b4b:lapack/External/lapack \
+ libwfa:libwfa:bbe3392a:libwfa/External/libwfa
+
+SHEBANG_FILES= sbin/help_doc sbin/help_func sbin/help_basis sbin/setup sbin/verify sbin/version
+
+CMAKE_ARGS= -DEXTERNAL_LIBXC:STRING=${LOCALBASE} \
+ -DFREEBSD_PYTHON_VER:STRING=${PYTHON_VER}
+#CMAKE_ON= # for EFPLIB, MSYM see https://gitlab.com/Molcas/OpenMolcas/-/issues/350, for WFA - hdf5 needs updating
+CMAKE_OFF= BUILD_TESTING
+
+CMAKE_INSTALL_PREFIX= ${DATADIR} # installed into DATADIR because it doesn't respect UNIX file path conventions, see https://gitlab.com/Molcas/OpenMolcas/-/issues/352
+
+BINARY_ALIAS= cpp=${CPP} # cpp is called from cmake scripts
+
+post-install:
+ # remove unused static libraries, see https://gitlab.com/Molcas/OpenMolcas/-/issues/354
+ @${RM} -r ${STAGEDIR}${CMAKE_INSTALL_PREFIX}/lib
+ # remove unnecessary fines
+ @${RM} ${STAGEDIR}${CMAKE_INSTALL_PREFIX}/CONTRIBUTORS.md
+ @${RM} ${STAGEDIR}${CMAKE_INSTALL_PREFIX}/LICENSE
+ # remove empty doc directory
+ @${RMDIR} ${STAGEDIR}${DATADIR}/doc
+
+.include <bsd.port.mk>
diff --git a/science/openmolcas/distinfo b/science/openmolcas/distinfo
new file mode 100644
index 000000000000..962f32203d22
--- /dev/null
+++ b/science/openmolcas/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1653368495
+SHA256 (Reference-LAPACK-lapack-aa631b4b_GH0.tar.gz) = 04ddd43c8b1bed6447427e9dd2b4dd2ead7e2497d7a8fa5fea7f9b31f52117a2
+SIZE (Reference-LAPACK-lapack-aa631b4b_GH0.tar.gz) = 7631245
+SHA256 (libwfa-libwfa-bbe3392a_GH0.tar.gz) = c130488370ab0df228e532c80223ded3d23d80f04d405c2912588cfcfa05d121
+SIZE (libwfa-libwfa-bbe3392a_GH0.tar.gz) = 192935
+SHA256 (Molcas-OpenMolcas-f8df69cf87b241a15ebc82d72a8f9a031a385dd4_GL0.tar.gz) = 862ab4e5a76955e67af870c7c1b4344c250784299c5c0363c425a722671a892a
+SIZE (Molcas-OpenMolcas-f8df69cf87b241a15ebc82d72a8f9a031a385dd4_GL0.tar.gz) = 38439145
diff --git a/science/openmolcas/files/patch-CMakeLists.txt b/science/openmolcas/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..5fff45b0e5f2
--- /dev/null
+++ b/science/openmolcas/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-05-24 05:51:48 UTC
++++ CMakeLists.txt
+@@ -48,7 +48,7 @@ find_program (GIT "git")
+ find_program (PERL "perl")
+ mark_as_advanced (FORCE GIT PERL)
+
+-FIND_PACKAGE (Python COMPONENTS Interpreter)
++FIND_PACKAGE (Python ${FREEBSD_PYTHON_VER} EXACT COMPONENTS Interpreter)
+
+ ################################################################################
+ # #
diff --git a/science/openmolcas/files/patch-src_mma__util_cgetshmem.c b/science/openmolcas/files/patch-src_mma__util_cgetshmem.c
new file mode 100644
index 000000000000..3044e1ea5261
--- /dev/null
+++ b/science/openmolcas/files/patch-src_mma__util_cgetshmem.c
@@ -0,0 +1,11 @@
+--- src/mma_util/cgetshmem.c.orig 2022-05-24 05:38:26 UTC
++++ src/mma_util/cgetshmem.c
+@@ -134,6 +134,8 @@ INT add_shmentry(mstat *MM, mentry *tmp, char *path, I
+ shmid = shmget(SHM_key, (size_t) tmp->len, 0644|IPC_CREAT|IPC_EXCL);
+ #elif _AIX_
+ shmid = shmget(SHM_key, (size_t) tmp->len, 0644|IPC_CREAT|IPC_EXCL|SHM_PIN);
++#elif __FreeBSD__
++ shmid = shmget(SHM_key, (size_t) tmp->len, 0644|IPC_CREAT|IPC_EXCL);
+ #else
+ shmid = shmget(SHM_key, (size_t) tmp->len, 0644|IPC_CREAT|IPC_EXCL|SHM_LOCKED);
+ /* shmid = shmget(SHM_key, (size_t) tmp->len, 0644|IPC_CREAT|IPC_EXCL|SHM_LOCKED|SHM_NORESERVE);*/
diff --git a/science/openmolcas/pkg-descr b/science/openmolcas/pkg-descr
new file mode 100644
index 000000000000..3a31527b5097
--- /dev/null
+++ b/science/openmolcas/pkg-descr
@@ -0,0 +1,6 @@
+OpenMolcas is a quantum chemistry software package.
+
+The key feature of OpenMolcas is the multiconfigurational
+approach to the electronic structure.
+
+WWW: https://gitlab.com/Molcas/OpenMolcas
diff --git a/science/openmolcas/pkg-plist b/science/openmolcas/pkg-plist
new file mode 100644
index 000000000000..3c439dfd8557
--- /dev/null
+++ b/science/openmolcas/pkg-plist
@@ -0,0 +1,214 @@
+%%DATADIR%%/.molcashome
+%%DATADIR%%/.molcasversion
+%%DATADIR%%/basis_library/3-21G
+%%DATADIR%%/basis_library/4-31G
+%%DATADIR%%/basis_library/5-21G
+%%DATADIR%%/basis_library/6-311Gpp
+%%DATADIR%%/basis_library/6-31G
+%%DATADIR%%/basis_library/6-31Gpp
+%%DATADIR%%/basis_library/AHLRICHS_VDZ
+%%DATADIR%%/basis_library/AHLRICHS_VTZ
+%%DATADIR%%/basis_library/AIMP.README
+%%DATADIR%%/basis_library/ANO-DK3
+%%DATADIR%%/basis_library/ANO-L
+%%DATADIR%%/basis_library/ANO-ORCA
+%%DATADIR%%/basis_library/ANO-R
+%%DATADIR%%/basis_library/ANO-RCC
+%%DATADIR%%/basis_library/ANO-RCC.README
+%%DATADIR%%/basis_library/ANO-S
+%%DATADIR%%/basis_library/ANO-XS
+%%DATADIR%%/basis_library/AUG-CC-PV5Z
+%%DATADIR%%/basis_library/AUG-CC-PV6Z
+%%DATADIR%%/basis_library/AUG-CC-PVDZ
+%%DATADIR%%/basis_library/AUG-CC-PVQZ
+%%DATADIR%%/basis_library/AUG-CC-PVTZ
+%%DATADIR%%/basis_library/AUG-PC-0
+%%DATADIR%%/basis_library/AUG-PC-1
+%%DATADIR%%/basis_library/AUG-PC-2
+%%DATADIR%%/basis_library/AUG-PC-3
+%%DATADIR%%/basis_library/AUG-PC-4
+%%DATADIR%%/basis_library/CC-PV5Z
+%%DATADIR%%/basis_library/CC-PV5Z-DK
+%%DATADIR%%/basis_library/CC-PVDZ
+%%DATADIR%%/basis_library/CC-PVDZ-DK
+%%DATADIR%%/basis_library/CC-PVQZ
+%%DATADIR%%/basis_library/CC-PVQZ-DK
+%%DATADIR%%/basis_library/CC-PVTZ
+%%DATADIR%%/basis_library/CC-PVTZ-DK
+%%DATADIR%%/basis_library/CC-PWCV5Z-DK
+%%DATADIR%%/basis_library/CC-PWCVQZ-DK
+%%DATADIR%%/basis_library/CC-PWCVTZ-DK
+%%DATADIR%%/basis_library/CG-AIMP
+%%DATADIR%%/basis_library/DEF-SV-P
+%%DATADIR%%/basis_library/DEF-SVP
+%%DATADIR%%/basis_library/DEF-TZVP
+%%DATADIR%%/basis_library/DEF2-SVP
+%%DATADIR%%/basis_library/DEF2-TZVP
+%%DATADIR%%/basis_library/DEF2-TZVPP
+%%DATADIR%%/basis_library/EMB-AIMP
+%%DATADIR%%/basis_library/JGAUSS-DZP
+%%DATADIR%%/basis_library/LANL2DZ
+%%DATADIR%%/basis_library/LANL2DZ_NL
+%%DATADIR%%/basis_library/MCP-AQZP
+%%DATADIR%%/basis_library/MCP-ATZP
+%%DATADIR%%/basis_library/MCP-DZP
+%%DATADIR%%/basis_library/MCP-QZP
+%%DATADIR%%/basis_library/MCP-TZP
+%%DATADIR%%/basis_library/MUONIC
+%%DATADIR%%/basis_library/NP-AIMP
+%%DATADIR%%/basis_library/NR-AIMP
+%%DATADIR%%/basis_library/PC-0
+%%DATADIR%%/basis_library/PC-1
+%%DATADIR%%/basis_library/PC-2
+%%DATADIR%%/basis_library/PC-3
+%%DATADIR%%/basis_library/PC-4
+%%DATADIR%%/basis_library/QRPLIB
+%%DATADIR%%/basis_library/RAF-R
+%%DATADIR%%/basis_library/RYDBERG
+%%DATADIR%%/basis_library/SADLEJ_PVTZ
+%%DATADIR%%/basis_library/SARC2-QZVP-DKH2
+%%DATADIR%%/basis_library/STO-3G
+%%DATADIR%%/basis_library/STUTTGART
+%%DATADIR%%/basis_library/STUTTGART_NL
+%%DATADIR%%/basis_library/basis.tbl
+%%DATADIR%%/basis_library/basistype.tbl
+%%DATADIR%%/basis_library/c_Basis/DEF-SV-P
+%%DATADIR%%/basis_library/c_Basis/DEF-SVP
+%%DATADIR%%/basis_library/c_Basis/DEF-TZVP
+%%DATADIR%%/basis_library/c_Basis/basis.tbl
+%%DATADIR%%/basis_library/c_Basis/basistype.tbl
+%%DATADIR%%/basis_library/c_Basis/trans.tbl
+%%DATADIR%%/basis_library/j_Basis/DEF-SV-P
+%%DATADIR%%/basis_library/j_Basis/DEF-SVP
+%%DATADIR%%/basis_library/j_Basis/DEF-TZVP
+%%DATADIR%%/basis_library/j_Basis/basis.tbl
+%%DATADIR%%/basis_library/j_Basis/basistype.tbl
+%%DATADIR%%/basis_library/j_Basis/trans.tbl
+%%DATADIR%%/basis_library/jk_Basis/CC-PVTZ
+%%DATADIR%%/basis_library/jk_Basis/DEF-SV-P
+%%DATADIR%%/basis_library/jk_Basis/DEF-SVP
+%%DATADIR%%/basis_library/jk_Basis/basis.tbl
+%%DATADIR%%/basis_library/jk_Basis/basistype.tbl
+%%DATADIR%%/basis_library/jk_Basis/trans.tbl
+%%DATADIR%%/basis_library/trans.tbl
+%%DATADIR%%/bin/alaska.exe
+%%DATADIR%%/bin/averd.exe
+%%DATADIR%%/bin/caspt2.exe
+%%DATADIR%%/bin/casvb.exe
+%%DATADIR%%/bin/ccsdt.exe
+%%DATADIR%%/bin/chcc.exe
+%%DATADIR%%/bin/cht3.exe
+%%DATADIR%%/bin/cpf.exe
+%%DATADIR%%/bin/dynamix.exe
+%%DATADIR%%/bin/espf.exe
+%%DATADIR%%/bin/expbas.exe
+%%DATADIR%%/bin/extf.exe
+%%DATADIR%%/bin/false.exe
+%%DATADIR%%/bin/ffpt.exe
+%%DATADIR%%/bin/gateway.exe
+%%DATADIR%%/bin/genano.exe
+%%DATADIR%%/bin/grid_it.exe
+%%DATADIR%%/bin/guessorb.exe
+%%DATADIR%%/bin/guga.exe
+%%DATADIR%%/bin/gugaci.exe
+%%DATADIR%%/bin/gugadrt.exe
+%%DATADIR%%/bin/last_energy.exe
+%%DATADIR%%/bin/localisation.exe
+%%DATADIR%%/bin/loprop.exe
+%%DATADIR%%/bin/mbpt2.exe
+%%DATADIR%%/bin/mckinley.exe
+%%DATADIR%%/bin/mclr.exe
+%%DATADIR%%/bin/mcpdft.exe
+%%DATADIR%%/bin/motra.exe
+%%DATADIR%%/bin/mpprop.exe
+%%DATADIR%%/bin/mrci.exe
+%%DATADIR%%/bin/mula.exe
+%%DATADIR%%/bin/numerical_gradient.exe
+%%DATADIR%%/bin/parnell.exe
+%%DATADIR%%/bin/poly_aniso.exe
+%%DATADIR%%/bin/qmstat.exe
+%%DATADIR%%/bin/quater.exe
+%%DATADIR%%/bin/rasscf.exe
+%%DATADIR%%/bin/rassi.exe
+%%DATADIR%%/bin/rhodyn.exe
+%%DATADIR%%/bin/rpa.exe
+%%DATADIR%%/bin/scf.exe
+%%DATADIR%%/bin/seward.exe
+%%DATADIR%%/bin/single_aniso.exe
+%%DATADIR%%/bin/slapaf.exe
+%%DATADIR%%/bin/surfacehop.exe
+%%DATADIR%%/bin/vibrot.exe
+%%DATADIR%%/data/MolGUI.prgm
+%%DATADIR%%/data/abdata
+%%DATADIR%%/data/alaska.prgm
+%%DATADIR%%/data/averd.prgm
+%%DATADIR%%/data/banner.txt
+%%DATADIR%%/data/caspt2.prgm
+%%DATADIR%%/data/casvb.prgm
+%%DATADIR%%/data/ccsdt.prgm
+%%DATADIR%%/data/chcc.prgm
+%%DATADIR%%/data/check.prgm
+%%DATADIR%%/data/cht3.prgm
+%%DATADIR%%/data/cpf.prgm
+%%DATADIR%%/data/dmrgscf.prgm
+%%DATADIR%%/data/dynamix.prgm
+%%DATADIR%%/data/espf.prgm
+%%DATADIR%%/data/expbas.prgm
+%%DATADIR%%/data/extf.prgm
+%%DATADIR%%/data/false.prgm
+%%DATADIR%%/data/ffpt.prgm
+%%DATADIR%%/data/functionals.txt
+%%DATADIR%%/data/gateway.prgm
+%%DATADIR%%/data/genano.prgm
+%%DATADIR%%/data/global.prgm
+%%DATADIR%%/data/grid_it.prgm
+%%DATADIR%%/data/guessorb.prgm
+%%DATADIR%%/data/guga.prgm
+%%DATADIR%%/data/gugaci.prgm
+%%DATADIR%%/data/gugadrt.prgm
+%%DATADIR%%/data/info.txt
+%%DATADIR%%/data/inporb_files.prgm
+%%DATADIR%%/data/inputs.tpl
+%%DATADIR%%/data/isotope_data.txt
+%%DATADIR%%/data/keyword.db
+%%DATADIR%%/data/keyword.xml
+%%DATADIR%%/data/landing.txt
+%%DATADIR%%/data/last_energy.prgm
+%%DATADIR%%/data/localisation.prgm
+%%DATADIR%%/data/loprop.prgm
+%%DATADIR%%/data/mbpt2.prgm
+%%DATADIR%%/data/mckinley.prgm
+%%DATADIR%%/data/mclr.prgm
+%%DATADIR%%/data/mcpdft.prgm
+%%DATADIR%%/data/modalias.txt
+%%DATADIR%%/data/motra.prgm
+%%DATADIR%%/data/mpprop.prgm
+%%DATADIR%%/data/mpssi.prgm
+%%DATADIR%%/data/mrci.prgm
+%%DATADIR%%/data/mula.prgm
+%%DATADIR%%/data/nevpt2.prgm
+%%DATADIR%%/data/numerical_gradient.prgm
+%%DATADIR%%/data/poly_aniso.prgm
+%%DATADIR%%/data/qmstat.prgm
+%%DATADIR%%/data/quater.prgm
+%%DATADIR%%/data/rasscf.prgm
+%%DATADIR%%/data/rassi.prgm
+%%DATADIR%%/data/rcodes.txt
+%%DATADIR%%/data/rhodyn.prgm
+%%DATADIR%%/data/rpa.prgm
+%%DATADIR%%/data/rysrw
+%%DATADIR%%/data/scf.prgm
+%%DATADIR%%/data/seward.prgm
+%%DATADIR%%/data/single_aniso.prgm
+%%DATADIR%%/data/slapaf.prgm
+%%DATADIR%%/data/surfacehop.prgm
+%%DATADIR%%/data/symmetrize.prgm
+%%DATADIR%%/data/vibrot.prgm
+%%DATADIR%%/data/wfa.prgm
+%%DATADIR%%/molcas.rte
+%%DATADIR%%/pymolcas
+%%DATADIR%%/sbin/help_basis
+%%DATADIR%%/sbin/help_doc
+%%DATADIR%%/sbin/help_func
+%%DATADIR%%/sbin/setup
+%%DATADIR%%/sbin/version