diff options
author | Nicholas Fish <gentoo@seaofdirac.net> | 2017-08-15 22:06:34 +0200 |
---|---|---|
committer | Nicholas Fish <gentoo@seaofdirac.net> | 2017-08-15 22:06:34 +0200 |
commit | 3dd647a32cc4f951d28b978185dfe1faa453f3bc (patch) | |
tree | c316ece69fad796b4b2d5ddbb1e5fe2d4168ca13 /sys-fs | |
parent | crypto++: Add ebuild which will build on musl (diff) | |
download | ennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.tar.gz ennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.tar.bz2 ennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.zip |
cryfs: add to tree with patches
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/cryfs/Manifest | 8 | ||||
-rw-r--r-- | sys-fs/cryfs/cryfs-0.9.7.ebuild | 87 | ||||
-rw-r--r-- | sys-fs/cryfs/cryfs-9999.ebuild | 87 | ||||
-rw-r--r-- | sys-fs/cryfs/files/cryfs-0.9.7-add-stat-include.patch | 10 | ||||
-rw-r--r-- | sys-fs/cryfs/files/cryfs-0.9.7-remove-backtrace.patch | 31 | ||||
-rw-r--r-- | sys-fs/cryfs/files/cryfs-0.9.7-remove-sysctl.patch | 8 | ||||
-rw-r--r-- | sys-fs/cryfs/files/cryfs-0.9.7-spdlog-strerror_r-stringify.patch | 30 | ||||
-rw-r--r-- | sys-fs/cryfs/metadata.xml | 14 |
8 files changed, 275 insertions, 0 deletions
diff --git a/sys-fs/cryfs/Manifest b/sys-fs/cryfs/Manifest new file mode 100644 index 0000000..152d290 --- /dev/null +++ b/sys-fs/cryfs/Manifest @@ -0,0 +1,8 @@ +AUX cryfs-0.9.7-add-stat-include.patch 312 SHA256 f5bdc6d2de88a366ef10bcf8e2f235195a4d932da7dc20160acd161992feec99 SHA512 4df026973dfe567d22dfc3f709a354949f5c795707beda67211ec014a6c404c49cac4d8f1e1046ee7379b14cf32f19f63a39d92ab6772d2276268db5343b2085 WHIRLPOOL cd31734cf408125ba17db8a9776da8e0a9a479dc273b346ffc4a78d0fb1c81afe3f0eebaf38afa44b6dde3ef050d70dab4f1c35f8d856d7046a247ab117f7d71 +AUX cryfs-0.9.7-remove-backtrace.patch 1113 SHA256 a07737df58978c8682699f4f8ae78bd6db248b7c884fad05de07e9dcd6bc8b4b SHA512 c5530c101975eeac16fcef5e66b1cfb8417e82da38c3a758c9b718d711f23169ac22fba0754d0a336e6454edb627153e5bf9500b68e1fce9200a8a46736efbdb WHIRLPOOL d9a944b1e804c8827df8a9ebcc668b6b8aa8ca4c6cdfbed160613f9752f7475ac66095f53b8cfadeef9e75f603141f4e4e25057c8e00aed3df35b92f5a37fc8b +AUX cryfs-0.9.7-remove-sysctl.patch 318 SHA256 393436d6a587ba143d5683935943e9fd8afe27992b86a90d646b0a0799f6bddc SHA512 61d760c94c726345d665a2441bb10c38a82ed6bd521f3d97c48fd47c9f64c0dc9074e01f4a809336ee061eba55ad7f27e55a37847e3b66c9a5303264eeff46c2 WHIRLPOOL f66023ad0aaf8da57b16f430ada25c17e0bff18ad44c3b0d687b907e98afb333201a6028bfe00eb0959be9572450f206449a0d88eb0658c2e895033f541107cb +AUX cryfs-0.9.7-spdlog-strerror_r-stringify.patch 946 SHA256 ba6ba9425d592f75d924621b557caa74d57047b069525d227ea85fa6580705e7 SHA512 4fe25cb5a5a87d7a5c751cbbbbdab954753553d05d03debf9304bf34740af116176dfb3a7be1257d8f32342a9615906ee8d809658d2ebedc34f5b06aff110ff7 WHIRLPOOL c045185b283127b28e20dfec46cb9176c784b2bf18d8d74be9266523455c669c0a5760fab79fc1fdcf10d1b7d25ee65160f1e83c34f19dc3fba74e7c35dfe19b +DIST cryfs-0.9.7.tar.xz 970588 SHA256 c998069217c29c026a944da47eea0a9e73eda914ef0f891f436701bcbdbbe4d7 SHA512 962c7e5e7ea153ed41cb47094b71bc41457e26203b94cc5e349c4d21e86630e32113c0193a248eee8ead41bede1c712d4c006150f84a6e1c2a0a0a7c02a1911b WHIRLPOOL c5560f8c87bcdaf3dd3bc1cded88fdbc3f74a2284584cad1f55e4dd380849290eb56b265fd4ea98a2f8b3ea842b733e6a0d77a9013efe294a5ec3a342897bd19 +EBUILD cryfs-0.9.7.ebuild 2190 SHA256 caf0de414045cc8c764f52daf0eb1851320149474c4f3209ae1996a57b4cf5ea SHA512 7e1d5fd20d6c5ec7f5fc86f07601109ed52dc1cd9ef73948f768cd351f9dde9ed5224baaafc6b4b522c0aa442e686e4b142909ad0a71f332aba784ed643a4f7b WHIRLPOOL cdf52cd0dc26d1f7205fa405a472dfde4872ce8ba62f3414014f64d4a4b13d4e0b2d17064e9309c3fd2d472902f184fa791ad143fa3275b7f1a54164a6392e9d +EBUILD cryfs-9999.ebuild 2218 SHA256 afbcc4d48f384f3e6ac78ac36e497c3d1ecea4be6a1e2196affe69b3803cfd69 SHA512 9ff3053ba204dd35905ed912f66713f35308ffecf0e7393bb8e9d012661e3d0e7947a537a171ccb03a255c086644f014efa4ce8d6d884caeb46830589477dc91 WHIRLPOOL 6d021425324559dc7bd644694838dd8d285c10ca8d663c00109d66f0bd8241b2a440e02fca1b7f8054868941c9fd1e0c88ee0d332aa2ea46c8b3df8365347121 +MISC metadata.xml 516 SHA256 a4732095885a80fa95c3ab2d6d1f35a1912930562de424b8304419d5c13ac336 SHA512 d452400e202e5f1ce607cdd554e7e40ee626b43dcc344b3d9f87bbdd2bc4b6bf072615e09b26adcf5a0a751837db62f2f02c4c5421510d929be6e935bcf03dd4 WHIRLPOOL f03565893870b31964dff43d3b4123062696fe3a9977173098d5eb4bd21e58c5d3062858665cf46fdfb12aa83b999fb86df8824502aadadae3304f7a3078910e diff --git a/sys-fs/cryfs/cryfs-0.9.7.ebuild b/sys-fs/cryfs/cryfs-0.9.7.ebuild new file mode 100644 index 0000000..fc270a2 --- /dev/null +++ b/sys-fs/cryfs/cryfs-0.9.7.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit cmake-utils python-any-r1 + +DESCRIPTION="Encrypted FUSE filesystem that conceals metadata" +HOMEPAGE="https://www.cryfs.org/" + +SLOT=0 +IUSE="libressl test update-check" + +LICENSE="LGPL-3 BSD-2 MIT" +# cryfs - LGPL-3 +# scrypt - BSD-2 +# spdlog - MIT + +if [[ "${PV}" == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cryfs/cryfs" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}" +fi + +RDEPEND=">=dev-libs/boost-1.56:= + >=dev-libs/crypto++-5.6.3:= + net-misc/curl:= + >=sys-fs/fuse-2.8.6:= + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${P}-spdlog-strerror_r-stringify.patch" + "${FILESDIR}/${P}-remove-backtrace.patch" + "${FILESDIR}/${P}-remove-sysctl.patch" + "${FILESDIR}/${P}-add-stat-include.patch" +) + +src_prepare() { + # remove tests that require internet access to comply with Gentoo policy + sed -i -e '/CurlHttpClientTest.cpp/d' -e '/FakeHttpClientTest.cpp/d' test/cpp-utils/CMakeLists.txt || die + + # remove non-applicable warning + sed -i -e '/WARNING! This is a debug build. Performance might be slow./d' src/cryfs-cli/Cli.cpp || die + + cmake-utils_src_prepare +} + +src_configure() { + # upstream restricts installing files to Release configuration + # (CMAKE_BUILD_TYPE does not affect anything else) + local CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + "-DBoost_USE_STATIC_LIBS=off" + "-DCRYFS_UPDATE_CHECKS=$(usex update-check)" + "-DBUILD_TESTING=$(usex test)" + ) + + 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 +} diff --git a/sys-fs/cryfs/cryfs-9999.ebuild b/sys-fs/cryfs/cryfs-9999.ebuild new file mode 100644 index 0000000..9683bfe --- /dev/null +++ b/sys-fs/cryfs/cryfs-9999.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit cmake-utils python-any-r1 + +DESCRIPTION="Encrypted FUSE filesystem that conceals metadata" +HOMEPAGE="https://www.cryfs.org/" + +SLOT=0 +IUSE="libressl test update-check" + +LICENSE="LGPL-3 BSD-2 MIT" +# cryfs - LGPL-3 +# scrypt - BSD-2 +# spdlog - MIT + +if [[ "${PV}" == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cryfs/cryfs" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}" +fi + +RDEPEND=">=dev-libs/boost-1.56:= + >=dev-libs/crypto++-5.6.3:= + net-misc/curl:= + >=sys-fs/fuse-2.8.6:= + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-0.9.7-spdlog-strerror_r-stringify.patch" + "${FILESDIR}/${PN}-0.9.7-remove-backtrace.patch" + "${FILESDIR}/${PN}-0.9.7-remove-sysctl.patch" + "${FILESDIR}/${PN}-0.9.7-add-stat-include.patch" +) + +src_prepare() { + # remove tests that require internet access to comply with Gentoo policy + sed -i -e '/CurlHttpClientTest.cpp/d' -e '/FakeHttpClientTest.cpp/d' test/cpp-utils/CMakeLists.txt || die + + # remove non-applicable warning + sed -i -e '/WARNING! This is a debug build. Performance might be slow./d' src/cryfs-cli/Cli.cpp || die + + cmake-utils_src_prepare +} + +src_configure() { + # upstream restricts installing files to Release configuration + # (CMAKE_BUILD_TYPE does not affect anything else) + local CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + "-DBoost_USE_STATIC_LIBS=off" + "-DCRYFS_UPDATE_CHECKS=$(usex update-check)" + "-DBUILD_TESTING=$(usex test)" + ) + + 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 +} diff --git a/sys-fs/cryfs/files/cryfs-0.9.7-add-stat-include.patch b/sys-fs/cryfs/files/cryfs-0.9.7-add-stat-include.patch new file mode 100644 index 0000000..956233c --- /dev/null +++ b/sys-fs/cryfs/files/cryfs-0.9.7-add-stat-include.patch @@ -0,0 +1,10 @@ +--- work/src/fspp/fs_interface/Dir.h.orig 2017-08-15 21:33:07.095670957 +0200 ++++ work/src/fspp/fs_interface/Dir.h 2017-08-15 21:33:19.341887249 +0200 +@@ -4,6 +4,7 @@ + + #include <cpp-utils/pointer/unique_ref.h> + #include <string> ++#include <sys/stat.h> + #include <boost/filesystem/path.hpp> + + namespace fspp { diff --git a/sys-fs/cryfs/files/cryfs-0.9.7-remove-backtrace.patch b/sys-fs/cryfs/files/cryfs-0.9.7-remove-backtrace.patch new file mode 100644 index 0000000..1f12ddb --- /dev/null +++ b/sys-fs/cryfs/files/cryfs-0.9.7-remove-backtrace.patch @@ -0,0 +1,31 @@ +--- work/src/cpp-utils/assert/backtrace.cpp.orig 2017-08-15 21:41:46.508496642 +0200 ++++ work/src/cpp-utils/assert/backtrace.cpp 2017-08-15 21:42:33.899016210 +0200 +@@ -1,5 +1,4 @@ + #include "backtrace.h" +-#include <execinfo.h> + #include <signal.h> + #include <iostream> + #include <unistd.h> +@@ -40,21 +39,10 @@ + return demangle(backtraceLine.substr(startMangledName+1, endMangledName-startMangledName-1)) + ": (" + backtraceLine.substr(0, startMangledName) + backtraceLine.substr(endMangledName); + } + +- string backtrace_to_string(void *array[], size_t size) { +- ostringstream result; +- char **ptr = backtrace_symbols(array, size); +- for (size_t i = 0; i < size; ++i) { +- result << pretty(ptr[i]) << "\n"; +- } +- free(ptr); +- return result.str(); +- } +- + string backtrace() { + constexpr unsigned int MAX_SIZE = 100; + void *array[MAX_SIZE]; +- size_t size = ::backtrace(array, MAX_SIZE); +- return backtrace_to_string(array, size); ++ return "backtrace not implemented."; + } + + void sigsegv_handler(int) { diff --git a/sys-fs/cryfs/files/cryfs-0.9.7-remove-sysctl.patch b/sys-fs/cryfs/files/cryfs-0.9.7-remove-sysctl.patch new file mode 100644 index 0000000..1197a8d --- /dev/null +++ b/sys-fs/cryfs/files/cryfs-0.9.7-remove-sysctl.patch @@ -0,0 +1,8 @@ +--- work/src/cpp-utils/system/get_total_memory.cpp.orig 2017-08-15 21:18:33.783934965 +0200 ++++ work/src/cpp-utils/system/get_total_memory.cpp 2017-08-15 21:18:42.216083887 +0200 +@@ -1,5 +1,4 @@ + #include "get_total_memory.h" +-#include <sys/sysctl.h> + #include <sys/types.h> + #include <unistd.h> + #include <stdexcept> diff --git a/sys-fs/cryfs/files/cryfs-0.9.7-spdlog-strerror_r-stringify.patch b/sys-fs/cryfs/files/cryfs-0.9.7-spdlog-strerror_r-stringify.patch new file mode 100644 index 0000000..1539348 --- /dev/null +++ b/sys-fs/cryfs/files/cryfs-0.9.7-spdlog-strerror_r-stringify.patch @@ -0,0 +1,30 @@ +--- work/vendor/spdlog/spdlog/details/os.h.orig 2017-02-11 13:34:50.000000000 +0100 ++++ work/vendor/spdlog/spdlog/details/os.h 2017-08-13 16:39:38.763956751 +0200 +@@ -329,6 +329,17 @@ + } + #endif + ++inline std::string errno_to_string(char [256], char* res) { ++ return std::string(res); ++} ++ ++inline std::string errno_to_string(char buf[256], int res) { ++ if (res == 0) { ++ return std::string(buf); ++ } else { ++ return "Unknown error"; ++ } ++} + + // Return errno string (thread safe) + inline std::string errno_str(int err_num) +@@ -351,7 +362,8 @@ + return "Unkown error"; + + #else // gnu version (might not use the given buf, so its retval pointer must be used) +- return std::string(strerror_r(err_num, buf, buf_size)); ++ auto err = strerror_r(err_num, buf, buf_size); // let compiler choose type ++ return errno_to_string(buf, err); // use overloading to select correct stringify function + #endif + } + diff --git a/sys-fs/cryfs/metadata.xml b/sys-fs/cryfs/metadata.xml new file mode 100644 index 0000000..5f26c5a --- /dev/null +++ b/sys-fs/cryfs/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>adebeus@gmail.com</email> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + </maintainer> + <use> + <flag name="update-check">Enable automatic checking for updates and security vulnerabilities</flag> + </use> + <longdescription>Encrypted FUSE filesystem that conceals metadata</longdescription> +</pkgmetadata> |