git: 5893cd35fe51 - main - science/multiwfn: Update 3.4.1-0-14 → 3.8
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 20 Jun 2023 06:31:26 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=5893cd35fe51883b1889e045db8bfc10c091dcfb commit 5893cd35fe51883b1889e045db8bfc10c091dcfb Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2023-06-20 06:25:14 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2023-06-20 06:31:20 +0000 science/multiwfn: Update 3.4.1-0-14 → 3.8 Reported by: portscout --- science/multiwfn/Makefile | 52 ++++++++++++++++++++------- science/multiwfn/distinfo | 8 +++-- science/multiwfn/files/patch-Makefile | 46 ++++++++++++++++++++++++ science/multiwfn/files/patch-Multiwfn.f90 | 50 ++++++++++++++++++++++++++ science/multiwfn/files/patch-define.f90 | 25 +++++++++++++ science/multiwfn/files/patch-init_Multiwfn.02 | 20 ----------- 6 files changed, 165 insertions(+), 36 deletions(-) diff --git a/science/multiwfn/Makefile b/science/multiwfn/Makefile index e28612c55a43..f42a2570a737 100644 --- a/science/multiwfn/Makefile +++ b/science/multiwfn/Makefile @@ -1,29 +1,55 @@ PORTNAME= multiwfn DISTVERSIONPREFIX= v -DISTVERSION= 3.4.1-0-14 -PORTREVISION= 6 -DISTVERSIONSUFFIX= -ge873677 +DISTVERSION= 3.8 CATEGORIES= science +MASTER_SITES= http://sobereva.com/multiwfn/misc/:main \ + https://www.dislin.de/downloads/unix/:dislin +DISTFILES= Multiwfn_${DISTVERSION}_dev_src_Linux.zip:main \ + dislin-11.5.fbsd.64.tar.gz:dislin # (!!!) dislin is a closed-source library distributed as binary, source code is sold for $$ MAINTAINER= yuri@FreeBSD.org COMMENT= Multifunctional wavefunction analysis for quantum chemistry WWW= http://sobereva.com/multiwfn/index.html LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/LICENSE -LIB_DEPENDS= libopenblas.so:math/openblas +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= dislin is closed source only available for amd64 + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack \ + libopenblas.so:math/openblas RUN_DEPENDS= bash:shells/bash -USES= autoreconf gmake fortran shebangfix -SHEBANG_GLOB= *.sh -SHEBANG_FILES= init/Multiwfn.01 -GNU_CONFIGURE= yes -USE_GITHUB= yes -GH_ACCOUNT= stecue -GH_PROJECT= gMultiwfn +USES= gl gmake fortran motif xorg +USE_GL= gl +USE_XORG= x11 xt + +#SHEBANG_GLOB= *.sh +#SHEBANG_FILES= init/Multiwfn.01 + +#USE_GITHUB= yes +#GH_ACCOUNT= stecue +#GH_PROJECT= gMultiwfn + +WRKSRC= ${WRKDIR}/Multiwfn_${DISTVERSION}_dev_src_Linux + +FCFLAGS+= -ffree-line-length-none +LDFLAGS+= -lblas -llapack -lc + +ALL_TARGET= default + +BINARY_ALIAS= ifort=gfortran12 \ + gcc=${CC} PLIST_FILES= bin/Multiwfn \ - lib/gMultiwfn/Multiwfn + bin/Multiwfn_noGUI + +post-patch: # replace the dislin.a library with the FreeBSD version + @${CP} ${WRKDIR}/dislin-11.5/fbsd_64/lib/dislin_d-11.5.a ${WRKSRC}/dislin_d-11.0.a + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/Multiwfn ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/Multiwfn_noGUI ${STAGEDIR}${PREFIX}/bin .include <bsd.port.mk> diff --git a/science/multiwfn/distinfo b/science/multiwfn/distinfo index fc30e7275b0b..4fd4dccccea2 100644 --- a/science/multiwfn/distinfo +++ b/science/multiwfn/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1535377138 -SHA256 (stecue-gMultiwfn-v3.4.1-0-14-ge873677_GH0.tar.gz) = 39a902b179eae8733a95f5e778dbea4e8aa539a001c16b04876bafd72607a000 -SIZE (stecue-gMultiwfn-v3.4.1-0-14-ge873677_GH0.tar.gz) = 28537523 +TIMESTAMP = 1687240327 +SHA256 (Multiwfn_3.8_dev_src_Linux.zip) = 095db5b93d289792e7e000781749285469c2442e65c32b5f7a7a9f9d6fd8f006 +SIZE (Multiwfn_3.8_dev_src_Linux.zip) = 3813120 +SHA256 (dislin-11.5.fbsd.64.tar.gz) = 8057930c80b6cd59977060bbfe8f6deb51da4c4ed1509181c8286de3c8bdb203 +SIZE (dislin-11.5.fbsd.64.tar.gz) = 13058354 diff --git a/science/multiwfn/files/patch-Makefile b/science/multiwfn/files/patch-Makefile new file mode 100644 index 000000000000..00ff10bae181 --- /dev/null +++ b/science/multiwfn/files/patch-Makefile @@ -0,0 +1,46 @@ +--- Makefile.orig 2023-02-06 10:17:38 UTC ++++ Makefile +@@ -1,6 +1,6 @@ + SIMD = -msse3 +-OPT = -O2 -qopenmp -qopenmp-link=static -threads -qopt-matmul $(SIMD) -diag-disable 8290,8291,6371,10316,6178 -fpp -mkl -static-intel -DINTEL_MKL +-OPT1 = -O1 -qopenmp -qopenmp-link=static -threads $(SIMD) -diag-disable 8290,8291,6371,10316,6178 -fpp -mkl -static-intel -DINTEL_MKL ++OPT = $(FCFLAGS) -O2 $(SIMD) -DINTEL_MKL ++OPT1 = $(FCFLAGS) -O1 $(SIMD) -DINTEL_MKL + #Options in the next line is for debugging purpose + #OPTDBG = -O0 -qopenmp -diag-disable 8290,8291,6371 -threads -qopenmp-link=static -debug all -g -traceback -check all -fstack-protector -fpp -mkl -static-intel + +@@ -43,10 +43,10 @@ default : $(objects) + @echo " ------------------------------------------------------ " + + GUI: $(objects) +- $(FC) $(OPT) $(objects) $(LIB_GUI) -o $(EXE) ++ $(FC) $(LDFLAGS) $(OPT) $(objects) $(LIB_GUI) -o $(EXE) + + noGUI: $(objects) $(objects_noGUI) +- $(FC) $(OPT) $(objects) $(objects_noGUI) $(LIB_noGUI) -o $(EXE_noGUI) ++ $(FC) $(LDFLAGS) $(OPT) $(objects) $(objects_noGUI) $(LIB_noGUI) -o $(EXE_noGUI) + + clean: + rm -f $(EXE) *.o *.mod +@@ -230,7 +230,7 @@ cp2kmate.o : cp2kmate.f90 $(modules) + + + noGUI/dislin_d_empty.o : noGUI/dislin_d_empty.f90 +- $(FC) $(OPT) -c noGUI/dislin_d_empty.f90 -o noGUI/dislin_d_empty.o -diag-disable 6178,6843 ++ $(FC) $(OPT) -c noGUI/dislin_d_empty.f90 -o noGUI/dislin_d_empty.o + + + # Interfaces of libreta-ESP to Multiwfn +@@ -241,10 +241,10 @@ libreta.o: ${LIBRETAPATH}/libreta.f90 hrr_012345.o blo + # Pure libreta files for ESP + + hrr_012345.o: ${LIBRETAPATH}/hrr_012345.f90 +- $(FC) $(OPT) -diag-disable 6843 $(SIMD) -c ${LIBRETAPATH}/hrr_012345.f90 ++ $(FC) $(OPT) $(SIMD) -c ${LIBRETAPATH}/hrr_012345.f90 + + blockhrr_012345.o: ${LIBRETAPATH}/blockhrr_012345.f90 +- $(FC) -O1 -diag-disable 6843 $(SIMD) -c ${LIBRETAPATH}/blockhrr_012345.f90 ++ $(FC) -O1 $(SIMD) -c ${LIBRETAPATH}/blockhrr_012345.f90 + + ean.o: ${LIBRETAPATH}/ean.f90 hrr_012345.o eanvrr_012345.o boysfunc.o ${LIBRETAPATH}/ean_data1.h ${LIBRETAPATH}/ean_data2.h + $(FC) $(OPT) -c ${LIBRETAPATH}/ean.f90 diff --git a/science/multiwfn/files/patch-Multiwfn.f90 b/science/multiwfn/files/patch-Multiwfn.f90 new file mode 100644 index 000000000000..5da3ff0009dc --- /dev/null +++ b/science/multiwfn/files/patch-Multiwfn.f90 @@ -0,0 +1,50 @@ +--- Multiwfn.f90.orig 2023-06-04 15:49:52 UTC ++++ Multiwfn.f90 +@@ -13,7 +13,7 @@ real*8 tmpv1(3),tmpv2(3) + + !Special treatment for Intel compiler + #if defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) +-call kmp_set_warnings_off() !In rare case, "Cannot open message catalog "1041\libiomp5ui.dll"" may occurs, this calling avoid this problem, or user should set KMP_WARNINGS environment variable to 0 ++!call kmp_set_warnings_off() !In rare case, "Cannot open message catalog "1041\libiomp5ui.dll"" may occurs, this calling avoid this problem, or user should set KMP_WARNINGS environment variable to 0 + #endif + + !Try to get input file name from argument, which should be the first argument +@@ -49,12 +49,12 @@ nthreads,nowdate(1:4),nowdate(5:6),nowdate(7:8),nowtim + !For Windows version of ifort, use KMP_SET_STACKSIZE_S() to directly set stacksize of OpenMP threads according to ompstacksize in settings.ini, & + !for other cases, the stacksize is determined by OMP_STACKSIZE environment variable, and we check if it has been defined here + if (isys==1) then !Windows +-#if defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) +- call KMP_SET_STACKSIZE_S(ompstacksize) +-#else +- CALL getenv('OMP_STACKSIZE',c200tmp) +- if (c200tmp==" ") write(*,"(/,a)") " Warning: You should set OMP_STACKSIZE environment variable in Windows system to define stacksize of OpenMP threads!" +-#endif ++!#if defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) ++! call KMP_SET_STACKSIZE_S(ompstacksize) ++!#else ++! CALL getenv('OMP_STACKSIZE',c200tmp) ++! if (c200tmp==" ") write(*,"(/,a)") " Warning: You should set OMP_STACKSIZE environment variable in Windows system to define stacksize of OpenMP threads!" ++!#endif + else if (isys==2) then !Linux/MacOS + CALL getenv('OMP_STACKSIZE',c200tmp) + #if defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) +@@ -67,9 +67,9 @@ end if + !write(*,"(' OpenMP stacksize for each thread: ',f10.2,' MB')") dfloat(KMP_GET_STACKSIZE_S())/1024/1024 + + !Set number of cores used by calculation of MKL library (e.g. function matmul_blas) +-#if defined(INTEL_MKL) +-call mkl_set_num_threads(nthreads) +-#endif ++!#if defined(INTEL_MKL) ++!call mkl_set_num_threads(nthreads) ++!#endif + + + !!-------- Load input file +@@ -791,4 +791,4 @@ do while(.true.) !Main loop + + end do !End main cycle + +-end program +\ No newline at end of file ++end program diff --git a/science/multiwfn/files/patch-define.f90 b/science/multiwfn/files/patch-define.f90 new file mode 100644 index 000000000000..f6fa3499a718 --- /dev/null +++ b/science/multiwfn/files/patch-define.f90 @@ -0,0 +1,25 @@ +--- define.f90.orig 2023-05-04 20:39:35 UTC ++++ define.f90 +@@ -441,11 +441,11 @@ real*8 :: dp_init1,dp_end1,dp_init2,dp_end2,dp_init3,d + !!! Other external parameter !!! + integer :: iautointgrid=1,radpot=75,sphpot=434 !sphpot=230/302/434/590/770, low is 50*434, high is 100*590 + integer :: ispecial=0 !=0: Normal, =1 specific for Chunying Rong, =2 for Shubin's 2nd project +-#ifdef _WIN32 +-integer :: isys=1 !Windows +-#else ++!#ifdef _WIN32 ++!integer :: isys=1 !Windows ++!#else + integer :: isys=2 !Linux/MacOS +-#endif ++!#endif + integer :: igenP=1,iwfntmptype=1,iESPcode=2,outmedinfo=0,iaddprefix=0,intmolcust=0,isilent=0,idelvirorb=1 + integer :: ifchprog=1,iloadascart=0,iloadGaugeom=1,iloadORCAgeom=1,maxloadexc=0,iprintLMOorder=0,iMCBOtype=0,ibasinlocmin=0 + integer :: iuserfunc=0,iDFTxcsel=84,iKEDsel=0,ispheratm=1,ishowchgtrans=0,uESEinp=0,SpherIVgroup=0,MCvolmethod=2,readEDF=1,isupplyEDF=2,ishowptESP=1,imolsurparmode=1,nPGmaxatm=200 +@@ -609,4 +609,4 @@ real*8,allocatable :: DMNAO(:,:),DMNAOa(:,:),DMNAOb(:, + real*8,allocatable :: NAOMO(:,:) !size of (numNAO,NBsUse). (i,r) is coeff. of NAO i in MO r. If numNAO<nbasis, the gap is filled by blank. For open shell, this records alpha part. + real*8,allocatable :: NAOMOb(:,:) !NAOMO for beta part + real*8,allocatable :: AONAO(:,:) !size of (nbasis,numNAO) +-end module +\ No newline at end of file ++end module diff --git a/science/multiwfn/files/patch-init_Multiwfn.02 b/science/multiwfn/files/patch-init_Multiwfn.02 deleted file mode 100644 index a4b2a7afe71b..000000000000 --- a/science/multiwfn/files/patch-init_Multiwfn.02 +++ /dev/null @@ -1,20 +0,0 @@ ---- init/Multiwfn.02.orig 2018-08-26 18:32:27 UTC -+++ init/Multiwfn.02 -@@ -3,7 +3,7 @@ EOF - echo "Starting Multiwfn with OMP_NUM_THREADS enabled..." - if [ x$OMP_NUM_THREADS = 'x' ] - then -- nCPUs=`cat /proc/cpuinfo |grep processor|wc -l` -+ nCPUs=`sysctl -n hw.ncpu` - echo "Warning! OMP_NUM_THREADS not set. As many as $nCPUs threads might be used." - fi - echo "" -@@ -20,7 +20,7 @@ else - echo "Starting Multiwfn with OMP_NUM_THREADS enabled..." - if [ x$OMP_NUM_THREADS = 'x' ] - then -- nCPUs=`cat /proc/cpuinfo |grep processor|wc -l` -+ nCPUs=`sysctl -n hw.ncpu` - echo "Warning! OMP_NUM_THREADS not set. As many as $nCPUs threads might be used." - fi - fi