summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-06-16 17:45:42 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2019-06-16 23:57:08 +0200
commit192ac7421ddd4093125f4997898fb62e8a140a44 (patch)
tree085931d711b5660b928113f9dea4a4183bbc7e45 /sys-fs/cryfs
parentsys-fs/cryfs: Add upper bound on boost-1.70 (diff)
downloadgentoo-192ac7421ddd4093125f4997898fb62e8a140a44.tar.gz
gentoo-192ac7421ddd4093125f4997898fb62e8a140a44.tar.bz2
gentoo-192ac7421ddd4093125f4997898fb62e8a140a44.zip
sys-fs/cryfs: 0.10.2 version bump
Add patch to unbundle: dev-cpp/gtest dev-libs/crypto++ Unfortunately spdlog in 0.10 branch is too old for dev-libs/spdlog to satisfy. Add patch for install targets irrespective of CONFIGURATION Bug: https://bugs.gentoo.org/631196 Bug: https://bugs.gentoo.org/678572 Closes: https://github.com/gentoo/gentoo/pull/11980 Package-Manager: Portage-2.3.67, Repoman-2.3.14 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'sys-fs/cryfs')
-rw-r--r--sys-fs/cryfs/Manifest1
-rw-r--r--sys-fs/cryfs/cryfs-0.10.2.ebuild97
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch36
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch409
4 files changed, 543 insertions, 0 deletions
diff --git a/sys-fs/cryfs/Manifest b/sys-fs/cryfs/Manifest
index ff47d4c00674..728ceadfdf6c 100644
--- a/sys-fs/cryfs/Manifest
+++ b/sys-fs/cryfs/Manifest
@@ -1 +1,2 @@
+DIST cryfs-0.10.2.tar.xz 7902252 BLAKE2B 704d124ed32a8a958f400188af99498cedb706ccfc004131b677a113b6ab2733942becb1ab64fd06d0b9d5b39f7abe832b3b0669caaf2b6feb7c6577c8c7fbfd SHA512 e49dd6d1e402d968cc4df0e8ca0460a01a27e4e73482041dca0fa9cde905a91d12e2bda18d257a044335e32e316b9363cecf374eb2ca621924b394dd2fabcb8f
DIST cryfs-0.9.9.tar.xz 977928 BLAKE2B 927d5f61be99a6400cfd53de6291e14ae32f446d281485901e758341f138a2efdfb7385b6c205db6f865dc83f6fbd9ede8fd1bb5a7957fb242624d78d2523eaf SHA512 18f0ce954dc9958b52a77aac85d4d30d03409e4f88c27ec3e904a6014f5257e12fe47a4f3bb628f6ebf3b5aa8cb9d3a59e0aee76d83a3f6bdd4ef864b66898aa
diff --git a/sys-fs/cryfs/cryfs-0.10.2.ebuild b/sys-fs/cryfs/cryfs-0.10.2.ebuild
new file mode 100644
index 000000000000..56ffbdfc5458
--- /dev/null
+++ b/sys-fs/cryfs/cryfs-0.10.2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit cmake-utils flag-o-matic linux-info python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cryfs/cryfs"
+else
+ SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ S="${WORKDIR}"
+fi
+
+DESCRIPTION="Encrypted FUSE filesystem that conceals metadata"
+HOMEPAGE="https://www.cryfs.org/"
+
+LICENSE="LGPL-3 MIT"
+SLOT="0"
+IUSE="custom-optimization debug libressl test"
+
+RDEPEND="
+ >=dev-libs/boost-1.65.1:=
+ >=dev-libs/crypto++-8.2.0:=
+ net-misc/curl:=
+ >=sys-fs/fuse-2.8.6:0
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ # TODO upstream:
+ "${FILESDIR}/${P}-unbundle-libs.patch"
+ "${FILESDIR}/${P}-install-targets.patch"
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~FUSE_FS"
+ local WARNING_FUSE_FS="CONFIG_FUSE_FS is required for cryfs support."
+
+ check_extra_config
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # don't install compressed manpage
+ cmake_comment_add_subdirectory doc
+
+ # remove tests that require internet access to comply with Gentoo policy
+ sed -e "/CurlHttpClientTest.cpp/d" -e "/FakeHttpClientTest.cpp/d" \
+ -i test/cpp-utils/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBoost_USE_STATIC_LIBS=OFF
+ -DCRYFS_UPDATE_CHECKS=OFF
+ -DBUILD_SHARED_LIBS=OFF
+ -DUSE_SYSTEM_LIBS=ON
+ -DBUILD_TESTING=$(usex test)
+ )
+ use custom-optimization || append-flags -O3
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local TMPDIR="${T}"
+ addread /dev/fuse
+ addwrite /dev/fuse
+ local tests_failed=()
+
+ for i in gitversion cpp-utils parallelaccessstore blockstore blobstore fspp cryfs cryfs-cli ; do
+ "${BUILD_DIR}"/test/${i}/${i}-test || tests_failed+=( "${i}" )
+ done
+
+ adddeny /dev/fuse
+
+ if [[ -n ${tests_failed[@]} ]] ; then
+ eerror "The following tests failed:"
+ eerror "${tests_failed[@]}"
+ die "At least one test failed"
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ doman doc/man/cryfs.1
+}
diff --git a/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch b/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch
new file mode 100644
index 000000000000..5f4881002c46
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch
@@ -0,0 +1,36 @@
+From 18503b00bd16d95dd2cf8a9047446f8be7289082 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 16 Jun 2019 19:35:49 +0200
+Subject: [PATCH 3/3] Don't limit install on Release/Debug/RelWithDebInfo
+ CONFIGURATIONS
+
+---
+ src/cryfs-cli/CMakeLists.txt | 1 -
+ src/cryfs-unmount/CMakeLists.txt | 3 +--
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/cryfs-cli/CMakeLists.txt b/src/cryfs-cli/CMakeLists.txt
+index 90edb227..e8c03916 100644
+--- a/src/cryfs-cli/CMakeLists.txt
++++ b/src/cryfs-cli/CMakeLists.txt
+@@ -27,6 +27,5 @@ target_enable_style_warnings(${PROJECT_NAME}_bin)
+ target_activate_cpp14(${PROJECT_NAME}_bin)
+
+ install(TARGETS ${PROJECT_NAME}_bin
+- CONFIGURATIONS Debug Release RelWithDebInfo
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
+diff --git a/src/cryfs-unmount/CMakeLists.txt b/src/cryfs-unmount/CMakeLists.txt
+index 0a246a7f..c5f096ab 100644
+--- a/src/cryfs-unmount/CMakeLists.txt
++++ b/src/cryfs-unmount/CMakeLists.txt
+@@ -19,6 +19,5 @@ target_enable_style_warnings(${PROJECT_NAME}_bin)
+ target_activate_cpp14(${PROJECT_NAME}_bin)
+
+ install(TARGETS ${PROJECT_NAME}_bin
+- CONFIGURATIONS Debug Release RelWithDebInfo
+- DESTINATION ${CMAKE_INSTALL_BINDIR}
++ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
+--
+2.22.0
diff --git a/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch b/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch
new file mode 100644
index 000000000000..65d72a99ac89
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch
@@ -0,0 +1,409 @@
+From b78c249ce3e048d481d11347c98a86e6669ff5bb Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 16 Jun 2019 10:59:46 +0200
+Subject: [PATCH 1/3] Add USE_SYSTEM_LIBS option to build without bundled libs
+
+headers: s/vendor_cryptopp/cryptopp/
+
+Only gtest and crypto++ are being unbundled. In release/0.10 branch,
+bundled spdlog version is too old for Gentoo to satisfy with system-lib.
+---
+ CMakeLists.txt | 15 ++++++++++++++-
+ .../compressing/compressors/Gzip.cpp | 2 +-
+ src/cpp-utils/CMakeLists.txt | 6 +++++-
+ src/cpp-utils/crypto/cryptopp_byte.h | 2 +-
+ src/cpp-utils/crypto/hash/Hash.cpp | 2 +-
+ src/cpp-utils/crypto/kdf/Scrypt.cpp | 2 +-
+ src/cpp-utils/crypto/symmetric/CFB_Cipher.h | 2 +-
+ src/cpp-utils/crypto/symmetric/GCM_Cipher.h | 2 +-
+ src/cpp-utils/crypto/symmetric/ciphers.h | 10 +++++-----
+ src/cpp-utils/data/Data.cpp | 2 +-
+ src/cpp-utils/data/FixedSizeData.h | 2 +-
+ src/cpp-utils/random/OSRandomGenerator.h | 2 +-
+ src/cpp-utils/random/RandomGeneratorThread.h | 2 +-
+ src/cryfs/localstate/BasedirMetadata.cpp | 2 +-
+ test/blobstore/CMakeLists.txt | 2 +-
+ test/blockstore/CMakeLists.txt | 2 +-
+ test/cpp-utils/CMakeLists.txt | 2 +-
+ test/cryfs-cli/CMakeLists.txt | 2 +-
+ test/cryfs/CMakeLists.txt | 2 +-
+ test/cryfs/config/CompatibilityTest.cpp | 2 +-
+ test/fspp/CMakeLists.txt | 2 +-
+ test/gitversion/CMakeLists.txt | 2 +-
+ test/my-gtest-main/CMakeLists.txt | 2 +-
+ test/parallelaccessstore/CMakeLists.txt | 2 +-
+ 24 files changed, 45 insertions(+), 28 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fdbff715..9797d1ee 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,6 +17,7 @@ require_clang_version(4.0)
+ option(BUILD_TESTING "build test cases" OFF)
+ option(CRYFS_UPDATE_CHECKS "let cryfs check for updates and security vulnerabilities" ON)
+ option(DISABLE_OPENMP "allow building without OpenMP libraries. This will cause performance degradations." OFF)
++option(USE_SYSTEM_LIBS "build with system libs instead of bundled libs" OFF)
+
+ # The following options are helpful for development and/or CI
+ option(USE_WERROR "build with -Werror flag")
+@@ -48,7 +49,19 @@ if(MSVC)
+ add_definitions(/bigobj)
+ endif()
+
+-add_subdirectory(vendor EXCLUDE_FROM_ALL)
++if(USE_SYSTEM_LIBS)
++ include(FindPkgConfig)
++ pkg_check_modules(CRYPTOPP REQUIRED libcryptopp>=8.2)
++ add_subdirectory(vendor/spdlog EXCLUDE_FROM_ALL)
++ if(BUILD_TESTING)
++ find_package(GTest CONFIG REQUIRED)
++ set(GOOGLETEST_LIBS GTest::gtest GTest::gmock)
++ endif()
++else()
++ add_subdirectory(vendor EXCLUDE_FROM_ALL)
++ set(GOOGLETEST_LIBS googletest)
++endif()
++
+ add_subdirectory(src)
+ add_subdirectory(doc)
+ add_subdirectory(test)
+diff --git a/src/blockstore/implementations/compressing/compressors/Gzip.cpp b/src/blockstore/implementations/compressing/compressors/Gzip.cpp
+index 67b7f49a..64f13e97 100644
+--- a/src/blockstore/implementations/compressing/compressors/Gzip.cpp
++++ b/src/blockstore/implementations/compressing/compressors/Gzip.cpp
+@@ -1,6 +1,6 @@
+ #include "cpp-utils/crypto/cryptopp_byte.h"
+ #include "Gzip.h"
+-#include <vendor_cryptopp/gzip.h>
++#include <cryptopp/gzip.h>
+
+ using cpputils::Data;
+
+diff --git a/src/cpp-utils/CMakeLists.txt b/src/cpp-utils/CMakeLists.txt
+index f66f99f8..b57e02ba 100644
+--- a/src/cpp-utils/CMakeLists.txt
++++ b/src/cpp-utils/CMakeLists.txt
+@@ -89,7 +89,11 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT})
+
+ target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_DL_LIBS})
+
+-target_link_libraries(${PROJECT_NAME} PUBLIC spdlog cryptopp)
++if(USE_SYSTEM_LIBS)
++ target_link_libraries(${PROJECT_NAME} PUBLIC spdlog ${CRYPTOPP_LIBRARIES})
++else()
++ target_link_libraries(${PROJECT_NAME} PUBLIC spdlog cryptopp)
++endif()
+
+ target_add_boost(${PROJECT_NAME} filesystem system thread chrono)
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/src/cpp-utils/crypto/cryptopp_byte.h b/src/cpp-utils/crypto/cryptopp_byte.h
+index e00cf7cf..363990e9 100644
+--- a/src/cpp-utils/crypto/cryptopp_byte.h
++++ b/src/cpp-utils/crypto/cryptopp_byte.h
+@@ -2,7 +2,7 @@
+ #ifndef _CPPUTILS_CRYPTO_CRYPTOPP_BYTE_H
+ #define _CPPUTILS_CRYPTO_CRYPTOPP_BYTE_H
+
+-#include <vendor_cryptopp/cryptlib.h>
++#include <cryptopp/cryptlib.h>
+
+ // If we're running an older CryptoPP version, CryptoPP::byte isn't defined yet.
+ // Define it. Refer to "byte" type in the global namespace (placed by CryptoPP).
+diff --git a/src/cpp-utils/crypto/hash/Hash.cpp b/src/cpp-utils/crypto/hash/Hash.cpp
+index 696cdeaf..e07d28da 100644
+--- a/src/cpp-utils/crypto/hash/Hash.cpp
++++ b/src/cpp-utils/crypto/hash/Hash.cpp
+@@ -1,6 +1,6 @@
+ #include "Hash.h"
+ #include <cpp-utils/random/Random.h>
+-#include <vendor_cryptopp/sha.h>
++#include <cryptopp/sha.h>
+
+ using cpputils::Random;
+ using CryptoPP::SHA512;
+diff --git a/src/cpp-utils/crypto/kdf/Scrypt.cpp b/src/cpp-utils/crypto/kdf/Scrypt.cpp
+index f97d6940..e26db8db 100644
+--- a/src/cpp-utils/crypto/kdf/Scrypt.cpp
++++ b/src/cpp-utils/crypto/kdf/Scrypt.cpp
+@@ -1,5 +1,5 @@
+ #include "Scrypt.h"
+-#include <vendor_cryptopp/scrypt.h>
++#include <cryptopp/scrypt.h>
+
+ using std::string;
+
+diff --git a/src/cpp-utils/crypto/symmetric/CFB_Cipher.h b/src/cpp-utils/crypto/symmetric/CFB_Cipher.h
+index 217111d9..0ea6355c 100644
+--- a/src/cpp-utils/crypto/symmetric/CFB_Cipher.h
++++ b/src/cpp-utils/crypto/symmetric/CFB_Cipher.h
+@@ -7,7 +7,7 @@
+ #include "../../data/Data.h"
+ #include "../../random/Random.h"
+ #include <boost/optional.hpp>
+-#include <vendor_cryptopp/modes.h>
++#include <cryptopp/modes.h>
+ #include "Cipher.h"
+ #include "EncryptionKey.h"
+
+diff --git a/src/cpp-utils/crypto/symmetric/GCM_Cipher.h b/src/cpp-utils/crypto/symmetric/GCM_Cipher.h
+index 87404c8f..385f399f 100644
+--- a/src/cpp-utils/crypto/symmetric/GCM_Cipher.h
++++ b/src/cpp-utils/crypto/symmetric/GCM_Cipher.h
+@@ -6,7 +6,7 @@
+ #include "../../data/FixedSizeData.h"
+ #include "../../data/Data.h"
+ #include "../../random/Random.h"
+-#include <vendor_cryptopp/gcm.h>
++#include <cryptopp/gcm.h>
+ #include "Cipher.h"
+ #include "EncryptionKey.h"
+
+diff --git a/src/cpp-utils/crypto/symmetric/ciphers.h b/src/cpp-utils/crypto/symmetric/ciphers.h
+index 7a8f8d45..61a6a25a 100644
+--- a/src/cpp-utils/crypto/symmetric/ciphers.h
++++ b/src/cpp-utils/crypto/symmetric/ciphers.h
+@@ -2,11 +2,11 @@
+ #ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CIPHERS_H_
+ #define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CIPHERS_H_
+
+-#include <vendor_cryptopp/aes.h>
+-#include <vendor_cryptopp/twofish.h>
+-#include <vendor_cryptopp/serpent.h>
+-#include <vendor_cryptopp/cast.h>
+-#include <vendor_cryptopp/mars.h>
++#include <cryptopp/aes.h>
++#include <cryptopp/twofish.h>
++#include <cryptopp/serpent.h>
++#include <cryptopp/cast.h>
++#include <cryptopp/mars.h>
+ #include "GCM_Cipher.h"
+ #include "CFB_Cipher.h"
+
+diff --git a/src/cpp-utils/data/Data.cpp b/src/cpp-utils/data/Data.cpp
+index c8a3a25b..3a6d41eb 100644
+--- a/src/cpp-utils/data/Data.cpp
++++ b/src/cpp-utils/data/Data.cpp
+@@ -1,6 +1,6 @@
+ #include "Data.h"
+ #include <stdexcept>
+-#include <vendor_cryptopp/hex.h>
++#include <cryptopp/hex.h>
+ #include <cpp-utils/crypto/cryptopp_byte.h>
+
+ using std::istream;
+diff --git a/src/cpp-utils/data/FixedSizeData.h b/src/cpp-utils/data/FixedSizeData.h
+index 832a96ee..e45127a4 100644
+--- a/src/cpp-utils/data/FixedSizeData.h
++++ b/src/cpp-utils/data/FixedSizeData.h
+@@ -2,7 +2,7 @@
+ #ifndef MESSMER_CPPUTILS_DATA_FIXEDSIZEDATA_H_
+ #define MESSMER_CPPUTILS_DATA_FIXEDSIZEDATA_H_
+
+-#include <vendor_cryptopp/hex.h>
++#include <cryptopp/hex.h>
+ #include <string>
+ #include <cstring>
+ #include "../assert/assert.h"
+diff --git a/src/cpp-utils/random/OSRandomGenerator.h b/src/cpp-utils/random/OSRandomGenerator.h
+index 18a8002d..8c8dc6f5 100644
+--- a/src/cpp-utils/random/OSRandomGenerator.h
++++ b/src/cpp-utils/random/OSRandomGenerator.h
+@@ -4,7 +4,7 @@
+
+ #include "cpp-utils/crypto/cryptopp_byte.h"
+ #include "RandomGenerator.h"
+-#include <vendor_cryptopp/osrng.h>
++#include <cryptopp/osrng.h>
+
+ namespace cpputils {
+ class OSRandomGenerator final : public RandomGenerator {
+diff --git a/src/cpp-utils/random/RandomGeneratorThread.h b/src/cpp-utils/random/RandomGeneratorThread.h
+index 593750ed..103c00d7 100644
+--- a/src/cpp-utils/random/RandomGeneratorThread.h
++++ b/src/cpp-utils/random/RandomGeneratorThread.h
+@@ -4,7 +4,7 @@
+
+ #include "../thread/LoopThread.h"
+ #include "ThreadsafeRandomDataBuffer.h"
+-#include <vendor_cryptopp/osrng.h>
++#include <cryptopp/osrng.h>
+
+ namespace cpputils {
+ //TODO Test
+diff --git a/src/cryfs/localstate/BasedirMetadata.cpp b/src/cryfs/localstate/BasedirMetadata.cpp
+index d32ced93..3de2d3ad 100644
+--- a/src/cryfs/localstate/BasedirMetadata.cpp
++++ b/src/cryfs/localstate/BasedirMetadata.cpp
+@@ -1,7 +1,7 @@
+ #include "BasedirMetadata.h"
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/json_parser.hpp>
+-#include <vendor_cryptopp/sha.h>
++#include <cryptopp/sha.h>
+ #include <boost/filesystem/operations.hpp>
+ #include "LocalStateDir.h"
+ #include <cpp-utils/logging/logging.h>
+diff --git a/test/blobstore/CMakeLists.txt b/test/blobstore/CMakeLists.txt
+index 05e98b8d..342d5626 100644
+--- a/test/blobstore/CMakeLists.txt
++++ b/test/blobstore/CMakeLists.txt
+@@ -27,7 +27,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest blobstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} blobstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/blockstore/CMakeLists.txt b/test/blockstore/CMakeLists.txt
+index ca63acce..6dc5f505 100644
+--- a/test/blockstore/CMakeLists.txt
++++ b/test/blockstore/CMakeLists.txt
+@@ -42,7 +42,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest blockstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} blockstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/cpp-utils/CMakeLists.txt b/test/cpp-utils/CMakeLists.txt
+index 02cc9d5d..55f367eb 100644
+--- a/test/cpp-utils/CMakeLists.txt
++++ b/test/cpp-utils/CMakeLists.txt
+@@ -70,7 +70,7 @@ target_activate_cpp14(${PROJECT_NAME}_exit_signal)
+ target_link_libraries(${PROJECT_NAME}_exit_signal cpp-utils)
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cpp-utils)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cpp-utils)
+ add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_exit_status ${PROJECT_NAME}_exit_signal)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+diff --git a/test/cryfs-cli/CMakeLists.txt b/test/cryfs-cli/CMakeLists.txt
+index 2d0b38c5..76fd75bc 100644
+--- a/test/cryfs-cli/CMakeLists.txt
++++ b/test/cryfs-cli/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cryfs-cli cryfs-unmount fspp-fuse)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cryfs-cli cryfs-unmount fspp-fuse)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/cryfs/CMakeLists.txt b/test/cryfs/CMakeLists.txt
+index 77a025f4..71c74310 100644
+--- a/test/cryfs/CMakeLists.txt
++++ b/test/cryfs/CMakeLists.txt
+@@ -24,7 +24,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cryfs)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cryfs)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/cryfs/config/CompatibilityTest.cpp b/test/cryfs/config/CompatibilityTest.cpp
+index 36c1871c..a1d5f22b 100644
+--- a/test/cryfs/config/CompatibilityTest.cpp
++++ b/test/cryfs/config/CompatibilityTest.cpp
+@@ -3,7 +3,7 @@
+ #include <vector>
+ #include <boost/filesystem.hpp>
+ #include <cpp-utils/data/Data.h>
+-#include <vendor_cryptopp/hex.h>
++#include <cryptopp/hex.h>
+ #include <cpp-utils/crypto/symmetric/ciphers.h>
+ #include <cpp-utils/tempfile/TempFile.h>
+ #include <cryfs/config/CryConfigFile.h>
+diff --git a/test/fspp/CMakeLists.txt b/test/fspp/CMakeLists.txt
+index dabff1f1..c3949206 100644
+--- a/test/fspp/CMakeLists.txt
++++ b/test/fspp/CMakeLists.txt
+@@ -102,7 +102,7 @@ set(SOURCES
+ testutils/OpenFileHandle.cpp testutils/OpenFileHandle.h)
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest fspp-interface fspp-fuse)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} fspp-interface fspp-fuse)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/gitversion/CMakeLists.txt b/test/gitversion/CMakeLists.txt
+index 51a5ccc1..396289fa 100644
+--- a/test/gitversion/CMakeLists.txt
++++ b/test/gitversion/CMakeLists.txt
+@@ -6,7 +6,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest gitversion)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} gitversion)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+diff --git a/test/my-gtest-main/CMakeLists.txt b/test/my-gtest-main/CMakeLists.txt
+index 1d1e7e08..de4fd107 100644
+--- a/test/my-gtest-main/CMakeLists.txt
++++ b/test/my-gtest-main/CMakeLists.txt
+@@ -5,7 +5,7 @@ set(SOURCES
+ )
+
+ add_library(${PROJECT_NAME} STATIC ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} PUBLIC googletest cpp-utils)
++target_link_libraries(${PROJECT_NAME} PUBLIC ${GOOGLETEST_LIBS} cpp-utils)
+ target_add_boost(${PROJECT_NAME} filesystem system)
+ target_include_directories(${PROJECT_NAME} PUBLIC .)
+
+diff --git a/test/parallelaccessstore/CMakeLists.txt b/test/parallelaccessstore/CMakeLists.txt
+index 16170d17..97379304 100644
+--- a/test/parallelaccessstore/CMakeLists.txt
++++ b/test/parallelaccessstore/CMakeLists.txt
+@@ -6,7 +6,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest parallelaccessstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} parallelaccessstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--
+2.22.0
+
+
+From 6d5b1dd6f040dbdf3e330962a174c91281b19472 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 16 Jun 2019 15:17:16 +0200
+Subject: [PATCH 2/3] Use FeatureSummary
+
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9797d1ee..9e37b2e6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,6 +9,7 @@ project(cryfs)
+
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake-utils)
+ include(utils)
++include(FeatureSummary)
+
+ require_gcc_version(5.0)
+ require_clang_version(4.0)
+@@ -66,3 +67,5 @@ add_subdirectory(src)
+ add_subdirectory(doc)
+ add_subdirectory(test)
+ add_subdirectory(cpack)
++
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+--
+2.22.0
+