aboutsummaryrefslogtreecommitdiff
path: root/science/qmcpack/Makefile
blob: cc276157ea0507b1e57fd5715b673316dc37386c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
PORTNAME=	qmcpack
DISTVERSIONPREFIX=	v
DISTVERSION=	3.14.0
PORTREVISION=	2
CATEGORIES=	science

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Many-body ab initio Quantum Monte Carlo code for quantum chemistry

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

BROKEN_i386=	undefined reference to `__atomic_load'

LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
		libfftw3.so:math/fftw3 \
		libhdf5.so:science/hdf5 \
		libmpich.so:net/mpich \
		libopenblas.so:math/openblas \
		libsz.so:science/szip
TEST_DEPENDS=	bash:shells/bash

USES=		cmake:testing compiler:c++17-lang fortran gnome localbase:ldflags pkgconfig python shebangfix
USE_GNOME=	libxml2

USE_GITHUB=	yes
GH_ACCOUNT=	${PORTNAME:tu}

SHEBANG_FILES=	src/QMCTools/gpaw4qmcpack.py \
		${NEXUS_PLIST_FILES:C/^/nexus\//}
SHEBANG_GLOB=	check.sh

CMAKE_OFF=	BUILD_UNIT_TESTS
CMAKE_ARGS=	-DFREEBSD_PYTHON_VER=${PYTHON_VER}
CMAKE_TESTING_ON=	BUILD_UNIT_TESTS # at least 3 testcases are known to fail

PROGS=		convert4qmc convertpw4qmc gpaw4qmcpack.py ppconvert qmc-check-affinity qmc-extract-eshdf-kvectors qmc-get-supercell qmcfinitesize qmcpack qmcpack.settings
PLIST_FILES=	${PROGS:C/^/bin\//}

BINARY_ALIAS=	python=${PYTHON_CMD} python3=${PYTHON_CMD}

OPTIONS_DEFINE=		NEXUS
OPTIONS_DEFAULT=	NEXUS
OPTIONS_SUB=		yes

NEXUS_DESC=		Install Nexus (workflow utility) alongside QMCPACK
NEXUS_CMAKE_BOOL=	INSTALL_NEXUS
NEXUS_PY_DEPENDS=	${PYNUMPY} \
			${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} \
			${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
			${PYTHON_PKGNAMEPREFIX}pyscf>0:science/py-pyscf@${PY_FLAVOR}
NEXUS_BUILD_DEPENDS=	${NEXUS_PY_DEPENDS}
NEXUS_RUN_DEPENDS=	${NEXUS_PY_DEPENDS}
NEXUS_PLIST_FILES=	bin/eshdf \
			bin/nxs-redo \
			bin/nxs-sim \
			bin/nxs-test \
			bin/qdens \
			bin/qdens-radial \
			bin/qmc-fit \
			bin/qmca

.include <bsd.port.mk>