diff options
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/SOS/Manifest | 1 | ||||
-rw-r--r-- | sys-cluster/SOS/SOS-1.5.1.ebuild | 133 |
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 +} |