summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorautomorphism88 <adebeus@gmail.com>2017-05-13 21:49:18 -0700
committerMichał Górny <mgorny@gentoo.org>2017-05-24 19:12:15 +0200
commit4ae0218825519003d6651d4ff7333d9fde60b872 (patch)
treee69114bd8c68f6540c6b55cb563ac769fe98e497
parentsys-fs/cryfs: Revert "New package, #612688" (diff)
downloadgentoo-4ae0218825519003d6651d4ff7333d9fde60b872.tar.gz
gentoo-4ae0218825519003d6651d4ff7333d9fde60b872.tar.bz2
gentoo-4ae0218825519003d6651d4ff7333d9fde60b872.zip
sys-fs/cryfs: New package, #612688
Closes: https://github.com/gentoo/gentoo/pull/4624
-rw-r--r--sys-fs/cryfs/Manifest1
-rw-r--r--sys-fs/cryfs/cryfs-0.9.7.ebuild76
-rw-r--r--sys-fs/cryfs/cryfs-9999.ebuild76
-rw-r--r--sys-fs/cryfs/metadata.xml14
4 files changed, 167 insertions, 0 deletions
diff --git a/sys-fs/cryfs/Manifest b/sys-fs/cryfs/Manifest
new file mode 100644
index 000000000000..476a301fd0cf
--- /dev/null
+++ b/sys-fs/cryfs/Manifest
@@ -0,0 +1 @@
+DIST cryfs-0.9.7.tar.xz 970588 SHA256 c998069217c29c026a944da47eea0a9e73eda914ef0f891f436701bcbdbbe4d7 SHA512 962c7e5e7ea153ed41cb47094b71bc41457e26203b94cc5e349c4d21e86630e32113c0193a248eee8ead41bede1c712d4c006150f84a6e1c2a0a0a7c02a1911b WHIRLPOOL c5560f8c87bcdaf3dd3bc1cded88fdbc3f74a2284584cad1f55e4dd380849290eb56b265fd4ea98a2f8b3ea842b733e6a0d77a9013efe294a5ec3a342897bd19
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 000000000000..1f52af3e6b45
--- /dev/null
+++ b/sys-fs/cryfs/cryfs-0.9.7.ebuild
@@ -0,0 +1,76 @@
+# 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="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"
+ S="${WORKDIR}"
+fi
+
+RDEPEND=">=dev-libs/boost-1.56:=
+ >=dev-libs/crypto++-5.6.3:=
+ net-misc/curl:=
+ >=sys-fs/fuse-2.8.6:=
+ dev-libs/openssl:0="
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+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
+
+ 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 000000000000..1f52af3e6b45
--- /dev/null
+++ b/sys-fs/cryfs/cryfs-9999.ebuild
@@ -0,0 +1,76 @@
+# 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="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"
+ S="${WORKDIR}"
+fi
+
+RDEPEND=">=dev-libs/boost-1.56:=
+ >=dev-libs/crypto++-5.6.3:=
+ net-misc/curl:=
+ >=sys-fs/fuse-2.8.6:=
+ dev-libs/openssl:0="
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+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
+
+ 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/metadata.xml b/sys-fs/cryfs/metadata.xml
new file mode 100644
index 000000000000..5f26c5a3bc9b
--- /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>