summary refs log tree commit diff
path: root/pkgs/os-specific/linux/util-linux-ng/default.nix
blob: ca21deb648903f3f6b036a7c4dbb131b246df6c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{ stdenv, fetchurl, ncurses ? null }:

stdenv.mkDerivation rec {
  name = "util-linux-ng-2.17.2";

  src = fetchurl {
    url = "mirror://kernel/linux/utils/util-linux-ng/v2.17/${name}.tar.bz2";
    sha256 = "13qifk3i1x59q45fpdz8qnnm7vrhd2zshy5295vhpcjsd8dq1bn9";
  };

  configureFlags = ''
    --disable-use-tty-group
    --enable-write
    ${if ncurses == null then "--without-ncurses" else ""}
  '';

  buildInputs = stdenv.lib.optional (ncurses != null) ncurses;

  # !!! It would be better to obtain the path to the mount helpers
  # (/sbin/mount.*) through an environment variable, but that's
  # somewhat risky because we have to consider that mount can setuid
  # root...
  preConfigure = ''
    substituteInPlace mount/mount.c --replace /sbin/mount. /var/run/current-system/sw/sbin/mount.
    substituteInPlace mount/umount.c --replace /sbin/umount. /var/run/current-system/sw/sbin/umount.
  '';

}