diff options
Diffstat (limited to 'sci-physics/elk/elk-1.4.22.ebuild')
-rw-r--r-- | sci-physics/elk/elk-1.4.22.ebuild | 92 |
1 files changed, 43 insertions, 49 deletions
diff --git a/sci-physics/elk/elk-1.4.22.ebuild b/sci-physics/elk/elk-1.4.22.ebuild index 27b3f3af5..908a24a69 100644 --- a/sci-physics/elk/elk-1.4.22.ebuild +++ b/sci-physics/elk/elk-1.4.22.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ -EAPI="4" +EAPI=5 -inherit eutils fortran-2 multilib toolchain-funcs +inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs -DESCRIPTION="All-electron full-potential linearised augmented-plane wave (FP-LAPW) code with advanced features." +DESCRIPTION="All-electron full-potential linearised augmented-plane wave (FP-LAPW)" HOMEPAGE="http://elk.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tgz" @@ -15,13 +15,15 @@ SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="-debug lapack libxc mpi openmp perl test" -RDEPEND="lapack? ( virtual/blas +RDEPEND=" + lapack? ( + virtual/blas virtual/lapack ) libxc? ( =sci-libs/libxc-1*[fortran] ) mpi? ( virtual/mpi )" DEPEND="${RDEPEND} perl? ( dev-lang/perl ) - dev-util/pkgconfig" + virtual/pkgconfig" DOCS=( README ) @@ -38,65 +40,60 @@ pkg_setup() { tc-export FC F77 CC CXX fi - if use openmp; then - FORTRAN_NEED_OPENMP=1 - fi + use openmp && FORTRAN_NEED_OPENMP=1 fortran-2_pkg_setup - if use openmp; then - export FC="${FC} -fopenmp" - export F77="${F77} -fopenmp" - export CC="${CC} -fopenmp" - export CXX="${CXX} -fopenmp" - fi + use openmp && append-flags -fopenmp } src_prepare() { + rm -rf src/{BLAS,LAPACK} || die if use libxc; then - sed -i -e's/^\(SRC_libxc =\)/#\1/' "${S}/src/Makefile" + sed -i -e's/^\(SRC_libxc =\)/#\1/' "${S}/src/Makefile" || die fi if use mpi; then - sed -i -e's/^\(SRC_mpi =\)/#\1/' "${S}/src/Makefile" + sed -i -e's/^\(SRC_mpi =\)/#\1/' "${S}/src/Makefile" || die fi + + sed \ + -e "s: -o : ${LDFLAGS} -o :g" \ + -i src/{,eos,spacegroup}/Makefile || die } src_configure() { - FCFLAGS="${FCFLAGS:- ${FFLAGS:- -O3 -funroll-loops -ffast-math}}" - FCFLAGS="${FCFLAGS} -I/usr/include -I/usr/$(get_libdir)/finclude" - CFLAGS="${CFLAGS:- -O3 -funroll-loops -ffast-math}" - CXXFLAGS="${CXXFLAGS:- ${CFLAGS}}" - export FCFLAGS CFLAGS CXXFLAGS - echo "MAKE = make" > make.inc - echo "F90 = $FC" >> make.inc - echo "F90_OPTS = $FCFLAGS" >> make.inc - echo "F77 = $FC" >> make.inc - echo "F77_OPTS = $FCFLAGS" >> make.inc - echo "CC = ${CC}" >> make.inc - echo "CXX = ${CXX}" >> make.inc - echo "CFLAGS = ${CFLAGS}" >> make.inc - echo "CXXFLAGS = ${CXXFLAGS}" >> make.inc - echo "LD = $(tc-getLD)" >> make.inc - echo "AR = ar" >> make.inc - echo "LIB_SYS = " >> make.inc - if use lapack; then - echo "LIB_LPK = $(pkg-config --libs lapack)" >> make.inc - else - echo "LIB_LPK = lapack.a blas.a" >> make.inc - fi - echo "LIB_FFT = fftlib.a" >> make.inc + append-fflags -I/usr/include -I/usr/$(get_libdir)/finclude + + cat > make.inc <<- EOF + MAKE = make + F90 = $(tc-getFC) + F90_OPTS = ${FCFLAGS} + F77 = $(tc-getF77) + F77_OPTS = ${FFLAGS} + CC = $(tc-getCC) + CXX = $(tc-getCXX) + CFLAGS = ${CFLAGS} + CXXFLAGS = ${CXXFLAGS} + LD = $(tc-getLD) + AR = $(tc-getAR) + LIB_SYS = + LIB_LPK = $(pkg-config --libs lapack) + LIB_FFT = fftlib.a + EOF + if use libxc; then echo "LIB_XC = -L/usr/$(get_libdir) -lxc" >> make.inc echo "SRC_libxc = libxc_funcs.f90 libxc.f90 libxcifc.f90" >>make.inc fi } -src_compile() { - emake -j1 || die "make failed" -} +MAKEOPTS+=" -j1" -src_test() { - emake test +src_compile() { + emake -C src fft + emake -C src elk + emake -C src/eos + emake -C src/spacegroup } src_install() { @@ -108,8 +105,5 @@ src_install() { dodoc $doc done insinto /usr/share/${P} - doins -r species - doins -r utilities - doins -r examples - doins -r tests + doins -r species utilities examples tests } |