aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/abinit')
-rw-r--r--sci-physics/abinit/ChangeLog8
-rw-r--r--sci-physics/abinit/Manifest6
-rw-r--r--sci-physics/abinit/abinit-6.4.2.ebuild2
-rw-r--r--sci-physics/abinit/abinit-6.4.3.ebuild218
4 files changed, 231 insertions, 3 deletions
diff --git a/sci-physics/abinit/ChangeLog b/sci-physics/abinit/ChangeLog
index dd05ff492..94ea18426 100644
--- a/sci-physics/abinit/ChangeLog
+++ b/sci-physics/abinit/ChangeLog
@@ -2,6 +2,14 @@
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*abinit-6.4.3 (05 Feb 2011)
+
+ 05 Feb 2011; Honza Macháček <Hloupy.Honza@centrum.cz> abinit-6.4.2.ebuild,
+ +abinit-6.4.3.ebuild:
+ A simple version bump. An unsolved problem with fortran flags when
+ USE="+netcdf -mpi" circumvented. Minor changes to reports and logs when
+ testing
+
20 Jan 2011; Honza Macháček <Hloupy.Honza@centrum.cz> abinit-6.4.2.ebuild:
The typo of getFC corrected to . By Jérôme Borme <jerome.borme@gmail.com>
diff --git a/sci-physics/abinit/Manifest b/sci-physics/abinit/Manifest
index 61e3fe652..2f945eac8 100644
--- a/sci-physics/abinit/Manifest
+++ b/sci-physics/abinit/Manifest
@@ -6,5 +6,7 @@ AUX 6.2.2-long-message.patch 856 RMD160 78f68e28061f1611120e065aa9cc7dde5d55a13c
AUX 6.2.2-non-plugin-libs.patch 5341 RMD160 1dffa7d14a8b0711ae9f681df073bf0355983300 SHA1 db2b48bdd983e7d9b4be3e4bb2181237337a3a6d SHA256 5ca6435a11ee07db148c8f542307fa0d473455e6c4fb6194b73176bb66aaabd1
AUX 6.4.2-openmp.patch 131318 RMD160 782f451384b916e9d5b990769a47b162412fc7e4 SHA1 e002581dcfeb2a3c0214cdc302dd9be9f014dc4a SHA256 5fed737e0a8758c4fe389df16391c7a99e2546416225aec89fe05b36ca937fc4
DIST abinit-6.4.2.tar.gz 42499278 RMD160 2673b3490f84fa3ec341d68adbf8a5e36ed9afc9 SHA1 88d15b7ab9598daac448748bfc0756808d2b75cf SHA256 4655fdc15237eb55cbca511c4ae606a42dee7b093b119cc472912404ebdb7a41
-EBUILD abinit-6.4.2.ebuild 6656 RMD160 fd657e21f8088ad91760d0fc0168cbfc4f34b266 SHA1 02982ca1914e58d09c9068bc77744a38a1692f9d SHA256 370f729477b775f6f5631c7b171627f241566edc74536bf193706a173cad222d
-MISC ChangeLog 1127 RMD160 0f1d0b2d188cedb5d55ed2e1c689e186adf0fc29 SHA1 11daa6cce6934fd137968b0e7a2b3ea8aa132cab SHA256 3a538bb8d844183c3673765f1d27098d19551cd150b9a5cd5bb1a27c712e091c
+DIST abinit-6.4.3.tar.gz 42502489 RMD160 5d1b4d03079570f29bc1195c6ac12ace3d5e8426 SHA1 463030fa2c91c25a7c3a519990b33819c55924ce SHA256 a2abceb5f38923829d3232f370d947b4c0a45912941690075aa97a72afdf81a8
+EBUILD abinit-6.4.2.ebuild 6671 RMD160 fa2fee9d5a35a130c03aa8f38a9993d20f7ef5df SHA1 d6107590dd8191c3bb6a27ea6ce8535afc6356c7 SHA256 2eb6d7fdff190a0fdf57c922ef0375444a82a21e8727246228e673228a215574
+EBUILD abinit-6.4.3.ebuild 6936 RMD160 38bdb6145e4dea71a9b9f08628955cb2a47f562c SHA1 f063b38dbd871c36751f23301990e27c636d121e SHA256 44e53c19079ae9b74cb79df6889ea759a6e8e4f93c61f4a1f868e94dad3ee819
+MISC ChangeLog 1413 RMD160 717238ee1c5f9a52ace7273dcf0f307bf8cd9759 SHA1 8b8c22d5fd3c45a17a84565cad848adc50fbc79a SHA256 f3384f6f4c6e625797319748b32c8f137033034cea08d5f1e8e5b0224c86f8a9
diff --git a/sci-physics/abinit/abinit-6.4.2.ebuild b/sci-physics/abinit/abinit-6.4.2.ebuild
index fe85154b8..ac9a31e97 100644
--- a/sci-physics/abinit/abinit-6.4.2.ebuild
+++ b/sci-physics/abinit/abinit-6.4.2.ebuild
@@ -151,7 +151,7 @@ src_configure() {
CC="${MY_CC}" \
CXX="${MY_CXX}" \
LD="$(tc-getLD)" \
- FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules}"
+ FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O2}} ${modules} -I/usr/include"
}
src_compile() {
diff --git a/sci-physics/abinit/abinit-6.4.3.ebuild b/sci-physics/abinit/abinit-6.4.3.ebuild
new file mode 100644
index 000000000..7090336c8
--- /dev/null
+++ b/sci-physics/abinit/abinit-6.4.3.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="3"
+
+inherit autotools eutils 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 ~ppc ~x86"
+IUSE="cuda -debug +fftw +fox gsl +hdf5 mpi +netcdf python -smp +threads -test -vdwxc"
+
+RDEPEND="=sci-libs/bigdft-1.2.0.2
+ sci-libs/etsf_io
+ =sci-libs/libxc-1.0[fortran]
+ 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:2.1
+ threads? ( sci-libs/fftw:2.1[threads] )
+ )
+ mpi? ( virtual/mpi )
+ python? ( dev-python/numpy )
+ cuda? ( dev-util/nvidia-cuda-sdk )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-perl/Text-Markdown"
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+S=${WORKDIR}/${P%[a-z]}
+
+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
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/6.2.2-change-default-directories.patch
+ epatch "${FILESDIR}"/6.2.2-configure-fortran-calls.patch
+ epatch "${FILESDIR}"/6.0.3-fftw.patch
+ epatch "${FILESDIR}"/6.2.2-non-plugin-libs.patch
+ epatch "${FILESDIR}"/6.4.2-openmp.patch
+# To compile against libxc-1.0 or the current SVN HEAD:
+ epatch "${FILESDIR}"/6.0.3-libxc-flags.patch
+ eautoreconf
+ find "${S}" -type f -exec grep -q -- '-llibxc' {} \; \
+ -exec sed -i -e's/-llibxc/-lxc/g' {} \;
+}
+
+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"
+ use fox && trio_flavor="${trio_flavor}+fox"
+ use hdf5 && trio_flavor="${trio_flavor}+hdf"
+ use netcdf && trio_flavor="${trio_flavor}+netcdf"
+ local netcdff_libs="-lnetcdff"
+ use hdf5 && netcdff_libs="${netcdff_libs} -lhdf5_fortran"
+ local trio_libs="-letsf_io -letsf_io_low_level -letsf_io_utils"
+ use fox && trio_libs="${trio_libs} ${FoX_libs}"
+ use netcdf && trio_libs="${trio_libs} $(pkg-config --libs netcdf) -lnetcdff"
+ use hdf5 && trio_libs="${trio_libs} -lhdf5_fortran"
+ local fft_flavor="fftw2"
+ local fft_libs="-L/usr/lib"
+ if use threads; then
+ fft_libs="${fft_libs} -lfftw_threads"
+ fft_flavor="fftw2-threads"
+ fi
+ fft_libs="${fft_libs} -lfftw -lrt -lm"
+ 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
+ if use smp; then
+ MY_FC="${MY_FC} -fopenmp"
+ MY_CC="${MY_CC} -fopenmp"
+ MY_CXX="${MY_CXX} -fopenmp"
+ fi
+ MARKDOWN=Markdown.pl econf \
+ $(use_enable debug debug enhanced) \
+ $(use_enable mpi) \
+ $(use_enable mpi mpi-io) \
+ $(use_enable smp) \
+ $(use_enable fox) \
+ $(use_enable gsl math) \
+ $(use_enable fftw fft) \
+ $(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-includes=$(pkg-config --cflags gsl)")" \
+ "$(use gsl && echo "--with-math-libs=$(pkg-config --libs gsl)")" \
+ --enable-linalg \
+ --enable-trio \
+ --enable-etsf-io \
+ --enable-dft \
+ --with-linalg-flavor="atlas" \
+ --with-linalg-libs="$(pkg-config --libs lapack)" \
+ --with-trio-flavor="${trio_flavor}" \
+ "$(use netcdf && echo "--with-netcdf-includes=-I/usr/include")" \
+ "$(use netcdf && echo "--with-netcdf-libs=$(pkg-config --libs netcdf) ${netcdff_libs}")" \
+ "$(use fox && echo "--with-fox-includes=${modules}")" \
+ "$(use fox && echo "--with-fox-libs=${FoX_libs}")" \
+ --with-etsf-io-includes="${modules}" \
+ --with-etsf-io-libs="${libs} -letsf_io -letsf_io_low_level -letsf_io_utils" \
+ --with-trio-includes="-I/usr/include ${modules}" \
+ --with-trio-libs="${trio_libs}" \
+ --with-dft-flavor="libxc+bigdft+wannier90" \
+ --with-libxc-includes="${modules}" \
+ --with-libxc-libs="${libs} -lxc" \
+ --with-bigdft-includes="${modules}" \
+ --with-bigdft-libs="${libs} -lpoissonsolver -lbigdft" \
+ --with-wannier90="/usr/bin/wannier90.x" \
+ --with-wannier90-includes="${modules}" \
+ --with-wannier90-libs="${libs} -lwannier $(pkg-config --libs lapack)" \
+ --with-dft-includes="${modules}" \
+ --with-dft-libs="${libs} -lwannier -lpoissonsolver -lbigdft -lxc $(pkg-config --libs lapack)" \
+ "$(use fftw && echo "--with-fft-flavor=${fft_flavor}")" \
+ "$(use fftw && echo "--with-fft-includes=-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() {
+# if use mpi; then
+# emake multi || die
+# else
+ emake || die
+# fi
+}
+
+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
+}