aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2017-08-15 22:06:34 +0200
committerNicholas Fish <gentoo@seaofdirac.net>2017-08-15 22:06:34 +0200
commit3dd647a32cc4f951d28b978185dfe1faa453f3bc (patch)
treec316ece69fad796b4b2d5ddbb1e5fe2d4168ca13 /sys-fs/cryfs
parentcrypto++: Add ebuild which will build on musl (diff)
downloadennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.tar.gz
ennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.tar.bz2
ennui-3dd647a32cc4f951d28b978185dfe1faa453f3bc.zip
cryfs: add to tree with patches
Diffstat (limited to 'sys-fs/cryfs')
-rw-r--r--sys-fs/cryfs/Manifest8
-rw-r--r--sys-fs/cryfs/cryfs-0.9.7.ebuild87
-rw-r--r--sys-fs/cryfs/cryfs-9999.ebuild87
-rw-r--r--sys-fs/cryfs/files/cryfs-0.9.7-add-stat-include.patch10
-rw-r--r--sys-fs/cryfs/files/cryfs-0.9.7-remove-backtrace.patch31
-rw-r--r--sys-fs/cryfs/files/cryfs-0.9.7-remove-sysctl.patch8
-rw-r--r--sys-fs/cryfs/files/cryfs-0.9.7-spdlog-strerror_r-stringify.patch30
-rw-r--r--sys-fs/cryfs/metadata.xml14
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>