summary refs log tree commit diff
path: root/pkgs/os-specific/linux/fuse
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-03-19 17:21:16 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-03-19 21:01:20 +0100
commit497c828611f248baa8bdf8320e841b24e528bbe4 (patch)
treeb4f4dafeaf0d0d249454c751cddfff5d9653396c /pkgs/os-specific/linux/fuse
parent25122f05b01d526db0597c71ab34a81e7e223b96 (diff)
downloadnixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar.gz
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar.bz2
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar.lz
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar.xz
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.tar.zst
nixpkgs-497c828611f248baa8bdf8320e841b24e528bbe4.zip
fuse: 2.9.3 -> 2.9.5
Diffstat (limited to 'pkgs/os-specific/linux/fuse')
-rw-r--r--pkgs/os-specific/linux/fuse/builder.sh18
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix34
2 files changed, 24 insertions, 28 deletions
diff --git a/pkgs/os-specific/linux/fuse/builder.sh b/pkgs/os-specific/linux/fuse/builder.sh
deleted file mode 100644
index c843ae6183b..00000000000
--- a/pkgs/os-specific/linux/fuse/builder.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-source $stdenv/setup
-
-export MOUNT_FUSE_PATH=$out/sbin
-export INIT_D_PATH=$out/etc/init.d
-export UDEV_RULES_PATH=$out/etc/udev/rules.d
-
-# This is ugly.  Normally, FUSE executes $out/bin/fusermount to mount
-# the file system.  However, fusermount should be setuid root, but Nix
-# doesn't support setuid binaries, so fusermount will fail.  By
-# setting FUSERMOUNT_DIR to a non-existant path, FUSE will fall back
-# to searching for fusermount in $PATH.  The user is responsible for
-# (e.g.) setting up a setuid-wrapper for fusermount and adding it to
-# $PATH.
-export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/no-such-path\""
-
-export preBuild="sed -e 's@/bin/@$utillinux/bin/@g' -i lib/mount_util.c";
-
-genericBuild
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 036ece4627b..d86eb2a9756 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -1,21 +1,35 @@
 { stdenv, fetchurl, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "fuse-2.9.3";
-  
-  builder = ./builder.sh;
-  
+  name = "fuse-2.9.5";
+
+  #builder = ./builder.sh;
+
   src = fetchurl {
-    url = "mirror://sourceforge/fuse/${name}.tar.gz";
-    sha256 = "071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb";
+    url = "https://github.com/libfuse/libfuse/releases/download/fuse_2_9_5/${name}.tar.gz";
+    sha256 = "1dfvbi1p57svbv2sfnbqwpnsk219spvjnlapf35azhgzqlf3g7sp";
   };
-  
-  configureFlags = "--disable-kernel-module";
-  
+
   buildInputs = [ utillinux ];
-  
+
   inherit utillinux;
 
+  preConfigure =
+    ''
+      export MOUNT_FUSE_PATH=$out/sbin
+      export INIT_D_PATH=$TMPDIR/etc/init.d
+      export UDEV_RULES_PATH=$out/etc/udev/rules.d
+
+      # Ensure that FUSE calls the setuid wrapper, not
+      # $out/bin/fusermount. It falls back to calling fusermount in
+      # $PATH, so it should also work on non-NixOS systems.
+      export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/var/setuid-wrappers\""
+
+      sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c
+    '';
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://fuse.sourceforge.net/;
     description = "Kernel module and library that allows filesystems to be implemented in user space";