aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/elk/elk-1.4.22.ebuild')
-rw-r--r--sci-physics/elk/elk-1.4.22.ebuild92
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
}