aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-03-05 03:25:56 +0100
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-03-05 03:25:56 +0100
commit606d1c138ac41ac7b5907d8432f22170df9ea8f7 (patch)
treec0b79898d06366fa5798c764bef0625c71075ccf /sys-cluster
parentdev-lang/aldor: respect flags, link gc (diff)
downloadguru-606d1c138ac41ac7b5907d8432f22170df9ea8f7.tar.gz
guru-606d1c138ac41ac7b5907d8432f22170df9ea8f7.tar.bz2
guru-606d1c138ac41ac7b5907d8432f22170df9ea8f7.zip
sys-cluster/veloc: new package
Package-Manager: Portage-2.3.91, Repoman-2.3.20 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/veloc/Manifest1
-rw-r--r--sys-cluster/veloc/metadata.xml22
-rw-r--r--sys-cluster/veloc/veloc-1.2.ebuild101
3 files changed, 124 insertions, 0 deletions
diff --git a/sys-cluster/veloc/Manifest b/sys-cluster/veloc/Manifest
new file mode 100644
index 00000000..f2600941
--- /dev/null
+++ b/sys-cluster/veloc/Manifest
@@ -0,0 +1 @@
+DIST veloc-1.2.tar.gz 243142 BLAKE2B ef3d37dd2d02734e20f1d540abcd29d2a4b8a78754a5ffa9994f458d5ed32e753c892570f9780eea966b90c0ff2995cf710e21efc9c64c88f1d39c5b1b422521 SHA512 3ed2549a67cea15b55d2da3b9ca4e3bd9c08ad8c62ee79c0f3006f36d3de8501ad9ae39bd9dffe2ca3c3b4ba365a190ec65c9ae149ed4a4c14b45faf27b3dd9f
diff --git a/sys-cluster/veloc/metadata.xml b/sys-cluster/veloc/metadata.xml
new file mode 100644
index 00000000..e87dd08c
--- /dev/null
+++ b/sys-cluster/veloc/metadata.xml
@@ -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>
diff --git a/sys-cluster/veloc/veloc-1.2.ebuild b/sys-cluster/veloc/veloc-1.2.ebuild
new file mode 100644
index 00000000..f600b01b
--- /dev/null
+++ b/sys-cluster/veloc/veloc-1.2.ebuild
@@ -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
+}