1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-30 05:40:06 +00:00

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
This commit is contained in:
Yuri Victorovich 2018-12-16 09:21:04 +00:00
parent a2b0c569da
commit f54c1e0a0b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=487568
3 changed files with 139 additions and 104 deletions

View File

@ -1,10 +1,9 @@
# $FreeBSD$
PORTNAME= erkale
DISTVERSION= g20181009
PORTREVISION= 2
DISTVERSION= g20181121
PORTREVISION= 3
CATEGORIES= science
DIST_SUBDIR= ${PORTNAME}${PKGNAMESUFFIX}
MAINTAINER= yuri@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>

View File

@ -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

View File

@ -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