diff options
author | Sebastien Fabbro <sfabbro@uvic.ca> | 2012-07-12 12:03:37 -0700 |
---|---|---|
committer | Sebastien Fabbro <sfabbro@uvic.ca> | 2012-07-12 12:03:37 -0700 |
commit | ae684d0dec8e6746c5e3ce7e685fe4019b32163d (patch) | |
tree | 6983bf7584f8d2efe4fb91be8d501a38817cda8e | |
parent | sci-libs/xblas: Shared library fixes, prefix love and ebuild cleanup (diff) | |
download | sci-ae684d0dec8e6746c5e3ce7e685fe4019b32163d.tar.gz sci-ae684d0dec8e6746c5e3ce7e685fe4019b32163d.tar.bz2 sci-ae684d0dec8e6746c5e3ce7e685fe4019b32163d.zip |
sci-libs/magma: Shared library fixes, prefix love and ebuild cleanup
(Portage version: 2.2.01.20757-prefix/git/Linux x86_64, RepoMan options: --force, unsigned Manifest commit)
-rw-r--r-- | sci-libs/magma/ChangeLog | 4 | ||||
-rw-r--r-- | sci-libs/magma/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/magma/magma-1.2.1.ebuild | 41 |
3 files changed, 30 insertions, 17 deletions
diff --git a/sci-libs/magma/ChangeLog b/sci-libs/magma/ChangeLog index 460bde832..fce27effc 100644 --- a/sci-libs/magma/ChangeLog +++ b/sci-libs/magma/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> magma-1.2.1.ebuild: + sci-libs/magma: Shared library fixes, prefix love and ebuild cleanup + *magma-1.2.1 (03 Jul 2012) 03 Jul 2012; Sébastien Fabbro <bicatali@gentoo.org> @@ -18,4 +21,3 @@ +files/magma-1.2.0-duplicate-symbols.patch, +magma-1.2.0.ebuild, +metadata.xml: sci-libs/magma: Initial import - diff --git a/sci-libs/magma/Manifest b/sci-libs/magma/Manifest index 9a312f75d..ff7c7903c 100644 --- a/sci-libs/magma/Manifest +++ b/sci-libs/magma/Manifest @@ -1 +1 @@ -DIST magma-1.2.1.tar.gz 2978267 RMD160 914c1cb21dee07cceb0099ec4c77e6affc6c2e3b SHA1 f843ac1364d1964e6cfd2ee69c57aff7727814c5 SHA256 a1036a9d523c2ec974c743e21a33a1a6aad1a61c8d4cb686ea08249749a0c73d SHA512 1c2045031a3d2df218e0717628ff0c0e1a074020b35b0146ee4c915e0d30ea9fa0b9a198014503a4f35f7ab15dd44d58e79339df17624c52f164b99bd86c6aac WHIRLPOOL 1efebb520cbae1ccf3a3435663d6e304c48948c05590bd866e4a82089bbf4147d37d730cea899471df8a24ded7a804bb86cc237cafbfcc93783578fc33caf975 +DIST magma-1.2.1.tar.gz 2978267 SHA256 a1036a9d523c2ec974c743e21a33a1a6aad1a61c8d4cb686ea08249749a0c73d SHA512 1c2045031a3d2df218e0717628ff0c0e1a074020b35b0146ee4c915e0d30ea9fa0b9a198014503a4f35f7ab15dd44d58e79339df17624c52f164b99bd86c6aac WHIRLPOOL 1efebb520cbae1ccf3a3435663d6e304c48948c05590bd866e4a82089bbf4147d37d730cea899471df8a24ded7a804bb86cc237cafbfcc93783578fc33caf975 diff --git a/sci-libs/magma/magma-1.2.1.ebuild b/sci-libs/magma/magma-1.2.1.ebuild index 65b822c11..97108709e 100644 --- a/sci-libs/magma/magma-1.2.1.ebuild +++ b/sci-libs/magma/magma-1.2.1.ebuild @@ -5,7 +5,7 @@ EAPI=4 FORTRAN_STANDARD="77 90" -inherit eutils fortran-2 toolchain-funcs versionator +inherit eutils fortran-2 toolchain-funcs versionator multilib DESCRIPTION="Matrix Algebra on GPU and Multicore Architectures" HOMEPAGE="http://icl.cs.utk.edu/magma/" @@ -18,21 +18,32 @@ IUSE="fermi static-libs tesla" RDEPEND="dev-util/nvidia-cuda-toolkit virtual/cblas + virtual/fortran virtual/lapack" DEPEND="${RDEPEND} virtual/pkgconfig" -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() { @@ -85,8 +96,8 @@ src_configure() { src_compile() { emake lib - make_shared_lib lib/libmagma.a - make_shared_lib lib/libmagmablas.a + static_to_shared lib/libmagma.a -lm -lpthread -ldl -lcublas -lcudart + LINK=$(tc-getFC) static_to_shared lib/libmagmablas.a -lm -lpthread -ldl -lcublas -lcudart if use static-libs; then emake cleanall sed 's/-fPIC//g' make.inc @@ -101,7 +112,7 @@ src_test() { } src_install() { - dolib.so lib/lib*.so* + dolib.so lib/lib*$(get_libname)* use static-libs && dolib.a lib/lib*.a insinto /usr/include/${PN} doins include/*.h |