diff options
Diffstat (limited to 'sci-physics/abinit')
-rw-r--r-- | sci-physics/abinit/ChangeLog | 7 | ||||
-rw-r--r-- | sci-physics/abinit/Manifest | 4 | ||||
-rw-r--r-- | sci-physics/abinit/abinit-6.8.1.ebuild | 196 |
3 files changed, 206 insertions, 1 deletions
diff --git a/sci-physics/abinit/ChangeLog b/sci-physics/abinit/ChangeLog index 237af8e05..fea065779 100644 --- a/sci-physics/abinit/ChangeLog +++ b/sci-physics/abinit/ChangeLog @@ -2,6 +2,13 @@ # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*abinit-6.8.1 (29 Jun 2011) + + 29 Jun 2011; Honza Macháček <Hloupy.Honza@centrum.cz> +abinit-6.8.1.ebuild: + Yet another quick version bump, no improvement to the ebuild. Compiles well + for me but has problems testing. The fault may be just in my openmpi + installation but use with caution. + 29 Jun 2011; Honza Macháček <Hloupy.Honza@centrum.cz> abinit-6.6.3.ebuild: Restored the support for threaded fftw. Works for me. NEVER DISABLE FEATURES FOR OTHERS. diff --git a/sci-physics/abinit/Manifest b/sci-physics/abinit/Manifest index 291920bf4..2ee9c036a 100644 --- a/sci-physics/abinit/Manifest +++ b/sci-physics/abinit/Manifest @@ -2,6 +2,8 @@ AUX 6.0.3-fftw.patch 571 RMD160 b15b2905fd46a1c0f6fcc99c317b1b52a327ef12 SHA1 b5 AUX 6.2.2-change-default-directories.patch 1006 RMD160 ba252ecc7f5592f4df762716582c6e331a5e994f SHA1 4d79a7a261211c44692c09e63197261bfdb2c06e SHA256 8865966dd0d94b00443faae62b58e9938a5ba5d15bc32b59f79f815922f91c44 AUX 6.6.1-openmp.patch 19735 RMD160 6e6e42a5f030bdfb859583dd5e72ea434e980bcf SHA1 51c032ca7f52fe4e1c4afe86f2cb019166d4afbb SHA256 9568ace3732159ae395a3eef069338ded1d734becde1b8b382a58adf2f254933 DIST abinit-6.6.3.tar.gz 41161321 RMD160 f9169812cfb2dc30f752bf0ab0ffc41250ea0bbb SHA1 02c9fd6abe1b73164b804b6e0b1f829ec9fd286e SHA256 fad84d3e774e3b4ba16f2a2924e60b8ba42ab21fefd89d8ce4848f9a9e03f774 +DIST abinit-6.8.1.tar.gz 43548991 RMD160 320de2b02862ba5ebf2e0ac209e4f63bf457345f SHA1 00b78334fc6f2859665a720c98cf318eed0d57b2 SHA256 6a8ff5f88ee765b8c71fc80a171c61213f1143399f3de66364d32a9560f22689 EBUILD abinit-6.6.3.ebuild 6256 RMD160 88bf466811c42d04a57c1ddc6d3949d3ca6cdabf SHA1 3bdf27623990cb4e2131d333c6e5f690742e034a SHA256 fef385cfc374e619c12918ddcfe3c4c6e9e72eb297c1663e948eedfc2a6e675c -MISC ChangeLog 2914 RMD160 35ec89514eb6b3ed9bc8b6140330d5f825bacacd SHA1 a61a1e71602c5a765a79d9ccb4e1c1356d5c7c9a SHA256 5de5705c57a3ee875a7f27d186ee21152d65d333a5a22842987b6065a0d34fcf +EBUILD abinit-6.8.1.ebuild 6256 RMD160 88bf466811c42d04a57c1ddc6d3949d3ca6cdabf SHA1 3bdf27623990cb4e2131d333c6e5f690742e034a SHA256 fef385cfc374e619c12918ddcfe3c4c6e9e72eb297c1663e948eedfc2a6e675c +MISC ChangeLog 3210 RMD160 eeddead33ca6afe11e62929ada84041be20c4d16 SHA1 5406bff86fd67dc8cd834c303c02cb2073e9ffa8 SHA256 28f5b197338358b150b3bf8d35dcb0777efef9382bc3c9ba0f4c6dbe626a0655 MISC metadata.xml 1225 RMD160 bebdbae077b05fe05bac5665b5b4d1f654620366 SHA1 464ff6d71e8b44df92c421a984c1f6a9cae38299 SHA256 71e7a9928f03914c9c5e6c45e6a6185a50f5c3dda7fbf791d3ca238dbee6727e diff --git a/sci-physics/abinit/abinit-6.8.1.ebuild b/sci-physics/abinit/abinit-6.8.1.ebuild new file mode 100644 index 000000000..3799d0578 --- /dev/null +++ b/sci-physics/abinit/abinit-6.8.1.ebuild @@ -0,0 +1,196 @@ +# 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 +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 + 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 +} + +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" + # Since now, fftw threads support is protected by black magick. + # Anybody removes it again, dies. + # If it does not work FOR YOU, disable the "threads" USE flag + # for the package at YOUR box. If YOU want it disabled selectively + # for fftw use in abinit, you may consider adding a special USE flag + # for that. NEVER REMOVE AN OPTION FOR OTHERS, at least if there is + # anybody it works for. + if use threads; then + fft_libs="${fft_libs} $(pkg-config --libs fftw3_threads)" + fft_flavor="fftw3-threads" + 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 +} |