summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2011-06-01 18:24:54 +0100
committerSébastien Fabbro <bicatali@gentoo.org>2011-06-01 18:24:54 +0100
commit04c685da930bc22610aa1832c926de4e50deeaec (patch)
tree88da030a8e6daaed2b9064c86cbc3d00a38687ea
parentadded mumps (diff)
downloadbicatali-04c685da930bc22610aa1832c926de4e50deeaec.tar.gz
bicatali-04c685da930bc22610aa1832c926de4e50deeaec.tar.bz2
bicatali-04c685da930bc22610aa1832c926de4e50deeaec.zip
more sed fixes. shared libs work. all tested
-rw-r--r--sci-libs/mumps/Manifest2
-rw-r--r--sci-libs/mumps/mumps-4.10.0.ebuild69
2 files changed, 38 insertions, 33 deletions
diff --git a/sci-libs/mumps/Manifest b/sci-libs/mumps/Manifest
index 26ea77c..4c73a34 100644
--- a/sci-libs/mumps/Manifest
+++ b/sci-libs/mumps/Manifest
@@ -1,4 +1,4 @@
DIST MUMPS_4.10.0.tar.gz 2481516 RMD160 19ae1f4773ab1643237f791085d9721932a618fc SHA1 904b1d816272d99f1f53913cbd4789a5be1838f7 SHA256 d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933
-EBUILD mumps-4.10.0.ebuild 3916 RMD160 548e678b07694d7b6700a5c4f5b3000d6eff4384 SHA1 331c64cd824ca69e0006de7c493cbdce36f67b5b SHA256 51a4df8dda86e81f2056293985d367e39e661389c4dc0b62c45e6edba0e07afb
+EBUILD mumps-4.10.0.ebuild 4131 RMD160 173f734b257b0735b2bd087640492eb736396ab6 SHA1 24b89639ef668e655ce2d8a679c9b01a513eda58 SHA256 7da9efed2f768937e0ff8bc295dab3d62d719b2bd710415d02c41a32bcf9e16e
MISC ChangeLog 256 RMD160 4934775c75859634f7e502286e5f6c607ebd0c43 SHA1 3b8a5223cd6c7f1f293786a62156653efb194766 SHA256 95c92bfc19f31e1e498b62026b7f39570700efbbe791bdfe376dca85b20f9024
MISC metadata.xml 550 RMD160 4d8730ab11dca7f0e70958c24413643d5fe6470c SHA1 e54d1d1c396292d36faa321e49d8adcc41fba07b SHA256 6283620deb195a65aaabb4dff6f3dfd05f0550ec6c108d497bdcbf4c6ea6765d
diff --git a/sci-libs/mumps/mumps-4.10.0.ebuild b/sci-libs/mumps/mumps-4.10.0.ebuild
index 59c2ae3..58844ed 100644
--- a/sci-libs/mumps/mumps-4.10.0.ebuild
+++ b/sci-libs/mumps/mumps-4.10.0.ebuild
@@ -3,7 +3,7 @@
# $Header: $
EAPI=4
-inherit eutils toolchain-funcs flag-o-matic
+inherit eutils toolchain-funcs flag-o-matic versionator
MYP=MUMPS_${PV}
@@ -35,72 +35,73 @@ make_shared_lib() {
-shared -Wl,-soname="${soname}" \
-Wl,--whole-archive "${libstatic}" -Wl,--no-whole-archive \
"$@" -o $(dirname "${libstatic}")/"${soname}" || die "${soname} failed"
+ ln -s "${soname}" $(dirname "${libstatic}")/"${soname%.*}"
}
src_prepare() {
- sed -e "s:\(CC\s*=\).*:\1$(tc-getCC):" \
- -e "s:\(FC\s*=\).*:\1$(tc-getFC):" \
- -e "s:\(FL\s*=\).*:\1$(tc-getFC):" \
- -e "s:\(AR\s*=\).*:\1$(tc-getAR) rv :" \
- -e "s:\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \
- -e "s:\(LIBBLAS\s*=\).*:\1$(pkg-config --libs blas):" \
- -e "s:\(INCPAR\s*=\).*:\1:" \
- -e 's:\(LIBPAR\s*=\).*:\1$(SCALAP):' \
- -e "s:\(OPTF\s*=\).*:\1${FFLAGS}:" \
- -e "s:\(OPTC\s*=\).*:\1${CFLAGS}:" \
- -e "s:\(OPTL\s*=\).*:\1${LDFLAGS}:" \
+ sed -e "s:^\(CC\s*=\).*:\1$(tc-getCC):" \
+ -e "s:^\(FC\s*=\).*:\1$(tc-getFC):" \
+ -e "s:^\(FL\s*=\).*:\1$(tc-getFC):" \
+ -e "s:^\(AR\s*=\).*:\1$(tc-getAR) rv :" \
+ -e "s:^\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \
+ -e "s:^\(LIBBLAS\s*=\).*:\1$(pkg-config --libs blas):" \
+ -e "s:^\(INCPAR\s*=\).*:\1:" \
+ -e 's:^\(LIBPAR\s*=\).*:\1$(SCALAP):' \
+ -e "s:^\(OPTF\s*=\).*:\1${FFLAGS} -DALLOW_NON_INIT \$(PIC):" \
+ -e "s:^\(OPTC\s*=\).*:\1${CFLAGS} \$(PIC):" \
+ -e "s:^\(OPTL\s*=\).*:\1${LDFLAGS}:" \
Make.inc/Makefile.inc.generic > Makefile.inc || die
}
src_configure() {
- LIBS="$(pkg-config --libs blas) -Llib -lpord"
+ LIBADD="$(pkg-config --libs blas) -Llib -lpord"
local ord="-Dpord"
if use metis && use mpi; then
sed -i \
-e "s:#\s*\(LMETIS\s*=\).*:\1$(pkg-config --libs metis-mpi):" \
-e "s:#\s*\(IMETIS\s*=\).*:\1$(pkg-config --cflags metis-mpi):" \
Makefile.inc || die
- LIBS="${LIBS} $(pkg-config --libs metis-mpi)"
+ LIBADD="${LIBADD} $(pkg-config --libs metis-mpi)"
ord="${ord} -Dparmetis"
elif use metis; then
sed -i \
-e "s:#\s*\(LMETIS\s*=\).*:\1$(pkg-config --libs metis):" \
-e "s:#\s*\(IMETIS\s*=\).*:\1$(pkg-config --cflags metis):" \
Makefile.inc || die
- LIBS="${LIBS} $(pkg-config --libs metis)"
+ LIBADD="${LIBADD} $(pkg-config --libs metis)"
ord="${ord} -Dmetis"
fi
if use scotch && use mpi; then
sed -i \
- -e "s:\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \
- -e "s:\(ISCOTCH\s*=\).*:\1${ED}/usr/include/scotch:" \
+ -e "s:#\s*\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \
+ -e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
Makefile.inc || die
- LIBS="${LIBS} -lptesmumps -lptscotch -lptscotcherr"
+ LIBADD="${LIBADD} -lptesmumps -lptscotch -lptscotcherr"
ord="${ord} -Dptscotch"
elif use scotch; then
sed -i \
- -e "s:\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \
- -e "s:\(ISCOTCH\s*=\).*:\1${ED}/usr/include/scotch:" \
+ -e "s:#\s*\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \
+ -e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
Makefile.inc || die
- LIBS="${LIBS} -lesmumps -lscotch -lscotcherr"
+ LIBADD="${LIBADD} -lesmumps -lscotch -lscotcherr"
ord="${ord} -Dscotch"
fi
if use mpi; then
sed -i \
- -e "s:\(CC\s*=\).*:\1mpicc:" \
- -e "s:\(FC\s*=\).*:\1mpif90:" \
- -e "s:\(FL\s*=\).*:\1mpif90:" \
- -e "s:\(SCALAP\s*=\).*:\1$(pkg-config --libs scalapack):" \
+ -e "s:^\(CC\s*=\).*:\1mpicc:" \
+ -e "s:^\(FC\s*=\).*:\1mpif90:" \
+ -e "s:^\(FL\s*=\).*:\1mpif90:" \
+ -e "s:^\(SCALAP\s*=\).*:\1$(pkg-config --libs scalapack):" \
Makefile.inc || die
export LINK=mpif90
- LIBS="${LIBS} $(pkg-config --libs scalapack)"
+ LIBADD="${LIBADD} $(pkg-config --libs scalapack)"
fi
- sed -i -e "s:\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die
+ sed -i -e "s:^\s*\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die
}
src_compile() {
- emake alllib OPTF="${FFLAGS} -fPIC" OPTC="${CFLAGS} -fPIC"
- make_shared_lib lib/libmumps_common.a ${LIBS}
+ emake alllib PIC="-fPIC"
+ make_shared_lib lib/libmumps_common.a ${LIBADD}
local i
for i in c d s z; do
make_shared_lib lib/lib${i}mumps.a -Llib -lmumps_common
@@ -115,18 +116,22 @@ src_test() {
emake all
local dotest
use mpi && dotest="mpirun -np 2"
+ cd examples
${dotest} ./ssimpletest < input_simpletest_real || die
${dotest} ./dsimpletest < input_simpletest_real || die
${dotest} ./csimpletest < input_simpletest_cmplx || die
${dotest} ./zsimpletest < input_simpletest_cmplx || die
- einfo "The solution should be (1,2,3,4,5)"
+ einfo "The solutions should be close to (1,2,3,4,5)"
${dotest} ./c_example || die
- einfo "The solution should be (1,2)"
+ einfo "The solution should be close to (1,2)"
+ make clean
}
src_install() {
- dolib.so lib/lib*.so
+ dolib.so lib/lib*.so*
use static-libs && dolib.a lib/lib*.a
+ insinto /usr
+ doins -r include
dodoc README ChangeLog VERSION
use doc && dodoc doc/*.pdf
if use examples; then