# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit cmake-utils DESCRIPTION="HTTP read-only file system for distributing software" HOMEPAGE="http://cernvm.cern.ch/portal/filesystem" SRC_URI="https://ecsft.cern.ch/dist/${PN}/${P}/${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="+client debug doc test server" 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= client? ( dev-cpp/sparsehash dev-libs/leveldb:0= sys-fs/fuse:0= ) server? ( >=dev-cpp/tbb-4.2:0= )" RDEPEND="${CDEPEND} client? ( net-fs/autofs ) server? ( www-servers/apache[ssl] )" DEPEND="${CDEPEND} virtual/pkgconfig doc? ( app-doc/doxygen[dot] )" src_prepare() { sed -i -e 's/COPYING//' CMakeLists.txt || die rm bootstrap.sh || die sed -i \ -e "s:cvmfs-\${CernVM-FS_VERSION_STRING}:${PF}:" \ CMakeLists.txt || die # hack for bundled vjson # vjson not worth unbundling, already upstream obsolete # upstream replaced by gason with a new api if use server; then sed -i \ -e 's/g++/$(CXX)/g' \ -e 's/-O2/$(CXXFLAGS)/g' \ -e 's/ar/$(AR)/' \ -e 's/ranlib/$(RANLIB)/' \ externals/vjson/src/Makefile || die mkdir -p "${S}_build"/externals/build_vjson cp externals/vjson/src/* "${S}_build"/externals/build_vjson/ || die fi cmake-utils_src_prepare } src_configure() { local mycmakeargs=( -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 $(cmake-utils_use debug BUILD_SERVER_DEBUG) $(cmake-utils_use server BUILD_SERVER) $(cmake-utils_use client BUILD_CVMFS) $(cmake-utils_use client BUILD_LIBCVMFS) $(cmake-utils_use client INSTALL_MOUNT_SCRIPTS) $(cmake-utils_use test BUILD_UNITTESTS) ) cmake-utils_src_configure } src_compile() { cmake-utils_src_compile if use doc; then cd doc doxygen cvmfs.doxy || die fi } src_install() { cmake-utils_src_install use doc && dohtml -r doc/html/* } pkg_config() { if use client; then einfo "Setting up CernVM-FS client" cvmfs_config setup einfo "Now edit ${EROOT%/}/etc/cvmfs/default.local and run" einfo " ${EROOT%/}/usr/init.d/autofs restart" fi }