summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/cvmfs/cvmfs-9999.ebuild')
-rw-r--r--net-fs/cvmfs/cvmfs-9999.ebuild139
1 files changed, 139 insertions, 0 deletions
diff --git a/net-fs/cvmfs/cvmfs-9999.ebuild b/net-fs/cvmfs/cvmfs-9999.ebuild
new file mode 100644
index 0000000..1f8aab8
--- /dev/null
+++ b/net-fs/cvmfs/cvmfs-9999.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/sfabbro/cvmfs.git"
+EGIT_BRANCH="devel"
+
+inherit cmake-utils linux-info git-r3
+
+SRC_URI=""
+KEYWORDS=""
+
+DESCRIPTION="HTTP read-only file system for distributing software"
+HOMEPAGE="http://cernvm.cern.ch/portal/filesystem"
+
+LICENSE="BSD"
+SLOT="0"
+
+IUSE="aufs debug doc server test test-programs"
+
+CDEPEND="
+ dev-cpp/gtest
+ dev-db/sqlite:3=
+ dev-libs/openssl:0
+ net-libs/pacparser:0=
+ net-misc/curl:0=[adns]
+ sys-apps/attr
+ sys-libs/zlib:0=
+ >=dev-cpp/sparsehash-1.12
+ dev-libs/leveldb:0=
+ sys-fs/fuse:0=
+ server? (
+ >=dev-python/geoip-python-1.3.1
+ >=dev-cpp/tbb-4.3:0= )"
+
+RDEPEND="${CDEPEND}
+ app-admin/sudo
+ net-fs/autofs
+ server? (
+ aufs? ( || (
+ sys-fs/aufs3
+ sys-fs/aufs4
+ sys-kernel/aufs-sources ) )
+ www-servers/apache )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? (
+ >=dev-python/geoip-python-1.3.1
+ >=dev-cpp/tbb-4.3:0= )"
+
+REQUIRED_USE="test-programs? ( server )"
+
+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
+ # this removal avoids all bundled packages to be configured and built
+ rm bootstrap.sh || die
+
+ sed -i \
+ -e "s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \
+ CMakeLists.txt || die
+
+ # hack for bundled vjson and sha2
+ # vjson and sha2 not worth unbundling upstreams are flaky/dead
+ local pkg
+ for pkg in vjson sha2; do
+ # respect toolchain variables
+ sed -i \
+ -e 's/g++/$(CXX)/g' \
+ -e 's/gcc/$(CC)/g' \
+ -e 's/-O2/$(CFLAGS)/g' \
+ -e 's/-O2/$(CXXFLAGS)/g' \
+ -e 's/ar/$(AR)/' \
+ -e 's/ranlib/$(RANLIB)/' \
+ externals/${pkg}/src/Makefile || die
+ mkdir -p "${WORKDIR}/${P}_build"/externals/build_${pkg}
+ cp 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
+ $(cmake-utils_use doc BUILD_DOCUMENTATION)
+ $(cmake-utils_use server BUILD_SERVER)
+ $(cmake-utils_use test BUILD_UNITTESTS)
+ $(cmake-utils_use test-programs INSTALL_UNITTESTS)
+ )
+ 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_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r doc/html/*
+}
+
+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"
+}