summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorGuilherme Amadio <amadio@gentoo.org>2023-02-24 17:31:17 +0100
committerGuilherme Amadio <amadio@gentoo.org>2023-02-24 17:37:13 +0100
commit818d224bf21089fdcd8a40013469d1873b528281 (patch)
tree2850c09b8126c3975fb602f59f5f9760fbd4f982 /net-fs
parentnet-misc/htpdate: Stabilize 1.3.6 ppc, #896292 (diff)
downloadgentoo-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/Manifest1
-rw-r--r--net-fs/cvmfs/cvmfs-2.10.1.ebuild102
-rw-r--r--net-fs/cvmfs/files/cvmfs-2.10.1-gentoo.patch85
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)
+--
+