diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-09-23 09:55:42 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-09-23 09:57:23 +0200 |
commit | 73282c8cc2cdc866c26fd280d6ba061e6a2870f5 (patch) | |
tree | a6ffcd329ea1d21e509c4432f48c9ab6ffdac0d8 /pkgs/os-specific | |
parent | 1dd63de9a00c049c04ad0ead557520d84afba3df (diff) | |
parent | 18ebc8dba96fdfc51165ff4c92aee381388d3578 (diff) | |
download | nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar.gz nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar.bz2 nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar.lz nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar.xz nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.tar.zst nixpkgs-73282c8cc2cdc866c26fd280d6ba061e6a2870f5.zip |
Merge branch 'master' into staging
Thousands of rebuilds from master :-/
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/fuse/common.nix | 72 | ||||
-rw-r--r-- | pkgs/os-specific/linux/fuse/default.nix | 57 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nfs-utils/default.nix | 2 |
3 files changed, 88 insertions, 43 deletions
diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix new file mode 100644 index 00000000000..8938eaae818 --- /dev/null +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -0,0 +1,72 @@ +{ version, sha256Hash, maintainers }: + +{ stdenv, fetchFromGitHub, fetchpatch +, utillinux, autoconf, automake, libtool, gettext +, fusePackages }: + +let + isFuse3 = stdenv.lib.hasPrefix "3" version; +in stdenv.mkDerivation rec { + name = "fuse-${version}"; + + src = fetchFromGitHub { + owner = "libfuse"; + repo = "libfuse"; + rev = name; + sha256 = sha256Hash; + }; + + patches = stdenv.lib.optional + (!isFuse3 && stdenv.isAarch64) + (fetchpatch { + url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch"; + sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa"; + }); + + nativeBuildInputs = [ libtool autoconf automake ]; + buildInputs = [ gettext utillinux ]; + + outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common"; + + 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=\"/run/wrappers/bin\"" + + sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c + sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh + + ./makeconf.sh + ''; + + postFixup = if isFuse3 then '' + cd $out + + mv bin/mount.fuse3 bin/mount.fuse + mv etc/udev/rules.d/99-fuse3.rules etc/udev/rules.d/99-fuse.rules + + install -D -m555 bin/mount.fuse $common/bin/mount.fuse + install -D -m444 etc/udev/rules.d/99-fuse.rules $common/etc/udev/rules.d/99-fuse.rules + install -D -m444 share/man/man8/mount.fuse.8.gz $common/share/man/man8/mount.fuse.8.gz + '' else '' + cd $out + + cp ${fusePackages.fuse_3.common}/bin/mount.fuse bin/mount.fuse + cp ${fusePackages.fuse_3.common}/etc/udev/rules.d/99-fuse.rules etc/udev/rules.d/99-fuse.rules + cp ${fusePackages.fuse_3.common}/share/man/man8/mount.fuse.8.gz share/man/man8/mount.fuse.8.gz + ''; + + enableParallelBuilding = true; + + meta = { + inherit (src.meta) homepage; + description = "Kernel module and library that allows filesystems to be implemented in user space"; + platforms = stdenv.lib.platforms.linux; + inherit maintainers; + }; +} diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index b36d13a0b1d..1a6c45c7cee 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -1,47 +1,20 @@ -{ stdenv, fetchFromGitHub, fetchpatch, utillinux -, autoconf, automake, libtool, gettext }: +{ stdenv, callPackage, utillinux }: -stdenv.mkDerivation rec { - name = "fuse-${version}"; - version = "2.9.7"; - - src = fetchFromGitHub { - owner = "libfuse"; - repo = "libfuse"; - rev = name; - sha256 = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2"; +let + mkFuse = args: callPackage (import ./common.nix args) { + inherit utillinux; }; - - buildInputs = [ utillinux autoconf automake libtool gettext ]; - - patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch { - url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch"; - sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa"; - }); - - 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=\"/run/wrappers/bin\"" - - sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c - sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh - - ./makeconf.sh - ''; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - homepage = https://github.com/libfuse/libfuse; - description = "Kernel module and library that allows filesystems to be implemented in user space"; - platforms = platforms.linux; + maintainers = stdenv.lib.maintainers; +in { + fuse_2 = mkFuse { + version = "2.9.7"; + sha256Hash = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2"; maintainers = [ maintainers.mornfall ]; }; + + fuse_3 = mkFuse { + version = "3.1.1"; + sha256Hash = "14mazl2i55fp4vjphwgcmk3mp2x3mhqwh9nci0rd0jl5lhpdmpq6"; + maintainers = [ maintainers.primeos ]; + }; } diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index d28cf44bd67..294dde2a0a6 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -39,7 +39,7 @@ in stdenv.mkDerivation rec { sed -i "s,^PATH=.*,PATH=$out/bin:${statdPath}," utils/statd/start-statd configureFlags="--with-start-statd=$out/bin/start-statd $configureFlags" - + substituteInPlace systemd/nfs-utils.service \ --replace "/bin/true" "${coreutils}/bin/true" |