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-physics/abinit
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-physics/abinit')
-rw-r--r--sci-physics/abinit/ChangeLog15
-rw-r--r--sci-physics/abinit/Manifest8
-rw-r--r--sci-physics/abinit/abinit-6.10.1.ebuild211
-rw-r--r--sci-physics/abinit/abinit-6.12.1.ebuild334
-rw-r--r--sci-physics/abinit/files/6.12.1-autoconf.patch21
-rw-r--r--sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch61
-rw-r--r--sci-physics/abinit/files/6.12.1-gui-conf.patch12
-rw-r--r--sci-physics/abinit/files/6.12.1-libabinit_options.patch57
-rw-r--r--sci-physics/abinit/files/6.12.1-xmalloc.patch48
-rw-r--r--sci-physics/abinit/metadata.xml5
10 files changed, 556 insertions, 216 deletions
diff --git a/sci-physics/abinit/ChangeLog b/sci-physics/abinit/ChangeLog
index b6b882218..2a5c1ee69 100644
--- a/sci-physics/abinit/ChangeLog
+++ b/sci-physics/abinit/ChangeLog
@@ -1,7 +1,20 @@
# ChangeLog for sci-physics/abinit
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*abinit-6.12.1 (22 Mar 2012)
+
+ 22 Mar 2012; Honza Macháček <Hloupy.Honza@centrum.cz>
+ +files/6.12.1-autoconf.patch, -abinit-6.10.1.ebuild,
+ +files/6.12.1-gui-conf.patch, +abinit-6.12.1.ebuild,
+ +files/6.12.1-libabinit_options.patch, +files/6.12.1-xmalloc.patch,
+ +files/6.12.1-bigDFT-1.6.0.patch, metadata.xml:
+ 6.12.1 added, moved towards autotools-utils. Uses sci-libs/bigdft-1.6_pre1,
+ patching to use the latest 1.6.0 still not done. Libraries installed,
+ pkg-config file corrected; libabinit made an option, but for now would
+ conflict with sci-libs/bigdft. TO DO: Make sci-libs/bigdft compile against
+ libabinit of sci-physics/abinit, solve the resulting circular dependency.
+
*abinit-6.10.3 (14 Dec 2011)
14 Dec 2011; Honza Macháček <Hloupy.Honza@centrum.cz> -abinit-6.8.1.ebuild,
diff --git a/sci-physics/abinit/Manifest b/sci-physics/abinit/Manifest
index 412fab010..e35fffeac 100644
--- a/sci-physics/abinit/Manifest
+++ b/sci-physics/abinit/Manifest
@@ -1,4 +1,4 @@
-DIST abinit-6.10.1.tar.gz 44363678 RMD160 44d4aaeb58fdbc81f376025dbf4c13af91e6aa4d SHA1 2fb55ab80b1a90756dd664086c3263636716ef82 SHA256 a28c76829d4230937c3a4e670cebeaf3b8e3989a532c189dddabdafe26da8c8a
-DIST abinit-6.10.3.tar.gz 69158203 RMD160 5b9c9fea3d488aa5f819037e8ae0acc0a19512ef SHA1 d47b72e226d722eed3eadb30890ad534617328e3 SHA256 185c45c7c9caf5f735d841fa85b2dfc612eee81b76f905a9988b5f0994be6fb5
-DIST abinit-6.6.3.tar.gz 41161321 RMD160 f9169812cfb2dc30f752bf0ab0ffc41250ea0bbb SHA1 02c9fd6abe1b73164b804b6e0b1f829ec9fd286e SHA256 fad84d3e774e3b4ba16f2a2924e60b8ba42ab21fefd89d8ce4848f9a9e03f774
-DIST abinit-6.8.2.tar.gz 43565001 RMD160 151fcd3fa3c8aad204aa01a0877b101b7faf0550 SHA1 2b96bb175e1946c48ee3a72064b08ccc1b8dbdea SHA256 7a0e8ebfce50ae18e5c4f25f9bfd534623a41985082efead918a3878464a181c
+DIST abinit-6.10.3.tar.gz 69158203 SHA256 185c45c7c9caf5f735d841fa85b2dfc612eee81b76f905a9988b5f0994be6fb5 SHA512 010fee8f0740cc05208f1abe52f5aae25077d5792331a98466ecc13f27605776e19a17bdeab2c7cf09eb233109ae7f14d55afecd89113a91a0d67494f2c5abb2 WHIRLPOOL be7f127116a6f59ea4cbd84f01e3371b5959275bae0957e654eea9dadeef278ad0081f8600476e716865ef32b5aea536ccb09f12f5934f95aaf8eeccb06bc5d6
+DIST abinit-6.12.1.tar.gz 58474634 SHA256 1b0f0fe5a6f8ce97b3da7ea7640f16c36902c7a5bc08651abd139eb7e13222b6 SHA512 59d757400539d0eb385fd37c9a6e2824bd3a2a6378a6c8f39a2f336cf3f842120538a014633561a5c16b9debf4ec054d51beaec2952629e0a88ab283dc2db431 WHIRLPOOL 9c02b1184fabe96405fe05ecd9c40d48f104d92d55ed2900dc3755758aca12cb4dd64e6fea3e3f949bcbb8a615ecd359a76bc9752969e585189865cd75c14c1d
+DIST abinit-6.6.3.tar.gz 41161321 SHA256 fad84d3e774e3b4ba16f2a2924e60b8ba42ab21fefd89d8ce4848f9a9e03f774 SHA512 834bd017a81444a75335d13579c37efe1d58b571a0b2a673f8dfb60342cd10fb849e6a2e92042be59445835e1ad3a484149faa260280e4e6db9b284ed03c208a WHIRLPOOL 302cf85a65e4c07ee716379844d1435503ee042fb987f3c43e5fc4e60ffe32ec0498f8d31dcc7a61043bfcedf56b87eadca11657156fb6d912f6c4627aa60bbf
+DIST abinit-6.8.2.tar.gz 43565001 SHA256 7a0e8ebfce50ae18e5c4f25f9bfd534623a41985082efead918a3878464a181c SHA512 97287a7527f1088435c95697b90a27eaf6cb5b8921e2d4e702279552f9d8669735242d5bfa62b944a7da418286a317131c352952ac0fac58540de4e8ded56385 WHIRLPOOL 27b11310695179e2a8794dbb7b0a3e041477cf9bec1ddc3468f6c54e3549806cef66c348dbb34839d3dfb0633191b5a9531f4e415d2c0a1d776ddf9dddff3756
diff --git a/sci-physics/abinit/abinit-6.10.1.ebuild b/sci-physics/abinit/abinit-6.10.1.ebuild
deleted file mode 100644
index cdd495fd1..000000000
--- a/sci-physics/abinit/abinit-6.10.1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="3"
-
-inherit autotools eutils fortran-2 multilib toolchain-funcs
-
-DESCRIPTION="Find total energy, charge density and electronic structure using density functional theory"
-HOMEPAGE="http://www.abinit.org/"
-SRC_URI="http://ftp.abinit.org/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cuda -debug +fftw +fftw-threads +fox gsl +hdf5 mpi +netcdf python -test +threads -vdwxc"
-
-RDEPEND=">=sci-libs/bigdft-1.2.0.2
- sci-libs/etsf_io
- =sci-libs/libxc-1.0[fortran]
- sci-physics/atompaw[libxc]
- fox? ( sci-libs/fox[dom,sax,wcml,wxml] )
- netcdf? (
- sci-libs/netcdf[fortran]
- hdf5? (
- sci-libs/netcdf[fortran,hdf5]
- )
- )
- hdf5? ( sci-libs/hdf5[fortran] )
- sci-libs/wannier90
- virtual/blas
- virtual/lapack
- gsl? ( sci-libs/gsl )
- fftw? (
- sci-libs/fftw:3.0
- fftw-threads? ( sci-libs/fftw:3.0[threads] )
- )
- mpi? ( virtual/mpi )
- python? ( dev-python/numpy )
- cuda? ( dev-util/nvidia-cuda-sdk )"
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
- dev-perl/Text-Markdown"
-
-S=${WORKDIR}/${P%[a-z]}
-
-pkg_setup() {
- fortran-2_pkg_setup
- # Doesn't compile with gcc-4.0, only >=4.1
- if [[ $(tc-getFC) == *gfortran ]]; then
- if [[ $(gcc-major-version) -eq 4 ]] \
- && [[ $(gcc-minor-version) -lt 1 ]]; then
- die "Requires gcc-4.1 or newer"
- fi
- fi
- if use fftw-threads && ! use fftw; then
- ewarn "fftw-threads set but fftw not used, ignored"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/6.2.2-change-default-directories.patch
- epatch "${FILESDIR}"/6.0.3-fftw.patch
- eautoreconf
-}
-
-src_configure() {
- local libs="-L/usr/$(get_libdir)"
- local modules="-I/usr/$(get_libdir)/finclude"
- local FoX_libs="${libs} -lFoX_dom -lFoX_sax -lFoX_wcml -lFoX_wxml -lFoX_common -lFoX_utils -lFoX_fsys"
- local trio_flavor="etsf_io"
- use fox && trio_flavor="${trio_flavor}+fox"
- use netcdf && trio_flavor="${trio_flavor}+netcdf"
- local netcdff_libs="-lnetcdff"
- use hdf5 && netcdff_libs="${netcdff_libs} -lhdf5_fortran"
- local fft_flavor="fftw3"
- local fft_libs="-L/usr/lib"
- # The fftw threads support is protected by black magick.
- # Anybody removes it, dies.
- # New USE flag "fftw-threads" was added to control usage
- # of the threaded fftw variant. Since fftw-3.3 has expanded
- # the paralel options by MPI and OpenMP support, analogical
- # USE flags should be added to select them in future;
- # unusable with previous FFTW versions, they are postponed
- # for now.
- if use fftw-threads; then
- fft_flavor="fftw3-threads"
- if has_version '>=sci-libs/fftw-3.3'; then
- # pkg-config files for fftw-3.3 are broken
- # All the parallel stuff is separated
- # from the main body of common routines,
- # and -lfftw3 must be always included alongside.
- # Until version 3.3 this used to be masked by
- # .la files.
- # Bug 384645
- fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads) $(pkg-config --libs fftw3)"
- else
- fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads)"
- fi
- else
- fft_libs="${fft_libs} $(pkg-config --libs fftw3)"
- fi
- if use mpi; then
- MY_FC="mpif90"
- MY_CC="mpicc"
- MY_CXX="mpic++"
- else
- MY_FC="$(tc-getFC)"
- MY_CC="$(tc-getCC)"
- MY_CXX="$(tc-getCXX)"
- fi
- MARKDOWN=Markdown.pl econf \
- $(use_enable debug debug enhanced) \
- $(use_enable mpi) \
- $(use_enable mpi mpi-io) \
- --disable-smp \
- $(use_enable vdwxc) \
- $(use_enable cuda gpu) \
- "$(use cuda && echo "--with-gpu-flavor=cuda-single")" \
- "$(use cuda && echo "--with-gpu-prefix=/opt/cuda/")" \
- "$(use gsl && echo "--with-math-flavor=gsl")" \
- "$(use gsl && echo "--with-math-incs=$(pkg-config --cflags gsl)")" \
- "$(use gsl && echo "--with-math-libs=$(pkg-config --libs gsl)")" \
- --with-linalg-flavor="atlas" \
- --with-linalg-libs="$(pkg-config --libs lapack)" \
- --with-trio-flavor="${trio_flavor}" \
- "$(use netcdf && echo "--with-netcdf-incs=-I/usr/include")" \
- "$(use netcdf && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" \
- "$(use fox && echo "--with-fox-incs=${modules}")" \
- "$(use fox && echo "--with-fox-libs=${FoX_libs}")" \
- --with-etsf-io-incs="${modules}" \
- --with-etsf-io-libs="${libs} -letsf_io -letsf_io_utils -letsf_io_low_level" \
- --with-dft-flavor="libxc+bigdft+atompaw+wannier90" \
- --with-libxc-incs="${modules}" \
- --with-libxc-libs="${libs} -lxc" \
- --with-bigdft-incs="${modules}" \
- --with-bigdft-libs="${libs} -lpoissonsolver -lbigdft" \
- --with-atompaw-incs="${modules}" \
- --with-atompaw-libs="${libs} -latompaw" \
- --with-wannier90-bins="/usr/bin" \
- --with-wannier90-incs="${modules}" \
- --with-wannier90-libs="${libs} -lwannier $(pkg-config --libs lapack)" \
- "$(use fftw && echo "--with-fft-flavor=${fft_flavor}")" \
- "$(use fftw && echo "--with-fft-incs=-I/usr/include")" \
- "$(use fftw && echo "--with-fft-libs=${fft_libs}")" \
- --with-timer-flavor="abinit" \
- FC="${MY_FC}" \
- CC="${MY_CC}" \
- CXX="${MY_CXX}" \
- LD="$(tc-getLD)" \
- FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules} -I/usr/include"
-}
-
-src_compile() {
- emake || die
-}
-
-src_test() {
- einfo "The tests take quite a while, on the order of 1-2 hours"
- einfo "on an Intel Penryn (2.5 GHz)."
- cd "${S}"/tests
- emake tests_min || ewarn "Minimal tests failed"
- emake tests_paw || ewarn "PAW tests failed"
- emake tests_gw || ewarn "GW tests failed"
- emake tests_gw_paw || ewarn "GW-PAW tests failed"
- emake tests tdft || ewarn "TDFT tests failed"
- emake tests_bench || ewarn "Benchmarks failed"
-
- local REPORT
- for REPORT in $(find . -name report); do
- REPORT=${REPORT#*/}
- elog "Parameters and unusual results for ${REPORT%%/*} tests"
- echo "Parameters and unusual results for ${REPORT%%/*} tests" >>tests_summary.txt
- while read line; do
- elog "${line}"
- echo "${line}" >>tests_summary.txt
- done \
- < <(grep -v -e succeeded -e passed ${REPORT})
- done
-
- local testdir
- find . -name "tmp-test*" -print | \
- while read testdir; do
- if [ -e summary_of_tests.tar ]; then
- tar rvf summary_of_tests.tar ${testdir}
- else tar cvf summary_of_tests.tar ${testdir}
- fi
- done
-
- elog "The full test results will be installed as summary_of_tests.tar.bz2."
- elog "Also a concise report tests_summary.txt is installed."
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- if use test; then
- dodoc tests/tests_summary.txt || ewarn "Copying tests summary failed"
- dodoc tests/summary_tests.tar || ewarn "Copying tests results failed"
- dodoc tests/summary_of_tests.tar || ewarn "Copying tests results failed"
- fi
-
- dodoc KNOWN_PROBLEMS README || die "Copying doc files failed"
-}
-
-pkg_postinst() {
- if use test; then
- elog "The full test results will be installed as summary_tests.tar.bz2."
- elog "Also a concise report tests_summary.txt is installed."
- fi
-}
diff --git a/sci-physics/abinit/abinit-6.12.1.ebuild b/sci-physics/abinit/abinit-6.12.1.ebuild
new file mode 100644
index 000000000..00e1fa2fb
--- /dev/null
+++ b/sci-physics/abinit/abinit-6.12.1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+
+inherit autotools-utils fortran-2 multilib toolchain-funcs
+
+DESCRIPTION="Find total energy, charge density and electronic structure using density functional theory"
+HOMEPAGE="http://www.abinit.org/"
+SRC_URI="http://ftp.abinit.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cuda cuda-double -debug +etsf_io +fftw +fftw-threads +fox gsl gui +hdf5 libabinit mpi +netcdf python -test +threads -vdwxc"
+
+RDEPEND="=sci-libs/bigdft-1.6_pre1
+ sci-libs/etsf_io
+ =sci-libs/libxc-1*[fortran]
+ sci-physics/atompaw[libxc]
+ etsf_io? ( sci-libs/etsf_io )
+ fox? ( sci-libs/fox[dom,sax,wcml,wxml] )
+ netcdf? (
+ sci-libs/netcdf[fortran]
+ hdf5? (
+ sci-libs/netcdf[fortran,hdf5]
+ )
+ )
+ hdf5? ( sci-libs/hdf5[fortran] )
+ sci-libs/wannier90
+ virtual/blas
+ virtual/lapack
+ gsl? ( sci-libs/gsl )
+ fftw? (
+ sci-libs/fftw:3.0
+ fftw-threads? ( sci-libs/fftw:3.0[threads] )
+ )
+ mpi? ( virtual/mpi )
+ python? ( dev-python/numpy )
+ cuda? ( dev-util/nvidia-cuda-sdk )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ gui? ( >=virtual/jdk-1.6.0
+ app-arch/sharutils
+ sys-apps/gawk )
+ dev-perl/Text-Markdown"
+
+S=${WORKDIR}/${P%[a-z]}
+
+lat1loc=""
+
+DOCS=( AUTHORS ChangeLog COPYING INSTALL KNOWN_PROBLEMS NEWS PACKAGING
+ README README.ChangeLog README.GPU README.xlf RELNOTES THANKS )
+
+FORTRAN_STANDARD=90
+
+pkg_setup() {
+ # fortran-2.eclass does not handle mpi wrappers
+ if use mpi; then
+ export FC="mpif90"
+ export F77="mpif77"
+ export CC="mpicc"
+ export CXX="mpic++"
+ else
+ tc-export FC F77 CC CXX
+ fi
+ fortran-2_pkg_setup
+
+ # Doesn't compile with gcc-4.0, only >=4.1
+ if [[ $(tc-getFC) == *gfortran ]]; then
+ if [[ $(gcc-major-version) -eq 4 ]] \
+ && [[ $(gcc-minor-version) -lt 1 ]]; then
+ die "Requires gcc-4.1 or newer"
+ fi
+ fi
+
+ # Sort out some USE options
+ if use fftw-threads && ! use fftw; then
+ ewarn "fftw-threads set but fftw not used, ignored"
+ fi
+ if use cuda-double && ! use cuda; then
+ ewarn "cuda-double set but cuda not used, ignored"
+ fi
+ if use gui; then
+ lat1loc="$(locale |awk '/LC_CTYPE="(.*)"/{sub("LC_CTYPE=\"",""); sub("\" *$", ""); print}')"
+ if locale charmap |grep -i "\<iso885915\?\>"; then
+ einfo "Good, locale compatible with the GUI build"
+ else
+ ewarn "The locale ${lat1loc} incompatible with the GUI build"
+ if latloc=`locale -a| grep -i "\<iso885915\?\>"`; then
+ if echo "${latloc}" |grep -q "^fr"; then
+ lat1loc="$(echo "${latloc}" | grep -im1 "^fr")"
+ else
+ lat1loc="$(echo "${latloc}" | grep -im1 "iso88591")"
+ fi
+ einfo "Will use ${lat1loc} to build the GUI"
+ else
+ ewarn "No ISO-8859-1 nor ISO-8859-15 locale available, the GUI build may crash"
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/6.2.2-change-default-directories.patch
+ epatch "${FILESDIR}"/6.0.3-fftw.patch
+ epatch "${FILESDIR}"/6.12.1-autoconf.patch
+ epatch "${FILESDIR}"/6.12.1-xmalloc.patch
+ epatch "${FILESDIR}"/6.12.1-libabinit_options.patch
+ eautoreconf
+
+ if use gui; then
+ epatch "${FILESDIR}"/6.12.1-gui-conf.patch
+# pushd "${S}"/gui
+ pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
+ "${S}"/gui/autogen.sh
+ popd
+ fi
+}
+
+src_configure() {
+ local libs="-L/usr/$(get_libdir)"
+ local modules="-I/usr/$(get_libdir)/finclude"
+ local FoX_libs="${libs} -lFoX_dom -lFoX_sax -lFoX_wcml -lFoX_wxml -lFoX_common -lFoX_utils -lFoX_fsys"
+ local trio_flavor=""
+ use etsf_io && trio_flavor="${trio_flavor}+etsf_io"
+ use fox && trio_flavor="${trio_flavor}+fox"
+ use netcdf && trio_flavor="${trio_flavor}+netcdf"
+ test "no${trio_flavor}" = "no" && trio_flavor="none"
+ local netcdff_libs="-lnetcdff"
+ use hdf5 && netcdff_libs="${netcdff_libs} -lhdf5_fortran"
+ local fft_flavor="fftw3"
+ local fft_libs="-L/usr/lib"
+ # The fftw threads support is protected by black magick.
+ # Anybody removes it, dies.
+ # New USE flag "fftw-threads" was added to control usage
+ # of the threaded fftw variant. Since fftw-3.3 has expanded
+ # the paralel options by MPI and OpenMP support, analogical
+ # USE flags should be added to select them in future;
+ # unusable with previous FFTW versions, they are postponed
+ # for now.
+ if use fftw-threads; then
+ fft_flavor="fftw3-threads"
+ if has_version '>=sci-libs/fftw-3.3'; then
+ # pkg-config files for fftw-3.3 are broken
+ # All the parallel stuff is separated
+ # from the main body of common routines,
+ # and -lfftw3 must be always included alongside.
+ # Until version 3.3 this used to be masked by
+ # .la files.
+ # Bug 384645
+ fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads) $(pkg-config --libs fftw3)"
+ else
+ fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads)"
+ fi
+ else
+ fft_libs="${fft_libs} $(pkg-config --libs fftw3)"
+ fi
+ local gpu_flavor="none"
+ if use cuda; then
+ gpu_flavor="cuda-single"
+ if use cuda-double; then
+ gpu_flavor="cuda-double"
+ fi
+ fi
+
+ local myeconfargs=(
+ --enable-clib
+ --enable-exports
+ $(use_enable gui)
+ $(use_enable debug debug enhanced)
+ $(use_enable mpi)
+ $(use_enable mpi mpi-io)
+ --disable-smp
+ $(use_enable vdwxc)
+ $(use_enable cuda gpu)
+ "$(use cuda && echo "--with-gpu-flavor=${gpu_flavor}")"
+ "$(use cuda && echo "--with-gpu-prefix=/opt/cuda/")"
+ "$(use gsl && echo "--with-math-flavor=gsl")"
+ "$(use gsl && echo "--with-math-incs=$(pkg-config --cflags gsl)")"
+ "$(use gsl && echo "--with-math-libs=$(pkg-config --libs gsl)")"
+ --with-linalg-flavor="atlas"
+ --with-linalg-libs="$(pkg-config --libs lapack)"
+ --with-trio-flavor="${trio_flavor}"
+ "$(use netcdf && echo "--with-netcdf-incs=-I/usr/include")"
+ "$(use netcdf && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")"
+ "$(use fox && echo "--with-fox-incs=${modules}")"
+ "$(use fox && echo "--with-fox-libs=${FoX_libs}")"
+ "$(use etsf_io && echo "--with-etsf-io-incs=${modules}")"
+ "$(use etsf_io && echo "--with-etsf-io-libs=${libs} -letsf_io -letsf_io_utils -letsf_io_low_level")"
+ --with-dft-flavor="libxc+bigdft+atompaw+wannier90"
+ --with-libxc-incs="${modules}"
+ --with-libxc-libs="${libs} -lxc"
+ --with-bigdft-incs="${modules}"
+ --with-bigdft-libs="$(pkg-config --libs bigdft)"
+ --with-atompaw-incs="${modules}"
+ --with-atompaw-libs="${libs} -latompaw"
+ --with-wannier90-bins="/usr/bin"
+ --with-wannier90-incs="${modules}"
+ --with-wannier90-libs="${libs} -lwannier $(pkg-config --libs lapack)"
+ "$(use fftw && echo "--with-fft-flavor=${fft_flavor}")"
+ "$(use fftw && echo "--with-fft-incs=-I/usr/include")"
+ "$(use fftw && echo "--with-fft-libs=${fft_libs}")"
+ --with-timer-flavor="abinit"
+ LD="$(tc-getLD)"
+ FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules} -I/usr/include"
+ )
+
+ MARKDOWN=Markdown.pl autotools-utils_src_configure
+
+ if use gui; then
+ # autotools-utils_src_configure() part expanded
+ _check_build_dir
+ pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
+ mkdir -p gui
+ cd gui
+ ECONF_SOURCE="${S}"/gui econf
+ fi
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ # Apparently libabinit.a is not built by default
+ # Used by BigDFT. Should probably be built separately,
+ # as a package of its own: BigDFT used by Abinit.
+ # Does libabinit.a depend on BigDFT, if used?
+ # Can Abinit use external libabinit.a?
+ use libabinit && autotools-utils_src_compile libabinit.a
+
+ if use gui; then
+ #autotools-utils_src_compile() expanded
+ # _check_build_dir has already been called
+ pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
+ # now what the function cannot be called to do
+ cd gui
+ LC_CTYPE="${lat1loc}" emake || die "Making GUI failed"
+ popd > /dev/null
+ fi
+
+ sed -i -e's/libatlas/lapack/' "${AUTOTOOLS_BUILD_DIR}"/config.pc
+}
+
+src_test() {
+ einfo "The tests take quite a while, easily several hours"
+ # autotools-utils_src_test() expanded
+ _check_build_dir
+ pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
+ # again something the autotools-utils function cannot be called to do
+ # now quite a lot of work actually
+ cd tests
+ emake tests_min || ewarn "Minimal tests failed"
+ emake tests_paw || ewarn "PAW tests failed"
+ emake tests_gw || ewarn "GW tests failed"
+ emake tests_gw_paw || ewarn "GW-PAW tests failed"
+ emake tests tdft || ewarn "TDFT tests failed"
+ emake tests_bench || ewarn "Benchmarks failed"
+
+ local REPORT
+ for REPORT in $(find . -name report); do
+ REPORT=${REPORT#*/}
+ elog "Parameters and unusual results for ${REPORT%%/*} tests"
+ echo "Parameters and unusual results for ${REPORT%%/*} tests" >>tests_summary.txt
+ while read line; do
+ elog "${line}"
+ echo "${line}" >>tests_summary.txt
+ done \
+ < <(grep -v -e succeeded -e passed ${REPORT})
+ done
+
+ local testdir
+ find . -name "tmp-test*" -print | \
+ while read testdir; do
+ if [ -e summary_of_tests.tar ]; then
+ tar rvf summary_of_tests.tar ${testdir}
+ else tar cvf summary_of_tests.tar ${testdir}
+ fi
+ done
+ popd > /dev/null
+
+ elog "The full test results will be installed as summary_of_tests.tar.bz2."
+ elog "Also a concise report tests_summary.txt is installed."
+}
+
+src_install() {
+ #autotools-utils_src_install() expanded
+ _check_build_dir
+ pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ use libabinit && dolib libabinit.a
+
+ if use gui; then
+ pushd gui
+ emake DESTDIR="${D}" install || die "The GUI install failed"
+ popd
+ fi
+
+ if use test; then
+ for dc in tests_summary.txt summary_tests.tar summary_of_tests.tar; do
+ test -e tests/"${dc}" && dodoc tests/"${dc}" || ewarn "Copying tests results failed"
+ done
+ fi
+
+ popd > /dev/null
+
+ # XXX: support installing them from builddir as well!!!
+ if [[ ${DOCS} ]]; then
+ dodoc "${DOCS[@]}" || die "dodoc failed"
+ else
+ local f
+ # same list as in PMS
+ for f in README* ChangeLog AUTHORS NEWS TODO CHANGES \
+ THANKS BUGS FAQ CREDITS CHANGELOG; do
+ if [[ -s ${f} ]]; then
+ dodoc "${f}" || die "(default) dodoc ${f} failed"
+ fi
+ done
+ fi
+ if [[ ${HTML_DOCS} ]]; then
+ dohtml -r "${HTML_DOCS[@]}" || die "dohtml failed"
+ fi
+
+ # Remove libtool files and unnecessary static libs
+ remove_libtool_files
+}
+
+pkg_postinst() {
+ if use test; then
+ elog "The full test results will be installed as summary_tests.tar.bz2."
+ elog "Also a concise report tests_summary.txt is installed."
+ fi
+}
diff --git a/sci-physics/abinit/files/6.12.1-autoconf.patch b/sci-physics/abinit/files/6.12.1-autoconf.patch
new file mode 100644
index 000000000..7e0169f63
--- /dev/null
+++ b/sci-physics/abinit/files/6.12.1-autoconf.patch
@@ -0,0 +1,21 @@
+diff -Naur old/fallbacks/configure.ac new/fallbacks/configure.ac
+--- old/fallbacks/configure.ac 2012-01-30 19:40:41.000000000 +0000
++++ new/fallbacks/configure.ac 2012-02-13 08:16:08.000000000 +0000
+@@ -114,6 +114,17 @@
+
+ # ---------------------------------------------------------------------------- #
+
++AM_CONDITIONAL([DO_BUILD_FOX],[test "${enable_fox}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_LIBXC],[test "${enable_libxc}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_LINALG],[test "${enable_linalg}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_NETCDF],[test "${enable_netcdf}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_ETSF_IO],[test "${enable_etsf_io}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_ATOMPAW],[test "${enable_atompaw}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_WANNIER90],[test "${enable_wannier90}" = "yes"])
++AM_CONDITIONAL([DO_BUILD_BIGDFT],[test "${enable_bigdft}" = "yes"])
++
++# ---------------------------------------------------------------------------- #
++
+ #
+ # Downloading support
+ #
diff --git a/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch b/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch
new file mode 100644
index 000000000..857a27abc
--- /dev/null
+++ b/sci-physics/abinit/files/6.12.1-bigDFT-1.6.0.patch
@@ -0,0 +1,61 @@
+diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_descr_psp_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_descr_psp_set.F90
+--- src/42_wvl_wrappers/wvl_descr_psp_set.F90 2012-01-30 20:43:51.000000000 +0000
++++ src/42_wvl_wrappers/wvl_descr_psp_set.F90 2012-03-19 13:06:59.000000000 +0000
+@@ -105,7 +105,7 @@
+ ! Missing currently read radii_cf.
+ wvl%atoms%donlcc = .false.
+ ! TODO: add symmetry support
+- wvl%atoms%symObj = -1
++ wvl%atoms%sym%symObj = -1
+ #endif
+ end subroutine wvl_descr_psp_set
+ !!***
+diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_projectors_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_projectors_set.F90
+--- src/42_wvl_wrappers/wvl_projectors_set.F90 2012-01-30 20:43:50.000000000 +0000
++++ src/42_wvl_wrappers/wvl_projectors_set.F90 2012-03-19 13:17:37.000000000 +0000
+@@ -122,7 +122,7 @@
+ ABI_ALLOCATE(xcart,(3, natom))
+ call xredxcart(natom, 1, rprimd, xcart, xred)
+
+- call createProjectorsArrays(me, wfs%Glr%d%n1, wfs%Glr%d%n2, wfs%Glr%d%n3, &
++ call createProjectorsArrays(me, wfs%Glr, &
+ & xcart, wvl%atoms, wfs%orbs, psps%gth_params%radii_cf, &
+ & wvl_frmult, wvl_frmult, wvl%h(1), wvl%h(2), wvl%h(3), proj%keys, proj%proj)
+ write(message, '(a,a,a,a,I0)' ) ch10,&
+diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_wfs_free.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_wfs_free.F90
+--- src/42_wvl_wrappers/wvl_wfs_free.F90 2012-01-30 20:43:50.000000000 +0000
++++ src/42_wvl_wrappers/wvl_wfs_free.F90 2012-03-19 13:01:03.000000000 +0000
+@@ -68,7 +68,7 @@
+ #if defined HAVE_DFT_BIGDFT
+ call deallocate_lr(wfs%Glr, sub)
+ call deallocate_orbs(wfs%orbs, sub)
+- call deallocate_diis_objects(wfs%diis, sub)
++ ! call deallocate_diis_objects(wfs%diis, sub)
+ call deallocate_comms(wfs%comms, sub)
+ if (associated(wfs%orbs%eval)) then
+ ABI_DEALLOCATE(wfs%orbs%eval)
+diff -Naur abinit-6.12.1_orig/src/42_wvl_wrappers/wvl_wfs_set.F90 abinit-6.12.1/src/42_wvl_wrappers/wvl_wfs_set.F90
+--- src/42_wvl_wrappers/wvl_wfs_set.F90 2012-01-30 20:43:55.000000000 +0000
++++ src/42_wvl_wrappers/wvl_wfs_set.F90 2012-03-19 12:58:54.000000000 +0000
+@@ -59,7 +59,7 @@
+ use defs_wvltypes
+ #if defined HAVE_DFT_BIGDFT
+ use BigDFT_API, only: createWavefunctionsDescriptors, orbitals_descriptors, &
+- & orbitals_communicators, allocate_diis_objects, wvl_timing => timing
++ & orbitals_communicators, wvl_timing => timing
+ #endif
+
+ !This section has been created automatically by the script Abilint (TD).
+@@ -179,9 +179,9 @@
+ call wvl_timing(me,'CrtDescriptors','OF')
+
+ ! allocate arrays necessary for DIIS convergence acceleration
+- call allocate_diis_objects(nwfshist,1._dp,&
+- & sum(wfs%comms%ncntt(0:nproc-1)), wfs%orbs%nkptsp, wfs%orbs%nspinor, &
+- & wfs%orbs%norbd, wfs%diis, "wvl_init_wfs_type")
++ ! call allocate_diis_objects(nwfshist,1._dp,&
++ ! & sum(wfs%comms%ncntt(0:nproc-1)), wfs%orbs%nkptsp, wfs%orbs%nspinor, &
++ ! & wfs%orbs%norbd, wfs%diis, "wvl_init_wfs_type")
+
+ #else
+ write(message, '(a,a,a,a)' ) ch10,&
diff --git a/sci-physics/abinit/files/6.12.1-gui-conf.patch b/sci-physics/abinit/files/6.12.1-gui-conf.patch
new file mode 100644
index 000000000..95c12b354
--- /dev/null
+++ b/sci-physics/abinit/files/6.12.1-gui-conf.patch
@@ -0,0 +1,12 @@
+diff -Naur abinit-6.12.1_orig/gui/configure abinit-6.12.1/gui/configure
+--- gui/configure 2012-01-30 19:42:26.000000000 +0000
++++ gui/configure 2012-03-16 13:38:54.000000000 +0000
+@@ -3143,7 +3143,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_UUDECODE="no"
++ ac_cv_prog_UUDECODE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
diff --git a/sci-physics/abinit/files/6.12.1-libabinit_options.patch b/sci-physics/abinit/files/6.12.1-libabinit_options.patch
new file mode 100644
index 000000000..ad28a8183
--- /dev/null
+++ b/sci-physics/abinit/files/6.12.1-libabinit_options.patch
@@ -0,0 +1,57 @@
+diff -Naur abinit-6.12.1_orig/Makefile.am abinit-6.12.1/Makefile.am
+--- Makefile.am 2012-01-30 19:42:26.000000000 +0000
++++ Makefile.am 2012-03-22 10:32:50.000000000 +0000
+@@ -1279,12 +1279,16 @@
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/12_hide_mpi/lib12_hide_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/13_memory_mpi/lib13_memory_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/14_hidewrite/lib14_hidewrite.a
++if DO_BUILD_15_GPU_TOOLBOX
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a
++endif
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/16_hideleave/lib16_hideleave.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/18_timing/lib18_timing.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/27_toolbox_oop/lib27_toolbox_oop.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/28_numeric_noabirule/lib28_numeric_noabirule.a
++if DO_BUILD_32_CONTRACT
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a
++endif
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_util/lib32_util.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_geometry/lib42_geometry.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_nlstrain/lib42_nlstrain.a
+@@ -1298,7 +1302,9 @@
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/49_gw_toolbox_oop/lib49_gw_toolbox_oop.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/51_manage_mpi/lib51_manage_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_fft_mpi_noabirule/lib52_fft_mpi_noabirule.a
++if DO_BUILD_52_MANAGE_CUDA
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a
++endif
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_abiutil/lib53_abiutil.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_ffts/lib53_ffts.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_spacepar/lib53_spacepar.a
+diff -Naur abinit-6.12.1_orig/Makefile.in abinit-6.12.1/Makefile.in
+--- Makefile.in 2012-03-22 09:23:51.000000000 +0000
++++ Makefile.in 2012-03-22 10:33:22.000000000 +0000
+@@ -2638,12 +2638,12 @@
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/12_hide_mpi/lib12_hide_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/13_memory_mpi/lib13_memory_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/14_hidewrite/lib14_hidewrite.a
+- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a
++@DO_BUILD_15_GPU_TOOLBOX_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/15_gpu_toolbox/lib15_gpu_toolbox.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/16_hideleave/lib16_hideleave.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/18_timing/lib18_timing.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/27_toolbox_oop/lib27_toolbox_oop.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/28_numeric_noabirule/lib28_numeric_noabirule.a
+- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a
++@DO_BUILD_32_CONTRACT_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_contract/lib32_contract.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/32_util/lib32_util.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_geometry/lib42_geometry.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/42_nlstrain/lib42_nlstrain.a
+@@ -2657,7 +2657,7 @@
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/49_gw_toolbox_oop/lib49_gw_toolbox_oop.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/51_manage_mpi/lib51_manage_mpi.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_fft_mpi_noabirule/lib52_fft_mpi_noabirule.a
+- cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a
++@DO_BUILD_52_MANAGE_CUDA_TRUE@ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/52_manage_cuda/lib52_manage_cuda.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_abiutil/lib53_abiutil.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_ffts/lib53_ffts.a
+ cd $(libabinit_tmpdir) && $(AR) xv $(abs_top_builddir)/src/53_spacepar/lib53_spacepar.a
diff --git a/sci-physics/abinit/files/6.12.1-xmalloc.patch b/sci-physics/abinit/files/6.12.1-xmalloc.patch
new file mode 100644
index 000000000..0c8d98eea
--- /dev/null
+++ b/sci-physics/abinit/files/6.12.1-xmalloc.patch
@@ -0,0 +1,48 @@
+diff -Naur abinit-6.12.1_orig/src/02_clib/fsi_posix.c abinit-6.12.1/src/02_clib/fsi_posix.c
+--- src/02_clib/fsi_posix.c 2012-01-30 19:40:41.000000000 +0000
++++ src/02_clib/fsi_posix.c 2012-03-22 08:21:46.000000000 +0000
+@@ -19,7 +19,7 @@
+ */
+
+ #include "abi_clib.h"
+-#include "xmalloc.h"
++/* #include "xmalloc.h" */
+ #include "string_f.h"
+
+ /* Create a directory */
+diff -Naur abinit-6.12.1_orig/src/02_clib/intrinsics.c abinit-6.12.1/src/02_clib/intrinsics.c
+--- src/02_clib/intrinsics.c 2012-01-30 19:40:41.000000000 +0000
++++ src/02_clib/intrinsics.c 2012-03-22 08:20:26.000000000 +0000
+@@ -18,7 +18,7 @@
+ */
+
+ #include "abi_clib.h"
+-#include "xmalloc.h"
++/* #include "xmalloc.h" */
+ #include "string_f.h"
+
+ /*
+diff -Naur abinit-6.12.1_orig/src/02_clib/progress_bar.c abinit-6.12.1/src/02_clib/progress_bar.c
+--- src/02_clib/progress_bar.c 2012-01-30 19:40:41.000000000 +0000
++++ src/02_clib/progress_bar.c 2012-03-22 08:21:06.000000000 +0000
+@@ -20,7 +20,7 @@
+ */
+
+ #include "abi_clib.h"
+-#include "xmalloc.h"
++/* #include "xmalloc.h" */
+
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+diff -Naur abinit-6.12.1_orig/src/02_clib/xmalloc.c abinit-6.12.1/src/02_clib/xmalloc.c
+--- src/02_clib/xmalloc.c 2012-01-30 19:40:41.000000000 +0000
++++ src/02_clib/xmalloc.c 2012-03-22 08:22:09.000000000 +0000
+@@ -19,7 +19,7 @@
+ */
+
+ #include "abi_clib.h"
+-#include "xmalloc.h"
++/* #include "xmalloc.h" */
+
+ static void
+ memory_error_and_abort (const char *fname)
diff --git a/sci-physics/abinit/metadata.xml b/sci-physics/abinit/metadata.xml
index c14bc6829..0a34647b9 100644
--- a/sci-physics/abinit/metadata.xml
+++ b/sci-physics/abinit/metadata.xml
@@ -11,6 +11,11 @@ ABINIT is a package whose main program allows one to find the total energy, char
</flag>
</use>
<use>
+ <flag name="cuda-double">
+ Enable support for double precision nVidia CUDA
+ </flag>
+</use>
+<use>
<flag name="fftw-threads">
Use the threaded version of sci-libs/fftw
</flag>