util-linux, e2fsprogs: fixup multiple outputs

Also revert back to using util-linux as the default libuuid provider,
and make e2fsprogs use shared libs from util-linux.
This commit is contained in:
Vladimír Čunát 2015-04-19 13:29:53 +02:00
parent e392e3aabe
commit fc20660945
3 changed files with 23 additions and 15 deletions

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }:
{ stdenv, fetchurl, pkgconfig, zlib, ncurses ? null, perl ? null, pam }:
stdenv.mkDerivation rec {
name = "util-linux-2.26.1";
@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
patches = [ ./rtcwake-search-PATH-for-shutdown.patch
];
outputs = [ "dev" "out" "bin" ]; # ToDo: problems with e2fsprogs
outputs = [ "bin" "out" "man" ]; # TODO: $bin is kept the first for now
# due to lots of ${utillinux}/bin occurences and headers being rather small
outputDev = "bin";
#FIXME: make it also work on non-nixos?
@ -41,13 +44,13 @@ stdenv.mkDerivation rec {
makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin";
nativeBuildInputs = [ pkgconfig ];
buildInputs =
[ zlib pam ]
++ stdenv.lib.optional (ncurses != null) ncurses
++ stdenv.lib.optional (perl != null) perl;
postInstall = ''
sed "s,$out$out,$out,g" -i "$dev"/lib/pkgconfig/*.pc
rm "$bin/bin/su" # su should be supplied by the su package (shadow)
'';
@ -60,4 +63,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, gettext, pkgconfig, libuuid }:
{ stdenv, fetchurl, pkgconfig, libuuid }:
stdenv.mkDerivation rec {
name = "e2fsprogs-1.42.12";
@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
sha256 = "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71";
};
outputs = [ "dev" "out" "bin" "man" ];
outputs = [ "bin" "out" "man" ];
outputDev = "bin"; # just for *.pc
buildInputs = [ pkgconfig /*libuuid*/ ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libuuid ];
crossAttrs = {
preConfigure = ''
@ -18,16 +20,20 @@ stdenv.mkDerivation rec {
'';
};
# libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency).
# ToDo: failed with shared uuid and blkid
configureFlags = "--enable-elf-shlibs --disable-fsck --enable-symlink-install";
configureFlags = [
"--enable-elf-shlibs" "--enable-symlink-install" "--enable-relative-symlinks"
# libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency).
"--disable-libuuid" "--disable-uuidd" "--disable-libblkid" "--disable-fsck"
];
# hacky way to make it install *.pc
postInstall = ''
make install-libs
rm "$out"/lib/*.a
'';
enableParallelBuilding = true;
preInstall = "installFlagsArray=('LN=ln -s')";
postInstall = "make install-libs";
meta = {
homepage = http://e2fsprogs.sourceforge.net/;
description = "Tools for creating and checking ext2/ext3/ext4 filesystems";

View File

@ -8900,7 +8900,7 @@ let
});
})
else if stdenv.isLinux
then e2fsprogs
then utillinux
else null;
light = callPackage ../os-specific/linux/light { };