summaryrefslogtreecommitdiff
path: root/net-fs/cvmfs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-fs/cvmfs
reinit the tree, so we can have metadata
Diffstat (limited to 'net-fs/cvmfs')
-rw-r--r--net-fs/cvmfs/Manifest9
-rw-r--r--net-fs/cvmfs/cvmfs-2.1.20.0_p05.ebuild114
-rw-r--r--net-fs/cvmfs/cvmfs-2.3.5-r1.ebuild160
-rw-r--r--net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch106
-rw-r--r--net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch151
-rw-r--r--net-fs/cvmfs/metadata.xml28
6 files changed, 568 insertions, 0 deletions
diff --git a/net-fs/cvmfs/Manifest b/net-fs/cvmfs/Manifest
new file mode 100644
index 000000000000..393834df59f7
--- /dev/null
+++ b/net-fs/cvmfs/Manifest
@@ -0,0 +1,9 @@
+AUX cvmfs-2.1.20.0_p05-cares-underlink.patch 6951 SHA256 b7997848a5f6b78b8f39ca608d33d7cf426f854c4fedf0d37b0a0ae558d3cb43 SHA512 714d511bbb9feeccb97ad5f6215fe1a9e7c1901494e24e97b0fdf78c86662e802e0d1c1836e02b061fc8641540ca82bedf3af94ab0f321640fa39fbcb80fb386 WHIRLPOOL 4dbab0c057a5439e56a928325f01cd08020bdadfab92ae1d0deb195c4c24feaae4f6b5d900266c64fe73276b65d2259d511f37f5af2d068efa77db849cfcedac
+AUX cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch 5143 SHA256 070ed4e5d873637c9e88c5a90f5a048002f71f55f7fbde40242adcb085160f6f SHA512 0aebcabfef27a04f9ba88253ead2c323f2871434d1c397a26e61981970cc838ae7988337676dd75ac0f3eaf02933664960c57e6671a066f7a91e61e5844a49f5 WHIRLPOOL ba199f8cdbf7a40cb975afd4b90ff9dc0ec6f62abd84a06e313bf9ef10a96eb5a31475b6c5f903875d100bcd5c7370cc35778b0ea65d5eb63a1cc1d9bd42822b
+DIST cvmfs-2.1.20.0-fix05.tar.gz 36877322 SHA256 83d9358bebdd3987472ed602efb7b0d06b586216030e02bc100a363dc7bbfc20 SHA512 95dc6d5e433630aecd45e15d59f831b4b1ccd8a439f799ae078a61bd6fd8e4dc10ae72d760352913c1d4d9e50cd5bc71ddd82b40b8b9b59d371d62aa7e62abf6 WHIRLPOOL a9ab8500ddd31466df26c12fbcaf0403e748fc1d52c9b5eefa495bc1aaa1f1c67e5f679407d55143fe161f7de7be0d52284cb947a63ff0e0a3f63ade879bb21c
+DIST cvmfs-2.3.5.tar.gz 37771779 SHA256 4e35b81f98f8b3c9588081abaedee76bd796da6750ff1fcd6189882a751d397b SHA512 7f2d05776a747c72d0aa8b5270cfb46f7dc31a458deee65a4a21446718ba813e4c449f6424c7419345e6ffb7cefce3d328dea7b414fe5a5980f9b93ccac0157b WHIRLPOOL d3de1deb541ee8c3e439e1fbda151c73d602ec4ceb54b1e94fd50a1c8716b497c23082b60cb887dabbd3602dbc5c6d1bc375544d20201d95d92ea7f0c30d5823
+EBUILD cvmfs-2.1.20.0_p05.ebuild 2610 SHA256 595c27e98f4eea2336e16ce757bfe0e027e0f103a7dd6f5ec288dfe2fd7c54ba SHA512 d2e6a7a98280365ae2016ddedd2d325da89ca51a6afd7ce61e34fcd12bc8c753a3ad4cfdf12b16fb52183ca04b06c250450935e22826900b3a50ac2e4385d6b9 WHIRLPOOL fcf963f1e94f59f28640c7941ff1aaeeef6bc2d8df24880da6915b2b47a01cd921f11176f649608c1392104d540eab6ac723ac402ab11c16c3c3e10c14f8cc45
+EBUILD cvmfs-2.3.5-r1.ebuild 3641 SHA256 700f4dc22f98c4198714506b64e1764735963857fb5e470303e7b8ce21fb0ef9 SHA512 6cd16f0c48e3b1e83ba0a742853bb953ca15d1aa004bd32d2b64fbfb81ffabd4f7ad961fa7fccc2a469b7548346286d67d1f0e485f4b3cb87e82e2643f052f4d WHIRLPOOL 373c15db681502cb1058f7380d8d80d604906eb900340d5f3728975db31f235634559b1bec88d003618419a3a716007826083b433326c5873eba2da59d31e804
+MISC ChangeLog 2909 SHA256 a232f0b663f0a254ccd01964e6fcaeff24df50c2f8996e6f383778f29d0749b7 SHA512 ad224be76f5c98e6792f95178b616a0f229b9d745399803f1610585943c4ffc56543531ebe32b601c21e1d0e2f342b7d3fa511737ac373ab6e6824468854f69a WHIRLPOOL 38be1ce5c28c7266518a39d31490a59fdb9cc0aecd216c46a548ceac97b1a13594bc96a91fc3be30ad84376aa4d08ce4a60fc7a5f3e42c4a0c73706dbe28d187
+MISC ChangeLog-2015 3676 SHA256 5fa54ae523e5005d29b69377e9aad0fb3ad2ab60de3319e09ac4cb0df1aea963 SHA512 38b651b9256be9c6b543e997edfffd7440e7b60c0c0c7a62f43ad2cafceee0f4ee3bd3b7b539f8a0c71e704b96a9d1504821b2c3449310510318608986cce2ed WHIRLPOOL 5a94027b0f5f40ad6f263d1ebc85e35424d97c5a40a865e0cb4203c3c8701fdb5209798ed9147cc2058db4b2df17700dda43f1bc7acc6d046f747f2ae9bff104
+MISC metadata.xml 1320 SHA256 975ba82ea3ede7426b7e46fc2045ccdd37ff40aaa093d48c327f5d1fe3c0e171 SHA512 13a012dcd92e457b7ec53b078c12fdbaef7d8d47c80a6feeffb7566aff93803996e477fb8e4eaad878ef1c84e4d8f37cd87c05cfac116fcbcd342cd4f901b543 WHIRLPOOL cd5571da0fa363dc5498c898cf61484c20b34115cfb2280b43984fca34ddb4037094156fc7f65f42c466dc76e116711b31f8241b9f0cf1cd1d3eecd3b0ede743
diff --git a/net-fs/cvmfs/cvmfs-2.1.20.0_p05.ebuild b/net-fs/cvmfs/cvmfs-2.1.20.0_p05.ebuild
new file mode 100644
index 000000000000..6e758132e03a
--- /dev/null
+++ b/net-fs/cvmfs/cvmfs-2.1.20.0_p05.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils
+
+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="+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-1.12
+ dev-libs/leveldb:0=
+ sys-fs/fuse:0= )
+ server? (
+ >=dev-python/geoip-python-1.3.1
+ >=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] )"
+
+S="${WORKDIR}/${PN}-${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-geoip-missing-cmake.patch \
+ "${FILESDIR}"/${P}-cares-underlink.patch
+ # gentoo stuff
+ 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 "${WORKDIR}/${P}_build"/externals/build_vjson
+ cp externals/vjson/src/* "${WORKDIR}/${P}_build"/externals/build_vjson/ || die
+ fi
+ cmake-utils_src_prepare
+}
+
+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
+ $(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"
+ einfo "and restart the autofs service"
+ fi
+}
diff --git a/net-fs/cvmfs/cvmfs-2.3.5-r1.ebuild b/net-fs/cvmfs/cvmfs-2.3.5-r1.ebuild
new file mode 100644
index 000000000000..05b2f3138849
--- /dev/null
+++ b/net-fs/cvmfs/cvmfs-2.3.5-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2017 Gentoo Foundation
+# 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-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
+ >=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"
+}
diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch
new file mode 100644
index 000000000000..198d137e7d15
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-cares-underlink.patch
@@ -0,0 +1,106 @@
+diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cmake/Modules/FindCARES.cmake cvmfs-cvmfs-2.1.20.0-fix05/cmake/Modules/FindCARES.cmake
+--- cvmfs-cvmfs-2.1.20.0-fix05.orig/cmake/Modules/FindCARES.cmake 1970-01-01 00:00:00.000000000 +0000
++++ cvmfs-cvmfs-2.1.20.0-fix05/cmake/Modules/FindCARES.cmake 2015-07-31 18:35:05.859879354 +0000
+@@ -0,0 +1,35 @@
++#
++# $Id$
++#
++# - Find cares
++# Find the native CARES includes and library
++#
++# CARES_INCLUDE_DIRS - where to find cares.h, etc.
++# CARES_LIBRARIES - List of libraries when using cares.
++# CARES_FOUND - True if cares found.
++
++
++IF (CARES_INCLUDE_DIRS)
++ # Already in cache, be silent
++ SET(CARES_FIND_QUIETLY TRUE)
++ENDIF (CARES_INCLUDE_DIRS)
++
++FIND_PATH(CARES_INCLUDE_DIR ares.h)
++
++SET(CARES_NAMES cares)
++FIND_LIBRARY(CARES_LIBRARY NAMES ${CARES_NAMES} )
++
++# handle the QUIETLY and REQUIRED arguments and set CARES_FOUND to TRUE if
++# all listed variables are TRUE
++INCLUDE(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(CARES DEFAULT_MSG CARES_LIBRARY CARES_INCLUDE_DIR)
++
++IF(CARES_FOUND)
++ SET( CARES_LIBRARIES ${CARES_LIBRARY} )
++ SET( CARES_INCLUDE_DIRS ${CARES_INCLUDE_DIR} )
++ELSE(CARES_FOUND)
++ SET( CARES_LIBRARIES )
++ SET( CARES_INCLUDE_DIRS )
++ENDIF(CARES_FOUND)
++
++MARK_AS_ADVANCED( CARES_LIBRARIES CARES_INCLUDE_DIRS )
+diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/CMakeLists.txt
+--- cvmfs-cvmfs-2.1.20.0-fix05.orig/CMakeLists.txt 2015-02-23 13:51:47.000000000 +0000
++++ cvmfs-cvmfs-2.1.20.0-fix05/CMakeLists.txt 2015-07-31 18:32:34.259882076 +0000
+@@ -252,9 +252,12 @@
+ include (${CARES_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ include (${LIBCURL_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ set (CURL_LIBRARIES "")
++ set (CARES_LIBRARIES "")
+ else (LIBCURL_BUILTIN)
+ find_package (CURL REQUIRED)
++ find_package (CARES REQUIRED)
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${CURL_INCLUDE_DIRS})
++ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${CARES_INCLUDE_DIRS})
+ if (CURL_INCLUDE_DIRS)
+ find_program(CURL_CONFIG_EXEC NAMES curl-config)
+ if (CURL_CONFIG_EXEC)
+diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt
+--- cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt 2015-02-23 13:51:47.000000000 +0000
++++ cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt 2015-07-31 18:34:36.789879876 +0000
+@@ -271,7 +271,7 @@
+ set_target_properties (cvmfs_fuse_debug PROPERTIES VERSION ${CernVM-FS_VERSION_STRING})
+
+ # link the stuff (*_LIBRARIES are dynamic link libraries *_archive are static link libraries ... one of them will be empty for each dependency)
+- set (CVMFS_FUSE_LINK_LIBRARIES ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${LEVELDB_LIBRARIES} ${OPENSSL_LIBRARIES} ${FUSE_LIBRARIES} ${LIBFUSE_ARCHIVE} ${SQLITE3_ARCHIVE} ${LIBCURL_ARCHIVE} ${PACPARSER_ARCHIVE} ${LEVELDB_ARCHIVE} ${CARES_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl)
++ set (CVMFS_FUSE_LINK_LIBRARIES ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${LEVELDB_LIBRARIES} ${OPENSSL_LIBRARIES} ${FUSE_LIBRARIES} ${LIBFUSE_ARCHIVE} ${SQLITE3_ARCHIVE} ${LIBCURL_ARCHIVE} ${PACPARSER_ARCHIVE} ${LEVELDB_ARCHIVE} ${CARES_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl)
+
+ target_link_libraries (cvmfs2 ${CVMFS_LOADER_LIBS} ${OPENSSL_LIBRARIES} ${LIBFUSE} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl)
+ target_link_libraries (cvmfs_fuse_debug ${CVMFS2_DEBUG_LIBS} ${CVMFS_FUSE_LINK_LIBRARIES})
+@@ -331,7 +331,7 @@
+ add_dependencies (libcvmfs cvmfs_only)
+
+ add_executable( test_libcvmfs ${TEST_LIBCVMFS_SOURCES} )
+- target_link_libraries( test_libcvmfs ${CMAKE_CURRENT_BINARY_DIR}/libcvmfs.a ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl )
++ target_link_libraries( test_libcvmfs ${CMAKE_CURRENT_BINARY_DIR}/libcvmfs.a ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${PACPARSER_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${RT_LIBRARY} ${UUID_LIBRARIES} pthread dl )
+ add_dependencies (test_libcvmfs libcvmfs)
+
+ endif (BUILD_LIBCVMFS)
+@@ -371,7 +371,7 @@
+ set_target_properties (cvmfs_swissknife PROPERTIES COMPILE_FLAGS "${CVMFS_SWISSKNIFE_CFLAGS}" LINK_FLAGS "${CVMFS_SWISSKNIFE_LD_FLAGS}")
+
+ # link the stuff (*_LIBRARIES are dynamic link libraries)
+- target_link_libraries (cvmfs_swissknife ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${TBB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl)
++ target_link_libraries (cvmfs_swissknife ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${TBB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl)
+
+ if (BUILD_SERVER_DEBUG)
+ add_executable (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_DEBUG_SOURCES})
+@@ -399,7 +399,7 @@
+ message (WARNING "Debug libraries of TBB were not found. Using the release versions instead.")
+ set (TBB_DEBUG_LIBRARIES ${TBB_LIBRARIES})
+ endif (NOT TBB_DEBUG_LIBRARIES)
+- target_link_libraries (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${TBB_DEBUG_LIBRARIES} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl)
++ target_link_libraries (cvmfs_swissknife_debug ${CVMFS_SWISSKNIFE_LIBS} ${SQLITE3_LIBRARY} ${CARES_LIBRARIES} ${CURL_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE} ${SQLITE3_ARCHIVE} ${ZLIB_ARCHIVE} ${TBB_DEBUG_LIBRARIES} ${RT_LIBRARY} ${VJSON_ARCHIVE} pthread dl)
+ endif (BUILD_SERVER_DEBUG)
+ endif (BUILD_SERVER)
+
+diff -Nur cvmfs-cvmfs-2.1.20.0-fix05.orig/cvmfs/CMakeLists.txt cvmfs-cvmfs-2.1.20.0-fix05/cvmfs/CMakeLists.txt
+--- cvmfs-cvmfs-2.1.20.0-fix05.orig/test/unittests/CMakeLists.txt.orig 2015-07-31 19:03:06.829849170 +0000
++++ cvmfs-cvmfs-2.1.20.0-fix05/test/unittests/CMakeLists.txt 2015-07-31 19:03:36.459848638 +0000
+@@ -212,7 +212,7 @@
+ endif (BUILD_UNITTESTS_DEBUG)
+
+ # link the stuff (*_LIBRARIES are dynamic link libraries)
+-set (UNITTEST_LINK_LIBRARIES ${GTEST_LIBRARIES} ${GOOGLETEST_ARCHIVE} ${OPENSSL_LIBRARIES}
++set (UNITTEST_LINK_LIBRARIES ${GTEST_LIBRARIES} ${GOOGLETEST_ARCHIVE} ${OPENSSL_LIBRARIES} ${CARES_LIBRARIES}
+ ${CURL_LIBRARIES} ${LIBCURL_ARCHIVE} ${CARES_ARCHIVE}
+ ${SQLITE3_LIBRARY} ${SQLITE3_ARCHIVE} ${TBB_LIBRARIES}
+ ${ZLIB_LIBRARIES} ${ZLIB_ARCHIVE} ${RT_LIBRARY} ${UUID_LIBRARIES}
diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
new file mode 100644
index 000000000000..e47f61ee894a
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
@@ -0,0 +1,151 @@
+--- /dev/null
++++ cmake/Modules/FindLibGeoIP.cmake
+@@ -0,0 +1,68 @@
++# - Try to find GeoIP headers and libraries
++#
++# Usage of this module as follows:
++#
++# find_package(LibGeoIP)
++#
++# Variables used by this module, they can change the default behaviour and need
++# to be set before calling find_package:
++#
++# LibGeoIP_ROOT_DIR Set this variable to the root installation of
++# libGeoIP if the module has problems finding the
++# proper installation path.
++#
++# Variables defined by this module:
++#
++# LIBGEOIP_FOUND System has GeoIP libraries and headers
++# LibGeoIP_LIBRARY The GeoIP library
++# LibGeoIP_INCLUDE_DIR The location of GeoIP headers
++# HAVE_GEOIP_COUNTRY_EDITION_V6 Whether the API support IPv6 country edition
++# HAVE_GEOIP_CITY_EDITION_REV0_V6 Whether the API supports IPv6 city edition
++
++find_path(LibGeoIP_ROOT_DIR
++ NAMES include/GeoIPCity.h
++)
++
++if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
++ # the static version of the library is preferred on OS X for the
++ # purposes of making packages (libGeoIP doesn't ship w/ OS X)
++ set(libgeoip_names libGeoIp.a GeoIP)
++else ()
++ set(libgeoip_names GeoIP)
++endif ()
++
++find_library(LibGeoIP_LIBRARY
++ NAMES ${libgeoip_names}
++ HINTS ${LibGeoIP_ROOT_DIR}/lib
++)
++
++find_path(LibGeoIP_INCLUDE_DIR
++ NAMES GeoIPCity.h
++ HINTS ${LibGeoIP_ROOT_DIR}/include
++)
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(LibGeoIP DEFAULT_MSG
++ LibGeoIP_LIBRARY
++ LibGeoIP_INCLUDE_DIR
++)
++
++if (LIBGEOIP_FOUND)
++ include(CheckCXXSourceCompiles)
++ set(CMAKE_REQUIRED_INCLUDES ${LibGeoIP_INCLUDE_DIR})
++ check_cxx_source_compiles("
++ #include <GeoIPCity.h>
++ int main() { GEOIP_COUNTRY_EDITION_V6; return 0; }
++ " HAVE_GEOIP_COUNTRY_EDITION_V6)
++ check_cxx_source_compiles("
++ #include <GeoIPCity.h>
++ int main() { GEOIP_CITY_EDITION_REV0_V6; return 0; }
++ " HAVE_GEOIP_CITY_EDITION_REV0_V6)
++ set(CMAKE_REQUIRED_INCLUDES)
++endif ()
++
++mark_as_advanced(
++ LibGeoIP_ROOT_DIR
++ LibGeoIP_LIBRARY
++ LibGeoIP_INCLUDE_DIR
++)
+\ No newline at end of file
+diff --git a/cmake/Modules/FindPythonModule.cmake b/cmake/Modules/FindPythonModule.cmake
+new file mode 100644
+index 0000000..1a29315
+--- /dev/null
++++ cmake/Modules/FindPythonModule.cmake
+@@ -0,0 +1,24 @@
++# Find if a Python module is installed
++# Found at http://www.cmake.org/pipermail/cmake/2011-January/041666.html
++# To use do: find_python_module(PyQt4 REQUIRED)
++function(find_python_module module)
++ string(TOUPPER ${module} module_upper)
++ if(NOT PYTHON_${module_upper})
++ include (FindPythonInterp)
++ if(ARGC GREATER 1 AND ARGV1 STREQUAL "REQUIRED")
++ set(PY_${module}_FIND_REQUIRED TRUE)
++ endif()
++ # A module's location is usually a directory, but for binary modules
++ # it's a .so file.
++ execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c"
++ "import re, ${module}; print(re.compile('/__init__.py.*').sub('',${module}.__file__))"
++ RESULT_VARIABLE _${module}_status
++ OUTPUT_VARIABLE _${module}_location
++ ERROR_QUIET
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ if(${_${module}_status} EQUAL 0)
++ set(PYTHON_${module_upper} ${_${module}_location} CACHE STRING "Location of Python module ${module}")
++ endif(${_${module}_status} EQUAL 0)
++ endif(NOT PYTHON_${module_upper})
++ find_package_handle_standard_args(PY_${module} DEFAULT_MSG PYTHON_${module_upper})
++endfunction(find_python_module)
+\ No newline at end of file
+diff --git a/cvmfs/CMakeLists.txt b/cvmfs/CMakeLists.txt
+index cb09b94..44be85e 100644
+--- cvmfs/CMakeLists.txt
++++ cvmfs/CMakeLists.txt
+@@ -347,9 +347,9 @@ if (BUILD_SERVER)
+ # create targets with corresponding sources and static link libraries
+ add_executable (cvmfs_swissknife ${CVMFS_SWISSKNIFE_SOURCES})
+ add_executable (cvmfs_suid_helper ${CVMFS_SUID_HELPER_SOURCES})
+- add_custom_target (geoip ALL)
+
+ if (GEOIP_BUILTIN)
++ add_custom_target (geoip ALL)
+ add_dependencies (python-geoip libgeoip)
+ add_dependencies (geoip python-geoip)
+ endif (GEOIP_BUILTIN)
+--- CMakeLists.txt.orig 2015-08-04 15:33:53.383868890 +0000
++++ CMakeLists.txt 2015-08-04 15:58:03.133842858 +0000
+@@ -145,6 +145,12 @@
+ endif (EXISTS "${CMAKE_SOURCE_DIR}/bootstrap.sh")
+
+ #
++# include some common functionality
++#
++include (FindPythonModule)
++
++
++#
+ # set some default flags
+ #
+ # flags in CMAKE_C**_FLAGS are always passed to the compiler
+@@ -309,13 +315,15 @@
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS})
+ endif (GOOGLETEST_BUILTIN)
+
++if (BUILD_SERVER OR BUILD_UNITTESTS)
+ if (GEOIP_BUILTIN)
+ include (${LIBGEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ include (${PYTHON_GEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ else (GEOIP_BUILTIN)
+- find_package (GeoIP REQUIRED)
+- find_package (python-GeoIP REQUIRED)
++ find_package (LibGeoIP REQUIRED)
++ find_python_module (GeoIP REQUIRED)
+ endif (GEOIP_BUILTIN)
++endif (BUILD_SERVER OR BUILD_UNITTESTS)
+
+ # required libraries for client and libcvmfs
+ if (BUILD_CVMFS OR BUILD_LIBCVMFS)
diff --git a/net-fs/cvmfs/metadata.xml b/net-fs/cvmfs/metadata.xml
new file mode 100644
index 000000000000..1c13de9185c6
--- /dev/null
+++ b/net-fs/cvmfs/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bicatali@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ The CernVM File System is a client-server file system developed to
+ deliver software stacks onto virtual machines in a fast, scalable,
+ and reliable way. CernVM-FS is implemented as a FUSE module. It
+ makes a specially prepared directory tree stored on a web server
+ look like a local read-only file system on the virtual
+ machine. CernVM-FS uses outgoing HTTP connections only, thereby it
+ avoids most of the firewall issues of other network file systems. It
+ transfers data file by file on demand, verifying the content by
+ SHA-1 keys.
+ </longdescription>
+ <use>
+ <flag name='aufs'>Use AUFS instead of OverlayFS for the server</flag>
+ <flag name="client">Install the cvmfs client programs and init script</flag>
+ <flag name="preload">Install the cvmfs cache preloader for distributed file systems</flag>
+ <flag name="server">Install the cvmfsd program and init script</flag>
+ <flag name='test-programs'>Install unit test programs</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">cvmfs/cvmfs</remote-id>
+ </upstream>
+</pkgmetadata>