diff options
Diffstat (limited to 'sci-libs/bigdft')
-rw-r--r-- | sci-libs/bigdft/ChangeLog | 11 | ||||
-rw-r--r-- | sci-libs/bigdft/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/bigdft/bigdft-1.7_pre12.ebuild | 142 | ||||
-rw-r--r-- | sci-libs/bigdft/files/bigdft-1.7-dev.12-libxc_dir_include.patch | 50 | ||||
-rw-r--r-- | sci-libs/bigdft/files/bigdft-1.7-dev.12-nolib_mods.patch | 25 | ||||
-rw-r--r-- | sci-libs/bigdft/files/bigdft-1.7-dev.12-tests.tar.bz2 | bin | 0 -> 22103 bytes |
6 files changed, 228 insertions, 1 deletions
diff --git a/sci-libs/bigdft/ChangeLog b/sci-libs/bigdft/ChangeLog index 1f24f098c..82de595f0 100644 --- a/sci-libs/bigdft/ChangeLog +++ b/sci-libs/bigdft/ChangeLog @@ -1,9 +1,18 @@ # ChangeLog for sci-libs/bigdft -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ <<<<<<< HEAD +*bigdft-1.7_pre12 (17 Jan 2013) + + 17 Jan 2013; Honza Macháček <Hloupy.Honza@centrum.cz> + +bigdft-1.7_pre12.ebuild, +files/bigdft-1.7-dev.12-libxc_dir_include.patch, + +files/bigdft-1.7-dev.12-nolib_mods.patch, + +files/bigdft-1.7-dev.12-tests.tar.bz2: + New version 1.7-dev.12 (1.7_pre12) from the Abinit site added; used by + sci-physics/abinit-7.0.4 but apparently segfaults it. + *bigdft-1.6_pre1-r4 (01 Sep 2012) 01 Sep 2012; Honza Macháček <Hloupy.Honza@centrum.cz> diff --git a/sci-libs/bigdft/Manifest b/sci-libs/bigdft/Manifest index 5f1f645ce..39acfb0cf 100644 --- a/sci-libs/bigdft/Manifest +++ b/sci-libs/bigdft/Manifest @@ -1,2 +1,3 @@ DIST bigdft-1.6-tuto.1.tar.gz 7510733 SHA256 32020c7e58b36fe1f58a47ef02af99bd0da81c6da7d6f15e89b8075494d39d87 SHA512 48684413b0807b5dcee4b97b5b83d9a839c44043801b923c5f0ce7c8a92024cfee64c1065d4d2ffc67cb249cfcd485680b5526aaaedba06e6a88ccc52ba290f2 WHIRLPOOL d6efcc6f9ded331c42e8e3b13a9260e2acd922c4fa0bf303455e33924a930df6aa01abec897c1d190d5016a5bb3781c491e8a17d500e5485717989bddd4f579d DIST bigdft-1.6.0.tar.gz 8876759 SHA256 2d3212ef5f1ebc10fe7c627397ac6282ad41e1433ec6e66905f9d39a302913c0 SHA512 facbb78d126885dd04fed6451aa9cd1f5c755055e146cda1d2d4e90e3310fc3066b661635477db96d5b143ffaaa3ebb01107681437fd9965f3c764cf1b034361 WHIRLPOOL 97bc6c28296a92b09139e3a65266daa583011620fad5aed208e0e48627ab1d9c0ef9993d6c4c3cce5696d5c707bcdfb4b8ca7e64379909b3cf073206e32f9572 +DIST bigdft-1.7-dev.12.tar.gz 8904633 SHA256 2f899f287dd508dc616fb798cc9d01d1c79951dc68c277fb0ce19ea0ad690332 SHA512 35efe93edd7e6fb08abe919c59913c173f23e17a50104ad92e510dba5ba35ba8117012249d620896affc8acc05c9d85c6c61a411bc903750db6593456e9e8142 WHIRLPOOL 94a8d6d25fe82f3f1b89d15b4e23293d018bfb66c96fd1061a09e6352fb6811e79a15161bd3ca92e5f544253c8fa9f919d41fe069635ac07f33e21cc70878719 diff --git a/sci-libs/bigdft/bigdft-1.7_pre12.ebuild b/sci-libs/bigdft/bigdft-1.7_pre12.ebuild new file mode 100644 index 000000000..de32f986b --- /dev/null +++ b/sci-libs/bigdft/bigdft-1.7_pre12.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs + +REAL_P="${P/_pre/-dev.}" + +DESCRIPTION="A DFT electronic structure code using a wavelet basis set" +HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" +SRC_URI="http://forge.abinit.org/fallbacks/${REAL_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="cuda doc etsf_io mpi netcdf openmp opencl test" + +RDEPEND=" + =sci-libs/libxc-1*[fortran] + virtual/blas + virtual/fortran + virtual/lapack + dev-libs/libyaml + mpi? ( virtual/mpi ) + cuda? ( dev-util/nvidia-cuda-sdk ) + opencl? ( + || ( + dev-util/nvidia-cuda-sdk + dev-util/amdstream + ) + ) + etsf_io? ( sci-libs/etsf_io ) + netcdf? ( || ( + sci-libs/netcdf[fortran] + sci-libs/netcdf-fortran + ) + )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=sys-devel/autoconf-2.59 + doc? ( virtual/latex-base ) + app-arch/tar + app-arch/bzip2" + +S="${WORKDIR}/${REAL_P}" + +DOCS=( README INSTALL ChangeLog AUTHORS NEWS ) + +FORTRAN_STANDARD=90 + +pkg_setup() { + # fortran-2.eclass does not handle mpi wrappers + if use mpi; then + export FC="mpif90" + export F77="mpif77" + export CC="mpicc" + else + tc-export FC F77 CC + fi + + fortran-2_pkg_setup + if use openmp; then + tc-has-openmp || \ + die "Please select an openmp capable compiler like gcc[openmp]" + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/"${REAL_P}"-libxc_dir_include.patch \ + "${FILESDIR}"/"${REAL_P}"-nolib_mods.patch + tar -xjf "${FILESDIR}"/"${REAL_P}"-tests.tar.bz2 -C "${S}"/tests/DFT/postSCF/ + eautoreconf +} + +src_configure() { + local openmp="" + use openmp && openmp="-fopenmp" + local modules="${EPREFIX}/usr/$(get_libdir)/finclude" + local netcdff_libs="-lnetcdff" + filter-flags '-m*' '-O*' "-pipe" + local nvcflags="${CFLAGS}" + _filter-var nvcflags '-m*' '-O*' "-pipe" + local myeconfargs=( + $(use_enable mpi) + --enable-optimised-convolution + --enable-pseudo + --enable-libbigdft + --enable-binaries + --disable-minima-hopping + --disable-internal-libyaml + --enable-internal-libabinit + --with-moduledir="${modules}" + --with-ext-linalg="$(pkg-config --libs-only-l lapack) \ + $(pkg-config --libs-only-l blas)" + --with-ext-linalg-path="$(pkg-config --libs-only-L lapack) \ + $(pkg-config --libs-only-L blas)" + --enable-libxc + --disable-internal-libxc + --with-libxc-include="${modules}" + $(use_enable cuda cuda-gpu) + $(use_with cuda cuda-path /opt/cuda) + $(use_with cuda nvcc-flags "${nvcflags}") + $(use_enable opencl) + $(use_with etsf_io etsf-io) + "$(use etsf_io && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${openmp} -I${modules}" + LD="$(tc-getLD)" + CPP="$(tc-getCPP)" + ) + autotools-utils_src_configure +} + +src_compile() { + #autotools-utils_src_compile() expanded + _check_build_dir + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + emake -j1 + sed -i -e's%\$(top_builddir)/[^ ]*/lib\([^ /$-]*\)\.a%-l\1%g' bigdft.pc + popd > /dev/null + + #autotools-utils_src_compile + use doc && autotools-utils_src_compile doc +} + +src_test() { + if use test; then + #autotools-utils_src_test() expanded + _check_build_dir + pushd "${BUILD_DIR}" > /dev/null || die + # Run default src_test as defined in ebuild.sh + cd tests + emake -j1 check + popd > /dev/null + fi +} + +src_install() { + autotools-utils_src_install HAVE_LIBXC=1 +} diff --git a/sci-libs/bigdft/files/bigdft-1.7-dev.12-libxc_dir_include.patch b/sci-libs/bigdft/files/bigdft-1.7-dev.12-libxc_dir_include.patch new file mode 100644 index 000000000..9084d08e5 --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.7-dev.12-libxc_dir_include.patch @@ -0,0 +1,50 @@ +--- configure.ac.orig 2011-11-23 14:02:15.000000000 +0000 ++++ configure.ac 2011-11-23 14:09:19.000000000 +0000 +@@ -743,14 +743,17 @@ + ac_build_libxc="no" + AC_ARG_ENABLE(libxc, AS_HELP_STRING([--without-libxc], [Do not link with libXC library (default = yes).]), ac_use_libxc=$enableval, ac_use_libxc="yes") + AC_ARG_ENABLE(internal-libxc, AS_HELP_STRING([--disable-internal-libxc], [Do not build and link with internal libXC library (default = yes).]), ac_internal_libxc=$enableval, ac_internal_libxc="yes") +-AC_ARG_WITH(libxc-path, AS_HELP_STRING([--with-libxc-path], [Give the path for an external libXC library, lib and module files (default = None).]), ++AC_ARG_WITH(libxc-path, AS_HELP_STRING([--with-libxc-path], [Give the path for an external libXC library, lib files (default = None).]), + ac_libxc_dir=$withval, ac_libxc_dir=) ++AC_ARG_WITH(libxc-include, AS_HELP_STRING([--with-libxc-include], [Give the path for an external libXC library module files (default = None).]), ++ ac_libxc_dir_include=$withval, ac_libxc_dir_include=) + if test x"$ac_use_libxc" = x"yes" ; then + ac_build_libxc=$ac_internal_libxc + if test "$ac_internal_libxc" = "yes" ; then + ac_build_libxc="yes" + ac_use_libxc="yes" + ac_libxc_dir="$top_builddir"/libxc-1.1.0/src ++ ac_libxc_dir_include="$ac_libxc_dir"/include + AC_SUBST(LIBXC_DIR, "\$(top_builddir)"/libxc-1.1.0/src) + AC_SUBST(LIBXC_INCLUDE, "-I\$(top_builddir)"/libxc-1.1.0/src) + LDFLAGS="$LDFLAGS -L\$(top_builddir)/libxc-1.1.0/src/.libs" +@@ -758,6 +761,9 @@ + else + if test -n "$ac_libxc_dir" ; then + LDFLAGS="$LDFLAGS -L$ac_libxc_dir/lib" ++ if test x"$ac_libxc_dir_include" = x ; then ++ ac_libxc_dir_include="$ac_libxc_dir"/include ++ fi + + dnl Test the given implementation of libXC. + ac_libxc_libname="xc" +@@ -766,13 +772,13 @@ + ac_libxc_libname="dft_xc" + AC_CHECK_LIB($ac_libxc_libname, xc_f90_lda_vxc, withlibxc=yes, withlibxc=no) + fi +- AC_CHECK_FILE($ac_libxc_dir/include/libxc_funcs_m.$ax_fc_mod_ext, funcs="yes", funcs="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_lib_m.$ax_fc_mod_ext, lib="yes", lib="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_types_m.$ax_fc_mod_ext, types="yes", types="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/libxc_funcs_m.$ax_fc_mod_ext, funcs="yes", funcs="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_lib_m.$ax_fc_mod_ext, lib="yes", lib="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_types_m.$ax_fc_mod_ext, types="yes", types="no") + if test "$withlibxc" = "yes" -a "$funcs" = "yes" -a "$lib" = "yes" -a "$types" = "yes"; then + ac_use_libxc="yes" +- AC_SUBST(LIBXC_DIR, $ac_libxc_dir/include) +- AC_SUBST(LIBXC_INCLUDE, "-I"$ac_libxc_dir/include) ++ AC_SUBST(LIBXC_DIR, $ac_libxc_dir_include) ++ AC_SUBST(LIBXC_INCLUDE, "-I"$ac_libxc_dir_include) + LIBXC_LIBS="-l"$ac_libxc_libname + fi + else diff --git a/sci-libs/bigdft/files/bigdft-1.7-dev.12-nolib_mods.patch b/sci-libs/bigdft/files/bigdft-1.7-dev.12-nolib_mods.patch new file mode 100644 index 000000000..8137a48ab --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.7-dev.12-nolib_mods.patch @@ -0,0 +1,25 @@ +diff -Naurp bigdft-1.7-dev.12.orig/src/Makefile.am bigdft-1.7-dev.12/src/Makefile.am +--- bigdft-1.7-dev.12.orig/src/Makefile.am 2012-07-16 07:46:11.000000000 +0000 ++++ bigdft-1.7-dev.12/src/Makefile.am 2013-01-09 14:09:58.198905489 +0000 +@@ -45,6 +45,9 @@ EXTRA_DIST = \ + # ------------- + if BUILD_LIB_BIGDFT + lib_bigdft = libbigdft.a libdft_common.a ++else ++lib_bigdft = ++endif + PS_SOURCES = PSolver/Build_Kernel.f90 \ + PSolver/xcenergy.f90 \ + PSolver/3Dgradient.f90 \ +@@ -53,11 +56,6 @@ PS_SOURCES = PSolver/Build_Kernel.f90 \ + PSolver/wofz.f90 \ + lib/fft/fft3d.f90 + PS_MODULES = PSolver/Poisson_Solver.f90 +-else +-lib_bigdft = +-PS_SOURCES = +-PS_MODULES = +-endif + if BUILD_BINARIES + binaries_sources = bigdft memguess splsad NEB frequencies MDanalysis $(minima_hopping_sources) bart abscalc BigDFT2Wannier WaCo + local_binaries = test_forces diff --git a/sci-libs/bigdft/files/bigdft-1.7-dev.12-tests.tar.bz2 b/sci-libs/bigdft/files/bigdft-1.7-dev.12-tests.tar.bz2 Binary files differnew file mode 100644 index 000000000..d74c56176 --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.7-dev.12-tests.tar.bz2 |