···11-source $stdenv/setup
22-33-export MOUNT_FUSE_PATH=$out/sbin
44-export INIT_D_PATH=$out/etc/init.d
55-export UDEV_RULES_PATH=$out/etc/udev/rules.d
66-77-# This is ugly. Normally, FUSE executes $out/bin/fusermount to mount
88-# the file system. However, fusermount should be setuid root, but Nix
99-# doesn't support setuid binaries, so fusermount will fail. By
1010-# setting FUSERMOUNT_DIR to a non-existant path, FUSE will fall back
1111-# to searching for fusermount in $PATH. The user is responsible for
1212-# (e.g.) setting up a setuid-wrapper for fusermount and adding it to
1313-# $PATH.
1414-export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/no-such-path\""
1515-1616-export preBuild="sed -e 's@/bin/@$utillinux/bin/@g' -i lib/mount_util.c";
1717-1818-genericBuild
+24-10
pkgs/os-specific/linux/fuse/default.nix
···11{ stdenv, fetchurl, utillinux }:
2233stdenv.mkDerivation rec {
44- name = "fuse-2.9.3";
55-66- builder = ./builder.sh;
77-44+ name = "fuse-2.9.5";
55+66+ #builder = ./builder.sh;
77+88 src = fetchurl {
99- url = "mirror://sourceforge/fuse/${name}.tar.gz";
1010- sha256 = "071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb";
99+ url = "https://github.com/libfuse/libfuse/releases/download/fuse_2_9_5/${name}.tar.gz";
1010+ sha256 = "1dfvbi1p57svbv2sfnbqwpnsk219spvjnlapf35azhgzqlf3g7sp";
1111 };
1212-1313- configureFlags = "--disable-kernel-module";
1414-1212+1513 buildInputs = [ utillinux ];
1616-1414+1715 inherit utillinux;
1616+1717+ preConfigure =
1818+ ''
1919+ export MOUNT_FUSE_PATH=$out/sbin
2020+ export INIT_D_PATH=$TMPDIR/etc/init.d
2121+ export UDEV_RULES_PATH=$out/etc/udev/rules.d
2222+2323+ # Ensure that FUSE calls the setuid wrapper, not
2424+ # $out/bin/fusermount. It falls back to calling fusermount in
2525+ # $PATH, so it should also work on non-NixOS systems.
2626+ export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/var/setuid-wrappers\""
2727+2828+ sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c
2929+ '';
3030+3131+ enableParallelBuilding = true;
18321933 meta = with stdenv.lib; {
2034 homepage = http://fuse.sourceforge.net/;