Conversation
|
Just opening this for review after Christmas holidays. :) Ping @midchildan for testing on a Darwin platform. |
|
The following change is needed to compile the vendored cyptopp with Clang: diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 446f18661dc..5b927284c49 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub
, cmake, pkg-config, python3
, boost, curl, fuse, openssl, range-v3, spdlog
+, llvmPackages
# cryptopp and gtest on standby - using the vendored ones for now
# see https://github.com/cryfs/cryfs/issues/369
}:
@@ -40,7 +41,11 @@ stdenv.mkDerivation rec {
strictDeps = true;
- buildInputs = [ boost curl fuse openssl range-v3 spdlog ];
+ buildInputs = [ boost curl fuse openssl range-v3 spdlog ]
+ ++ lib.optionals stdenv.cc.isClang [
+ # needed to build the vendored cryptopp
+ llvmPackages.openmp
+ ];
#checkInputs = [ gtest ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9ce798e8a88..e0077018108 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5072,7 +5072,10 @@ with pkgs;
ericw-tools = callPackage ../applications/misc/ericw-tools { };
- cryfs = callPackage ../tools/filesystems/cryfs { };
+ cryfs = callPackage ../tools/filesystems/cryfs {
+ # Use boost >= 1.70 to avoid https://github.com/boostorg/process/issues/55
+ boost = boost17x;
+ };
encfs = callPackage ../tools/filesystems/encfs {
tinyxml2 = tinyxml-2; |
|
Unfortunately I'm seeing a regression in Boost that's preventing cryfs from compiling on Darwin. Boost is applying the namespace operator ( |
|
A bit of searching led me to boostorg/process#55 and #144610. It seems that using a newer version of Boost fixes the problem, so I updated the above patch to use |
|
I've confirmed that creating/mounting/reading/writing encrypted directories work as intended on Darwin. |
|
Thanks for those tests. I just pushed an update using |
|
I should've mentioned this, but the check phase can't be enabled for Darwin on Hydra because it requires a full installation of macFUSE. Nixpkgs only includes a compile time stub for libfuse. Here's a bit of additional context if you're interested. With Darwin, the check phase for FUSE packages needs to be run locally. |
Upstream now provides a way to use dependencies from nixpkgs ; except for cryptopp and googletest. Vendored cryptopp is v8.6.0 in cryfs 0.11.1
|
I see on staging-next: @GrahamcOfBorg eval |
|
Fixed on staging-next in a38c345 |
|
However this still regresses on staging-next |
Motivation for this change
Package update.
Upstream now provides a way to use dependencies from nixpkgs ;
except for cryptopp and googletest.
Vendored cryptopp is v8.6.0 in cryfs 0.11.1
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes