about summary refs log tree commit diff
path: root/pkgs/tools/filesystems/aefs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems/aefs/default.nix')
-rw-r--r--pkgs/tools/filesystems/aefs/default.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/pkgs/tools/filesystems/aefs/default.nix b/pkgs/tools/filesystems/aefs/default.nix
index ed47b8f885bd..fb6fa01894e4 100644
--- a/pkgs/tools/filesystems/aefs/default.nix
+++ b/pkgs/tools/filesystems/aefs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fuse }:
+{ lib, stdenv, fetchurl, fetchpatch, fuse }:
 
 stdenv.mkDerivation rec {
   name = "aefs-0.4pre259-8843b7c";
@@ -8,12 +8,29 @@ stdenv.mkDerivation rec {
     sha256 = "167hp58hmgdavg2mqn5dx1xgq24v08n8d6psf33jhbdabzx6a6zq";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/edolstra/aefs/commit/15d8df8b8d5dc1ee20d27a86c4d23163a67f3123.patch";
+      sha256 = "0k36hsyvf8a0ji2hpghgqff2fncj0pllxn8p0rs0aj4h7j2vp4iv";
+    })
+  ];
+
+  # autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
+  # Darwin if FUSE_USE_VERSION isn't set at configure time.
+  #
+  # NOTE: Make sure the value of FUSE_USE_VERSION specified here matches the
+  # actual version used in the source code:
+  #
+  #     $ tar xf "$(nix-build -A aefs.src)"
+  #     $ grep -R FUSE_USE_VERSION
+  configureFlags = lib.optional stdenv.isDarwin "CPPFLAGS=-DFUSE_USE_VERSION=26";
+
   buildInputs = [ fuse ];
 
   meta = with lib; {
     homepage = "https://github.com/edolstra/aefs";
     description = "A cryptographic filesystem implemented in userspace using FUSE";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.eelco ];
     license = licenses.gpl2;
   };