diff --git a/pkgs/os-specific/linux/e2fsprogs/default.nix b/pkgs/os-specific/linux/e2fsprogs/1.41.5.nix similarity index 100% rename from pkgs/os-specific/linux/e2fsprogs/default.nix rename to pkgs/os-specific/linux/e2fsprogs/1.41.5.nix diff --git a/pkgs/os-specific/linux/e2fsprogs/1.41.6.nix b/pkgs/os-specific/linux/e2fsprogs/1.41.6.nix new file mode 100644 index 000000000000..37cd9cd17cd7 --- /dev/null +++ b/pkgs/os-specific/linux/e2fsprogs/1.41.6.nix @@ -0,0 +1,35 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "e2fsprogs-1.41.6"; + + src = fetchurl { + url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; + sha256 = "0i5ldfgx3rccr4d59fgxc1zcv33i1jm4ggb3nqyvr5wik5qmv5sq"; + }; + + configureFlags = + if stdenv ? isDietLibC + then "--with-diet-libc" + else "--enable-elf-shlibs"; + + preBuild = if stdenv ? isDietLibC then '' + sed -e 's/-lpthread//' -i Makefile */Makefile */*/Makefile + '' else ""; + + preInstall = "installFlagsArray=('LN=ln -s')"; + + postInstall = "make install-libs"; + + NIX_CFLAGS_COMPILE = + if stdenv ? isDietLibC then + "-UHAVE_SYS_PRCTL_H " + + (if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "") + + " -lcompat -lpthread " + else ""; + + meta = { + homepage = http://e2fsprogs.sourceforge.net/; + description = "Tools for creating and checking ext2/ext3/ext4 filesystems"; + }; +} diff --git a/pkgs/os-specific/linux/util-linux-ng/default.nix b/pkgs/os-specific/linux/util-linux-ng/default.nix index aa0b99a25269..857581960a22 100644 --- a/pkgs/os-specific/linux/util-linux-ng/default.nix +++ b/pkgs/os-specific/linux/util-linux-ng/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses ? null , # Util-linux-ng requires libuuid and libblkid. - e2fsprogs + libuuid , # Build mount/umount only. buildMountOnly ? false @@ -24,7 +24,7 @@ stdenv.mkDerivation { ${if ncurses == null then "--without-ncurses" else ""} ''; - buildInputs = [e2fsprogs] + buildInputs = [libuuid] ++ stdenv.lib.optional (ncurses != null) ncurses; inherit mountHelpers; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 1db9f7242f83..1c1d5e74cb29 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -614,8 +614,8 @@ let url = mirror://xorg/X11R7.4/src/everything/libSM-1.1.0.tar.bz2; sha256 = "10iap6ydxmk0g5qcfnsf9yc30fhvqshgppm0sca21y0z5qwaqdkm"; }; - buildInputs = [pkgconfig libICE e2fsprogs xproto xtrans ]; - })) // {inherit libICE e2fsprogs xproto xtrans ;}; + buildInputs = [pkgconfig libICE libuuid xproto xtrans ]; + })) // {inherit libICE libuuid xproto xtrans ;}; libWindowsWM = (stdenv.mkDerivation ((if overrides ? libWindowsWM then overrides.libWindowsWM else x: x) { name = "libWindowsWM-1.0.0"; diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index d67fd73c86a3..cbd324c418b4 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -26,7 +26,7 @@ $pcMap{$_} = $_ foreach @missingPCs; $pcMap{"freetype2"} = "freetype"; $pcMap{"libpng12"} = "libpng"; $pcMap{"dbus-1"} = "dbus"; -$pcMap{"uuid"} = "e2fsprogs"; +$pcMap{"uuid"} = "libuuid"; $pcMap{"gl"} = "mesa"; $pcMap{"\$PIXMAN"} = "pixman"; $pcMap{"\$RENDERPROTO"} = "renderproto"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1597278348a6..a265309db029 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4595,7 +4595,7 @@ let xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { inherit fetchurl stdenv pkgconfig freetype fontconfig libxslt expat libdrm libpng zlib perl mesa mesaHeaders - xkeyboard_config dbus hal e2fsprogs openssl gperf m4; + xkeyboard_config dbus hal libuuid openssl gperf m4; # !!! pythonBase is use instead of python because this cause an infinite # !!! recursion when the flag python.full is set to true. Packages @@ -4637,7 +4637,7 @@ let }; nfsUtils = import ../os-specific/linux/nfs-utils { - inherit fetchurl stdenv tcpWrapper e2fsprogs; + inherit fetchurl stdenv tcpWrapper e2fsprogs; }; acpi = import ../os-specific/linux/acpi { @@ -4708,11 +4708,18 @@ let stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv; }; - e2fsprogs = import ../os-specific/linux/e2fsprogs { + # libuuid is used as an (indirect) dependency for lots of other + # packages such as X and KDE, which we don't want to rebuild every + # time we update e2fsprogs. + e2fsprogsOld = import ../os-specific/linux/e2fsprogs/1.41.5.nix { inherit fetchurl stdenv; }; - libuuid = e2fsprogs; + libuuid = e2fsprogsOld; + + e2fsprogs = import ../os-specific/linux/e2fsprogs/1.41.6.nix { + inherit fetchurl stdenv; + }; e3cfsprogs = import ../os-specific/linux/e3cfsprogs { inherit stdenv fetchurl gettext; @@ -5493,7 +5500,7 @@ let utillinuxCurses = utillinuxngCurses; utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) { - inherit fetchurl stdenv e2fsprogs; + inherit fetchurl stdenv libuuid; }; utillinuxngCurses = utillinuxng.override {