aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-06-14 09:18:36 +0200
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-06-14 10:00:25 +0200
commit764108ec5a9c6c042aa4f5370055535e52bdc5ee (patch)
tree5f0eff2c65811b6197c9a7a7fabea805f191013a /dev-libs
parentnet-libs/evpath: add 4.5.0_p20220601, drop 4.5.0_p20220601 (diff)
downloadguru-764108ec5a9c6c042aa4f5370055535e52bdc5ee.tar.gz
guru-764108ec5a9c6c042aa4f5370055535e52bdc5ee.tar.bz2
guru-764108ec5a9c6c042aa4f5370055535e52bdc5ee.zip
dev-libs/KVTree: rename sys-cluster/KVTree
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/KVTree/KVTree-1.2.0.ebuild58
-rw-r--r--dev-libs/KVTree/KVTree-1.3.0.ebuild64
-rw-r--r--dev-libs/KVTree/Manifest2
-rw-r--r--dev-libs/KVTree/files/KVTree-1.2.0-no-static.patch47
-rw-r--r--dev-libs/KVTree/files/KVTree-no-install-readme.patch12
-rw-r--r--dev-libs/KVTree/metadata.xml18
6 files changed, 201 insertions, 0 deletions
diff --git a/dev-libs/KVTree/KVTree-1.2.0.ebuild b/dev-libs/KVTree/KVTree-1.2.0.ebuild
new file mode 100644
index 000000000..9d7bfd9cb
--- /dev/null
+++ b/dev-libs/KVTree/KVTree-1.2.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="KVTree provides a fully extensible C data structure modeled after Perl hashes"
+HOMEPAGE="https://github.com/ECP-VeloC/KVTree"
+SRC_URI="https://github.com/ECP-VeloC/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="MIT"
+SLOT="0"
+IUSE="fcntl +flock mpi test"
+
+RDEPEND="
+ mpi? ( virtual/mpi )
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-util/cmake-2.8
+ app-admin/chrpath
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-no-install-readme.patch"
+ "${FILESDIR}/${P}-no-static.patch"
+)
+REQUIRED_USE="?? ( fcntl flock )"
+RESTRICT="test? ( userpriv ) !test? ( test )"
+
+src_configure() {
+ local flock="NONE"
+ use fcntl && flock="FCNTL"
+ use flock && flock="FLOCK"
+
+ local mycmakeargs=(
+ -DENABLE_TESTS=$(usex test)
+ -DMPI="$(usex mpi ON OFF)"
+ -DKVTREE_FILE_LOCK="${flock}"
+
+ -DBUILD_SHARED_LIBS=ON
+ -DKVTREE_LINK_STATIC=FALSE
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ chrpath -d "${BUILD_DIR}/src/kvtree_print" || die
+ cmake_src_install
+ chrpath -d "${ED}/usr/$(get_libdir)/libkvtree.so" || die
+ chrpath -d "${ED}/usr/$(get_libdir)/libkvtree_base.so" || die
+ dodoc doc/rst/*.rst
+ docinto "${DOCSDIR}/users"
+ dodoc -r doc/rst/users/.
+}
diff --git a/dev-libs/KVTree/KVTree-1.3.0.ebuild b/dev-libs/KVTree/KVTree-1.3.0.ebuild
new file mode 100644
index 000000000..0b4066a8f
--- /dev/null
+++ b/dev-libs/KVTree/KVTree-1.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="KVTree provides a fully extensible C data structure modeled after Perl hashes"
+HOMEPAGE="https://github.com/ECP-VeloC/KVTree"
+SRC_URI="https://github.com/ECP-VeloC/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="MIT"
+SLOT="0"
+IUSE="fcntl +flock mpi test"
+
+RDEPEND="
+ mpi? ( virtual/mpi )
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-admin/chrpath"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-no-install-readme.patch"
+ "${FILESDIR}/${PN}-1.2.0-no-static.patch"
+)
+REQUIRED_USE="?? ( fcntl flock )"
+RESTRICT="test? ( userpriv ) !test? ( test )"
+
+src_configure() {
+ local flock="NONE"
+ use fcntl && flock="FCNTL"
+ use flock && flock="FLOCK"
+
+ local mycmakeargs=(
+ -DENABLE_TESTS=$(usex test)
+ -DMPI="$(usex mpi ON OFF)"
+ -DKVTREE_FILE_LOCK="${flock}"
+
+ -DBUILD_SHARED_LIBS=ON
+ -DKVTREE_LINK_STATIC=FALSE
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ chrpath -d "${BUILD_DIR}/src/kvtree_print" || die
+ cmake_src_install
+ chrpath -d "${ED}/usr/$(get_libdir)/libkvtree.so" || die
+ chrpath -d "${ED}/usr/$(get_libdir)/libkvtree_base.so" || die
+ dodoc doc/rst/*.rst
+ docinto "${DOCSDIR}/users"
+ dodoc -r doc/rst/users/.
+}
+
+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
+}
diff --git a/dev-libs/KVTree/Manifest b/dev-libs/KVTree/Manifest
new file mode 100644
index 000000000..fed8e4b0f
--- /dev/null
+++ b/dev-libs/KVTree/Manifest
@@ -0,0 +1,2 @@
+DIST KVTree-1.2.0.tar.gz 61844 BLAKE2B 4bd7a975f3c2f510b7ade983c393ac86cb9bcb7216776fd59db8cc258f869f1157f5a08aee3c19fb8e23c796928b6b44c9e3dd95eee13c7e4a4c1fdf3b5d8f00 SHA512 ddc6f2b32bcf8e1a369a17b238d4454679f3a8a4fc1a9fa18e5317418cf73c7d0db2169b53513e15ad05e1f22c80cdd9d66cddbc8aa2ad2a1c95d4910b3d7f88
+DIST KVTree-1.3.0.tar.gz 62063 BLAKE2B 205d6cec078857846a6faa4544901e1d381e7e695fd7935ca690cabf9d65d51d5dda7a4ab5f9afd0ebb378ef6205d6982740ee71504e07f4db94be0775b8e27d SHA512 578c452e07ebf1df36f56fe740fac171535fc8ab421f1f211eab89438207a459b2376b2b645b6ca393f1c5c1c484fbfd467230598b1a4e785e429e521c5c22fd
diff --git a/dev-libs/KVTree/files/KVTree-1.2.0-no-static.patch b/dev-libs/KVTree/files/KVTree-1.2.0-no-static.patch
new file mode 100644
index 000000000..6c9ba59f3
--- /dev/null
+++ b/dev-libs/KVTree/files/KVTree-1.2.0-no-static.patch
@@ -0,0 +1,47 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -57,16 +57,6 @@
+ INSTALL(TARGETS kvtree DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ ENDIF()
+
+-ADD_LIBRARY(kvtree-static STATIC $<TARGET_OBJECTS:kvtree_o>)
+-IF(KVTREE_LINK_STATIC)
+- SET_TARGET_PROPERTIES(kvtree-static PROPERTIES LINK_SEARCH_START_STATIC 1)
+- SET_TARGET_PROPERTIES(kvtree-static PROPERTIES LINK_SEARCH_END_STATIC 1)
+-ENDIF(KVTREE_LINK_STATIC)
+-TARGET_LINK_LIBRARIES(kvtree-static ${KVTREE_EXTERNAL_LIBS})
+-
+-SET_TARGET_PROPERTIES(kvtree-static PROPERTIES OUTPUT_NAME kvtree CLEAN_DIRECT_OUTPUT 1)
+-INSTALL(TARGETS kvtree-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-
+ # KVTREE base Library (no MPI)
+ ADD_LIBRARY(kvtree_noMPI_o OBJECT ${libkvtree_noMPI_srcs})
+
+@@ -77,16 +67,6 @@
+ INSTALL(TARGETS kvtree_base DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ ENDIF(BUILD_SHARED_LIBS)
+
+-ADD_LIBRARY(kvtree_base-static STATIC $<TARGET_OBJECTS:kvtree_noMPI_o>)
+-IF(KVTREE_LINK_STATIC)
+- SET_TARGET_PROPERTIES(kvtree_base-static PROPERTIES LINK_SEARCH_START_STATIC 1)
+- SET_TARGET_PROPERTIES(kvtree_base-static PROPERTIES LINK_SEARCH_END_STATIC 1)
+-ENDIF(KVTREE_LINK_STATIC)
+-TARGET_LINK_LIBRARIES(kvtree_base-static ${KVTREE_SERIAL_LIBS})
+-
+-SET_TARGET_PROPERTIES(kvtree_base-static PROPERTIES OUTPUT_NAME kvtree_base CLEAN_DIRECT_OUTPUT 1)
+-INSTALL(TARGETS kvtree_base-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-
+ ###########
+ # CLI KVTREE #
+ ###########
+@@ -99,10 +79,6 @@
+ # Build and install C binaries
+ FOREACH(bin IN ITEMS ${clikvtree_c_bins})
+ ADD_EXECUTABLE(${bin} ${bin}.c)
+- IF(KVTREE_LINK_STATIC)
+- TARGET_LINK_LIBRARIES(${bin} kvtree-static)
+- ELSE()
+ TARGET_LINK_LIBRARIES(${bin} kvtree)
+- ENDIF()
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${bin} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ ENDFOREACH(bin IN ITEMS ${clikvtree_c_bins})
diff --git a/dev-libs/KVTree/files/KVTree-no-install-readme.patch b/dev-libs/KVTree/files/KVTree-no-install-readme.patch
new file mode 100644
index 000000000..96d58aabc
--- /dev/null
+++ b/dev-libs/KVTree/files/KVTree-no-install-readme.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -87,9 +87,6 @@
+ SET_SOURCE_FILES_PROPERTIES(config.h.in PROPERTIES GENERATED FALSE)
+ SET_SOURCE_FILES_PROPERTIES(${PROJECT_BINARY_DIR}/config.h PROPERTIES GENERATED TRUE)
+
+-# Special Install Files
+-INSTALL(FILES README.md DESTINATION ${CMAKE_INSTALL_DATADIR}/kvtree)
+-
+ # Package
+ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "KV Storage Library for Perl style hashes")
+ SET(CPACK_PACKAGE_VENDOR "Lawrence Livermore National Laboratory")
diff --git a/dev-libs/KVTree/metadata.xml b/dev-libs/KVTree/metadata.xml
new file mode 100644
index 000000000..f4359c5da
--- /dev/null
+++ b/dev-libs/KVTree/metadata.xml
@@ -0,0 +1,18 @@
+<?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/KVTree</remote-id>
+ </upstream>
+ <use>
+ <flag name="fcntl">Set the type of file locking to fcntl.</flag>
+ <flag name="flock">Set the type of file locking to flock.</flag>
+ </use>
+ <longdescription lang="en">Each KVTree object contains a list of key/value pairs. Each key is a string, each value is another kvtree object. This is a nested data structures, similar to a python dict or perl hash. The library provides functions to serialize a kvtree object to / from a file. It also optionally provides MPI send / recv functions to transfer an object from one process to another.
+In addition to getter and setter utilities, this library provides serialization (for persisting an KVTree to a file) and optional MPI functionality.
+ </longdescription>
+</pkgmetadata>