summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-cluster/gasnet/Manifest1
-rw-r--r--sys-cluster/gasnet/gasnet-1.28.2.ebuild87
2 files changed, 88 insertions, 0 deletions
diff --git a/sys-cluster/gasnet/Manifest b/sys-cluster/gasnet/Manifest
index c9ab38241ba0..6b4d7ecd5073 100644
--- a/sys-cluster/gasnet/Manifest
+++ b/sys-cluster/gasnet/Manifest
@@ -1,2 +1,3 @@
DIST GASNet-1.26.4.tar.gz 2656498 SHA256 a2c8a9c306ade58f4eba641f1c6e310a31fc722812dde1154fcc01efab4173d3 SHA512 9faa0281177afc67f2bf75e3a487accdf87b67a3da6afabcd625a26a3533033313b545893dead7ac1d176c57fe7547cd077d3bb368bc9e3211ffb0b316f3af0c WHIRLPOOL 5c920e69728343266929a18ff48eb98bd8dc35803507d205ef479e545a3eae885367a01e403eebf3518b65eaffe59ae8a797643a8e16326a3c610f4f11cd71e6
DIST GASNet-1.28.0.tar.gz 2654757 SHA256 a7999fbaa1f220c2eb9657279c7e7cccd1b21865d5383c9a5685cfe05a0702bc SHA512 3edef7efc55833d286b1d562f670b9605b1c8c37f9cf5582a46a5e7d8b2fbb7deca695597accda6f39c75e840da1879e8bb3d8b9f25da6be4aad60eca4aad169 WHIRLPOOL ce1e5b9c52b1dfbae8badd610f458563296d1eb9c593a614b8c54621111b9d4f269ef22616e2857913e0641347ca156ea82b6449fd33a89c38e3aed61be3c437
+DIST GASNet-1.28.2.tar.gz 2691394 SHA256 7903fd8ebdd03bcda20a66e3fcedef2f8b384324591aa91b8370f3360f6384eb SHA512 df472c55642891405cd86b9cc573cb1cd7607af7cd0ed931cb423ce0274f1a000f5f0b3481950cac710f154a5068088e8c101f1ea0cb9ceb4aaf73444cb3cef5 WHIRLPOOL 488eaf1c42de9cde7c58036bbe71339bf1249615c37589a526d2635bcb1a75144f98b4e9d888ce4ae53bd930196f49ddb47d1ea86525f027f85428915a40fe54
diff --git a/sys-cluster/gasnet/gasnet-1.28.2.ebuild b/sys-cluster/gasnet/gasnet-1.28.2.ebuild
new file mode 100644
index 000000000000..3f73fec6d810
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.28.2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools toolchain-funcs multilib
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+SOVER="${PV%%.*}"
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm"
+IUSE="mpi test threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+static_to_shared() {
+ local libstatic="${1}"; shift
+ local libname="${libstatic%.a}"
+ libname="${libname##*/}"
+ local soname="${libname}$(get_libname ${SOVER})"
+ local libdir="${libstatic%/*}"
+
+ einfo "Making ${soname} from ${libstatic} with libs ${@}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,-z,defs \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable mpi) \
+ $(use_enable threads pthreads) \
+ CC="$(tc-getCC) ${CFLAGS} -fPIC" \
+ MPI_CC="mpicc ${CFLAGS} -fPIC" \
+ CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC"
+}
+
+src_compile() {
+ emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_test() {
+ emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_install() {
+ local l libs
+ default
+ for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do
+ [[ -f ${l} ]] || continue
+ libs=
+ [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread"
+ [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq"
+ [[ ${l} = */libammpi.a ]] && libs+=" -lmpi"
+ [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp"
+ [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi"
+ [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt"
+ static_to_shared "${l}" ${libs}
+ rm ${l} || die
+ done
+}