diff options
Diffstat (limited to 'net-fs/cvmfs/cvmfs-2.3.5-r2.ebuild')
-rw-r--r-- | net-fs/cvmfs/cvmfs-2.3.5-r2.ebuild | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/net-fs/cvmfs/cvmfs-2.3.5-r2.ebuild b/net-fs/cvmfs/cvmfs-2.3.5-r2.ebuild new file mode 100644 index 000000000000..393df3a15fde --- /dev/null +++ b/net-fs/cvmfs/cvmfs-2.3.5-r2.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils linux-info bash-completion-r1 + +MYP=${PN}-${PV/_p/-fix} + +DESCRIPTION="HTTP read-only file system for distributing software" +HOMEPAGE="http://cernvm.cern.ch/portal/filesystem" +SRC_URI="https://github.com/cvmfs/${PN}/archive/${MYP}.tar.gz" + +LICENSE="BSD" +SLOT="0" + +KEYWORDS="~amd64 ~x86" +IUSE="aufs bash-completion debug doc preload server test test-programs" + +CDEPEND=" + dev-cpp/gtest + >=dev-cpp/sparsehash-1.12 + dev-db/sqlite:3= + dev-libs/leveldb:0= + dev-libs/openssl:0 + net-libs/pacparser:0= + net-misc/curl:0[adns] + sys-apps/attr + sys-fs/fuse:0= + sys-libs/libcap:0= + sys-libs/zlib:0= + preload? ( >=dev-cpp/tbb-4.4:0=[debug?] ) + server? ( + >=dev-cpp/tbb-4.4:0=[debug?] + dev-python/geoip-python + ) +" + +RDEPEND="${CDEPEND} + app-admin/sudo + net-fs/autofs + server? ( + aufs? ( sys-kernel/aufs-sources ) + www-servers/apache + ) +" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) + test? ( + dev-python/geoip-python + >=dev-cpp/tbb-4.4:0= + || ( sys-devel/gdb dev-util/lldb ) + ) +" + +REQUIRED_USE="test-programs? ( server )" + +S="${WORKDIR}/${PN}-${MYP}" + +pkg_setup() { + if use server; then + if use aufs; then + CONFIG_CHECK="~AUFS_FS" + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set with the aufs flag" + else + CONFIG_CHECK="~OVERLAY_FS" + ERROR_AUFS_FS="CONFIG_OVERLAY_FS: is required to be set" + fi + linux-info_pkg_setup + fi +} + +src_prepare() { + cmake-utils_src_prepare + # gentoo stuff + sed -i -e 's/COPYING//' CMakeLists.txt || die + rm bootstrap.sh || die + sed -e "s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \ + -i CMakeLists.txt || die + + # hack for bundled packages + # not worth unbundling upstreams are flaky/dead + local pkg + for pkg in vjson sha2 sha3; do + # respect toolchain variables + sed -e 's/g++/$(CXX)/g' \ + -e 's/gcc/$(CC)/g' \ + -e 's/CFLAGS/MYCFLAGS/g' \ + -e 's/-O2/$(CFLAGS)/g' \ + -e 's/-O2/$(CXXFLAGS)/g' \ + -e 's/ar/$(AR)/' \ + -e 's/ranlib/$(RANLIB)/' \ + -i externals/${pkg}/src/Makefile || die + mkdir -p "${WORKDIR}/${P}_build"/externals/build_${pkg} + cp -r externals/${pkg}/src/* \ + "${WORKDIR}/${P}_build"/externals/build_${pkg}/ || die + done +} + +src_configure() { + local mycmakeargs=( + -DGEOIP_BUILTIN=OFF + -DGOOGLETEST_BUILTIN=OFF + -DLEVELDB_BUILTIN=OFF + -DLIBCURL_BUILTIN=OFF + -DPACPARSER_BUILTIN=OFF + -DSPARSEHASH_BUILTIN=OFF + -DSQLITE3_BUILTIN=OFF + -DTBB_PRIVATE_LIB=OFF + -DZLIB_BUILTIN=OFF + -DBUILD_CVMFS=ON + -DBUILD_LIBCVMFS=ON + -DINSTALL_MOUNT_SCRIPTS=ON + -DINSTALL_PUBLIC_KEYS=ON + -DINSTALL_BASH_COMPLETION=OFF + -DBUILD_DOCUMENTATION="$(usex doc)" + -DBUILD_PRELOADER="$(usex preload)" + -DBUILD_SERVER="$(usex server)" + ) + if use test || use test-programs; then + mycmakeargs+=( -DBUILD_UNITTESTS=ON ) + fi + use test-programs && mycmakeargs+=( -DINSTALL_UNITTESTS=ON ) + if use debug; then + mycmakeargs+=( + $(cmake-utils_use server BUILD_SERVER_DEBUG) + $(cmake-utils_use test BUILD_UNITTESTS_DEBUG) + ) + fi + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + use doc && cmake-utils_src_compile doc +} + +src_install() { + cmake-utils_src_install + use bash-completion && \ + newbashcomp cvmfs/bash_completion/cvmfs.bash_completion cvmfs + dodoc doc/*.md + if use doc; then + insinto /usr/share/doc/${PF} + doins -r "${BUILD_DIR}"/html + docompress -x /usr/share/doc/${PF}/html + fi +} + +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" +} |