svn commit: r487568 - head/science/erkale
Yuri Victorovich
yuri at FreeBSD.org
Sun Dec 16 09:21:06 UTC 2018
Author: yuri
Date: Sun Dec 16 09:21:04 2018
New Revision: 487568
URL: https://svnweb.freebsd.org/changeset/ports/487568
Log:
science/erkale: Please approve flavorization: serial and parallel
Allow to concurrently build and install both serial and parallel versions.
Approved by: portmgr
Differential Revision: D18315
Modified:
head/science/erkale/Makefile
head/science/erkale/distinfo
head/science/erkale/pkg-plist
Modified: head/science/erkale/Makefile
==============================================================================
--- head/science/erkale/Makefile Sun Dec 16 09:07:17 2018 (r487567)
+++ head/science/erkale/Makefile Sun Dec 16 09:21:04 2018 (r487568)
@@ -1,10 +1,9 @@
# $FreeBSD$
PORTNAME= erkale
-DISTVERSION= g20181009
-PORTREVISION= 2
+DISTVERSION= g20181121
+PORTREVISION= 3
CATEGORIES= science
-DIST_SUBDIR= ${PORTNAME}${PKGNAMESUFFIX}
MAINTAINER= yuri at FreeBSD.org
COMMENT= Quantum chemistry program to solve the electronic structure of atoms
@@ -21,20 +20,55 @@ LIB_DEPENDS= libderiv.so:science/libint \
libsz.so:science/szip \
libxc.so:science/libxc
-USES= cmake:outsource,noninja fortran localbase:ldflags pkgconfig
+FLAVORS= serial parallel
+FLAVOR?= ${FLAVORS:[1]}
+serial_PKGNAMESUFFIX= -serial
+
+USES= cmake:outsource,noninja fortran pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= susilehtola
-GH_TAGNAME= f1e1ebc
+GH_TAGNAME= 0927d8c
USE_LDCONFIG= yes
-TEST_TARGET= test # some tests fail: https://github.com/susilehtola/erkale/issues/29
+TEST_TARGET= test
-CMAKE_ARGS= -DLAPACK_LIBRARIES=-lopenblas -DBLAS_LIBRARIES=-lopenblasp
CMAKE_ON= BUILD_SHARED_LIBS
-OPTIONS_DEFINE= OPENMP
+PLIST_SUB= SUFFIX="${SUFFIX}"
-OPENMP_CMAKE_BOOL= USE_OPENMP
-OPENMP_BROKEN= cmake can't fine OpenMP, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223678
+.if ${FLAVOR} == serial
+CMAKE_OFF= USE_OPENMP
+.else # parallel
+CMAKE_ON+= USE_OPENMP
+LIB_DEPENDS+= libomp.so:devel/openmp
+SUFFIX= _omp
+.endif
+
+OPTIONS_SINGLE= LINALG
+OPTIONS_SINGLE_LINALG= NETLIB OPENBLAS
+OPTIONS_DEFAULT= NETLIB
+LINALG_DESC= Linear algebra library
+
+NETLIB_USES= blaslapack:netlib
+NETLIB_CMAKE_ON= -DLAPACK_LIBRARIES:STRING=-llapack -DBLAS_LIBRARIES:STRING=-lblas
+NETLIB_LDFLAGS= ${LOCALBASE}/lib/libcblas.so ${LOCALBASE}/lib/liblapack.so ${LOCALBASE}/lib/libblas.so
+NETLIB_LIB_DEPENDS= libcblas.so:math/cblas
+
+OPENBLAS_USES= blaslapack:openblas
+OPENBLAS_CMAKE_ON= -DLAPACK_LIBRARIES:STRING=-lopenblas -DBLAS_LIBRARIES:STRING=-lopenblasp
+xOPENBLAS_BROKEN= hits the number of threads limit: https://github.com/xianyi/OpenBLAS/issues/1882
+
+# use clang from ports because cmake can't find OpenMP with base clang, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223678
+# have the same compiler for both serial and parallel flavors so that performance numbers can be compared
+BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
+CPP= clang-cpp${LLVM_DEFAULT}
+CC= clang${LLVM_DEFAULT}
+CXX= clang++${LLVM_DEFAULT}
+
+.if ${FLAVOR} == parallel
+post-install:
+ @${MV} ${STAGEDIR}${PREFIX}/include/erkale ${STAGEDIR}${PREFIX}/include/erkale${SUFFIX}
+ @${MV} ${STAGEDIR}${PREFIX}/bin/erkale_bastool ${STAGEDIR}${PREFIX}/bin/erkale_bastool${SUFFIX}
+.endif
.include <bsd.port.mk>
Modified: head/science/erkale/distinfo
==============================================================================
--- head/science/erkale/distinfo Sun Dec 16 09:07:17 2018 (r487567)
+++ head/science/erkale/distinfo Sun Dec 16 09:21:04 2018 (r487568)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1540094810
-SHA256 (erkale/susilehtola-erkale-g20181009-f1e1ebc_GH0.tar.gz) = 4d4eafae933c61e98326a94fa99de060ab2b7929390adb16e5d7fef874a44857
-SIZE (erkale/susilehtola-erkale-g20181009-f1e1ebc_GH0.tar.gz) = 33623728
+TIMESTAMP = 1542835027
+SHA256 (susilehtola-erkale-g20181121-0927d8c_GH0.tar.gz) = d5b76b05e8b3cbb2abe688e5f493abc61102cc41daa5d6ac65563384b6c4c6c0
+SIZE (susilehtola-erkale-g20181121-0927d8c_GH0.tar.gz) = 109987868
Modified: head/science/erkale/pkg-plist
==============================================================================
--- head/science/erkale/pkg-plist Sun Dec 16 09:07:17 2018 (r487567)
+++ head/science/erkale/pkg-plist Sun Dec 16 09:21:04 2018 (r487568)
@@ -1,91 +1,92 @@
-bin/erkale
-bin/erkale_adf_emd
-bin/erkale_bastool
-bin/erkale_casida
-bin/erkale_copt
-bin/erkale_copt_plateau
-bin/erkale_cube
-bin/erkale_emd
-bin/erkale_fchkpt
-bin/erkale_geom
-bin/erkale_loc
-bin/erkale_pop
-bin/erkale_slaterfit
-bin/erkale_xrs
-include/erkale/bader.h
-include/erkale/badergrid.h
-include/erkale/basis.h
-include/erkale/basislibrary.h
-include/erkale/boys.h
-include/erkale/broyden.h
-include/erkale/casida/casida.h
-include/erkale/casida/casida_grid.h
-include/erkale/chebyshev.h
-include/erkale/checkpoint.h
-include/erkale/completeness/completeness_profile.h
-include/erkale/completeness/optimize_completeness.h
-include/erkale/density_fitting.h
-include/erkale/dftfuncs.h
-include/erkale/dftgrid.h
-include/erkale/diis.h
-include/erkale/elements.h
-include/erkale/emd/emd.h
-include/erkale/emd/emd_gto.h
-include/erkale/emd/emd_similarity.h
-include/erkale/emd/emd_sto.h
-include/erkale/emd/emdcube.h
-include/erkale/emd/gto_fourier.h
-include/erkale/emd/spherical_expansion.h
-include/erkale/eri_digest.h
-include/erkale/erichol.h
-include/erkale/erifit.h
-include/erkale/eriscreen.h
-include/erkale/eritable.h
-include/erkale/eriworker.h
-include/erkale/external/fchkpt_tools.h
-include/erkale/external/storage.h
-include/erkale/find_molecules.h
-include/erkale/gaunt.h
-include/erkale/gdm.h
-include/erkale/global.h
-include/erkale/guess.h
-include/erkale/hirshfeld.h
-include/erkale/hirshfeldi.h
-include/erkale/integrals.h
-include/erkale/lbfgs.h
-include/erkale/lebedev.h
-include/erkale/linalg.h
-include/erkale/lmgrid.h
-include/erkale/lobatto.h
-include/erkale/localization.h
-include/erkale/mathf.h
-include/erkale/obara-saika.h
-include/erkale/properties.h
-include/erkale/pzstability.h
-include/erkale/scf.h
-include/erkale/settings.h
-include/erkale/slaterfit/form_exponents.h
-include/erkale/slaterfit/solve_coefficients.h
-include/erkale/solidharmonics.h
-include/erkale/spherical_harmonics.h
-include/erkale/stockholder.h
-include/erkale/stringutil.h
-include/erkale/tempered.h
-include/erkale/timer.h
-include/erkale/trrh.h
-include/erkale/unitary.h
-include/erkale/xrs/bfprod.h
-include/erkale/xrs/fourierprod.h
-include/erkale/xrs/lmtrans.h
-include/erkale/xrs/momentum_series.h
-include/erkale/xrs/xrsscf.h
-include/erkale/xyzutils.h
-include/erkale/zmatrix.h
-lib/liberkale.so
-lib/liberkale.so.0.1.0
-lib/liberkale_cmp.so
-lib/liberkale_cmp.so.0.1.0
-lib/liberkale_emd.so
-lib/liberkale_emd.so.0.1.0
-lib/liberkale_xrs.so
-lib/liberkale_xrs.so.0.1.0
+bin/erkale%%SUFFIX%%
+bin/erkale_adf_emd%%SUFFIX%%
+bin/erkale_bastool%%SUFFIX%%
+bin/erkale_casida%%SUFFIX%%
+bin/erkale_copt%%SUFFIX%%
+bin/erkale_copt_plateau%%SUFFIX%%
+bin/erkale_cube%%SUFFIX%%
+bin/erkale_emd%%SUFFIX%%
+bin/erkale_fchkpt%%SUFFIX%%
+bin/erkale_geom%%SUFFIX%%
+bin/erkale_loc%%SUFFIX%%
+bin/erkale_pop%%SUFFIX%%
+bin/erkale_slaterfit%%SUFFIX%%
+bin/erkale_xrs%%SUFFIX%%
+include/erkale%%SUFFIX%%/bader.h
+include/erkale%%SUFFIX%%/badergrid.h
+include/erkale%%SUFFIX%%/basis.h
+include/erkale%%SUFFIX%%/basislibrary.h
+include/erkale%%SUFFIX%%/boys.h
+include/erkale%%SUFFIX%%/broyden.h
+include/erkale%%SUFFIX%%/casida/casida.h
+include/erkale%%SUFFIX%%/casida/casida_grid.h
+include/erkale%%SUFFIX%%/chebyshev.h
+include/erkale%%SUFFIX%%/checkpoint.h
+include/erkale%%SUFFIX%%/completeness/completeness_profile.h
+include/erkale%%SUFFIX%%/completeness/optimize_completeness.h
+include/erkale%%SUFFIX%%/density_fitting.h
+include/erkale%%SUFFIX%%/dftfuncs.h
+include/erkale%%SUFFIX%%/dftgrid.h
+include/erkale%%SUFFIX%%/diis.h
+include/erkale%%SUFFIX%%/elements.h
+include/erkale%%SUFFIX%%/emd/emd.h
+include/erkale%%SUFFIX%%/emd/emd_gto.h
+include/erkale%%SUFFIX%%/emd/emd_similarity.h
+include/erkale%%SUFFIX%%/emd/emd_sto.h
+include/erkale%%SUFFIX%%/emd/emdcube.h
+include/erkale%%SUFFIX%%/emd/gto_fourier.h
+include/erkale%%SUFFIX%%/emd/spherical_expansion.h
+include/erkale%%SUFFIX%%/eri_digest.h
+include/erkale%%SUFFIX%%/erichol.h
+include/erkale%%SUFFIX%%/erifit.h
+include/erkale%%SUFFIX%%/eriscreen.h
+include/erkale%%SUFFIX%%/eritable.h
+include/erkale%%SUFFIX%%/eriworker.h
+include/erkale%%SUFFIX%%/external/fchkpt_tools.h
+include/erkale%%SUFFIX%%/external/storage.h
+include/erkale%%SUFFIX%%/find_molecules.h
+include/erkale%%SUFFIX%%/gaunt.h
+include/erkale%%SUFFIX%%/gdm.h
+include/erkale%%SUFFIX%%/global.h
+include/erkale%%SUFFIX%%/guess.h
+include/erkale%%SUFFIX%%/hirshfeld.h
+include/erkale%%SUFFIX%%/hirshfeldi.h
+include/erkale%%SUFFIX%%/integrals.h
+include/erkale%%SUFFIX%%/lbfgs.h
+include/erkale%%SUFFIX%%/lebedev.h
+include/erkale%%SUFFIX%%/linalg.h
+include/erkale%%SUFFIX%%/lmgrid.h
+include/erkale%%SUFFIX%%/lobatto.h
+include/erkale%%SUFFIX%%/localization.h
+include/erkale%%SUFFIX%%/mathf.h
+include/erkale%%SUFFIX%%/obara-saika.h
+include/erkale%%SUFFIX%%/properties.h
+include/erkale%%SUFFIX%%/pzstability.h
+include/erkale%%SUFFIX%%/sap.h
+include/erkale%%SUFFIX%%/scf.h
+include/erkale%%SUFFIX%%/settings.h
+include/erkale%%SUFFIX%%/slaterfit/form_exponents.h
+include/erkale%%SUFFIX%%/slaterfit/solve_coefficients.h
+include/erkale%%SUFFIX%%/solidharmonics.h
+include/erkale%%SUFFIX%%/spherical_harmonics.h
+include/erkale%%SUFFIX%%/stockholder.h
+include/erkale%%SUFFIX%%/stringutil.h
+include/erkale%%SUFFIX%%/tempered.h
+include/erkale%%SUFFIX%%/timer.h
+include/erkale%%SUFFIX%%/trrh.h
+include/erkale%%SUFFIX%%/unitary.h
+include/erkale%%SUFFIX%%/xrs/bfprod.h
+include/erkale%%SUFFIX%%/xrs/fourierprod.h
+include/erkale%%SUFFIX%%/xrs/lmtrans.h
+include/erkale%%SUFFIX%%/xrs/momentum_series.h
+include/erkale%%SUFFIX%%/xrs/xrsscf.h
+include/erkale%%SUFFIX%%/xyzutils.h
+include/erkale%%SUFFIX%%/zmatrix.h
+lib/liberkale%%SUFFIX%%.so
+lib/liberkale%%SUFFIX%%.so.0.1.0
+lib/liberkale_cmp%%SUFFIX%%.so
+lib/liberkale_cmp%%SUFFIX%%.so.0.1.0
+lib/liberkale_emd%%SUFFIX%%.so
+lib/liberkale_emd%%SUFFIX%%.so.0.1.0
+lib/liberkale_xrs%%SUFFIX%%.so
+lib/liberkale_xrs%%SUFFIX%%.so.0.1.0
More information about the svn-ports-head
mailing list