diff options
author | 2022-06-14 09:18:36 +0200 | |
---|---|---|
committer | 2022-06-14 10:00:25 +0200 | |
commit | 764108ec5a9c6c042aa4f5370055535e52bdc5ee (patch) | |
tree | 5f0eff2c65811b6197c9a7a7fabea805f191013a /dev-libs | |
parent | net-libs/evpath: add 4.5.0_p20220601, drop 4.5.0_p20220601 (diff) | |
download | guru-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.ebuild | 58 | ||||
-rw-r--r-- | dev-libs/KVTree/KVTree-1.3.0.ebuild | 64 | ||||
-rw-r--r-- | dev-libs/KVTree/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/KVTree/files/KVTree-1.2.0-no-static.patch | 47 | ||||
-rw-r--r-- | dev-libs/KVTree/files/KVTree-no-install-readme.patch | 12 | ||||
-rw-r--r-- | dev-libs/KVTree/metadata.xml | 18 |
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> |