mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
sys-cluster/fti: initial import
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
sys-cluster/fti/Manifest
Normal file
1
sys-cluster/fti/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST fti-1.6.tar.gz 1752536 BLAKE2B 5e4757700a4911cd82cbd0a7426e39ef081c38809e39d4564a8aeea24e370ed9a87654c664ee14afaa95a394275db817271cf393d3b7febce9f578d5874e520e SHA512 068e43d6c433c57c88acd8b39a0f05a012e87084fa8e0a912216f8e9725310bfab46ba8a23b02560287e7408ccb1ed62ead61768deb9135d9eb1b3fd19bed290
|
||||
20
sys-cluster/fti/files/fti-add-spinx-ext-autodoc.patch
Normal file
20
sys-cluster/fti/files/fti-add-spinx-ext-autodoc.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
From 65f203e50cd08489d2c49ec8a645d82f104c6b29 Mon Sep 17 00:00:00 2001
|
||||
From: Alessandro Barbieri <lssndrbarbieri@gmail.com>
|
||||
Date: Sat, 31 Jul 2021 08:11:00 +0200
|
||||
Subject: [PATCH] add sphinx.ext.autodoc to doc extensions
|
||||
|
||||
---
|
||||
docs/source/conf.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/docs/source/conf.py
|
||||
+++ b/docs/source/conf.py
|
||||
@@ -31,7 +31,7 @@
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
-extensions = ['breathe', 'sphinx.ext.autosectionlabel']
|
||||
+extensions = ['breathe', 'sphinx.ext.autosectionlabel', 'sphinx.ext.autodoc']
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
11
sys-cluster/fti/files/fti-sionlib-includedir.patch
Normal file
11
sys-cluster/fti/files/fti-sionlib-includedir.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -126,7 +126,7 @@
|
||||
# Library: SIONLib (Optional)
|
||||
if(ENABLE_SIONLIB)
|
||||
set(SIONLIBBASE "" CACHE FILEPATH "base path to SIONlib installation")
|
||||
- set(SIONLIB_INCLUDE_DIR "${SIONLIBBASE}/include/")
|
||||
+ set(SIONLIB_INCLUDE_DIR "/usr/include/sionlib")
|
||||
|
||||
list(APPEND INC_PRIV ${SIONLIB_INCLUDE_DIR})
|
||||
find_library(SIONLIB_MPI NAMES "sionmpi_64"
|
||||
85
sys-cluster/fti/fti-1.6.ebuild
Normal file
85
sys-cluster/fti/fti-1.6.ebuild
Normal file
@@ -0,0 +1,85 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
DOCS_BUILDER="sphinx"
|
||||
DOCS_DEPEND="
|
||||
dev-python/breathe
|
||||
dev-python/sphinx_rtd_theme
|
||||
"
|
||||
DOCS_DIR="${S}/docs/source"
|
||||
FORTRAN_NEEDED="fortran"
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
|
||||
inherit cmake python-any-r1 docs fortran-2
|
||||
|
||||
DESCRIPTION="Fault Tolerance Interface"
|
||||
HOMEPAGE="https://github.com/leobago/fti"
|
||||
SRC_URI="https://github.com/leobago/fti/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="doc examples fi-io hdf5 lustre fortran openssl sionlib test tutorial"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib
|
||||
virtual/mpi
|
||||
|
||||
hdf5? ( sci-libs/hdf5[mpi] )
|
||||
lustre? ( sys-cluster/lustre )
|
||||
openssl? ( dev-libs/openssl )
|
||||
sionlib? ( sys-cluster/sionlib )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="doc? ( app-doc/doxygen )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-sionlib-includedir.patch"
|
||||
"${FILESDIR}/${PN}-add-spinx-ext-autodoc.patch"
|
||||
)
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
pkg_setup() {
|
||||
fortran-2_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DSIONLIBBASE="${EPREFIX}/usr/$(get_libdir)"
|
||||
-DENABLE_COVERAGE=OFF
|
||||
-DENABLE_IME_NATIVE=OFF
|
||||
|
||||
-DENABLE_DOCU=$(usex doc)
|
||||
-DENABLE_EXAMPLES=$(usex examples)
|
||||
-DENABLE_FI_IO=$(usex fi-io)
|
||||
-DENABLE_FORTRAN=$(usex fortran)
|
||||
-DENABLE_HDF5=$(usex hdf5)
|
||||
-DENABLE_LUSTRE=$(usex lustre)
|
||||
-DENABLE_OPENSSL=$(usex openssl)
|
||||
-DENABLE_SIONLIB=$(usex sionlib)
|
||||
-DENABLE_TESTS=$(usex test)
|
||||
-DENABLE_TUTORIAL=$(usex tutorial)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
docs_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
einstalldocs
|
||||
if use examples; then
|
||||
mkdir -p "${ED}/usr/libexec/${PN}" || die
|
||||
mv "${ED}/usr/bin/examples" "${ED}/usr/libexec/${PN}/examples" || die
|
||||
fi
|
||||
if use tutorial; then
|
||||
mkdir -p "${ED}/usr/libexec/${PN}" || die
|
||||
mv "${ED}/usr/bin/tutorial" "${ED}/usr/libexec/${PN}/tutorial" || die
|
||||
fi
|
||||
find "${ED}" -name '*.a' -delete || die
|
||||
}
|
||||
25
sys-cluster/fti/metadata.xml
Normal file
25
sys-cluster/fti/metadata.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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>
|
||||
<bugs-to>https://github.com/leobago/fti/issues</bugs-to>
|
||||
<remote-id type="github">leobago/fti</remote-id>
|
||||
</upstream>
|
||||
<longdescription lang="en">
|
||||
FTI stands for Fault Tolerance Interface and is a library that aims to give computational scientists the means to perform fast and efficient multilevel checkpointing in large scale supercomputers. FTI leverages local storage plus data replication and erasure codes to provide several levels of reliability and performance. FTI is application-level checkpointing and allows users to select which datasets needs to be protected, in order to improve efficiency and avoid wasting space, time and energy. In addition, it offers a direct data interface so that users do not need to deal with files and/or directory names. All metadata is managed by FTI in a transparent fashion for the user. If desired, users can dedicate one process per node to overlap fault tolerance workload and scientific computation, so that post-checkpoint tasks are executed asynchronously.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="openssl">To use the <pkg>dev-libs/openssl</pkg> MD5 rather than the built-in</flag>
|
||||
<flag name="fortran">Enables the build of a Fortran wrapper</flag>
|
||||
<flag name="lustre">Enables Lustre Support</flag>
|
||||
<flag name="sionlib">Enables the parallel I/O <pkg>sys-cluster/sionlib</pkg> for FTI</flag>
|
||||
<flag name="hdf5">Enables the HDF5 checkpoints for FTI</flag>
|
||||
<flag name="tutorial">Enables the generation of tutorial files</flag>
|
||||
<flag name="fi-io">Enables the I/O failure injection mechanism</flag>
|
||||
<flag name="tests">Enables the generation of tests</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user