commit: 89de1321c6c29f71dde57c6765ddf260459d9323 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Sun Aug 1 23:57:35 2021 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Sun Aug 1 23:57:35 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=89de1321
sys-cluster/scr: initial import Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/scr/Manifest | 1 + sys-cluster/scr/metadata.xml | 27 ++++++++++ sys-cluster/scr/scr-3.0_pre1.ebuild | 105 ++++++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+) diff --git a/sys-cluster/scr/Manifest b/sys-cluster/scr/Manifest new file mode 100644 index 000000000..a69a9230c --- /dev/null +++ b/sys-cluster/scr/Manifest @@ -0,0 +1 @@ +DIST scr-3.0_pre1.tar.gz 1629041 BLAKE2B c7922e208964b8456c65393c0f9b17530b3eb66ceab38bc682b1fb78b29f77f2d3a6c51c9c8380720c88606a8da3b34f9a088ed80198f3c4f2bfe6906faac6ef SHA512 3bf290a41cb8abbd7e08ab02580f1e4dd73758946fe0ba7bd861a5099f8396e382dc8b80a0a33b0d45ee929efa069bd7a6381e9ca6f11d9049e113ac9aec6793 diff --git a/sys-cluster/scr/metadata.xml b/sys-cluster/scr/metadata.xml new file mode 100644 index 000000000..35b2de595 --- /dev/null +++ b/sys-cluster/scr/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>lssndrbarbi...@gmail.com</email> + <name>Alessandro Barbieri</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/LLNL/scr/issues</bugs-to> + <remote-id type="github">LLNL/scr</remote-id> + </upstream> + <longdescription lang="en"> +The Scalable Checkpoint / Restart (SCR) library enables MPI applications to utilize distributed storage on Linux clusters to attain high file I/O bandwidth for checkpointing, restarting, and output in large-scale jobs. With SCR, jobs run more efficiently, recompute less work upon a failure, and reduce load on critical shared resources such as the parallel file system. + </longdescription> + <use> + <flag name="fcntl">use fcntl as a file locking type</flag> + <flag name="flock">use flock as a file locking type</flag> + <flag name="fortran">Enables Fortran support</flag> + <flag name="mysql">Enable use of mysql for logging SCR activities</flag> + <flag name="pdsh">Enable use of pdsh for scalable restart and scavenge</flag> + <flag name="pmix">use pmix as resource manager</flag> + <flag name="slurm">use slurm as resource manager</flag> + <flag name="syslog">Whether to enable syslog logging</flag> + <flag name="txt-log">Whether to enable text file logging</flag> + <flag name="yogrt">Enable use of yogrt for time remaining in a job allocation</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/scr/scr-3.0_pre1.ebuild b/sys-cluster/scr/scr-3.0_pre1.ebuild new file mode 100644 index 000000000..9671df9d7 --- /dev/null +++ b/sys-cluster/scr/scr-3.0_pre1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +DOCS_BUILDER="sphinx" +DOCS_DIR="${S}/doc/rst" +FORTRAN_NEEDED="fortran" +MYPV="${PV/_pre/rc}" +PYTHON_COMPAT=( python3_{8..10} pypy3 ) + +inherit cmake python-single-r1 fortran-2 docs + +DESCRIPTION="Scalable Checkpoint / Restart Library" +HOMEPAGE=" + http://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi + https://github.com/LLNL/scr +" +SRC_URI="https://github.com/LLNL/scr/archive/refs/tags/v${MYPV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc examples fcntl +flock +fortran mysql pdsh pmix slurm syslog txt-log +yogrt" + +#cppr +RDEPEND=" + ${PYTHON_DEPS} + + sys-cluster/AXL + sys-cluster/dtcmp + sys-cluster/er + sys-cluster/KVTree + sys-cluster/rankstr + sys-cluster/redset + sys-cluster/spath + sys-libs/zlib + virtual/mpi + + mysql? ( dev-db/mysql-connector-c ) + pdsh? ( app-shells/pdsh ) + pmix? ( sys-cluster/pmix ) + slurm? ( sys-cluster/slurm ) + yogrt? ( sys-cluster/libyogrt[slurm?] ) +" +DEPEND="${RDEPEND}" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + + ?? ( pmix slurm ) + ?? ( fcntl flock ) +" + +pkg_setup() { + fortran-2_pkg_setup +} + +src_configure() { + local asyncapi="NONE" #INTEL_CPPR + + local lock="NONE" + use fcntl && lock="FCNTL" + use flock && lock="FLOCK" + + local log="0" + use syslog && log="1" + use txt-log && log="1" + + local resman="NONE" #APRUN LSF + use pmix && resman="PMIX" + use slurm && resman="SLURM" + + local mycmakeargs=( + -DBUILD_PDSH=OFF + -DENABLE_INTEL_CPPR=OFF + -DENABLE_ENABLE_CRAY_DW=OFF + -DENABLE_IBM_BBAPI=OF + -DSCR_ASYNC_API="${asyncapi}" + -DSCR_FILE_LOCK="${lock}" + -DSCR_LINK_STATIC=OFF + -DSCR_LOG_ENABLE="${log}" + -DSCR_RESOURCE_MANAGER="${resman}" + + -DENABLE_EXAMPLES=$(usex examples) + -DENABLE_FORTRAN=$(usex fortran) + -DENABLE_PDSH=$(usex pdsh) + -DENABLE_TESTS=$(usex test) + -DENABLE_YOGRT=$(usex yogrt) + -DSCR_LOG_SYSLOG_ENABLE=$(usex syslog 0 1) + -DSCR_LOG_TXT_ENABLE=$(usex txt-log 0 1) + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + docs_compile +} + +src_install() { + cmake_src_install + einstalldocs + find "${ED}" -name '*.a' -delete || die +}