public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Honza Macháček" <Hloupy.Honza@centrum.cz>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-libs/bigdft/, sci-libs/bigdft/files/, sci-physics/abinit/files/, ...
Date: Thu, 22 Mar 2012 12:39:39 +0000 (UTC)	[thread overview]
Message-ID: <1332419960.de11633feb6440593669f655eb088de809b7067f.honza_machacek@gentoo> (raw)

commit:     de11633feb6440593669f655eb088de809b7067f
Author:     Honza Macháček <Hloupy.Honza <AT> centrum <DOT> cz>
AuthorDate: Thu Mar 22 12:39:20 2012 +0000
Commit:     Honza Macháček <Hloupy.Honza <AT> centrum <DOT> cz>
CommitDate: Thu Mar 22 12:39:20 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=de11633f

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.

---
 sci-libs/bigdft/ChangeLog                          |   15 +
 sci-libs/bigdft/bigdft-1.2.0.2.ebuild              |   89 ++++++
 .../{bigdft-1.6.0.ebuild => bigdft-1.2.0.5.ebuild} |   77 +++---
 sci-libs/bigdft/bigdft-1.6.0.ebuild                |  100 ++++--
 sci-libs/bigdft/bigdft-1.6_pre0.ebuild             |  125 ++++++++
 sci-libs/bigdft/bigdft-1.6_pre1.ebuild             |  128 ++++++++
 .../bigdft/files/bigdft-1.6-tuto-bigdft.pc.patch   |  203 ++++++++++++
 .../files/bigdft-1.6-tuto-libxc_dir_include.patch  |   50 +++
 .../bigdft/files/bigdft-1.6-tuto.1-bigdft.pc.patch |  203 ++++++++++++
 .../bigdft-1.6-tuto.1-libxc_dir_include.patch      |   50 +++
 .../files/bigdft-1.6.0-libxc_dir_include.patch     |   50 +++
 sci-physics/abinit/ChangeLog                       |   15 +-
 sci-physics/abinit/abinit-6.10.1.ebuild            |  211 ------------
 sci-physics/abinit/abinit-6.12.1.ebuild            |  334 ++++++++++++++++++++
 sci-physics/abinit/files/6.12.1-autoconf.patch     |   21 ++
 sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch |   61 ++++
 sci-physics/abinit/files/6.12.1-gui-conf.patch     |   12 +
 .../abinit/files/6.12.1-libabinit_options.patch    |   57 ++++
 sci-physics/abinit/files/6.12.1-xmalloc.patch      |   48 +++
 sci-physics/abinit/metadata.xml                    |    5 +
 20 files changed, 1575 insertions(+), 279 deletions(-)

diff --git a/sci-libs/bigdft/ChangeLog b/sci-libs/bigdft/ChangeLog
index ec29389..60bf2cd 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/bigdft-1.2.0.2.ebuild b/sci-libs/bigdft/bigdft-1.2.0.2.ebuild
new file mode 100644
index 0000000..208b45d
--- /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.6.0.ebuild b/sci-libs/bigdft/bigdft-1.2.0.5.ebuild
similarity index 51%
copy from sci-libs/bigdft/bigdft-1.6.0.ebuild
copy to sci-libs/bigdft/bigdft-1.2.0.5.ebuild
index 2def6c6..161d7de 100644
--- a/sci-libs/bigdft/bigdft-1.6.0.ebuild
+++ b/sci-libs/bigdft/bigdft-1.2.0.5.ebuild
@@ -4,9 +4,7 @@
 
 EAPI=3
 
-FORTRAN_STANDARD=90
-
-inherit autotools-utils eutils fortran-2 toolchain-funcs
+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/"
@@ -17,14 +15,13 @@ SRC_URI="
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="cuda doc mpi static-libs test"
+IUSE="cuda doc mpi 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 )"
 DEPEND="${RDEPEND}
@@ -32,7 +29,20 @@ DEPEND="${RDEPEND}
 	>=sys-devel/autoconf-2.59
 	doc? ( virtual/latex-base )"
 
-pkg_setup() {
+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"
@@ -40,41 +50,34 @@ pkg_setup() {
 	else
 		tc-export FC 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
-}
-
-src_configure() {
 
-	local myeconfargs=(
-		--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 mpi)
-		$(use_enable cuda cuda-gpu)
-		$(use_with cuda cuda-path /opt/cuda)
-		$(use_with cuda lib-cutils /opt/cuda/lib)
-		FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}}"
+	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)"
-		)
-	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
+	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() {

diff --git a/sci-libs/bigdft/bigdft-1.6.0.ebuild b/sci-libs/bigdft/bigdft-1.6.0.ebuild
index 2def6c6..66ea41f 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 0000000..f15fa23
--- /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 0000000..21cff15
--- /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 0000000..3ddde70
--- /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 0000000..16aca5e
--- /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 0000000..3ddde70
--- /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 0000000..6d0f604
--- /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 0000000..7179fcb
--- /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 b6b8822..2a5c1ee 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/abinit-6.10.1.ebuild b/sci-physics/abinit/abinit-6.10.1.ebuild
deleted file mode 100644
index cdd495f..0000000
--- 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 0000000..00e1fa2
--- /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 0000000..7e0169f
--- /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 0000000..857a27a
--- /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 0000000..95c12b3
--- /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 0000000..ad28a81
--- /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 0000000..0c8d98e
--- /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 c14bc68..0a34647 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>



             reply	other threads:[~2012-03-22 12:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-22 12:39 Honza Macháček [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-03-30  4:11 [gentoo-commits] proj/sci:master commit in: sci-libs/bigdft/, sci-libs/bigdft/files/, sci-physics/abinit/files/, Honza Macháček

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1332419960.de11633feb6440593669f655eb088de809b7067f.honza_machacek@gentoo \
    --to=hloupy.honza@centrum.cz \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox