git: 562a8eaddf08 - main - science/qmcpack: Update 3.12.0-217 -> 3.12.0-244

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 13 Jan 2022 04:40:27 UTC
The branch main has been updated by yuri:

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

commit 562a8eaddf08cc13fcb3e5255eecef21015c2cff
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-01-13 04:38:47 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-01-13 04:40:22 +0000

    science/qmcpack: Update 3.12.0-217 -> 3.12.0-244
    
    Add the NEXUS option that installs the Nexus utility used to
    orchestrate qmcpack workflow.
---
 science/qmcpack/Makefile                   | 33 ++++++++++++++++++++++++++----
 science/qmcpack/distinfo                   |  6 +++---
 science/qmcpack/files/patch-CMakeLists.txt | 11 ++++++++++
 3 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/science/qmcpack/Makefile b/science/qmcpack/Makefile
index a887f21d5dfd..bdc11b19bb12 100644
--- a/science/qmcpack/Makefile
+++ b/science/qmcpack/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	qmcpack
 DISTVERSIONPREFIX=	v
-DISTVERSION=	3.12.0-217 # 3.12.0 is broken: https://github.com/QMCPACK/qmcpack/issues/3698
-DISTVERSIONSUFFIX=	-g0297e8705
+DISTVERSION=	3.12.0-244 # 3.12.0 is broken: https://github.com/QMCPACK/qmcpack/issues/3698
+DISTVERSIONSUFFIX=	-ga6ecd880c
 CATEGORIES=	science
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -20,13 +20,16 @@ LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 		libopenblas.so:math/openblas \
 		libsz.so:science/szip
 
-USES=		cmake:testing compiler:c++11-lang fortran gnome localbase:ldflags pkgconfig python:build
+USES=		cmake:testing compiler:c++11-lang fortran gnome localbase:ldflags pkgconfig python:build shebangfix
 USE_GNOME=	libxml2
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	${PORTNAME:tu}
 
+SHEBANG_FILES=	${NEXUS_PLIST_FILES:C/^/nexus\//}
+
 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
 
 CXXFLAGS+=	-I${LOCALBASE}/include/catch2
@@ -34,6 +37,28 @@ CXXFLAGS+=	-I${LOCALBASE}/include/catch2
 PROGS=		convert4qmc convertpw4qmc qmc-check-affinity qmc-extract-eshdf-kvectors qmc-get-supercell qmcfinitesize qmcpack qmcpack.settings
 PLIST_FILES=	${PROGS:C/^/bin\//}
 
-BINARY_ALIAS=	python=${PYTHON_CMD}
+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_CMAKE_USES=	python
+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>
diff --git a/science/qmcpack/distinfo b/science/qmcpack/distinfo
index 9cb02328b195..10fe896442de 100644
--- a/science/qmcpack/distinfo
+++ b/science/qmcpack/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641587706
-SHA256 (QMCPACK-qmcpack-v3.12.0-217-g0297e8705_GH0.tar.gz) = 25801b4b792493dd18b26c7b066ddef6cace3b41699aa0d963998ac5e62bfe63
-SIZE (QMCPACK-qmcpack-v3.12.0-217-g0297e8705_GH0.tar.gz) = 114729126
+TIMESTAMP = 1642029544
+SHA256 (QMCPACK-qmcpack-v3.12.0-244-ga6ecd880c_GH0.tar.gz) = 4902b7d87a9e91cc13670625d5e6be26838871f1cc72049f90169ee33a1b3f75
+SIZE (QMCPACK-qmcpack-v3.12.0-244-ga6ecd880c_GH0.tar.gz) = 114740685
diff --git a/science/qmcpack/files/patch-CMakeLists.txt b/science/qmcpack/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..e3e42be39800
--- /dev/null
+++ b/science/qmcpack/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2022-01-13 02:13:14 UTC
++++ CMakeLists.txt
+@@ -1006,7 +1006,7 @@ include(CTest)
+ #-------------------------------------------------------------------
+ # Verify Python3 available
+ #-------------------------------------------------------------------
+-find_package(Python3)
++find_package(Python3 ${FREEBSD_PYTHON_VER} EXACT)
+ if(NOT Python3_FOUND)
+   message(FATAL_ERROR "Could not find required python3")
+ endif(NOT Python3_FOUND)