diff options
author | Guilherme Amadio <amadio@gentoo.org> | 2023-02-24 17:31:17 +0100 |
---|---|---|
committer | Guilherme Amadio <amadio@gentoo.org> | 2023-02-24 17:37:13 +0100 |
commit | 818d224bf21089fdcd8a40013469d1873b528281 (patch) | |
tree | 2850c09b8126c3975fb602f59f5f9760fbd4f982 /net-fs | |
parent | net-misc/htpdate: Stabilize 1.3.6 ppc, #896292 (diff) | |
download | gentoo-818d224bf21089fdcd8a40013469d1873b528281.tar.gz gentoo-818d224bf21089fdcd8a40013469d1873b528281.tar.bz2 gentoo-818d224bf21089fdcd8a40013469d1873b528281.zip |
net-fs/cvmfs: add 2.10.1
Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/cvmfs/Manifest | 1 | ||||
-rw-r--r-- | net-fs/cvmfs/cvmfs-2.10.1.ebuild | 102 | ||||
-rw-r--r-- | net-fs/cvmfs/files/cvmfs-2.10.1-gentoo.patch | 85 |
3 files changed, 188 insertions, 0 deletions
diff --git a/net-fs/cvmfs/Manifest b/net-fs/cvmfs/Manifest index 909c3f801d1d..1ca1114aab36 100644 --- a/net-fs/cvmfs/Manifest +++ b/net-fs/cvmfs/Manifest @@ -1 +1,2 @@ +DIST cvmfs-2.10.1.tar.gz 76493991 BLAKE2B 8d3632137b0fa15bcf07254bf7e376bbcadd8cb87c55ddb96ed98cb2c6cdee4dfdcadf0054a29ac0df93337aeaeec07b0f1edd2caae9adbaf9b1ed2a21bb9949 SHA512 a0c23c40fdd3ff53bfdfb53b347506b87ac4954efb4419c12702f9e9038de36a4d83de2e497749890f723b3263ad424ebb3a49c3ff09a9a698a43a2ada7f132f DIST cvmfs-2.9.4.tar.gz 70494380 BLAKE2B 615834c37f555e70ef5530bed02ac6593ca2b403b6bb27ce97316a58350f387571a2f0c7dada585d80fc0300319fb532e4d89f1efb8bb0dcc42e15ad7efb4ab6 SHA512 1150816bdb56ebe1ed886040d6a0bbcb61cba07122f3dc01307d14fa40942f8d4aca5d66a9a21388bd68cdee67b6818088cc5022f794b754968348357f510fff diff --git a/net-fs/cvmfs/cvmfs-2.10.1.ebuild b/net-fs/cvmfs/cvmfs-2.10.1.ebuild new file mode 100644 index 000000000000..ed6c307e4adc --- /dev/null +++ b/net-fs/cvmfs/cvmfs-2.10.1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake linux-info bash-completion-r1 + +DESCRIPTION="HTTP read-only file system for distributing software" +HOMEPAGE="https://cernvm.cern.ch/fs/" +SRC_URI="https://ecsft.cern.ch/dist/cvmfs/${P}/source.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" + +KEYWORDS="~amd64 ~x86" +IUSE="server" + +CDEPEND=" + acct-group/cvmfs + acct-user/cvmfs + app-arch/libarchive + dev-cpp/gtest + dev-cpp/sparsehash + dev-db/sqlite:3= + <dev-libs/leveldb-1.23:0= + dev-libs/openssl:0= + dev-libs/protobuf:0= + net-dns/c-ares:0= + net-libs/pacparser:0= + net-misc/curl:0[adns] + sys-apps/attr + sys-fs/fuse:0= + sys-fs/fuse:3= + sys-libs/libcap:0= + sys-libs/zlib:0= +" + +RDEPEND="${CDEPEND} + app-admin/sudo + net-fs/autofs +" + +DEPEND="${CDEPEND} + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.10.1-gentoo.patch +) + +pkg_setup() { + if use server; then + CONFIG_CHECK="~OVERLAY_FS" + ERROR_AUFS_FS="CONFIG_OVERLAY_FS: is required to be set" + linux-info_pkg_setup + fi +} + +src_prepare() { + cmake_src_prepare + # gentoo stuff + rm bootstrap.sh || die + sed -i -e "s:/usr/bin/systemctl:/bin/systemctl:g" cvmfs/cvmfs_config || die + sed -i -e 's/COPYING//' -e "s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \ + CMakeLists.txt || die + eapply_user +} + +src_configure() { + local mycmakeargs=( + -DBUILTIN_EXTERNALS=OFF + -DBUILD_CVMFS=ON + -DBUILD_LIBCVMFS=OFF # static library used only for development + -DBUILD_DOCUMENTATION=OFF + -DBUILD_GEOAPI=OFF # only used for stratum 1 servers + -DBUILD_LIBCVMFS_CACHE=OFF # for exotic cache configs + -DBUILD_PRELOADER=OFF # special purpose utility for HPCs + -DBUILD_RECEIVER=OFF # for distributed publishers only + -DBUILD_SERVER=$(usex server) + -DINSTALL_BASH_COMPLETION=OFF + -DINSTALL_MOUNT_SCRIPTS=ON + -DINSTALL_PUBLIC_KEYS=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + newbashcomp cvmfs/bash_completion/cvmfs.bash_completion cvmfs_config + bashcomp_alias cvmfs_config cvmfs_server + dodoc doc/*.md + keepdir /var/lib/cvmfs + use server && keepdir /var/lib/cvmfs-server +} + +pkg_config() { + einfo "Setting up CernVM-FS client" + cvmfs_config setup + einfo "Now edit ${EROOT}/etc/cvmfs/default.local" + einfo "and restart the autofs service" +} diff --git a/net-fs/cvmfs/files/cvmfs-2.10.1-gentoo.patch b/net-fs/cvmfs/files/cvmfs-2.10.1-gentoo.patch new file mode 100644 index 000000000000..d988b6e67313 --- /dev/null +++ b/net-fs/cvmfs/files/cvmfs-2.10.1-gentoo.patch @@ -0,0 +1,85 @@ + +Patch to unbundle dependencies to build in Gentoo. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 96d509739..1b214f5a6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -337,6 +337,10 @@ endif () + find_package (OpenSSL REQUIRED) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${OPENSSL_INCLUDE_DIR}) + ++set(Libcrypto_LIBRARIES OpenSSL::Crypto) ++set(Libcrypto_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR}) ++add_definitions(-DLIBRESSL_VERSION_NUMBER=1) ++ + find_package (Libcrypto REQUIRED) + # We do not add the Libcrypto include directories to INCLUDE_DIRECTORIES + # to avoid a clash with the system openssl. We only use it for libcvmfs_crypto +-- + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -343,7 +343,7 @@ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS}) + find_package (GMock REQUIRED) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GMOCK_INCLUDE_DIRS}) + +-find_package (VJSON REQUIRED) ++add_subdirectory(externals/vjson) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${VJSON_INCLUDE_DIRS}) + + find_package (LibArchive REQUIRED) +diff --git a/externals/vjson/CMakeLists.txt b/externals/vjson/CMakeLists.txt +new file mode 100644 +index 000000000..c1f82ce03 +--- /dev/null ++++ b/externals/vjson/CMakeLists.txt +@@ -0,0 +1,8 @@ ++project(VJSON) ++ ++add_library(cvmfs_vjson STATIC src/block_allocator.cpp src/json.cpp) ++set_property(TARGET cvmfs_vjson PROPERTY POSITION_INDEPENDENT_CODE TRUE) ++target_include_directories(cvmfs_vjson PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) ++set(VJSON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src PARENT_SCOPE) ++set(VJSON_LIBRARY $<TARGET_FILE:cvmfs_vjson> PARENT_SCOPE) ++set(VJSON_LIBRARIES cvmfs_vjson PARENT_SCOPE) +-- + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -356,7 +356,7 @@ if (BUILD_CVMFS OR BUILD_LIBCVMFS OR BUILD_SERVER OR BUILD_SERVER_DEBUG OR + find_package (ZLIB REQUIRED) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS}) + +- find_package (SHA3 REQUIRED) ++ add_subdirectory(externals/sha3) + set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${SHA3_INCLUDE_DIRS}) + endif () + +diff --git a/externals/sha3/CMakeLists.txt b/externals/sha3/CMakeLists.txt +new file mode 100644 +index 000000000..7efa79b65 +--- /dev/null ++++ b/externals/sha3/CMakeLists.txt +@@ -0,0 +1,19 @@ ++project(SHA3) ++ ++add_library(cvmfs_sha3 STATIC ++ src/64opt/KeccakF-1600-opt64.c ++ src/KeccakHash.c ++ src/KeccakSponge.c ++ src/SnP-FBWL-default.c ++) ++ ++set_property(TARGET cvmfs_sha3 PROPERTY POSITION_INDEPENDENT_CODE TRUE) ++ ++target_include_directories(cvmfs_sha3 PUBLIC ++ ${CMAKE_CURRENT_SOURCE_DIR}/src ++ ${CMAKE_CURRENT_SOURCE_DIR}/src/64opt ++) ++ ++set(SHA3_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/64opt PARENT_SCOPE) ++set(SHA3_LIBRARY $<TARGET_FILE:cvmfs_sha3> PARENT_SCOPE) ++set(SHA3_LIBRARIES cvmfs_sha3 PARENT_SCOPE) +-- + |