diff options
author | Honza Macháček <Hloupy.Honza@centrum.cz> | 2012-03-22 13:39:20 +0100 |
---|---|---|
committer | Honza Macháček <Hloupy.Honza@centrum.cz> | 2012-03-22 13:39:20 +0100 |
commit | de11633feb6440593669f655eb088de809b7067f (patch) | |
tree | f2e70e9e1cdc0357b418a12bf565bde64b5992de | |
parent | version bump (diff) | |
download | sci-de11633feb6440593669f655eb088de809b7067f.tar.gz sci-de11633feb6440593669f655eb088de809b7067f.tar.bz2 sci-de11633feb6440593669f655eb088de809b7067f.zip |
sci-libs/bigdft-1.6.0 corrected, sci-physics/abinit-6.12.1 added and moved to autotools-utils, sci-libs/bigdft-1.6_pre1 it depends on added. Old versions of bigdft needed by old versions of abinit ressurected.
22 files changed, 1629 insertions, 246 deletions
diff --git a/sci-libs/bigdft/ChangeLog b/sci-libs/bigdft/ChangeLog index ec29389bf..60bf2cd54 100644 --- a/sci-libs/bigdft/ChangeLog +++ b/sci-libs/bigdft/ChangeLog @@ -2,6 +2,21 @@ # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*bigdft-1.6_pre1 (22 Mar 2012) +*bigdft-1.6_pre0 (22 Mar 2012) + + 22 Mar 2012; Honza Macháček <Hloupy.Honza@centrum.cz> + +bigdft-1.2.0.2.ebuild, +bigdft-1.2.0.5.ebuild, +bigdft-1.6_pre0.ebuild, + +bigdft-1.6_pre1.ebuild, bigdft-1.6.0.ebuild, + +files/bigdft-1.6.0-libxc_dir_include.patch, + +files/bigdft-1.6-tuto.1-bigdft.pc.patch, + +files/bigdft-1.6-tuto.1-libxc_dir_include.patch, + +files/bigdft-1.6-tuto-bigdft.pc.patch, + +files/bigdft-1.6-tuto-libxc_dir_include.patch: + Old versions used by old versions of abinit ressurected. May be removed + forever if nobody complains about the latest abinit. 1.6.0 corrected, + 1.6_pre0 and 1.6_pre1 added; 1.6_pre1 is used by sci-physics/abinit-6.12.1. + *bigdft-1.6.0 (18 Feb 2012) 18 Feb 2012; Justin Lecher <jlec@gentoo.org> -bigdft-1.2.0.2.ebuild, diff --git a/sci-libs/bigdft/Manifest b/sci-libs/bigdft/Manifest index 639578a8a..e94f02430 100644 --- a/sci-libs/bigdft/Manifest +++ b/sci-libs/bigdft/Manifest @@ -1,2 +1,6 @@ +DIST bigdft-1.2.0.2.tar.gz 944219 SHA256 3143e203879a2f8b1f05789336ceed91250960ef0681c1530868011fc16f56df SHA512 4af0077b00e0f28da1ee5a766a8d58d6942bd191ed37b218d2e5ed5c46867e50946bfd1a5b8e2ea7421d476512092c692330fe5bdff8c65213b44637149a5fd4 WHIRLPOOL 4f4bad4d81ddebc20ae0c96ae8d907f2bcce54311b718232d55475ed53a2a252ffedc1d61bec0eb05446fa4074fc5c3799078edbae2a7832cc0321cc443d1c6e +DIST bigdft-1.2.0.5.tar.gz 959834 SHA256 e0e6e905b21d784265f812619bfe081388e16eb385a8a502404e39a559a32a92 SHA512 52b647c33d2250488d5fbd61e12a833a7565743dd343023c0c07e68543680ca2882de1433c7c49a6a4d61be3c8e5bf509a4c417585f598253883396b496c5782 WHIRLPOOL bb23bbf5c70582446f0faf580b2f40ea8cd6b1a363717338c1b181a3ce40b7c058a2bc9a6996ab6d9c5e7ad0a2f53cd6b47c52ab67ffd20988b1a629226f9dd2 DIST bigdft-1.3.2.tar.gz 1370869 SHA256 b18234c321bee98450ea0b6a3c249480ecec66d18dadcc32a7ba0d2d019c820d SHA512 8af2830a9fcf3ef9fa2d51eb05c3339b263ceec4cd0af4dd8a3fdd1901a130fa88867820faf4122d158e2f479fe0e82984244d921b38e1393d7263a0c9a5fd69 WHIRLPOOL 5c52ebd2a45446e774040ef0395057d7c7785141dbbc43897f018242bc5767265d900d5381f8cb3e21aaa319dd302d42f336da86fd9cf2f66e9300209757d31c +DIST bigdft-1.6-tuto.1.tar.gz 7510733 SHA256 32020c7e58b36fe1f58a47ef02af99bd0da81c6da7d6f15e89b8075494d39d87 SHA512 48684413b0807b5dcee4b97b5b83d9a839c44043801b923c5f0ce7c8a92024cfee64c1065d4d2ffc67cb249cfcd485680b5526aaaedba06e6a88ccc52ba290f2 WHIRLPOOL d6efcc6f9ded331c42e8e3b13a9260e2acd922c4fa0bf303455e33924a930df6aa01abec897c1d190d5016a5bb3781c491e8a17d500e5485717989bddd4f579d +DIST bigdft-1.6-tuto.tar.gz 7504186 SHA256 265dab2f5d12dd26e5932af5c09b28cbc2e473d87e05679b9bd888ec4ccfeaf3 SHA512 9a3d9695c0a27520711dd65887710099f02ddb89b9ff2457265f49a958212e524a0cfa258f9616bd21add292183a1a358611a66efe267a5ff6a26df40486a602 WHIRLPOOL fa0f509f9b94fed792133700a79c94e8e0e76b6630d03a6747e00cac021bc29e36871ae40f4a7d7aca7c88183f778c2334382280c6c25639132dd2c3dc2769f5 DIST bigdft-1.6.0.tar.gz 8876759 SHA256 2d3212ef5f1ebc10fe7c627397ac6282ad41e1433ec6e66905f9d39a302913c0 SHA512 facbb78d126885dd04fed6451aa9cd1f5c755055e146cda1d2d4e90e3310fc3066b661635477db96d5b143ffaaa3ebb01107681437fd9965f3c764cf1b034361 WHIRLPOOL 97bc6c28296a92b09139e3a65266daa583011620fad5aed208e0e48627ab1d9c0ef9993d6c4c3cce5696d5c707bcdfb4b8ca7e64379909b3cf073206e32f9572 diff --git a/sci-libs/bigdft/bigdft-1.2.0.2.ebuild b/sci-libs/bigdft/bigdft-1.2.0.2.ebuild new file mode 100644 index 000000000..208b45dbd --- /dev/null +++ b/sci-libs/bigdft/bigdft-1.2.0.2.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils fortran-2 toolchain-funcs + +DESCRIPTION="A DFT electronic structure code using a wavelet basis set" +HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" +SRC_URI=" + http://inac.cea.fr/L_Sim/BigDFT/${P}.tar.gz + http://inac.cea.fr/L_Sim/BigDFT/${PN}-1.3.2.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cuda doc mpi test" + +RDEPEND=" + =sci-libs/libxc-1*[fortran] + virtual/blas + virtual/fortran + virtual/lapack + mpi? ( virtual/mpi ) + cuda? ( dev-util/nvidia-cuda-sdk )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=sys-devel/autoconf-2.59 + doc? ( virtual/latex-base )" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-0001.patch \ + "${FILESDIR}"/${P}-0002.patch \ + "${FILESDIR}"/${P}-0003.patch \ + "${FILESDIR}"/${P}-0004.patch \ + "${FILESDIR}"/${P}-testH.patch + + rm -r src/PSolver/ABINIT-common + mv ../${PN}-1.3.2/src/PSolver/ABINIT-common src/PSolver/ + sed -i -e's%@LIBXC_INCLUDE@%-I/usr/lib/finclude%g' \ + src/PSolver/ABINIT-common/Makefile.* + sed -i -e's%config\.inc%config.h%g' \ + src/PSolver/ABINIT-common/*.F90 +} + +src_configure() { + # fortran-2.eclass does not handle mpi wrappers + if use mpi; then + export FC="mpif90" + export CC="mpicc" + else + tc-export FC CC + fi + + econf \ + $(use_enable mpi) \ + --enable-libpoissonsolver \ + --enable-libbigdft \ + --enable-binaries \ + --with-moduledir=/usr/$(get_libdir)/finclude \ + --with-ext-linalg="`pkg-config --libs-only-l lapack`" \ + --with-ext-linalg-path="`pkg-config --libs-only-L lapack`" \ + --with-xc-module-path="/usr/lib/finclude" \ + $(use_enable cuda cuda-gpu) \ + $(use_with cuda cuda-path /opt/cuda) \ + $(use_with cuda lib-cutils /opt/cuda/lib) \ + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}}" \ + LD="$(tc-getLD)" +} + +src_compile() { + emake -j1 HAVE_LIBXC=1 || die "make failed" + if use doc; then + emake HAVE_LIBXC=1 doc || die "make doc failed" + fi +} + +src_test() { + if use test; then + emake check + fi +} + +src_install() { + emake HAVE_LIBXC=1 DESTDIR="${D}" install || die "install failed" + dodoc README INSTALL ChangeLog AUTHORS NEWS || die "dodoc failed" +} diff --git a/sci-libs/bigdft/bigdft-1.2.0.5.ebuild b/sci-libs/bigdft/bigdft-1.2.0.5.ebuild new file mode 100644 index 000000000..161d7def0 --- /dev/null +++ b/sci-libs/bigdft/bigdft-1.2.0.5.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils fortran-2 toolchain-funcs + +DESCRIPTION="A DFT electronic structure code using a wavelet basis set" +HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" +SRC_URI=" + http://inac.cea.fr/L_Sim/BigDFT/${P}.tar.gz + http://inac.cea.fr/L_Sim/BigDFT/${PN}-1.3.2.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cuda doc mpi test" + +RDEPEND=" + =sci-libs/libxc-1*[fortran] + virtual/blas + virtual/fortran + virtual/lapack + mpi? ( virtual/mpi ) + cuda? ( dev-util/nvidia-cuda-sdk )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=sys-devel/autoconf-2.59 + doc? ( virtual/latex-base )" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-0001.patch \ + "${FILESDIR}"/${PN}-1.2.0.2-testH.patch + + rm -r src/PSolver/ABINIT-common + mv ../${PN}-1.3.2/src/PSolver/ABINIT-common src/PSolver/ + sed -i -e's%@LIBXC_INCLUDE@%-I/usr/lib/finclude%g' \ + src/PSolver/ABINIT-common/Makefile.* + sed -i -e's%config\.inc%config.h%g' \ + src/PSolver/ABINIT-common/*.F90 +} + +src_configure() { + # fortran-2.eclass does not handle mpi wrappers + if use mpi; then + export FC="mpif90" + export CC="mpicc" + else + tc-export FC CC + fi + + econf \ + $(use_enable mpi) \ + --enable-libpoissonsolver \ + --enable-libbigdft \ + --enable-binaries \ + --with-moduledir=/usr/$(get_libdir)/finclude \ + --with-ext-linalg="`pkg-config --libs-only-l lapack`" \ + --with-ext-linalg-path="`pkg-config --libs-only-L lapack`" \ + --with-xc-module-path="/usr/lib/finclude" \ + $(use_enable cuda cuda-gpu) \ + $(use_with cuda cuda-path /opt/cuda) \ + $(use_with cuda lib-cutils /opt/cuda/lib) \ + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}}" \ + LD="$(tc-getLD)" +} + +src_compile() { + emake -j1 HAVE_ETSF_XC=1 || die "make failed" + if use doc; then + emake HAVE_ETSF_XC=1 doc || die "make doc failed" + fi +} + +src_test() { + if use test; then + emake check + fi +} + +src_install() { + emake HAVE_ETSF_XC=1 DESTDIR="${D}" install || die "install failed" + dodoc README INSTALL ChangeLog AUTHORS NEWS || die "dodoc failed" +} diff --git a/sci-libs/bigdft/bigdft-1.6.0.ebuild b/sci-libs/bigdft/bigdft-1.6.0.ebuild index 2def6c600..66ea41fb5 100644 --- a/sci-libs/bigdft/bigdft-1.6.0.ebuild +++ b/sci-libs/bigdft/bigdft-1.6.0.ebuild @@ -2,82 +2,122 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: $ -EAPI=3 +EAPI="4" -FORTRAN_STANDARD=90 - -inherit autotools-utils eutils fortran-2 toolchain-funcs +inherit autotools-utils flag-o-matic fortran-2 toolchain-funcs DESCRIPTION="A DFT electronic structure code using a wavelet basis set" HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" + +REAL_P="${P/_pre0/-tuto}" +S="${WORKDIR}/${REAL_P}" + SRC_URI=" - http://inac.cea.fr/L_Sim/BigDFT/${P}.tar.gz - http://inac.cea.fr/L_Sim/BigDFT/${PN}-1.3.2.tar.gz" + http://inac.cea.fr/L_Sim/BigDFT/${REAL_P}.tar.gz + " LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="cuda doc mpi static-libs test" +IUSE="cuda doc etsf_io mpi netcdf opencl test" RDEPEND=" - sci-libs/libxc[fortran] + =sci-libs/libxc-1*[fortran] virtual/blas virtual/fortran virtual/lapack - virtual/opencl mpi? ( virtual/mpi ) - cuda? ( dev-util/nvidia-cuda-sdk )" + 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] + ) + " DEPEND="${RDEPEND} dev-util/pkgconfig >=sys-devel/autoconf-2.59 doc? ( virtual/latex-base )" +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 CC + tc-export FC F77 CC fi + fortran-2_pkg_setup } src_prepare() { - mv ../${PN}-1.3.2/src/PSolver/ABINIT-common src/PSolver/ || die - sed -i -e's%@LIBXC_INCLUDE@%-I/usr/lib/finclude%g' \ - src/PSolver/ABINIT-common/Makefile.* || die - sed -i -e's%config\.inc%config.h%g' \ - src/PSolver/ABINIT-common/*.F90 || die - autotools-utils_src_prepare + epatch "${FILESDIR}"/"${REAL_P}"-libxc_dir_include.patch + eautoreconf } src_configure() { - + local modules="/usr/$(get_libdir)/finclude" + local netcdff_libs="-lnetcdff" + filter-flags '-m*' '-O*' "-pipe" + local nvcflags="${CFLAGS}" +# _filter-var nvcflags '-m*' '-O*' "-pipe" local myeconfargs=( - --enable-libpoissonsolver + $(use_enable mpi) + --enable-optimised-convolution + --enable-pseudo --enable-libbigdft --enable-binaries - --with-moduledir=/usr/$(get_libdir)/finclude - --with-ext-linalg="$(pkg-config --libs-only-l lapack)" - --with-ext-linalg-path="$(pkg-config --libs-only-L lapack)" - --with-xc-module-path="/usr/lib/finclude" - $(use_enable mpi) + --disable-minima-hopping + --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)" + --disable-internal-libxc + --with-libxc-path="/usr" + --with-libxc-include="${modules}" $(use_enable cuda cuda-gpu) $(use_with cuda cuda-path /opt/cuda) - $(use_with cuda lib-cutils /opt/cuda/lib) - FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}}" + $(use_with cuda nvcc-flags "${nvcflags}") + $(use_enable opencl) + $(use_with opencl ocl-path /usr) + $(use_with etsf_io etsf-io) + $(use_with etsf_io etsf-io-path "/usr") + $(use_with etsf_io netcdf-path "$(pkg-config --libs-only-L netcdf)") + "$(use etsf_io && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} -I${modules}" LD="$(tc-getLD)" + CPP="$(tc-getCPP)" ) autotools-utils_src_configure } src_compile() { - autotools-utils_src_compile HAVE_ETSF_XC=1 - use doc && autotools-utils_src_compile HAVE_ETSF_XC=1 doc + #autotools-utils_src_compile() expanded + _check_build_dir + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + emake -j1 || die 'emake failed' + sed -i -e's%\$(top_builddir)/src/lib\([^ /$-]*\)\.a%-l\1%g' bigdft.pc + popd > /dev/null + + use doc && autotools-utils_src_compile doc +} + +src_test() { + use test && autotools-utils_src_test } src_install() { - emake HAVE_ETSF_XC=1 DESTDIR="${D}" install || die "install failed" - dodoc README INSTALL ChangeLog AUTHORS NEWS || die "dodoc failed" + autotools-utils_src_install HAVE_LIBXC=1 } diff --git a/sci-libs/bigdft/bigdft-1.6_pre0.ebuild b/sci-libs/bigdft/bigdft-1.6_pre0.ebuild new file mode 100644 index 000000000..f15fa237a --- /dev/null +++ b/sci-libs/bigdft/bigdft-1.6_pre0.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit autotools-utils flag-o-matic fortran-2 toolchain-funcs + +DESCRIPTION="A DFT electronic structure code using a wavelet basis set" +HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" + +REAL_P="${P/_pre/-tuto.}" +REAL_P="${REAL_P/-tuto.0/-tuto}" +S="${WORKDIR}/${REAL_P}" + +SRC_URI=" + http://inac.cea.fr/L_Sim/BigDFT/${REAL_P}.tar.gz + " + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cuda doc etsf_io mpi netcdf opencl test" + +RDEPEND=" + =sci-libs/libxc-1*[fortran] + virtual/blas + virtual/fortran + virtual/lapack + 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] + ) + " +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=sys-devel/autoconf-2.59 + doc? ( virtual/latex-base )" + +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 +} + +src_prepare() { + epatch "${FILESDIR}"/"${REAL_P}"-libxc_dir_include.patch + epatch "${FILESDIR}"/"${REAL_P}"-bigdft.pc.patch + eautoreconf +} + +src_configure() { + local modules="/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 + --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)" + --disable-internal-libxc + --with-libxc-path="/usr" + --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 opencl ocl-path /usr) + $(use_with etsf_io etsf-io) + $(use_with etsf_io etsf-io-path "/usr") + $(use_with etsf_io netcdf-path "$(pkg-config --libs-only-L netcdf)") + "$(use etsf_io && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} -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 || die 'emake failed' + sed -i -e's%\$(top_builddir)/src/lib\([^ /$-]*\)\.a%-l\1%g' bigdft.pc + popd > /dev/null + + use doc && autotools-utils_src_compile doc +} + +src_test() { + use test && autotools-utils_src_test +} + +src_install() { + autotools-utils_src_install HAVE_LIBXC=1 +} diff --git a/sci-libs/bigdft/bigdft-1.6_pre1.ebuild b/sci-libs/bigdft/bigdft-1.6_pre1.ebuild new file mode 100644 index 000000000..21cff15a1 --- /dev/null +++ b/sci-libs/bigdft/bigdft-1.6_pre1.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit autotools-utils flag-o-matic fortran-2 toolchain-funcs + +DESCRIPTION="A DFT electronic structure code using a wavelet basis set" +HOMEPAGE="http://inac.cea.fr/L_Sim/BigDFT/" + +REAL_P="${P/_pre/-tuto.}" +REAL_P="${REAL_P/-tuto.0/-tuto}" +S="${WORKDIR}/${REAL_P}" + +SRC_URI=" + http://inac.cea.fr/L_Sim/BigDFT/${REAL_P}.tar.gz + " + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cuda doc etsf_io mpi netcdf opencl test" + +RDEPEND=" + =sci-libs/libxc-1*[fortran] + virtual/blas + virtual/fortran + virtual/lapack + 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] + ) + " +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=sys-devel/autoconf-2.59 + doc? ( virtual/latex-base )" + +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 +} + +src_prepare() { + epatch "${FILESDIR}"/"${REAL_P}"-libxc_dir_include.patch + epatch "${FILESDIR}"/"${REAL_P}"-bigdft.pc.patch + sed -i -e's/capitalize_module_ext/ax_fc_mod_ext/g' "${S}"/configure + sed -i -e's/capitalize_module_ext/ax_fc_mod_ext/g' "${S}"/configure.ac + eautoreconf +} + +src_configure() { + local modules="/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 + --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-path="/usr" + --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 opencl ocl-path /usr) + $(use_with etsf_io etsf-io) + $(use_with etsf_io etsf-io-path "/usr") + $(use_with etsf_io netcdf-path "$(pkg-config --libs-only-L netcdf)") + "$(use etsf_io && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} -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 || die 'emake failed' + sed -i -e's%\$(top_builddir)/src/lib\([^ /$-]*\)\.a%-l\1%g' bigdft.pc + popd > /dev/null + + use doc && autotools-utils_src_compile doc +} + +src_test() { + use test && autotools-utils_src_test +} + +src_install() { + autotools-utils_src_install HAVE_LIBXC=1 +} diff --git a/sci-libs/bigdft/files/bigdft-1.6-tuto-bigdft.pc.patch b/sci-libs/bigdft/files/bigdft-1.6-tuto-bigdft.pc.patch new file mode 100644 index 000000000..3ddde7014 --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.6-tuto-bigdft.pc.patch @@ -0,0 +1,203 @@ +diff -Naur bigdft-1.6-tuto_orig/Makefile.am bigdft-1.6-tuto/Makefile.am +--- Makefile.am 2011-10-18 07:39:52.000000000 +0000 ++++ Makefile.am 2012-03-21 10:08:44.000000000 +0000 +@@ -4,7 +4,10 @@ + + ACLOCAL_AMFLAGS = -I config/m4 + +-DISTCLEANFILES = config.inc ++DISTCLEANFILES = config.inc bigdft.pc ++ ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = bigdft.pc + + if BUILD_LIBABINIT + libABINIT_dir = libABINIT/src +diff -Naur bigdft-1.6-tuto_orig/Makefile.in bigdft-1.6-tuto/Makefile.in +--- Makefile.in 2012-03-21 10:03:28.000000000 +0000 ++++ Makefile.in 2012-03-21 10:20:48.000000000 +0000 +@@ -33,7 +33,7 @@ + POST_UNINSTALL = : + subdir = . + DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ +- $(srcdir)/Makefile.in $(srcdir)/config.h.in \ ++ $(srcdir)/Makefile.in $(srcdir)/bigdft.pc.in $(srcdir)/config.h.in \ + $(top_srcdir)/config/Doxyfile.in $(top_srcdir)/configure \ + AUTHORS COPYING ChangeLog INSTALL NEWS config/depcomp \ + config/install-sh config/missing +@@ -48,7 +48,7 @@ + configure.lineno config.status.lineno + mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = config.h +-CONFIG_CLEAN_FILES = config/Doxyfile ++CONFIG_CLEAN_FILES = bigdft.pc config/Doxyfile + CONFIG_CLEAN_VPATH_FILES = + SOURCES = + DIST_SOURCES = +@@ -59,6 +59,35 @@ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ++am__install_max = 40 ++am__nobase_strip_setup = \ ++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` ++am__nobase_strip = \ ++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ++am__nobase_list = $(am__nobase_strip_setup); \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ ++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ ++ if (++n[$$2] == $(am__install_max)) \ ++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ ++ END { for (dir in files) print dir, files[dir] }' ++am__base_list = \ ++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ ++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' ++am__uninstall_files_from_dir = { \ ++ test -z "$$files" \ ++ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ ++ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ ++ $(am__cd) "$$dir" && rm -f $$files; }; \ ++ } ++am__installdirs = "$(DESTDIR)$(pkgconfigdir)" ++DATA = $(pkgconfig_DATA) + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +@@ -232,7 +261,9 @@ + config/m4 + + ACLOCAL_AMFLAGS = -I config/m4 +-DISTCLEANFILES = config.inc ++DISTCLEANFILES = config.inc bigdft.pc ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = bigdft.pc + @BUILD_LIBABINIT_FALSE@libABINIT_dir = + @BUILD_LIBABINIT_TRUE@libABINIT_dir = libABINIT/src + @BUILD_LIBXC_FALSE@libXC_dir = +@@ -307,8 +338,28 @@ + + distclean-hdr: + -rm -f config.h stamp-h1 ++bigdft.pc: $(top_builddir)/config.status $(srcdir)/bigdft.pc.in ++ cd $(top_builddir) && $(SHELL) ./config.status $@ + config/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/config/Doxyfile.in + cd $(top_builddir) && $(SHELL) ./config.status $@ ++install-pkgconfigDATA: $(pkgconfig_DATA) ++ @$(NORMAL_INSTALL) ++ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ ++ done ++ ++uninstall-pkgconfigDATA: ++ @$(NORMAL_UNINSTALL) ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) + + # This directory's subdirectories are mostly independent; you can cd + # into them and run `make' without going through this Makefile. +@@ -622,9 +673,12 @@ + exit 1; } >&2 + check-am: all-am + check: check-recursive +-all-am: Makefile config.h ++all-am: Makefile $(DATA) config.h + installdirs: installdirs-recursive + installdirs-am: ++ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ ++ done + install: install-recursive + install-exec: install-exec-recursive + install-data: install-data-recursive +@@ -672,7 +726,7 @@ + + info-am: + +-install-data-am: ++install-data-am: install-pkgconfigDATA + + install-dvi: install-dvi-recursive + +@@ -718,7 +772,7 @@ + + ps-am: + +-uninstall-am: ++uninstall-am: uninstall-pkgconfigDATA + + .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive +@@ -733,10 +787,10 @@ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ ++ install-pkgconfigDATA install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ +- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am ++ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am uninstall-pkgconfigDATA + + configure + +diff -Naur bigdft-1.6-tuto_orig/bigdft.pc.in bigdft-1.6-tuto/bigdft.pc.in +--- bigdft.pc.in 1970-01-01 00:00:00.000000000 +0000 ++++ bigdft.pc.in 2012-02-01 09:43:59.000000000 +0000 +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: libbigdft ++Description: Library for DFT calculation over wavelets. ++Requires: ++Version: @VERSION@ ++Libs: -L${libdir} -lbigdft -lpoissonsolver @LIBS@ @FCLIBS@ ++Cflags: -I${includedir} +diff -Naur bigdft-1.6-tuto_orig/configure bigdft-1.6-tuto/configure +--- configure 2012-03-21 10:03:26.000000000 +0000 ++++ configure 2012-03-21 11:04:52.000000000 +0000 +@@ -8512,7 +8512,7 @@ + docdir="${docdir}" + + +-ac_config_files="$ac_config_files Makefile libABINIT/src/Makefile config/Doxyfile src/Makefile src/modules/Makefile src/modules/configure.inc src/profiling/Makefile src/PSolver/Makefile src/convolutions/Makefile src/CUDA/Makefile src/OpenCL/Makefile src/dgemmsy/Makefile src/convolutions-c/Makefile src/art/Makefile src/tools/Makefile src/tools/bader/Makefile utils/Makefile utils/PSPfiles/Makefile pseudo/Makefile pseudo/src/Makefile pseudo/tests/Makefile doc/Makefile tests/Makefile tests/fft/Makefile tests/PSolver/Makefile tests/H2-freq/Makefile tests/MINHOP/Makefile tests/NEB/Makefile tests/NEB/input tests/NEB/NEB_include.sh tests/XabsCheb/Makefile tests/SPLSAD/Makefile tests/TDDFT/Makefile tests/OP2P/Makefile tests/DFT/Makefile tests/OpenCL/Makefile tests/CUDA/Makefile tests/ETSF_IO/Makefile tests/tutorials/Makefile tests/xc/Makefile" ++ac_config_files="$ac_config_files Makefile bigdft.pc libABINIT/src/Makefile config/Doxyfile src/Makefile src/modules/Makefile src/modules/configure.inc src/profiling/Makefile src/PSolver/Makefile src/convolutions/Makefile src/CUDA/Makefile src/OpenCL/Makefile src/dgemmsy/Makefile src/convolutions-c/Makefile src/art/Makefile src/tools/Makefile src/tools/bader/Makefile utils/Makefile utils/PSPfiles/Makefile pseudo/Makefile pseudo/src/Makefile pseudo/tests/Makefile doc/Makefile tests/Makefile tests/fft/Makefile tests/PSolver/Makefile tests/H2-freq/Makefile tests/MINHOP/Makefile tests/NEB/Makefile tests/NEB/input tests/NEB/NEB_include.sh tests/XabsCheb/Makefile tests/SPLSAD/Makefile tests/TDDFT/Makefile tests/OP2P/Makefile tests/DFT/Makefile tests/OpenCL/Makefile tests/CUDA/Makefile tests/ETSF_IO/Makefile tests/tutorials/Makefile tests/xc/Makefile" + + + # Call libXC ./configure script recursively. +@@ -9349,6 +9349,7 @@ + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "bigdft.pc") CONFIG_FILES="$CONFIG_FILES bigdft.pc" ;; + "libABINIT/src/Makefile") CONFIG_FILES="$CONFIG_FILES libABINIT/src/Makefile" ;; + "config/Doxyfile") CONFIG_FILES="$CONFIG_FILES config/Doxyfile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; +diff -Naur bigdft-1.6-tuto_orig/configure.ac bigdft-1.6-tuto/configure.ac +--- configure.ac 2012-03-21 10:03:02.000000000 +0000 ++++ configure.ac 2012-03-21 10:48:53.000000000 +0000 +@@ -715,6 +715,7 @@ + dnl Give the name of file.in to transform to file + AC_CONFIG_FILES([ + Makefile ++bigdft.pc + libABINIT/src/Makefile + config/Doxyfile + src/Makefile diff --git a/sci-libs/bigdft/files/bigdft-1.6-tuto-libxc_dir_include.patch b/sci-libs/bigdft/files/bigdft-1.6-tuto-libxc_dir_include.patch new file mode 100644 index 000000000..16aca5ef4 --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.6-tuto-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 +@@ -564,14 +564,17 @@ + dnl Test the libXC library + ac_internal_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=) + ac_use_libxc="no" + 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" +@@ -579,6 +582,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" +@@ -587,13 +593,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.$capitalize_module_ext, funcs="yes", funcs="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_lib_m.$capitalize_module_ext, lib="yes", lib="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_types_m.$capitalize_module_ext, types="yes", types="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/libxc_funcs_m.$capitalize_module_ext, funcs="yes", funcs="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_lib_m.$capitalize_module_ext, lib="yes", lib="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_types_m.$capitalize_module_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.6-tuto.1-bigdft.pc.patch b/sci-libs/bigdft/files/bigdft-1.6-tuto.1-bigdft.pc.patch new file mode 100644 index 000000000..3ddde7014 --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.6-tuto.1-bigdft.pc.patch @@ -0,0 +1,203 @@ +diff -Naur bigdft-1.6-tuto_orig/Makefile.am bigdft-1.6-tuto/Makefile.am +--- Makefile.am 2011-10-18 07:39:52.000000000 +0000 ++++ Makefile.am 2012-03-21 10:08:44.000000000 +0000 +@@ -4,7 +4,10 @@ + + ACLOCAL_AMFLAGS = -I config/m4 + +-DISTCLEANFILES = config.inc ++DISTCLEANFILES = config.inc bigdft.pc ++ ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = bigdft.pc + + if BUILD_LIBABINIT + libABINIT_dir = libABINIT/src +diff -Naur bigdft-1.6-tuto_orig/Makefile.in bigdft-1.6-tuto/Makefile.in +--- Makefile.in 2012-03-21 10:03:28.000000000 +0000 ++++ Makefile.in 2012-03-21 10:20:48.000000000 +0000 +@@ -33,7 +33,7 @@ + POST_UNINSTALL = : + subdir = . + DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ +- $(srcdir)/Makefile.in $(srcdir)/config.h.in \ ++ $(srcdir)/Makefile.in $(srcdir)/bigdft.pc.in $(srcdir)/config.h.in \ + $(top_srcdir)/config/Doxyfile.in $(top_srcdir)/configure \ + AUTHORS COPYING ChangeLog INSTALL NEWS config/depcomp \ + config/install-sh config/missing +@@ -48,7 +48,7 @@ + configure.lineno config.status.lineno + mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = config.h +-CONFIG_CLEAN_FILES = config/Doxyfile ++CONFIG_CLEAN_FILES = bigdft.pc config/Doxyfile + CONFIG_CLEAN_VPATH_FILES = + SOURCES = + DIST_SOURCES = +@@ -59,6 +59,35 @@ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ++am__install_max = 40 ++am__nobase_strip_setup = \ ++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` ++am__nobase_strip = \ ++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ++am__nobase_list = $(am__nobase_strip_setup); \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ ++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ ++ if (++n[$$2] == $(am__install_max)) \ ++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ ++ END { for (dir in files) print dir, files[dir] }' ++am__base_list = \ ++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ ++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' ++am__uninstall_files_from_dir = { \ ++ test -z "$$files" \ ++ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ ++ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ ++ $(am__cd) "$$dir" && rm -f $$files; }; \ ++ } ++am__installdirs = "$(DESTDIR)$(pkgconfigdir)" ++DATA = $(pkgconfig_DATA) + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +@@ -232,7 +261,9 @@ + config/m4 + + ACLOCAL_AMFLAGS = -I config/m4 +-DISTCLEANFILES = config.inc ++DISTCLEANFILES = config.inc bigdft.pc ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = bigdft.pc + @BUILD_LIBABINIT_FALSE@libABINIT_dir = + @BUILD_LIBABINIT_TRUE@libABINIT_dir = libABINIT/src + @BUILD_LIBXC_FALSE@libXC_dir = +@@ -307,8 +338,28 @@ + + distclean-hdr: + -rm -f config.h stamp-h1 ++bigdft.pc: $(top_builddir)/config.status $(srcdir)/bigdft.pc.in ++ cd $(top_builddir) && $(SHELL) ./config.status $@ + config/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/config/Doxyfile.in + cd $(top_builddir) && $(SHELL) ./config.status $@ ++install-pkgconfigDATA: $(pkgconfig_DATA) ++ @$(NORMAL_INSTALL) ++ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ ++ done ++ ++uninstall-pkgconfigDATA: ++ @$(NORMAL_UNINSTALL) ++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) + + # This directory's subdirectories are mostly independent; you can cd + # into them and run `make' without going through this Makefile. +@@ -622,9 +673,12 @@ + exit 1; } >&2 + check-am: all-am + check: check-recursive +-all-am: Makefile config.h ++all-am: Makefile $(DATA) config.h + installdirs: installdirs-recursive + installdirs-am: ++ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ ++ done + install: install-recursive + install-exec: install-exec-recursive + install-data: install-data-recursive +@@ -672,7 +726,7 @@ + + info-am: + +-install-data-am: ++install-data-am: install-pkgconfigDATA + + install-dvi: install-dvi-recursive + +@@ -718,7 +772,7 @@ + + ps-am: + +-uninstall-am: ++uninstall-am: uninstall-pkgconfigDATA + + .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive +@@ -733,10 +787,10 @@ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ ++ install-pkgconfigDATA install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ +- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am ++ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am uninstall-pkgconfigDATA + + configure + +diff -Naur bigdft-1.6-tuto_orig/bigdft.pc.in bigdft-1.6-tuto/bigdft.pc.in +--- bigdft.pc.in 1970-01-01 00:00:00.000000000 +0000 ++++ bigdft.pc.in 2012-02-01 09:43:59.000000000 +0000 +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: libbigdft ++Description: Library for DFT calculation over wavelets. ++Requires: ++Version: @VERSION@ ++Libs: -L${libdir} -lbigdft -lpoissonsolver @LIBS@ @FCLIBS@ ++Cflags: -I${includedir} +diff -Naur bigdft-1.6-tuto_orig/configure bigdft-1.6-tuto/configure +--- configure 2012-03-21 10:03:26.000000000 +0000 ++++ configure 2012-03-21 11:04:52.000000000 +0000 +@@ -8512,7 +8512,7 @@ + docdir="${docdir}" + + +-ac_config_files="$ac_config_files Makefile libABINIT/src/Makefile config/Doxyfile src/Makefile src/modules/Makefile src/modules/configure.inc src/profiling/Makefile src/PSolver/Makefile src/convolutions/Makefile src/CUDA/Makefile src/OpenCL/Makefile src/dgemmsy/Makefile src/convolutions-c/Makefile src/art/Makefile src/tools/Makefile src/tools/bader/Makefile utils/Makefile utils/PSPfiles/Makefile pseudo/Makefile pseudo/src/Makefile pseudo/tests/Makefile doc/Makefile tests/Makefile tests/fft/Makefile tests/PSolver/Makefile tests/H2-freq/Makefile tests/MINHOP/Makefile tests/NEB/Makefile tests/NEB/input tests/NEB/NEB_include.sh tests/XabsCheb/Makefile tests/SPLSAD/Makefile tests/TDDFT/Makefile tests/OP2P/Makefile tests/DFT/Makefile tests/OpenCL/Makefile tests/CUDA/Makefile tests/ETSF_IO/Makefile tests/tutorials/Makefile tests/xc/Makefile" ++ac_config_files="$ac_config_files Makefile bigdft.pc libABINIT/src/Makefile config/Doxyfile src/Makefile src/modules/Makefile src/modules/configure.inc src/profiling/Makefile src/PSolver/Makefile src/convolutions/Makefile src/CUDA/Makefile src/OpenCL/Makefile src/dgemmsy/Makefile src/convolutions-c/Makefile src/art/Makefile src/tools/Makefile src/tools/bader/Makefile utils/Makefile utils/PSPfiles/Makefile pseudo/Makefile pseudo/src/Makefile pseudo/tests/Makefile doc/Makefile tests/Makefile tests/fft/Makefile tests/PSolver/Makefile tests/H2-freq/Makefile tests/MINHOP/Makefile tests/NEB/Makefile tests/NEB/input tests/NEB/NEB_include.sh tests/XabsCheb/Makefile tests/SPLSAD/Makefile tests/TDDFT/Makefile tests/OP2P/Makefile tests/DFT/Makefile tests/OpenCL/Makefile tests/CUDA/Makefile tests/ETSF_IO/Makefile tests/tutorials/Makefile tests/xc/Makefile" + + + # Call libXC ./configure script recursively. +@@ -9349,6 +9349,7 @@ + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "bigdft.pc") CONFIG_FILES="$CONFIG_FILES bigdft.pc" ;; + "libABINIT/src/Makefile") CONFIG_FILES="$CONFIG_FILES libABINIT/src/Makefile" ;; + "config/Doxyfile") CONFIG_FILES="$CONFIG_FILES config/Doxyfile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; +diff -Naur bigdft-1.6-tuto_orig/configure.ac bigdft-1.6-tuto/configure.ac +--- configure.ac 2012-03-21 10:03:02.000000000 +0000 ++++ configure.ac 2012-03-21 10:48:53.000000000 +0000 +@@ -715,6 +715,7 @@ + dnl Give the name of file.in to transform to file + AC_CONFIG_FILES([ + Makefile ++bigdft.pc + libABINIT/src/Makefile + config/Doxyfile + src/Makefile diff --git a/sci-libs/bigdft/files/bigdft-1.6-tuto.1-libxc_dir_include.patch b/sci-libs/bigdft/files/bigdft-1.6-tuto.1-libxc_dir_include.patch new file mode 100644 index 000000000..6d0f6046a --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.6-tuto.1-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 +@@ -551,14 +551,17 @@ + ac_build_libxc="no" + AC_ARG_ENABLE(libxc, AS_HELP_STRING([--disable-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" +@@ -566,6 +569,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" +@@ -574,13 +580,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.$capitalize_module_ext, funcs="yes", funcs="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_lib_m.$capitalize_module_ext, lib="yes", lib="no") +- AC_CHECK_FILE($ac_libxc_dir/include/xc_f90_types_m.$capitalize_module_ext, types="yes", types="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/libxc_funcs_m.$capitalize_module_ext, funcs="yes", funcs="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_lib_m.$capitalize_module_ext, lib="yes", lib="no") ++ AC_CHECK_FILE($ac_libxc_dir_include/xc_f90_types_m.$capitalize_module_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.6.0-libxc_dir_include.patch b/sci-libs/bigdft/files/bigdft-1.6.0-libxc_dir_include.patch new file mode 100644 index 000000000..7179fcb0f --- /dev/null +++ b/sci-libs/bigdft/files/bigdft-1.6.0-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 +@@ -604,14 +604,17 @@ + ac_build_libxc="no" + AC_ARG_WITH(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" +@@ -619,6 +622,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" +@@ -587,13 +593,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-physics/abinit/ChangeLog b/sci-physics/abinit/ChangeLog index b6b882218..2a5c1ee69 100644 --- a/sci-physics/abinit/ChangeLog +++ b/sci-physics/abinit/ChangeLog @@ -1,7 +1,20 @@ # ChangeLog for sci-physics/abinit -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*abinit-6.12.1 (22 Mar 2012) + + 22 Mar 2012; Honza Macháček <Hloupy.Honza@centrum.cz> + +files/6.12.1-autoconf.patch, -abinit-6.10.1.ebuild, + +files/6.12.1-gui-conf.patch, +abinit-6.12.1.ebuild, + +files/6.12.1-libabinit_options.patch, +files/6.12.1-xmalloc.patch, + +files/6.12.1-bigDFT-1.6.0.patch, metadata.xml: + 6.12.1 added, moved towards autotools-utils. Uses sci-libs/bigdft-1.6_pre1, + patching to use the latest 1.6.0 still not done. Libraries installed, + pkg-config file corrected; libabinit made an option, but for now would + conflict with sci-libs/bigdft. TO DO: Make sci-libs/bigdft compile against + libabinit of sci-physics/abinit, solve the resulting circular dependency. + *abinit-6.10.3 (14 Dec 2011) 14 Dec 2011; Honza Macháček <Hloupy.Honza@centrum.cz> -abinit-6.8.1.ebuild, diff --git a/sci-physics/abinit/Manifest b/sci-physics/abinit/Manifest index 412fab010..e35fffeac 100644 --- a/sci-physics/abinit/Manifest +++ b/sci-physics/abinit/Manifest @@ -1,4 +1,4 @@ -DIST abinit-6.10.1.tar.gz 44363678 RMD160 44d4aaeb58fdbc81f376025dbf4c13af91e6aa4d SHA1 2fb55ab80b1a90756dd664086c3263636716ef82 SHA256 a28c76829d4230937c3a4e670cebeaf3b8e3989a532c189dddabdafe26da8c8a -DIST abinit-6.10.3.tar.gz 69158203 RMD160 5b9c9fea3d488aa5f819037e8ae0acc0a19512ef SHA1 d47b72e226d722eed3eadb30890ad534617328e3 SHA256 185c45c7c9caf5f735d841fa85b2dfc612eee81b76f905a9988b5f0994be6fb5 -DIST abinit-6.6.3.tar.gz 41161321 RMD160 f9169812cfb2dc30f752bf0ab0ffc41250ea0bbb SHA1 02c9fd6abe1b73164b804b6e0b1f829ec9fd286e SHA256 fad84d3e774e3b4ba16f2a2924e60b8ba42ab21fefd89d8ce4848f9a9e03f774 -DIST abinit-6.8.2.tar.gz 43565001 RMD160 151fcd3fa3c8aad204aa01a0877b101b7faf0550 SHA1 2b96bb175e1946c48ee3a72064b08ccc1b8dbdea SHA256 7a0e8ebfce50ae18e5c4f25f9bfd534623a41985082efead918a3878464a181c +DIST abinit-6.10.3.tar.gz 69158203 SHA256 185c45c7c9caf5f735d841fa85b2dfc612eee81b76f905a9988b5f0994be6fb5 SHA512 010fee8f0740cc05208f1abe52f5aae25077d5792331a98466ecc13f27605776e19a17bdeab2c7cf09eb233109ae7f14d55afecd89113a91a0d67494f2c5abb2 WHIRLPOOL be7f127116a6f59ea4cbd84f01e3371b5959275bae0957e654eea9dadeef278ad0081f8600476e716865ef32b5aea536ccb09f12f5934f95aaf8eeccb06bc5d6 +DIST abinit-6.12.1.tar.gz 58474634 SHA256 1b0f0fe5a6f8ce97b3da7ea7640f16c36902c7a5bc08651abd139eb7e13222b6 SHA512 59d757400539d0eb385fd37c9a6e2824bd3a2a6378a6c8f39a2f336cf3f842120538a014633561a5c16b9debf4ec054d51beaec2952629e0a88ab283dc2db431 WHIRLPOOL 9c02b1184fabe96405fe05ecd9c40d48f104d92d55ed2900dc3755758aca12cb4dd64e6fea3e3f949bcbb8a615ecd359a76bc9752969e585189865cd75c14c1d +DIST abinit-6.6.3.tar.gz 41161321 SHA256 fad84d3e774e3b4ba16f2a2924e60b8ba42ab21fefd89d8ce4848f9a9e03f774 SHA512 834bd017a81444a75335d13579c37efe1d58b571a0b2a673f8dfb60342cd10fb849e6a2e92042be59445835e1ad3a484149faa260280e4e6db9b284ed03c208a WHIRLPOOL 302cf85a65e4c07ee716379844d1435503ee042fb987f3c43e5fc4e60ffe32ec0498f8d31dcc7a61043bfcedf56b87eadca11657156fb6d912f6c4627aa60bbf +DIST abinit-6.8.2.tar.gz 43565001 SHA256 7a0e8ebfce50ae18e5c4f25f9bfd534623a41985082efead918a3878464a181c SHA512 97287a7527f1088435c95697b90a27eaf6cb5b8921e2d4e702279552f9d8669735242d5bfa62b944a7da418286a317131c352952ac0fac58540de4e8ded56385 WHIRLPOOL 27b11310695179e2a8794dbb7b0a3e041477cf9bec1ddc3468f6c54e3549806cef66c348dbb34839d3dfb0633191b5a9531f4e415d2c0a1d776ddf9dddff3756 diff --git a/sci-physics/abinit/abinit-6.10.1.ebuild b/sci-physics/abinit/abinit-6.10.1.ebuild deleted file mode 100644 index cdd495fd1..000000000 --- a/sci-physics/abinit/abinit-6.10.1.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="3" - -inherit autotools eutils fortran-2 multilib toolchain-funcs - -DESCRIPTION="Find total energy, charge density and electronic structure using density functional theory" -HOMEPAGE="http://www.abinit.org/" -SRC_URI="http://ftp.abinit.org/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cuda -debug +fftw +fftw-threads +fox gsl +hdf5 mpi +netcdf python -test +threads -vdwxc" - -RDEPEND=">=sci-libs/bigdft-1.2.0.2 - sci-libs/etsf_io - =sci-libs/libxc-1.0[fortran] - sci-physics/atompaw[libxc] - fox? ( sci-libs/fox[dom,sax,wcml,wxml] ) - netcdf? ( - sci-libs/netcdf[fortran] - hdf5? ( - sci-libs/netcdf[fortran,hdf5] - ) - ) - hdf5? ( sci-libs/hdf5[fortran] ) - sci-libs/wannier90 - virtual/blas - virtual/lapack - gsl? ( sci-libs/gsl ) - fftw? ( - sci-libs/fftw:3.0 - fftw-threads? ( sci-libs/fftw:3.0[threads] ) - ) - mpi? ( virtual/mpi ) - python? ( dev-python/numpy ) - cuda? ( dev-util/nvidia-cuda-sdk )" -DEPEND="${RDEPEND} - dev-util/pkgconfig - dev-perl/Text-Markdown" - -S=${WORKDIR}/${P%[a-z]} - -pkg_setup() { - fortran-2_pkg_setup - # Doesn't compile with gcc-4.0, only >=4.1 - if [[ $(tc-getFC) == *gfortran ]]; then - if [[ $(gcc-major-version) -eq 4 ]] \ - && [[ $(gcc-minor-version) -lt 1 ]]; then - die "Requires gcc-4.1 or newer" - fi - fi - if use fftw-threads && ! use fftw; then - ewarn "fftw-threads set but fftw not used, ignored" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/6.2.2-change-default-directories.patch - epatch "${FILESDIR}"/6.0.3-fftw.patch - eautoreconf -} - -src_configure() { - local libs="-L/usr/$(get_libdir)" - local modules="-I/usr/$(get_libdir)/finclude" - local FoX_libs="${libs} -lFoX_dom -lFoX_sax -lFoX_wcml -lFoX_wxml -lFoX_common -lFoX_utils -lFoX_fsys" - local trio_flavor="etsf_io" - use fox && trio_flavor="${trio_flavor}+fox" - use netcdf && trio_flavor="${trio_flavor}+netcdf" - local netcdff_libs="-lnetcdff" - use hdf5 && netcdff_libs="${netcdff_libs} -lhdf5_fortran" - local fft_flavor="fftw3" - local fft_libs="-L/usr/lib" - # The fftw threads support is protected by black magick. - # Anybody removes it, dies. - # New USE flag "fftw-threads" was added to control usage - # of the threaded fftw variant. Since fftw-3.3 has expanded - # the paralel options by MPI and OpenMP support, analogical - # USE flags should be added to select them in future; - # unusable with previous FFTW versions, they are postponed - # for now. - if use fftw-threads; then - fft_flavor="fftw3-threads" - if has_version '>=sci-libs/fftw-3.3'; then - # pkg-config files for fftw-3.3 are broken - # All the parallel stuff is separated - # from the main body of common routines, - # and -lfftw3 must be always included alongside. - # Until version 3.3 this used to be masked by - # .la files. - # Bug 384645 - fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads) $(pkg-config --libs fftw3)" - else - fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads)" - fi - else - fft_libs="${fft_libs} $(pkg-config --libs fftw3)" - fi - if use mpi; then - MY_FC="mpif90" - MY_CC="mpicc" - MY_CXX="mpic++" - else - MY_FC="$(tc-getFC)" - MY_CC="$(tc-getCC)" - MY_CXX="$(tc-getCXX)" - fi - MARKDOWN=Markdown.pl econf \ - $(use_enable debug debug enhanced) \ - $(use_enable mpi) \ - $(use_enable mpi mpi-io) \ - --disable-smp \ - $(use_enable vdwxc) \ - $(use_enable cuda gpu) \ - "$(use cuda && echo "--with-gpu-flavor=cuda-single")" \ - "$(use cuda && echo "--with-gpu-prefix=/opt/cuda/")" \ - "$(use gsl && echo "--with-math-flavor=gsl")" \ - "$(use gsl && echo "--with-math-incs=$(pkg-config --cflags gsl)")" \ - "$(use gsl && echo "--with-math-libs=$(pkg-config --libs gsl)")" \ - --with-linalg-flavor="atlas" \ - --with-linalg-libs="$(pkg-config --libs lapack)" \ - --with-trio-flavor="${trio_flavor}" \ - "$(use netcdf && echo "--with-netcdf-incs=-I/usr/include")" \ - "$(use netcdf && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" \ - "$(use fox && echo "--with-fox-incs=${modules}")" \ - "$(use fox && echo "--with-fox-libs=${FoX_libs}")" \ - --with-etsf-io-incs="${modules}" \ - --with-etsf-io-libs="${libs} -letsf_io -letsf_io_utils -letsf_io_low_level" \ - --with-dft-flavor="libxc+bigdft+atompaw+wannier90" \ - --with-libxc-incs="${modules}" \ - --with-libxc-libs="${libs} -lxc" \ - --with-bigdft-incs="${modules}" \ - --with-bigdft-libs="${libs} -lpoissonsolver -lbigdft" \ - --with-atompaw-incs="${modules}" \ - --with-atompaw-libs="${libs} -latompaw" \ - --with-wannier90-bins="/usr/bin" \ - --with-wannier90-incs="${modules}" \ - --with-wannier90-libs="${libs} -lwannier $(pkg-config --libs lapack)" \ - "$(use fftw && echo "--with-fft-flavor=${fft_flavor}")" \ - "$(use fftw && echo "--with-fft-incs=-I/usr/include")" \ - "$(use fftw && echo "--with-fft-libs=${fft_libs}")" \ - --with-timer-flavor="abinit" \ - FC="${MY_FC}" \ - CC="${MY_CC}" \ - CXX="${MY_CXX}" \ - LD="$(tc-getLD)" \ - FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules} -I/usr/include" -} - -src_compile() { - emake || die -} - -src_test() { - einfo "The tests take quite a while, on the order of 1-2 hours" - einfo "on an Intel Penryn (2.5 GHz)." - cd "${S}"/tests - emake tests_min || ewarn "Minimal tests failed" - emake tests_paw || ewarn "PAW tests failed" - emake tests_gw || ewarn "GW tests failed" - emake tests_gw_paw || ewarn "GW-PAW tests failed" - emake tests tdft || ewarn "TDFT tests failed" - emake tests_bench || ewarn "Benchmarks failed" - - local REPORT - for REPORT in $(find . -name report); do - REPORT=${REPORT#*/} - elog "Parameters and unusual results for ${REPORT%%/*} tests" - echo "Parameters and unusual results for ${REPORT%%/*} tests" >>tests_summary.txt - while read line; do - elog "${line}" - echo "${line}" >>tests_summary.txt - done \ - < <(grep -v -e succeeded -e passed ${REPORT}) - done - - local testdir - find . -name "tmp-test*" -print | \ - while read testdir; do - if [ -e summary_of_tests.tar ]; then - tar rvf summary_of_tests.tar ${testdir} - else tar cvf summary_of_tests.tar ${testdir} - fi - done - - elog "The full test results will be installed as summary_of_tests.tar.bz2." - elog "Also a concise report tests_summary.txt is installed." -} - -src_install() { - emake DESTDIR="${D}" install || die "make install failed" - - if use test; then - dodoc tests/tests_summary.txt || ewarn "Copying tests summary failed" - dodoc tests/summary_tests.tar || ewarn "Copying tests results failed" - dodoc tests/summary_of_tests.tar || ewarn "Copying tests results failed" - fi - - dodoc KNOWN_PROBLEMS README || die "Copying doc files failed" -} - -pkg_postinst() { - if use test; then - elog "The full test results will be installed as summary_tests.tar.bz2." - elog "Also a concise report tests_summary.txt is installed." - fi -} diff --git a/sci-physics/abinit/abinit-6.12.1.ebuild b/sci-physics/abinit/abinit-6.12.1.ebuild new file mode 100644 index 000000000..00e1fa2fb --- /dev/null +++ b/sci-physics/abinit/abinit-6.12.1.ebuild @@ -0,0 +1,334 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="4" + +inherit autotools-utils fortran-2 multilib toolchain-funcs + +DESCRIPTION="Find total energy, charge density and electronic structure using density functional theory" +HOMEPAGE="http://www.abinit.org/" +SRC_URI="http://ftp.abinit.org/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cuda cuda-double -debug +etsf_io +fftw +fftw-threads +fox gsl gui +hdf5 libabinit mpi +netcdf python -test +threads -vdwxc" + +RDEPEND="=sci-libs/bigdft-1.6_pre1 + sci-libs/etsf_io + =sci-libs/libxc-1*[fortran] + sci-physics/atompaw[libxc] + etsf_io? ( sci-libs/etsf_io ) + fox? ( sci-libs/fox[dom,sax,wcml,wxml] ) + netcdf? ( + sci-libs/netcdf[fortran] + hdf5? ( + sci-libs/netcdf[fortran,hdf5] + ) + ) + hdf5? ( sci-libs/hdf5[fortran] ) + sci-libs/wannier90 + virtual/blas + virtual/lapack + gsl? ( sci-libs/gsl ) + fftw? ( + sci-libs/fftw:3.0 + fftw-threads? ( sci-libs/fftw:3.0[threads] ) + ) + mpi? ( virtual/mpi ) + python? ( dev-python/numpy ) + cuda? ( dev-util/nvidia-cuda-sdk )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + gui? ( >=virtual/jdk-1.6.0 + app-arch/sharutils + sys-apps/gawk ) + dev-perl/Text-Markdown" + +S=${WORKDIR}/${P%[a-z]} + +lat1loc="" + +DOCS=( AUTHORS ChangeLog COPYING INSTALL KNOWN_PROBLEMS NEWS PACKAGING + README README.ChangeLog README.GPU README.xlf RELNOTES THANKS ) + +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" + export CXX="mpic++" + else + tc-export FC F77 CC CXX + fi + fortran-2_pkg_setup + + # Doesn't compile with gcc-4.0, only >=4.1 + if [[ $(tc-getFC) == *gfortran ]]; then + if [[ $(gcc-major-version) -eq 4 ]] \ + && [[ $(gcc-minor-version) -lt 1 ]]; then + die "Requires gcc-4.1 or newer" + fi + fi + + # Sort out some USE options + if use fftw-threads && ! use fftw; then + ewarn "fftw-threads set but fftw not used, ignored" + fi + if use cuda-double && ! use cuda; then + ewarn "cuda-double set but cuda not used, ignored" + fi + if use gui; then + lat1loc="$(locale |awk '/LC_CTYPE="(.*)"/{sub("LC_CTYPE=\"",""); sub("\" *$", ""); print}')" + if locale charmap |grep -i "\<iso885915\?\>"; then + einfo "Good, locale compatible with the GUI build" + else + ewarn "The locale ${lat1loc} incompatible with the GUI build" + if latloc=`locale -a| grep -i "\<iso885915\?\>"`; then + if echo "${latloc}" |grep -q "^fr"; then + lat1loc="$(echo "${latloc}" | grep -im1 "^fr")" + else + lat1loc="$(echo "${latloc}" | grep -im1 "iso88591")" + fi + einfo "Will use ${lat1loc} to build the GUI" + else + ewarn "No ISO-8859-1 nor ISO-8859-15 locale available, the GUI build may crash" + fi + fi + fi +} + +src_prepare() { + epatch "${FILESDIR}"/6.2.2-change-default-directories.patch + epatch "${FILESDIR}"/6.0.3-fftw.patch + epatch "${FILESDIR}"/6.12.1-autoconf.patch + epatch "${FILESDIR}"/6.12.1-xmalloc.patch + epatch "${FILESDIR}"/6.12.1-libabinit_options.patch + eautoreconf + + if use gui; then + epatch "${FILESDIR}"/6.12.1-gui-conf.patch +# pushd "${S}"/gui + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + "${S}"/gui/autogen.sh + popd + fi +} + +src_configure() { + local libs="-L/usr/$(get_libdir)" + local modules="-I/usr/$(get_libdir)/finclude" + local FoX_libs="${libs} -lFoX_dom -lFoX_sax -lFoX_wcml -lFoX_wxml -lFoX_common -lFoX_utils -lFoX_fsys" + local trio_flavor="" + use etsf_io && trio_flavor="${trio_flavor}+etsf_io" + use fox && trio_flavor="${trio_flavor}+fox" + use netcdf && trio_flavor="${trio_flavor}+netcdf" + test "no${trio_flavor}" = "no" && trio_flavor="none" + local netcdff_libs="-lnetcdff" + use hdf5 && netcdff_libs="${netcdff_libs} -lhdf5_fortran" + local fft_flavor="fftw3" + local fft_libs="-L/usr/lib" + # The fftw threads support is protected by black magick. + # Anybody removes it, dies. + # New USE flag "fftw-threads" was added to control usage + # of the threaded fftw variant. Since fftw-3.3 has expanded + # the paralel options by MPI and OpenMP support, analogical + # USE flags should be added to select them in future; + # unusable with previous FFTW versions, they are postponed + # for now. + if use fftw-threads; then + fft_flavor="fftw3-threads" + if has_version '>=sci-libs/fftw-3.3'; then + # pkg-config files for fftw-3.3 are broken + # All the parallel stuff is separated + # from the main body of common routines, + # and -lfftw3 must be always included alongside. + # Until version 3.3 this used to be masked by + # .la files. + # Bug 384645 + fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads) $(pkg-config --libs fftw3)" + else + fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads)" + fi + else + fft_libs="${fft_libs} $(pkg-config --libs fftw3)" + fi + local gpu_flavor="none" + if use cuda; then + gpu_flavor="cuda-single" + if use cuda-double; then + gpu_flavor="cuda-double" + fi + fi + + local myeconfargs=( + --enable-clib + --enable-exports + $(use_enable gui) + $(use_enable debug debug enhanced) + $(use_enable mpi) + $(use_enable mpi mpi-io) + --disable-smp + $(use_enable vdwxc) + $(use_enable cuda gpu) + "$(use cuda && echo "--with-gpu-flavor=${gpu_flavor}")" + "$(use cuda && echo "--with-gpu-prefix=/opt/cuda/")" + "$(use gsl && echo "--with-math-flavor=gsl")" + "$(use gsl && echo "--with-math-incs=$(pkg-config --cflags gsl)")" + "$(use gsl && echo "--with-math-libs=$(pkg-config --libs gsl)")" + --with-linalg-flavor="atlas" + --with-linalg-libs="$(pkg-config --libs lapack)" + --with-trio-flavor="${trio_flavor}" + "$(use netcdf && echo "--with-netcdf-incs=-I/usr/include")" + "$(use netcdf && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" + "$(use fox && echo "--with-fox-incs=${modules}")" + "$(use fox && echo "--with-fox-libs=${FoX_libs}")" + "$(use etsf_io && echo "--with-etsf-io-incs=${modules}")" + "$(use etsf_io && echo "--with-etsf-io-libs=${libs} -letsf_io -letsf_io_utils -letsf_io_low_level")" + --with-dft-flavor="libxc+bigdft+atompaw+wannier90" + --with-libxc-incs="${modules}" + --with-libxc-libs="${libs} -lxc" + --with-bigdft-incs="${modules}" + --with-bigdft-libs="$(pkg-config --libs bigdft)" + --with-atompaw-incs="${modules}" + --with-atompaw-libs="${libs} -latompaw" + --with-wannier90-bins="/usr/bin" + --with-wannier90-incs="${modules}" + --with-wannier90-libs="${libs} -lwannier $(pkg-config --libs lapack)" + "$(use fftw && echo "--with-fft-flavor=${fft_flavor}")" + "$(use fftw && echo "--with-fft-incs=-I/usr/include")" + "$(use fftw && echo "--with-fft-libs=${fft_libs}")" + --with-timer-flavor="abinit" + LD="$(tc-getLD)" + FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules} -I/usr/include" + ) + + MARKDOWN=Markdown.pl autotools-utils_src_configure + + if use gui; then + # autotools-utils_src_configure() part expanded + _check_build_dir + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + mkdir -p gui + cd gui + ECONF_SOURCE="${S}"/gui econf + fi +} + +src_compile() { + autotools-utils_src_compile + + # Apparently libabinit.a is not built by default + # Used by BigDFT. Should probably be built separately, + # as a package of its own: BigDFT used by Abinit. + # Does libabinit.a depend on BigDFT, if used? + # Can Abinit use external libabinit.a? + use libabinit && autotools-utils_src_compile libabinit.a + + if use gui; then + #autotools-utils_src_compile() expanded + # _check_build_dir has already been called + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + # now what the function cannot be called to do + cd gui + LC_CTYPE="${lat1loc}" emake || die "Making GUI failed" + popd > /dev/null + fi + + sed -i -e's/libatlas/lapack/' "${AUTOTOOLS_BUILD_DIR}"/config.pc +} + +src_test() { + einfo "The tests take quite a while, easily several hours" + # autotools-utils_src_test() expanded + _check_build_dir + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + # again something the autotools-utils function cannot be called to do + # now quite a lot of work actually + cd tests + emake tests_min || ewarn "Minimal tests failed" + emake tests_paw || ewarn "PAW tests failed" + emake tests_gw || ewarn "GW tests failed" + emake tests_gw_paw || ewarn "GW-PAW tests failed" + emake tests tdft || ewarn "TDFT tests failed" + emake tests_bench || ewarn "Benchmarks failed" + + local REPORT + for REPORT in $(find . -name report); do + REPORT=${REPORT#*/} + elog "Parameters and unusual results for ${REPORT%%/*} tests" + echo "Parameters and unusual results for ${REPORT%%/*} tests" >>tests_summary.txt + while read line; do + elog "${line}" + echo "${line}" >>tests_summary.txt + done \ + < <(grep -v -e succeeded -e passed ${REPORT}) + done + + local testdir + find . -name "tmp-test*" -print | \ + while read testdir; do + if [ -e summary_of_tests.tar ]; then + tar rvf summary_of_tests.tar ${testdir} + else tar cvf summary_of_tests.tar ${testdir} + fi + done + popd > /dev/null + + elog "The full test results will be installed as summary_of_tests.tar.bz2." + elog "Also a concise report tests_summary.txt is installed." +} + +src_install() { + #autotools-utils_src_install() expanded + _check_build_dir + pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null + emake DESTDIR="${D}" install || die "make install failed" + + use libabinit && dolib libabinit.a + + if use gui; then + pushd gui + emake DESTDIR="${D}" install || die "The GUI install failed" + popd + fi + + if use test; then + for dc in tests_summary.txt summary_tests.tar summary_of_tests.tar; do + test -e tests/"${dc}" && dodoc tests/"${dc}" || ewarn "Copying tests results failed" + done + fi + + popd > /dev/null + + # XXX: support installing them from builddir as well!!! + if [[ ${DOCS} ]]; then + dodoc "${DOCS[@]}" || die "dodoc failed" + else + local f + # same list as in PMS + for f in README* ChangeLog AUTHORS NEWS TODO CHANGES \ + THANKS BUGS FAQ CREDITS CHANGELOG; do + if [[ -s ${f} ]]; then + dodoc "${f}" || die "(default) dodoc ${f} failed" + fi + done + fi + if [[ ${HTML_DOCS} ]]; then + dohtml -r "${HTML_DOCS[@]}" || die "dohtml failed" + fi + + # Remove libtool files and unnecessary static libs + remove_libtool_files +} + +pkg_postinst() { + if use test; then + elog "The full test results will be installed as summary_tests.tar.bz2." + elog "Also a concise report tests_summary.txt is installed." + fi +} diff --git a/sci-physics/abinit/files/6.12.1-autoconf.patch b/sci-physics/abinit/files/6.12.1-autoconf.patch new file mode 100644 index 000000000..7e0169f63 --- /dev/null +++ b/sci-physics/abinit/files/6.12.1-autoconf.patch @@ -0,0 +1,21 @@ +diff -Naur old/fallbacks/configure.ac new/fallbacks/configure.ac +--- old/fallbacks/configure.ac 2012-01-30 19:40:41.000000000 +0000 ++++ new/fallbacks/configure.ac 2012-02-13 08:16:08.000000000 +0000 +@@ -114,6 +114,17 @@ + + # ---------------------------------------------------------------------------- # + ++AM_CONDITIONAL([DO_BUILD_FOX],[test "${enable_fox}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_LIBXC],[test "${enable_libxc}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_LINALG],[test "${enable_linalg}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_NETCDF],[test "${enable_netcdf}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_ETSF_IO],[test "${enable_etsf_io}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_ATOMPAW],[test "${enable_atompaw}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_WANNIER90],[test "${enable_wannier90}" = "yes"]) ++AM_CONDITIONAL([DO_BUILD_BIGDFT],[test "${enable_bigdft}" = "yes"]) ++ ++# ---------------------------------------------------------------------------- # ++ + # + # Downloading support + # diff --git a/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch b/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch new file mode 100644 index 000000000..857a27abc --- /dev/null +++ b/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch @@ -0,0 +1,61 @@ +diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_descr_psp_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_descr_psp_set.F90 +--- src/42_wvl_wrappers/wvl_descr_psp_set.F90 2012-01-30 20:43:51.000000000 +0000 ++++ src/42_wvl_wrappers/wvl_descr_psp_set.F90 2012-03-19 13:06:59.000000000 +0000 +@@ -105,7 +105,7 @@ + ! Missing currently read radii_cf. + wvl%atoms%donlcc = .false. + ! TODO: add symmetry support +- wvl%atoms%symObj = -1 ++ wvl%atoms%sym%symObj = -1 + #endif + end subroutine wvl_descr_psp_set + !!*** +diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_projectors_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_projectors_set.F90 +--- src/42_wvl_wrappers/wvl_projectors_set.F90 2012-01-30 20:43:50.000000000 +0000 ++++ src/42_wvl_wrappers/wvl_projectors_set.F90 2012-03-19 13:17:37.000000000 +0000 +@@ -122,7 +122,7 @@ + ABI_ALLOCATE(xcart,(3, natom)) + call xredxcart(natom, 1, rprimd, xcart, xred) + +- call createProjectorsArrays(me, wfs%Glr%d%n1, wfs%Glr%d%n2, wfs%Glr%d%n3, & ++ call createProjectorsArrays(me, wfs%Glr, & + & xcart, wvl%atoms, wfs%orbs, psps%gth_params%radii_cf, & + & wvl_frmult, wvl_frmult, wvl%h(1), wvl%h(2), wvl%h(3), proj%keys, proj%proj) + write(message, '(a,a,a,a,I0)' ) ch10,& +diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_wfs_free.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_wfs_free.F90 +--- src/42_wvl_wrappers/wvl_wfs_free.F90 2012-01-30 20:43:50.000000000 +0000 ++++ src/42_wvl_wrappers/wvl_wfs_free.F90 2012-03-19 13:01:03.000000000 +0000 +@@ -68,7 +68,7 @@ + #if defined HAVE_DFT_BIGDFT + call deallocate_lr(wfs%Glr, sub) + call deallocate_orbs(wfs%orbs, sub) +- call deallocate_diis_objects(wfs%diis, sub) ++ ! call deallocate_diis_objects(wfs%diis, sub) + call deallocate_comms(wfs%comms, sub) + if (associated(wfs%orbs%eval)) then + ABI_DEALLOCATE(wfs%orbs%eval) +diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_wfs_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_wfs_set.F90 +--- src/42_wvl_wrappers/wvl_wfs_set.F90 2012-01-30 20:43:55.000000000 +0000 ++++ src/42_wvl_wrappers/wvl_wfs_set.F90 2012-03-19 12:58:54.000000000 +0000 +@@ -59,7 +59,7 @@ + use defs_wvltypes + #if defined HAVE_DFT_BIGDFT + use BigDFT_API, only: createWavefunctionsDescriptors, orbitals_descriptors, & +- & orbitals_communicators, allocate_diis_objects, wvl_timing => timing ++ & orbitals_communicators, wvl_timing => timing + #endif + + !This section has been created automatically by the script Abilint (TD). +@@ -179,9 +179,9 @@ + call wvl_timing(me,'CrtDescriptors','OF') + + ! allocate arrays necessary for DIIS convergence acceleration +- call allocate_diis_objects(nwfshist,1._dp,& +- & sum(wfs%comms%ncntt(0:nproc-1)), wfs%orbs%nkptsp, wfs%orbs%nspinor, & +- & wfs%orbs%norbd, wfs%diis, "wvl_init_wfs_type") ++ ! call allocate_diis_objects(nwfshist,1._dp,& ++ ! & sum(wfs%comms%ncntt(0:nproc-1)), wfs%orbs%nkptsp, wfs%orbs%nspinor, & ++ ! & wfs%orbs%norbd, wfs%diis, "wvl_init_wfs_type") + + #else + write(message, '(a,a,a,a)' ) ch10,& diff --git a/sci-physics/abinit/files/6.12.1-gui-conf.patch b/sci-physics/abinit/files/6.12.1-gui-conf.patch new file mode 100644 index 000000000..95c12b354 --- /dev/null +++ b/sci-physics/abinit/files/6.12.1-gui-conf.patch @@ -0,0 +1,12 @@ +diff -Naur abinit-6.12.1_orig/gui/configure abinit-6.12.1/gui/configure +--- gui/configure 2012-01-30 19:42:26.000000000 +0000 ++++ gui/configure 2012-03-16 13:38:54.000000000 +0000 +@@ -3143,7 +3143,7 @@ + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then +- ac_cv_prog_UUDECODE="no" ++ ac_cv_prog_UUDECODE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi diff --git a/sci-physics/abinit/files/6.12.1-libabinit_options.patch b/sci-physics/abinit/files/6.12.1-libabinit_options.patch new file mode 100644 index 000000000..ad28a8183 --- /dev/null +++ b/sci-physics/abinit/files/6.12.1-libabinit_options.patch @@ -0,0 +1,57 @@ +diff -Naur abinit-6.12.1_orig/Makefile.am abinit-6.12.1/Makefile.am +--- Makefile.am 2012-01-30 19:42:26.000000000 +0000 ++++ Makefile.am 2012-03-22 10:32:50.000000000 +0000 +@@ -1279,12 +1279,16 @@ + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/12_hide_mpi/lib12_hide_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/13_memory_mpi/lib13_memory_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/14_hidewrite/lib14_hidewrite.a ++if DO_BUILD_15_GPU_TOOLBOX + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a ++endif + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/16_hideleave/lib16_hideleave.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/18_timing/lib18_timing.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/27_toolbox_oop/lib27_toolbox_oop.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/28_numeric_noabirule/lib28_numeric_noabirule.a ++if DO_BUILD_32_CONTRACT + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a ++endif + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_util/lib32_util.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_geometry/lib42_geometry.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_nlstrain/lib42_nlstrain.a +@@ -1298,7 +1302,9 @@ + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/49_gw_toolbox_oop/lib49_gw_toolbox_oop.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/51_manage_mpi/lib51_manage_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_fft_mpi_noabirule/lib52_fft_mpi_noabirule.a ++if DO_BUILD_52_MANAGE_CUDA + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a ++endif + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_abiutil/lib53_abiutil.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_ffts/lib53_ffts.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_spacepar/lib53_spacepar.a +diff -Naur abinit-6.12.1_orig/Makefile.in abinit-6.12.1/Makefile.in +--- Makefile.in 2012-03-22 09:23:51.000000000 +0000 ++++ Makefile.in 2012-03-22 10:33:22.000000000 +0000 +@@ -2638,12 +2638,12 @@ + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/12_hide_mpi/lib12_hide_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/13_memory_mpi/lib13_memory_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/14_hidewrite/lib14_hidewrite.a +- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a ++@DO_BUILD_15_GPU_TOOLBOX_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/16_hideleave/lib16_hideleave.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/18_timing/lib18_timing.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/27_toolbox_oop/lib27_toolbox_oop.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/28_numeric_noabirule/lib28_numeric_noabirule.a +- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a ++@DO_BUILD_32_CONTRACT_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_util/lib32_util.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_geometry/lib42_geometry.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_nlstrain/lib42_nlstrain.a +@@ -2657,7 +2657,7 @@ + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/49_gw_toolbox_oop/lib49_gw_toolbox_oop.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/51_manage_mpi/lib51_manage_mpi.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_fft_mpi_noabirule/lib52_fft_mpi_noabirule.a +- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a ++@DO_BUILD_52_MANAGE_CUDA_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_abiutil/lib53_abiutil.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_ffts/lib53_ffts.a + cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_spacepar/lib53_spacepar.a diff --git a/sci-physics/abinit/files/6.12.1-xmalloc.patch b/sci-physics/abinit/files/6.12.1-xmalloc.patch new file mode 100644 index 000000000..0c8d98eea --- /dev/null +++ b/sci-physics/abinit/files/6.12.1-xmalloc.patch @@ -0,0 +1,48 @@ +diff -Naur abinit-6.12.1_orig/src/02_clib/fsi_posix.c abinit-6.12.1/src/02_clib/fsi_posix.c +--- src/02_clib/fsi_posix.c 2012-01-30 19:40:41.000000000 +0000 ++++ src/02_clib/fsi_posix.c 2012-03-22 08:21:46.000000000 +0000 +@@ -19,7 +19,7 @@ + */ + + #include "abi_clib.h" +-#include "xmalloc.h" ++/* #include "xmalloc.h" */ + #include "string_f.h" + + /* Create a directory */ +diff -Naur abinit-6.12.1_orig/src/02_clib/intrinsics.c abinit-6.12.1/src/02_clib/intrinsics.c +--- src/02_clib/intrinsics.c 2012-01-30 19:40:41.000000000 +0000 ++++ src/02_clib/intrinsics.c 2012-03-22 08:20:26.000000000 +0000 +@@ -18,7 +18,7 @@ + */ + + #include "abi_clib.h" +-#include "xmalloc.h" ++/* #include "xmalloc.h" */ + #include "string_f.h" + + /* +diff -Naur abinit-6.12.1_orig/src/02_clib/progress_bar.c abinit-6.12.1/src/02_clib/progress_bar.c +--- src/02_clib/progress_bar.c 2012-01-30 19:40:41.000000000 +0000 ++++ src/02_clib/progress_bar.c 2012-03-22 08:21:06.000000000 +0000 +@@ -20,7 +20,7 @@ + */ + + #include "abi_clib.h" +-#include "xmalloc.h" ++/* #include "xmalloc.h" */ + + #include <sys/time.h> + #include <sys/ioctl.h> +diff -Naur abinit-6.12.1_orig/src/02_clib/xmalloc.c abinit-6.12.1/src/02_clib/xmalloc.c +--- src/02_clib/xmalloc.c 2012-01-30 19:40:41.000000000 +0000 ++++ src/02_clib/xmalloc.c 2012-03-22 08:22:09.000000000 +0000 +@@ -19,7 +19,7 @@ + */ + + #include "abi_clib.h" +-#include "xmalloc.h" ++/* #include "xmalloc.h" */ + + static void + memory_error_and_abort (const char *fname) diff --git a/sci-physics/abinit/metadata.xml b/sci-physics/abinit/metadata.xml index c14bc6829..0a34647b9 100644 --- a/sci-physics/abinit/metadata.xml +++ b/sci-physics/abinit/metadata.xml @@ -11,6 +11,11 @@ ABINIT is a package whose main program allows one to find the total energy, char </flag> </use> <use> + <flag name="cuda-double"> + Enable support for double precision nVidia CUDA + </flag> +</use> +<use> <flag name="fftw-threads"> Use the threaded version of sci-libs/fftw </flag> |