git: 297ec918b5fd - main - science/mrchem: New port: MultiResolution Chemistry

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 15 Nov 2022 03:06:51 UTC
The branch main has been updated by yuri:

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

commit 297ec918b5fdb25b844c9c50d8bdd9059663b3b5
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-15 01:56:21 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-15 03:06:47 +0000

    science/mrchem: New port: MultiResolution Chemistry
---
 science/Makefile                                   |   1 +
 science/mrchem/Makefile                            |  53 ++++++++
 science/mrchem/distinfo                            |   3 +
 science/mrchem/files/patch-cmake_custom_main.cmake |  11 ++
 science/mrchem/pkg-descr                           |   6 +
 science/mrchem/pkg-plist                           | 149 +++++++++++++++++++++
 6 files changed, 223 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index 3f666717d097..c678e890407a 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -190,6 +190,7 @@
     SUBDIR += mopac
     SUBDIR += mpb
     SUBDIR += mpqc
+    SUBDIR += mrchem
     SUBDIR += mrcpp
     SUBDIR += msms
     SUBDIR += mstore
diff --git a/science/mrchem/Makefile b/science/mrchem/Makefile
new file mode 100644
index 000000000000..44220c1ead0d
--- /dev/null
+++ b/science/mrchem/Makefile
@@ -0,0 +1,53 @@
+PORTNAME=	mrchem
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.1.0.20221026
+CATEGORIES=	science # chemistry
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	MultiResolution Chemistry
+WWW=		https://github.com/MRChemSoft/mrchem
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	nlohmann-json>0:devel/nlohmann-json
+LIB_DEPENDS=	libmrcpp.so:science/mrcpp \
+		libxcfun.so:science/xcfun
+
+USES=		cmake:testing compiler:c++14-lang eigen:3 shebangfix
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	MRChemSoft
+GH_TAGNAME=	40042fd7
+
+SHEBANG_FILES=	python/mrchem.in tests/*/test
+
+OPTIONS_DEFINE=		ARCH_FLAGS PYTHON # the Python module also exists in the separate port science/py-mrchem, so it should be off by default here
+OPTIONS_SINGLE=		MPI
+OPTIONS_SINGLE_MPI=	NOMPI MPICH OPENMPI
+OPTIONS_DEFAULT=	MPICH
+OPTIONS_SUB=		yes
+
+ARCH_FLAGS_DESC=	Enable architecture-specific compiler flags
+ARCH_FLAGS_CMAKE_BOOL=	ENABLE_ARCH_FLAGS
+
+NOMPI_DESC=		Build without parallel processing support
+
+MPICH_USES=		mpi:mpich
+MPICH_CMAKE_ON=		-DENABLE_MPI=ON
+
+OPENMPI_USES=		mpi:openmpi
+OPENMPI_CMAKE_ON=	-DENABLE_MPI=ON
+OPENMPI_BROKEN=		fails to compile with OpenMPI, see https://github.com/MRChemSoft/mrchem/issues/438
+
+PYTHON_USES=		python
+PYTHON_CMAKE_BOOL=	BUILD_PYTHON
+PYTHON_CMAKE_ON=	-DPython3_EXECUTABLE=${PYTHON_CMD} \
+			-DPYMOD_INSTALL_LIBDIR=${PYTHON_SITELIBDIR:S;${PREFIX}/lib/;;}
+
+post-install-PYTHON-on:
+	@${RMDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/mrchem/input_parser/docs
+
+# tests require the port to be built with PYTHON=ON
+
+.include <bsd.port.mk>
diff --git a/science/mrchem/distinfo b/science/mrchem/distinfo
new file mode 100644
index 000000000000..3a6d681c32ed
--- /dev/null
+++ b/science/mrchem/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1668465270
+SHA256 (MRChemSoft-mrchem-v1.1.0.20221026-40042fd7_GH0.tar.gz) = 8d6d9b50476b44f338b2fd5120113c68181f57949c1d75bfdd151de4802d62a6
+SIZE (MRChemSoft-mrchem-v1.1.0.20221026-40042fd7_GH0.tar.gz) = 4232434
diff --git a/science/mrchem/files/patch-cmake_custom_main.cmake b/science/mrchem/files/patch-cmake_custom_main.cmake
new file mode 100644
index 000000000000..5f9e8a0e42cc
--- /dev/null
+++ b/science/mrchem/files/patch-cmake_custom_main.cmake
@@ -0,0 +1,11 @@
+--- cmake/custom/main.cmake.orig	2022-10-26 08:49:22 UTC
++++ cmake/custom/main.cmake
+@@ -62,5 +62,7 @@ include(${PROJECT_SOURCE_DIR}/external/upstream/fetch_
+ set(CMAKE_BUILD_TYPE ${_build_type})
+ 
+ add_subdirectory(src)
+-add_subdirectory(python)
++if (BUILD_PYTHON)
++  add_subdirectory(python)
++endif()
+ add_subdirectory(pilot)
diff --git a/science/mrchem/pkg-descr b/science/mrchem/pkg-descr
new file mode 100644
index 000000000000..5ff3580ec468
--- /dev/null
+++ b/science/mrchem/pkg-descr
@@ -0,0 +1,6 @@
+MRChem is a numerical real-space code for molecular electronic structure
+calculations within the self-consistent field (SCF) approximations of quantum
+chemistry (Hartree-Fock and Density Functional Theory).
+
+The code is being developed at the Hylleraas Centre for Quantum Molecular
+Sciences at UiT - The Arctic University of Norway.
diff --git a/science/mrchem/pkg-plist b/science/mrchem/pkg-plist
new file mode 100644
index 000000000000..207f48d873c9
--- /dev/null
+++ b/science/mrchem/pkg-plist
@@ -0,0 +1,149 @@
+%%PYTHON%%bin/mrchem
+bin/mrchem.x
+include/MRChem/config.h
+include/MRChem/driver.h
+include/MRChem/mrchem.h
+include/MRChem/mrenv.h
+include/MRChem/parallel.h
+include/MRChem/version.h
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/CUBEparser.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/api.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/cli.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/config.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/helpers.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/api.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/cli.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/atoms.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/exceptions.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/getkw.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/lexer.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/actions.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/common.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/core.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/diagram/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/exceptions.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/helpers.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/results.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/testing.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/unicode.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/pyparsing/util.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/types.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/utils.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/validation.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/validation_plumbing.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/input_parser/plumbing/views.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/periodictable.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/physical_constants.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/update_input_parser.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/mrchem/validators.py
+share/MRChem/sad_basis/Ag.bas
+share/MRChem/sad_basis/Ag.dens
+share/MRChem/sad_basis/Al.bas
+share/MRChem/sad_basis/Al.dens
+share/MRChem/sad_basis/Ar.bas
+share/MRChem/sad_basis/Ar.dens
+share/MRChem/sad_basis/As.bas
+share/MRChem/sad_basis/As.dens
+share/MRChem/sad_basis/B.bas
+share/MRChem/sad_basis/B.dens
+share/MRChem/sad_basis/Be.bas
+share/MRChem/sad_basis/Be.dens
+share/MRChem/sad_basis/Br.bas
+share/MRChem/sad_basis/Br.dens
+share/MRChem/sad_basis/C.bas
+share/MRChem/sad_basis/C.dens
+share/MRChem/sad_basis/Ca.bas
+share/MRChem/sad_basis/Ca.dens
+share/MRChem/sad_basis/Cd.bas
+share/MRChem/sad_basis/Cd.dens
+share/MRChem/sad_basis/Cl.bas
+share/MRChem/sad_basis/Cl.dens
+share/MRChem/sad_basis/Co.bas
+share/MRChem/sad_basis/Co.dens
+share/MRChem/sad_basis/Cr.bas
+share/MRChem/sad_basis/Cr.dens
+share/MRChem/sad_basis/Cu.bas
+share/MRChem/sad_basis/Cu.dens
+share/MRChem/sad_basis/F.bas
+share/MRChem/sad_basis/F.dens
+share/MRChem/sad_basis/Fe.bas
+share/MRChem/sad_basis/Fe.dens
+share/MRChem/sad_basis/Ga.bas
+share/MRChem/sad_basis/Ga.dens
+share/MRChem/sad_basis/Ge.bas
+share/MRChem/sad_basis/Ge.dens
+share/MRChem/sad_basis/H.bas
+share/MRChem/sad_basis/H.dens
+share/MRChem/sad_basis/He.bas
+share/MRChem/sad_basis/He.dens
+share/MRChem/sad_basis/I.bas
+share/MRChem/sad_basis/I.dens
+share/MRChem/sad_basis/In.bas
+share/MRChem/sad_basis/In.dens
+share/MRChem/sad_basis/K.bas
+share/MRChem/sad_basis/K.dens
+share/MRChem/sad_basis/Kr.bas
+share/MRChem/sad_basis/Kr.dens
+share/MRChem/sad_basis/Li.bas
+share/MRChem/sad_basis/Li.dens
+share/MRChem/sad_basis/Mg.bas
+share/MRChem/sad_basis/Mg.dens
+share/MRChem/sad_basis/Mn.bas
+share/MRChem/sad_basis/Mn.dens
+share/MRChem/sad_basis/Mo.bas
+share/MRChem/sad_basis/Mo.dens
+share/MRChem/sad_basis/N.bas
+share/MRChem/sad_basis/N.dens
+share/MRChem/sad_basis/Na.bas
+share/MRChem/sad_basis/Na.dens
+share/MRChem/sad_basis/Nb.bas
+share/MRChem/sad_basis/Nb.dens
+share/MRChem/sad_basis/Ne.bas
+share/MRChem/sad_basis/Ne.dens
+share/MRChem/sad_basis/Ni.bas
+share/MRChem/sad_basis/Ni.dens
+share/MRChem/sad_basis/O.bas
+share/MRChem/sad_basis/O.dens
+share/MRChem/sad_basis/P.bas
+share/MRChem/sad_basis/P.dens
+share/MRChem/sad_basis/Pd.bas
+share/MRChem/sad_basis/Pd.dens
+share/MRChem/sad_basis/Rb.bas
+share/MRChem/sad_basis/Rb.dens
+share/MRChem/sad_basis/Rh.bas
+share/MRChem/sad_basis/Rh.dens
+share/MRChem/sad_basis/Ru.bas
+share/MRChem/sad_basis/Ru.dens
+share/MRChem/sad_basis/S.bas
+share/MRChem/sad_basis/S.dens
+share/MRChem/sad_basis/Sb.bas
+share/MRChem/sad_basis/Sb.dens
+share/MRChem/sad_basis/Sc.bas
+share/MRChem/sad_basis/Sc.dens
+share/MRChem/sad_basis/Se.bas
+share/MRChem/sad_basis/Se.dens
+share/MRChem/sad_basis/Si.bas
+share/MRChem/sad_basis/Si.dens
+share/MRChem/sad_basis/Sn.bas
+share/MRChem/sad_basis/Sn.dens
+share/MRChem/sad_basis/Sr.bas
+share/MRChem/sad_basis/Sr.dens
+share/MRChem/sad_basis/Tc.bas
+share/MRChem/sad_basis/Tc.dens
+share/MRChem/sad_basis/Te.bas
+share/MRChem/sad_basis/Te.dens
+share/MRChem/sad_basis/Ti.bas
+share/MRChem/sad_basis/Ti.dens
+share/MRChem/sad_basis/V.bas
+share/MRChem/sad_basis/V.dens
+share/MRChem/sad_basis/Xe.bas
+share/MRChem/sad_basis/Xe.dens
+share/MRChem/sad_basis/Y.bas
+share/MRChem/sad_basis/Y.dens
+share/MRChem/sad_basis/Zn.bas
+share/MRChem/sad_basis/Zn.dens
+share/MRChem/sad_basis/Zr.bas
+share/MRChem/sad_basis/Zr.dens