diff options
author | Peter Hoeg <peter@hoeg.com> | 2017-10-12 12:41:05 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2017-10-12 12:41:05 +0800 |
commit | 515ea69f098432e20d07f9b72c530b22344dfe61 (patch) | |
tree | 53e598cf5175740b4ea7a5d8d79c9d06a4cef05c /pkgs | |
parent | b5510549171b3a37364f19ac0bcbe26a5d9cba1c (diff) | |
download | nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar.gz nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar.bz2 nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar.lz nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar.xz nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.tar.zst nixlib-515ea69f098432e20d07f9b72c530b22344dfe61.zip |
cryfs: init at 0.9.7
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/tools/filesystems/cryfs/default.nix | 58 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix new file mode 100644 index 000000000000..07b077b9289c --- /dev/null +++ b/pkgs/tools/filesystems/cryfs/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub +, cmake, pkgconfig, coreutils +, boost, cryptopp, curl, fuse, openssl, python, spdlog +}: + +stdenv.mkDerivation rec { + name = "cryfs-${version}"; + version = "0.9.7"; + + src = fetchFromGitHub { + owner = "cryfs"; + repo = "cryfs"; + rev = "${version}"; + sha256 = "1wsv4cyjkyg3cyr6vipw1mj41bln2m69123l3miav8r4mvmkfq8w"; + }; + + prePatch = '' + patchShebangs src + + substituteInPlace vendor/scrypt/CMakeLists.txt \ + --replace /usr/bin/ "" + + # scrypt in nixpkgs only produces a binary so we lift the patching from that so allow + # building the vendored version. This is very much NOT DRY. + # The proper solution is to have scrypt generate a dev output with the required files and just symlink + # into vendor/scrypt + for f in Makefile.in autocrap/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh ; do + substituteInPlace vendor/scrypt/scrypt-*/scrypt/$f --replace "command -p " "" + done + + # cryfs is vendoring an old version of spdlog + rm -rf vendor/spdlog/spdlog + ln -s ${spdlog} vendor/spdlog/spdlog + ''; + + buildInputs = [ boost cryptopp curl fuse openssl python spdlog ]; + + # coreutils is needed for the vendored scrypt + nativeBuildInputs = [ cmake coreutils pkgconfig ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DCRYFS_UPDATE_CHECKS=OFF" + "-DBoost_USE_STATIC_LIBS=OFF" # this option is case sensitive + "-DBUILD_TESTING=ON" + ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Cryptographic filesystem for the cloud"; + homepage = https://www.cryfs.org; + license = licenses.lgpl3; + maintainers = with maintainers; [ peterhoeg ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8582966e81dc..8525b7b2c74c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1881,6 +1881,8 @@ with pkgs; enblend-enfuse = callPackage ../tools/graphics/enblend-enfuse { }; + cryfs = callPackage ../tools/filesystems/cryfs { }; + encfs = callPackage ../tools/filesystems/encfs { tinyxml2 = tinyxml-2; }; |