commit: 52a5f4e29747b8777541d3064559f7e67f230ef7 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Wed Mar 23 14:37:39 2022 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Wed Mar 23 14:38:47 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=52a5f4e2
sys-cluster/scr: add 3.0 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/scr/Manifest | 1 + sys-cluster/scr/scr-3.0.ebuild | 114 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/sys-cluster/scr/Manifest b/sys-cluster/scr/Manifest index 0ab6de12b..0eafc8db1 100644 --- a/sys-cluster/scr/Manifest +++ b/sys-cluster/scr/Manifest @@ -1 +1,2 @@ +DIST scr-3.0.tar.gz 1235509 BLAKE2B 3a470c1f55d633993db6ca7c7980e6b8b34513370a8233202ac21d625f64c1630eafd6084735e81fe60e05f182b71114f51f8f4fe69df8cf609b1e6d6ded01f5 SHA512 168bffb7c0280094075879fa5c626dfc57f9004c9ebe09a97cf0d2b0e67c3979f31c7b39466586eb20562e6768ce576625a6d4d99f9ad9fe5ae02a82cfbc988f DIST scr-3.0_pre2.tar.gz 1231943 BLAKE2B a4d8e779edc4b48a5b13a0cff851496068076a8ae901f3c3d3ad2344708a0abc6b69ce71bd7313286a91844a87930e6fa5c097d1c5b15ebbc12247ba293f843f SHA512 7b90b14cfbb6fa3020b6c3c3a7f5568963374d9fe7ad0b6962632f776c3699d6c38fa04800736d423350190542896ca9240033dca1e820f7f698c336518c891a diff --git a/sys-cluster/scr/scr-3.0.ebuild b/sys-cluster/scr/scr-3.0.ebuild new file mode 100644 index 000000000..436162f74 --- /dev/null +++ b/sys-cluster/scr/scr-3.0.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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=" + https://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" +S="${WORKDIR}/${PN}-${MYPV}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc examples fcntl +flock +fortran mysql slurm syslog test threads txt-log +yogrt" + +RDEPEND=" + ${PYTHON_DEPS} + + app-shells/pdsh + >=sys-cluster/AXL-0.5.0 + 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 ) + slurm? ( sys-cluster/slurm ) + yogrt? ( sys-cluster/libyogrt[slurm?] ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-3.0_pre2-shared-libscr_base.patch" + "${FILESDIR}/${PN}-3.0_pre2-no-static.patch" +) +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + + ?? ( fcntl flock ) +" +RESTRICT="!test? ( test )" + +pkg_setup() { + fortran-2_pkg_setup +} + +src_configure() { + 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" + use slurm && resman="SLURM" + + local mycmakeargs=( + -DBUILD_PDSH=OFF + -DBUILD_SHARED_LIBS=ON + -DENABLE_CRAY_DW=OFF + -DENABLE_IBM_BBAPI=OFF + -DENABLE_PDSH=ON + -DSCR_LINK_STATIC=OFF + + -DSCR_FILE_LOCK="${lock}" + -DSCR_LOG_ENABLE="${log}" + -DSCR_RESOURCE_MANAGER="${resman}" + + -DENABLE_EXAMPLES=$(usex examples) + -DENABLE_FORTRAN=$(usex fortran) + -DENABLE_PTHREADS=$(usex threads) + -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 +# find "${ED}" -name '*.a' -delete || die +} + +src_test() { + if mountpoint -q /dev/shm ; then + cmake_src_test + else + eerror "make sure to mount /dev/shm or tests will fail" + die + fi +}