diff options
author | Sébastien Fabbro <bicatali@gentoo.org> | 2014-01-28 10:59:42 -0800 |
---|---|---|
committer | Sébastien Fabbro <bicatali@gentoo.org> | 2014-01-28 10:59:42 -0800 |
commit | b20f011da70601e1e003141148c7e6da5d959776 (patch) | |
tree | 14cec2ca0f832d7930ff1a86b39e2d064b6a6cc6 | |
parent | Merge branch 'master' of git://git.overlays.gentoo.org/proj/sci; github.com:g... (diff) | |
download | sci-b20f011da70601e1e003141148c7e6da5d959776.tar.gz sci-b20f011da70601e1e003141148c7e6da5d959776.tar.bz2 sci-b20f011da70601e1e003141148c7e6da5d959776.zip |
sci-libs/plasma: Version bump
Package-Manager: portage-2.2.8-prefix
-rw-r--r-- | sci-libs/plasma/ChangeLog | 7 | ||||
-rw-r--r-- | sci-libs/plasma/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/plasma/plasma-2.6.0.ebuild | 142 |
3 files changed, 149 insertions, 1 deletions
diff --git a/sci-libs/plasma/ChangeLog b/sci-libs/plasma/ChangeLog index 63111204d..6072d195a 100644 --- a/sci-libs/plasma/ChangeLog +++ b/sci-libs/plasma/ChangeLog @@ -1,7 +1,12 @@ # ChangeLog for sci-libs/plasma -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*plasma-2.6.0 (28 Jan 2014) + + 28 Jan 2014; Sébastien Fabbro <bicatali@gentoo.org> +plasma-2.6.0.ebuild: + sci-libs/plasma: Version bump + 09 Dec 2013; Sébastien Fabbro <bicatali@gentoo.org> plasma-2.5.2.ebuild: sci-libs/plasma: Version bump diff --git a/sci-libs/plasma/Manifest b/sci-libs/plasma/Manifest index 5a2b37af5..9401cfc46 100644 --- a/sci-libs/plasma/Manifest +++ b/sci-libs/plasma/Manifest @@ -1 +1,2 @@ DIST plasma_2.5.2.tar.gz 5354770 SHA256 3efaa35bed186f43cdd30ee7939a343048b9a6d0ae419cda749660ce66f372a3 SHA512 0ee93bd25fee721a76a28118ef21edcda84830516226ec97806cf52602c4f6df600f14db06d569413ccc83d4ae7f6d9d3ad0853132d0824b3e3efa41b53a8a3f WHIRLPOOL 67d3e6528bfd6a1ca01430a854e67f91f971dc0604983d1879a685056327138638248f8ff85cf0ba9616d74f4185000afbbdbbdc7db761a12d6702bf2db02937 +DIST plasma_2.6.0.tar.gz 6264802 SHA256 dbdc59032a5406bbb20235f461ac31470169fab47a6ccc6f7c18f1ee7569b03e SHA512 887ca2a121e67e9e8279a8da002a3a1e44d10e26e8bdbe7a9f30e6d10cee7ff6b78d95f39412a347c6a89f9fc2ff7fea02f71fdacca3c4fb9353d39381f35f2b WHIRLPOOL de4a5a08d834d5c49233e7d714c32b092c0dfd87e4b4e995c7286afd8fdfee8d262c194856958b349ec35ef0c283c67f2a349814a69ba32002d6e2ba154aef60 diff --git a/sci-libs/plasma/plasma-2.6.0.ebuild b/sci-libs/plasma/plasma-2.6.0.ebuild new file mode 100644 index 000000000..067d27cc7 --- /dev/null +++ b/sci-libs/plasma/plasma-2.6.0.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 +inherit eutils fortran-2 toolchain-funcs versionator multilib flag-o-matic + +MYP=${PN}_${PV} +SOVER=$(get_version_component_range 1) + +DESCRIPTION="Parallel Linear Algebra for Scalable Multi-core Architecture" +HOMEPAGE="http://icl.cs.utk.edu/plasma/" +SRC_URI="http://icl.cs.utk.edu/projectsfiles/plasma/pubs/${MYP}.tar.gz" + +LICENSE="BSD" +SLOT="0/${SOVER}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples fortran static-libs test" + +RDEPEND=" + sys-apps/hwloc + virtual/blas + virtual/cblas + virtual/lapack + virtual/lapacke" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( sci-libs/lapacke-reference[tmg] )" + +S="${WORKDIR}/${MYP}" + +# TODO: virtual/{blas,cblas,lapack} serial and threaded. plasma works properly +# with serial blas/lapack (see README). not doable dynamically with atlas + +static_to_shared() { + local libstatic=${1}; shift + local libname=$(basename ${libstatic%.a}) + local soname=${libname}$(get_libname ${SOVER}) + 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() { + # rename plasma to avoid collision (https://github.com/gentoo-science/sci/issues/34) + # lib name conflict with kde plasma, rename + PLASMA_LIBNAME=plasmca + sed -i \ + -e "s/-lplasma/-l${PLASMA_LIBNAME}/g" \ + -e "s/libplasma.a/lib${PLASMA_LIBNAME}.a/" \ + Makefile.internal || die + + # distributed pc file not so useful, so redo it + cat <<-EOF > ${PN}.pc + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include/${PN} + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Libs: -L\${libdir} -l${PLASMA_LIBNAME} -lcoreblas -lquark + Libs.private: -lm + Cflags: -I\${includedir} + Requires: blas cblas lapack lapacke hwloc + EOF +} + +src_configure() { + cat <<-EOF > make.inc + ARCH = $(tc-getAR) + ARCHFLAGS = cr + RANLIB = $(tc-getRANLIB) + CC = $(tc-getCC) + FC = $(tc-getFC) + CFLAGS = ${CFLAGS} -DADD_ -fPIC $(has_version ">=virtual/lapacke-3.5" && echo "-DDOXYGEN_SHOULD_SKIP_THIS=1") + FFLAGS = ${FFLAGS} -fPIC + LOADER = $(tc-getFC) + LIBBLAS = $($(tc-getPKG_CONFIG) --libs blas) + LIBCBLAS = $($(tc-getPKG_CONFIG) --libs cblas) + LIBLAPACK = $($(tc-getPKG_CONFIG) --libs lapack) -ltmglib + LIBCLAPACK = $($(tc-getPKG_CONFIG) --libs lapacke) + $(use fortran && echo "PLASMA_F90 = 1") + EOF +} + +src_compile() { + emake lib + #mv lib/libplasma.a lib/lib${PLASMA_LIBNAME}.a || die + static_to_shared quark/libquark.a $($(tc-getPKG_CONFIG --libs hwloc)) -pthread + static_to_shared lib/libcoreblas.a quark/libquark.so $($(tc-getPKG_CONFIG --libs cblas lapacke)) + static_to_shared lib/lib${PLASMA_LIBNAME}.a quark/libquark.so lib/libcoreblas.so + if use static-libs; then + emake cleanall + sed 's/-fPIC//g' make.inc + emake lib + fi +} + +src_test() { + emake test + cd testing + LD_LIBRARY_PATH="../lib:../quark:${LD_LIBRARY_PATH}" ./plasma_testing.py || die +} + +src_install() { + 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 + use fortran && doins include/*.mod + insinto /usr/$(get_libdir)/pkgconfig + doins ${PN}.pc + dodoc README ToDo ReleaseNotes + use doc && dodoc docs/pdf/*.pdf && dohtml docs/doxygen/out/html/* + if use examples; then + emake -C examples cleanall + insinto /usr/share/doc/${PF} + doins -r examples + fi +} + +pkg_postinst() { + elog "The plasma linear algebra library file has been renamed ${PLASMA_LIBNAME}" + elog "to avoid collision with KDE plasma." + elog "Compile and link your programs using the following command:" + elog " pkg-config --cflags --libs plasma" +} |