aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <sfabbro@uvic.ca>2012-07-12 11:49:23 -0700
committerSebastien Fabbro <sfabbro@uvic.ca>2012-07-12 11:49:23 -0700
commitb24e7ede660001ee114a524cbfb5202e3be5b130 (patch)
treec89144d4915db915f7f82c96e5807ddbffae3079 /sci-libs/plasma
parentsci-libs/scotch: Shared library fixes and prefix love (diff)
downloadsci-b24e7ede660001ee114a524cbfb5202e3be5b130.tar.gz
sci-b24e7ede660001ee114a524cbfb5202e3be5b130.tar.bz2
sci-b24e7ede660001ee114a524cbfb5202e3be5b130.zip
sci-libs/plasma: Shared library fixes and prefix love
(Portage version: 2.2.01.20757-prefix/git/Linux x86_64, RepoMan options: --force, unsigned Manifest commit)
Diffstat (limited to 'sci-libs/plasma')
-rw-r--r--sci-libs/plasma/ChangeLog4
-rw-r--r--sci-libs/plasma/plasma-2.4.5.ebuild47
2 files changed, 32 insertions, 19 deletions
diff --git a/sci-libs/plasma/ChangeLog b/sci-libs/plasma/ChangeLog
index 83d8ace46..38a82a63a 100644
--- a/sci-libs/plasma/ChangeLog
+++ b/sci-libs/plasma/ChangeLog
@@ -2,6 +2,9 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 12 Jul 2012; Sébastien Fabbro <bicatali@gentoo.org> plasma-2.4.5.ebuild:
+ sci-libs/plasma: Shared library fixes and prefix love
+
24 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> plasma-2.4.5.ebuild:
fixed some as-needed issues
@@ -10,4 +13,3 @@
24 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> +metadata.xml,
+plasma-2.4.5.ebuild:
sci-libs/plasma: Initial import
-
diff --git a/sci-libs/plasma/plasma-2.4.5.ebuild b/sci-libs/plasma/plasma-2.4.5.ebuild
index 94b3031b2..c5b218107 100644
--- a/sci-libs/plasma/plasma-2.4.5.ebuild
+++ b/sci-libs/plasma/plasma-2.4.5.ebuild
@@ -3,7 +3,7 @@
# $Header: $
EAPI=4
-inherit eutils fortran-2 toolchain-funcs versionator
+inherit eutils fortran-2 toolchain-funcs versionator multilib
MYP=${PN}_${PV}
@@ -13,31 +13,42 @@ SRC_URI="http://icl.cs.utk.edu/projectsfiles/plasma/pubs/${MYP}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples fortran static-libs"
RDEPEND="sys-apps/hwloc
virtual/blas
virtual/cblas
+ virtual/fortran
virtual/lapack
virtual/lapacke"
DEPEND="${RDEPEND}
- dev-util/pkgconfig"
+ virtual/pkgconfig"
S="${WORKDIR}/${MYP}"
-make_shared_lib() {
- local libstatic=${1}
- local soname=$(basename "${1%.a}").so.$(get_major_version)
- shift
- einfo "Making ${soname}"
- ${LINK:-$(tc-getCC)} ${LDFLAGS} \
- -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%.*}"
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
}
src_prepare() {
@@ -77,9 +88,9 @@ src_configure() {
src_compile() {
emake lib
- make_shared_lib quark/libquark.a $(pkg-config --libs hwloc) -pthread
- make_shared_lib lib/libcoreblas.a quark/libquark.so $(pkg-config --libs cblas lapacke)
- make_shared_lib lib/libplasma.a quark/libquark.so lib/libcoreblas.so
+ static_to_shared quark/libquark.a $(pkg-config --libs hwloc) -pthread
+ static_to_shared lib/libcoreblas.a quark/libquark.so $(pkg-config --libs cblas lapacke)
+ static_to_shared lib/libplasma.a quark/libquark.so lib/libcoreblas.so
if use static-libs; then
emake cleanall
sed 's/-fPIC//g' make.inc
@@ -88,7 +99,7 @@ src_compile() {
}
src_install() {
- dolib.so lib/lib*.so* quark/libquark.so*
+ dolib.so lib/lib*$(get_libname)* quark/libquark$(get_libname)*
use static-libs && dolib.a lib/lib*.a quark/libquark.a
insinto /usr/include/${PN}
doins quark/quark{,_unpack_args}.h quark/icl_{hash,list}.h include/*.h