aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/SOS/Manifest1
-rw-r--r--sys-cluster/SOS/SOS-1.5.1.ebuild133
2 files changed, 134 insertions, 0 deletions
diff --git a/sys-cluster/SOS/Manifest b/sys-cluster/SOS/Manifest
index f36dc6067..39fe5f9b1 100644
--- a/sys-cluster/SOS/Manifest
+++ b/sys-cluster/SOS/Manifest
@@ -1 +1,2 @@
DIST SOS-1.5.0.tar.gz 544478 BLAKE2B f2a63fbf39958ac238e2d687d866c2f600956b933f956a4d8552acff29973de4d3e46a323b3f8eb3a63d395728cbafdfe119ea99d0fb5e17250d879ff269fb0e SHA512 0506bda8ab898cd1aaea82e230c64e17dde4ccfb3b70c9a4397c90d08643b3c7f96e7eae70e1a2b706b33737e979315372bcc338fc957652cd1b5e55d7a560ad
+DIST SOS-1.5.1.tar.gz 590101 BLAKE2B c6ca85942dbfbd4ecc02700ec2b84ab4f6fd00809ba77448973255ddea8ffab13977bbbe6bb7a2d69476f7fc5e6de43e077193dc8a6761a0de05d5a9c8a0a6a2 SHA512 a181a14c841611fbac2ba69b8f25ce856e1e5e9c9a7bbd37482e77d61b83365863778bcbaf898c4d6489c6b9c0aa69fb8fd60bc5468bcc01f82002d0533d0378
diff --git a/sys-cluster/SOS/SOS-1.5.1.ebuild b/sys-cluster/SOS/SOS-1.5.1.ebuild
new file mode 100644
index 000000000..a4ebf34c7
--- /dev/null
+++ b/sys-cluster/SOS/SOS-1.5.1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+
+inherit autotools fortran-2
+
+DESCRIPTION="implementation of the OpenSHMEM specification"
+HOMEPAGE="https://github.com/Sandia-OpenSHMEM/SOS"
+SRC_URI="https://github.com/Sandia-OpenSHMEM/SOS/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD public-domain"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE_OFI_MR="
+ ofi_mr_basic
+ +ofi_mr_scalable
+ ofi_mr_rma-event
+"
+IUSE_TOTAL_DATA_ORDERING="
+ total_data_ordering_always
+ +total_data_ordering_check
+ total_data_ordering_never
+"
+IUSE="${IUSE_OFI_MR} ${IUSE_TOTAL_DATA_ORDERING} av-map bounce-buffers cma completion-polling cxx
+debug error-checking fortran long-fortran-header manual-progress memcpy ofi ofi-fence openmp
++pmi portals4 profiling pthread-mutexes remote-virtual-addressing threads
+thread-completion ucx xpmem"
+
+RDEPEND="
+ ofi? ( sys-block/libfabric )
+ pmi? ( || ( sys-cluster/slurm sys-cluster/pmix[pmi] ) )
+ portals4? ( sys-cluster/portals4 )
+ ucx? ( sys-cluster/ucx )
+ xpmem? ( sys-kernel/xpmem )
+"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="
+ ^^ ( ${IUSE_OFI_MR/+/} )
+ ^^ ( ${IUSE_TOTAL_DATA_ORDERING/+/} )
+ ?? ( cma xpmem )
+ ?? ( ofi portals4 )
+"
+
+pkg_setup() {
+ FORTRAN_NEED_OPENMP=0
+ use openmp && FORTRAN_NEED_OPENMP=1
+
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ #copied from bootstrap
+ if [[ ! -d ./config ]]; then
+ mkdir ./config || die
+ fi
+ FILES=./man/*.1
+ echo -n "dist_man1_MANS =" > ./man/Makefile.am || die
+ for f in $FILES
+ do
+ echo -n " $(basename $f)" >> ./man/Makefile.am || die
+ done
+ FILES=./man/*.3
+ echo -e -n "\ndist_man3_MANS =" >> ./man/Makefile.am || die
+ for f in $FILES
+ do
+ echo -n " $(basename $f)" >> ./man/Makefile.am || die
+ done
+ echo -e "\n" >> ./man/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ if use pmi; then
+ export CC=mpicc
+ export CXX=mpicxx
+ fi
+
+ local ofimr
+ use ofi_mr_basic && ofimr="basic"
+ use ofi_mr_scalable && ofimr="scalable"
+ use ofi_mr_rma-event && ofimr="rma-event"
+
+ local tda
+ use total_data_ordering_always && tda="always"
+ use total_data_ordering_check && tda="check"
+ use total_data_ordering_never && tda="never"
+
+ local myconf=(
+ --disable-picky
+ --disable-pmi-simple
+ --disable-rpm-prefix
+ --enable-ofi-mr="${ofimr}"
+ --enable-total-data-ordering="${tda}"
+ $(use_enable av-map)
+ $(use_enable bounce-buffers)
+ $(use_enable completion-polling)
+ $(use_enable cxx)
+ $(use_enable debug)
+ $(use_enable error-checking)
+ $(use_enable fortran)
+ $(use_enable long-fortran-header)
+ $(use_enable manual-progress)
+ $(use_enable memcpy)
+ $(use_enable ofi-fence)
+ $(use_enable openmp)
+ $(use_enable pmi pmi-mpi)
+ $(use_enable profiling)
+ $(use_enable pthread-mutexes)
+ $(use_enable remote-virtual-addressing)
+ $(use_enable threads)
+ $(use_enable thread-completion)
+
+ $(use_with cma)
+ $(use_with ofi)
+ $(use_with pmi)
+ $(use_with portals4)
+ $(use_with ucx)
+ $(use_with xpmem)
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}