sys-cluster/veloc: new package

Package-Manager: Portage-2.3.91, Repoman-2.3.20
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2020-03-05 03:25:56 +01:00
parent 7212ba79c2
commit 606d1c138a
3 changed files with 124 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST veloc-1.2.tar.gz 243142 BLAKE2B ef3d37dd2d02734e20f1d540abcd29d2a4b8a78754a5ffa9994f458d5ed32e753c892570f9780eea966b90c0ff2995cf710e21efc9c64c88f1d39c5b1b422521 SHA512 3ed2549a67cea15b55d2da3b9ca4e3bd9c08ad8c62ee79c0f3006f36d3de8501ad9ae39bd9dffe2ca3c3b4ba365a190ec65c9ae149ed4a4c14b45faf27b3dd9f

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">ECP-VeloC/VELOC</remote-id>
</upstream>
<longdescription lang="en">VeloC is a multi-level checkpoint/restart runtime that delivers high performance and scalability for complex heterogeneous storage hierarchies without sacrificing ease of use and flexibility.
It is primarily used as a fault-tolerance tool for tightly coupled HPC applications running on supercomputing infrastructure but is essential in many other use cases: suspend-resume, migration, debugging.
VeloC is a collaboration between Argonne National Laboratory and Lawrence Livermore National Laboratory as part of the Exascale Computing Project.
</longdescription>
<use>
<flag name="alps">Use ALPS (Application Level Placement Scheduler) as resource manager</flag>
<flag name="lsf">Use LFS (Load Sharing Facility) as resource manager</flag>
<flag name="slurm">Use <pkg>sys-cluster/slurm</pkg> as resource manager</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,101 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7} )
inherit cmake-utils distutils-r1
DESCRIPTION="Very-Low Overhead Checkpointing System"
HOMEPAGE="https://github.com/ECP-VeloC/VELOC"
SRC_URI="https://github.com/ECP-VeloC/${PN^^}/archive/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="alps doc +lsf python slurm test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
?? ( alps lsf slurm )
"
RDEPEND="
slurm? ( sys-cluster/slurm )
app-shells/pdsh
>=dev-libs/boost-1.60.0
sys-cluster/AXL
sys-cluster/er
virtual/mpi
"
DEPEND="${RDEPEND}"
BDEPEND="
>=dev-util/cmake-2.8
doc? ( dev-python/sphinx )
"
S="${WORKDIR}/${PN^^}-${P}"
src_prepare() {
#strip CFLAGS
sed -i 's/-O2 -g//g' CMakeLists.txt || die
sed -i 's/LIBRARY DESTINATION lib/LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' src/modules/CMakeLists.txt || die
sed -i 's/LIBRARY DESTINATION lib/LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' src/lib/CMakeLists.txt || die
sed -i 's/LIBRARY DESTINATION lib/LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' src/backend/CMakeLists.txt || die
#do not auto install README
# sed -i '/FILES README.md DESTINATION/d' CMakeLists.txt || die
default
cmake-utils_src_prepare
}
src_configure() {
RESMAN="NONE"
use alps && RESMAN="ALPS"
use lsf && RESMAN="LSF"
use slurm && RESMAN="SLURM"
local mycmakeargs=(
-DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
-DX_LIBDIR="$(get_libdir)"
)
cmake-utils_src_configure
}
src_compile() {
default
if use python; then
cd "${S}/src/bindings/python"
distutils-r1_src_compile
fi
if use doc; then
cd "${S}/docs"
emake man
emake info
emake html
emake latexpdf
fi
}
src_install() {
cmake-utils_src_install
if use python; then
cd "${S}/src/bindings/python"
distutils-r1_src_install
fi
#ToDO: install docs
# dodoc -r docs/.
}
src_test() {
cd test
default
if use python; then
cd "${S}/src/bindings/python"
python_test() {
"${EPYTHON}" test.py -v || die
}
distutils-r1_src_test
fi
}