aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHonza Macháček <Hloupy.Honza@centrum.cz>2012-03-22 13:39:20 +0100
committerHonza Macháček <Hloupy.Honza@centrum.cz>2012-03-22 13:39:20 +0100
commitde11633feb6440593669f655eb088de809b7067f (patch)
treef2e70e9e1cdc0357b418a12bf565bde64b5992de /sci-libs
parentversion bump (diff)
downloadsci-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.
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/bigdft/ChangeLog15
-rw-r--r--sci-libs/bigdft/Manifest4
-rw-r--r--sci-libs/bigdft/bigdft-1.2.0.2.ebuild89
-rw-r--r--sci-libs/bigdft/bigdft-1.2.0.5.ebuild86
-rw-r--r--sci-libs/bigdft/bigdft-1.6.0.ebuild100
-rw-r--r--sci-libs/bigdft/bigdft-1.6_pre0.ebuild125
-rw-r--r--sci-libs/bigdft/bigdft-1.6_pre1.ebuild128
-rw-r--r--sci-libs/bigdft/files/bigdft-1.6-tuto-bigdft.pc.patch203
-rw-r--r--sci-libs/bigdft/files/bigdft-1.6-tuto-libxc_dir_include.patch50
-rw-r--r--sci-libs/bigdft/files/bigdft-1.6-tuto.1-bigdft.pc.patch203
-rw-r--r--sci-libs/bigdft/files/bigdft-1.6-tuto.1-libxc_dir_include.patch50
-rw-r--r--sci-libs/bigdft/files/bigdft-1.6.0-libxc_dir_include.patch50
12 files changed, 1073 insertions, 30 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