diff --git a/science/nwchem/Makefile b/science/nwchem/Makefile index a265b1e2cbea..eecb12e4ecca 100644 --- a/science/nwchem/Makefile +++ b/science/nwchem/Makefile @@ -1,85 +1,91 @@ PORTNAME= nwchem DISTVERSIONPREFIX= v -DISTVERSION= 7.0.2 +DISTVERSION= 7.0.2.20211105 DISTVERSIONSUFFIX= -release -PORTREVISION= 2 +MASTER_SITES= https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3/:dftd3 \ + https://web.archive.org/web/20210527062154if_/https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3/:dft3 +DISTFILES= dftd3.tgz:dft3 CATEGORIES= science +DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= High-performance computational chemistry software LICENSE= ECL20 LICENSE_NAME= Educational Community License (ECL) 2.0 LICENSE_FILE= ${WRKSRC}/../LICENSE.TXT LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BROKEN_aarch64= fails to build: gfortran10: error: unrecognized command-line option '-m64' BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libblas.so:math/blas \ libga.so:devel/ga RUN_DEPENDS= nwchem-data>0:science/nwchem-data TEST_DEPENDS= bash:shells/bash -USES= fortran gmake perl5 shebangfix +USES= fortran gettext-runtime gmake perl5 shebangfix USE_PERL5= build USE_GITHUB= yes GH_ACCOUNT= nwchemgit +GH_TAGNAME= e41592b SHEBANG_FILES= ../contrib/distro-tools/build_* ../contrib/add_* config/64_to_32 \ ../QA/doqmtests.mpi ../QA/runtests.mpi.unix ../QA/round_esp.sh ../QA/sleep_loopqa.sh SHEBANG_GLOB= *.sh MAKEFILE= GNUmakefile ARCH_64BIT= ${ARCH:C/.*64.*/64/:S/${ARCH}//} MAKE_ENV= NWCHEM_TOP=${WRKSRC}/.. NWCHEM_MODULES=all NWCHEM_LONG_PATHS=Y NWCHEM_TARGET=LINUX${ARCH_64BIT} USE_INTERNALBLAS=Y EXTERNAL_GA_PATH=${LOCALBASE} \ BLAS_SIZE=4 USE_64TO32=y SUB_FILES= nwchemrc WRKSRC_SUBDIR= src BINARY_ALIAS= gcc=${CC} gfortran=gfortran${GCC_DEFAULT} PLIST_FILES= bin/nwchem etc/nwchemrc OPTIONS_DEFINE= PYTHON OPTIONS_DEFAULT= PYTHON MPICH # the default should be the same as for the MPI option in math/scalapack and devel/ga OPTIONS_RADIO= MPI OPTIONS_RADIO_MPI= NOMPI MPICH OPENMPI NOMPI_DESC= MPI isn't used NOMPI_BROKEN= Fails to build without MPI MPICH_MAKE_ENV= USE_MPI=Y MPICH_LIB_DEPENDS= libmpich.so:net/mpich OPENMPI_MAKE_ENV= USE_MPI=Y PATH=${LOCALBASE}/mpi/openmpi/bin:$${PATH} # mpif90 in path determines which MPI library to use, see https://www.nwchem-sw.org/index-php/Compiling_NWChem.html#MPI_variables OPENMPI_BUILD_DEPENDS= openmpi>0:net/openmpi OPENMPI_RUN_DEPENDS= openmpi>0:net/openmpi OPENMPI_VARS= CONFLICTS_BUILD=mpich PYTHON_DESC= Enable Python syntax in input files PYTHON_USES= python PYTHON_MAKE_ENV= PYTHONVERSION=${PYTHON_VER} NWCHEM_MODULES="all python" post-extract: @${RM} ${WRKSRC}/atomscf/src.orig + # symlink the downloaded dftd3.tgz + @${LN} -s ${DISTDIR}/${DIST_SUBDIR}/dftd3.tgz ${WRKSRC}/nwpw/nwpwlib/nwpwxc/ post-patch: @${REINPLACE_CMD} 's|nwchrc="/etc/nwchemrc"|nwchrc="${PREFIX}/etc/nwchemrc"|' ${WRKSRC}/util/util_nwchemrc.F pre-build: @cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} nwchem_config && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} 64_to_32 do-install: ${INSTALL_DATA} ${WRKDIR}/nwchemrc ${STAGEDIR}${PREFIX}/etc/nwchemrc ${INSTALL_PROGRAM} ${WRKSRC}/../bin/LINUX${ARCH_64BIT}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} do-test: @cd ${WRKSRC}/../QA && NWCHEM_TOP=${WRKSRC}/.. NWCHEM_TARGET=LINUX64 ./doqmtests.mpi .include diff --git a/science/nwchem/distinfo b/science/nwchem/distinfo index edb75dcdda99..880d5511d3d8 100644 --- a/science/nwchem/distinfo +++ b/science/nwchem/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1602740783 -SHA256 (nwchemgit-nwchem-v7.0.2-release_GH0.tar.gz) = d63cf8c6e9df591ae8b542175999c16219757cc75fb6a528c06e7590a7f63271 -SIZE (nwchemgit-nwchem-v7.0.2-release_GH0.tar.gz) = 189083916 +TIMESTAMP = 1636150934 +SHA256 (nwchem-7.0.2.20211105/dftd3.tgz) = d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59 +SIZE (nwchem-7.0.2.20211105/dftd3.tgz) = 555804 +SHA256 (nwchem-7.0.2.20211105/nwchemgit-nwchem-v7.0.2.20211105-release-e41592b_GH0.tar.gz) = 9e46a9aa7a8d9b75e13f05121d6da09a710a8110192345f764592470ce1e5097 +SIZE (nwchem-7.0.2.20211105/nwchemgit-nwchem-v7.0.2.20211105-release-e41592b_GH0.tar.gz) = 198868171 diff --git a/science/nwchem/files/patch-config_makefile.h b/science/nwchem/files/patch-config_makefile.h deleted file mode 100644 index a45164edbfb1..000000000000 --- a/science/nwchem/files/patch-config_makefile.h +++ /dev/null @@ -1,35 +0,0 @@ ---- config/makefile.h.orig 2020-10-08 04:03:38 UTC -+++ config/makefile.h -@@ -1027,9 +1027,9 @@ ifeq ($(TARGET),MACX) - FDEBUG = -O0 -g - FOPTIMIZE = -O2 -ffast-math -Wuninitialized - DEFINES += -DGFORTRAN -- GNUMAJOR=$(shell $(_FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) -+ GNUMAJOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) - ifdef GNUMAJOR -- GNUMINOR=$(shell $(_FC) -dM -E - < /dev/null 2> /dev/null | egrep __GNUC_MINOR | cut -c24) -+ GNUMINOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | egrep __GNUC_MINOR | cut -c24) - GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true) - GNU_GE_4_8 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 8 \) ] && echo true) - GNU_GE_6 = $(shell [ $(GNUMAJOR) -ge 6 ] && echo true) -@@ -1195,9 +1195,9 @@ endif - # - FOPTIMIZE+= -funroll-all-loops -mtune=native - FVECTORIZE=-O3 -ffast-math -mtune=native -mfpmath=sse -msse3 -ftree-vectorize -ftree-vectorizer-verbose=1 -fprefetch-loop-arrays -funroll-all-loops -- GNUMAJOR=$(shell $(_FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) -+ GNUMAJOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) - ifneq ($(strip $(GNUMAJOR)),) -- GNUMINOR=$(shell $(_FC) -dM -E - < /dev/null 2> /dev/null | egrep __GNUC_MINOR | cut -c24) -+ GNUMINOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | egrep __GNUC_MINOR | cut -c24) - GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true) - GNU_GE_4_8 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 8 \) ] && echo true) - GNU_GE_6 = $(shell [ $(GNUMAJOR) -ge 6 ] && echo true) -@@ -1378,7 +1378,7 @@ ifeq ($(TARGET),$(findstring $(TARGET),LINUX CYGNUS CY - FOPTIONS = # -Wextra -Wunused - FOPTIMIZE += -ffast-math -Wuninitialized - DEFINES += -DGFORTRAN -- GNUMAJOR=$(shell $(_FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) -+ GNUMAJOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | grep __GNUC__ |cut -c18-) - ifdef GNUMAJOR - GNUMINOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | egrep __VERS | cut -c24) - GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true) diff --git a/science/nwchem/files/report-qa-results.sh b/science/nwchem/files/report-qa-results.sh new file mode 100755 index 000000000000..52ec68e4e5f2 --- /dev/null +++ b/science/nwchem/files/report-qa-results.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +## +## report-test-results.sh - script to report number of successes and failures in the NWChem QA log file +## + +LOG=$1 + +echo "The log file $LOG has:" +echo " - $(grep "^OK$" $LOG | wc -l) successes" +echo " - $(grep "^Failed$" $LOG | wc -l) failures"