Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2018 09:21:04 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r487568 - head/science/erkale
Message-ID:  <201812160921.wBG9L4Wv045540@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812160921.wBG9L4Wv045540>