mutiout: make it builtin

This commit is contained in:
Vladimír Čunát 2014-08-30 08:27:43 +02:00
parent fb59f27a43
commit a70180ba73
31 changed files with 17 additions and 50 deletions

View File

@ -262,7 +262,7 @@ stdenv.mkDerivation ({
++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig);
buildInputs = [ stdenv.hookLib.multiout gmp mpfr mpc libelf ]
buildInputs = [ gmp mpfr mpc libelf ]
++ (optional (ppl != null) ppl)
++ (optional (cloog != null) cloog)
++ (optional (zlib != null) zlib)

View File

@ -282,7 +282,7 @@ stdenv.mkDerivation ({
++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig);
buildInputs = [ stdenv.hookLib.multiout gmp mpfr mpc libelf ]
buildInputs = [ gmp mpfr mpc libelf ]
++ (optional (ppl != null) ppl)
++ (optional (cloog != null) cloog)
++ (optional (isl != null) isl)

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
# TODO: Add a "dev" output containing the header files.
outputs = [ "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
setOutputFlags = false;
setOutputConfigureFlags = false;

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "bin" "doc" ];
nativeBuildInputs = [ gettext ];
buildInputs = [ stdenv.hookLib.multiout attr ];
buildInputs = [ attr ];
# Upstream use C++-style comments in C code. Remove them.
# This comment breaks compilation if too strict gcc flags are used.

View File

@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ gettext ];

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
# dependence on harfbuzz is looser than the reverse dependence
buildInputs = [ stdenv.hookLib.multiout pkgconfig which ]
buildInputs = [ pkgconfig which ]
# FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
++ optional (!stdenv.isLinux) gnumake;

View File

@ -108,7 +108,7 @@ stdenv.mkDerivation ({
outputs = [ "out" "dev" "bin" "static" ];
buildInputs = [ stdenv.hookLib.multiout ]
buildInputs = [ ]
++ stdenv.lib.optionals (cross != null) [ gccCross ]
++ stdenv.lib.optional (mig != null) mig
++ stdenv.lib.optionals withGd [ gd libpng ];

View File

@ -11,7 +11,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ m4 ];

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ]
buildInputs = [ ]
++ stdenv.lib.optional doCheck dejagnu;
configureFlags = [

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" "bin" ];
buildInputs = [ stdenv.hookLib.multiout autoreconfHook nasm ];
buildInputs = [ autoreconfHook nasm ];
enableParallelBuilding = true;

View File

@ -21,7 +21,6 @@ in stdenv.mkDerivation rec {
postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
propagatedBuildInputs = [ zlib ];

View File

@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
''; # ^ sh on darwin seems not to expand globs in redirects, and I don't want to rebuild all again elsewhere
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ pkgconfig ];

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation {
outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout pkgconfig ];
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ libogg ];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout gmp ];
buildInputs = [ gmp ];
configureFlags =
/* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite:

View File

@ -51,7 +51,7 @@ stdenv.mkDerivation {
outputs = [ "dev" "out" "man" "bin" ];
setOutputFlags = false;
buildInputs = [ stdenv.hookLib.multiout ]
buildInputs = [ ]
++ stdenv.lib.optional withCryptodev cryptodevHeaders;
nativeBuildInputs = [ perl ];

View File

@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "dev" "out" "bin" "doc" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
# The compiler on Darwin crashes with an internal error while building the
# C++ interface. Disabling optimizations on that platform remedies the

View File

@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "dev" "out" "static" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
setOutputFlags = false;
configureFlags = stdenv.lib.optional (!static) "--shared";

View File

@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "info" ];
buildInputs =
[ stdenv.hookLib.multiout zlib ]
[ zlib ]
++ optional gold bison;
inherit noSysDirs;

View File

@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "out" "lib" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ lzma m4 perl ];

View File

@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "dev" "out" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ perl ];
propagatedBuildInputs = [ attr ];

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ flex ];
buildInputs = [ stdenv.hookLib.multiout cracklib ];
buildInputs = [ cracklib ];
enableParallelBuilding = true;

View File

@ -56,7 +56,7 @@ in
};
libxcb = attrs : attrs // {
nativeBuildInputs = [ stdenv.hookLib.multiout args.python ];
nativeBuildInputs = [ args.python ];
configureFlags = "--enable-xkb";
outputs = [ "dev" "out" "doc" "man" ];
};
@ -71,7 +71,6 @@ in
libX11 = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling;
postInstall =
''
@ -82,12 +81,10 @@ in
libXau = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXdmcp = attrs: attrs // {
outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXfont = attrs: attrs // {
@ -101,7 +98,6 @@ in
libXxf86vm = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling;
};
@ -125,7 +121,6 @@ in
libXcomposite = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.libXfixes ];
};
@ -135,17 +130,14 @@ in
libXcursor = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXdamage = attrs: attrs // {
outputs = [ "dev" "out" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXft = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
preConfigure = setMalloc0ReturnsNullCrossCompiling;
# the include files need ft2build.h, and Requires.private isn't enough for us
@ -156,29 +148,24 @@ in
libXext = attrs: attrs // {
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
preConfigure = setMalloc0ReturnsNullCrossCompiling;
};
libXfixes = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXi = attrs: attrs // {
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXinerama = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
};
libXrandr = attrs: attrs // {
outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling;
propagatedBuildInputs = [xorg.libXrender];
};
@ -188,7 +175,6 @@ in
libXrender = attrs: attrs // {
outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling;
};

View File

@ -44,6 +44,7 @@ let
../../build-support/setup-hooks/compress-man-pages.sh
../../build-support/setup-hooks/strip.sh
../../build-support/setup-hooks/patch-shebangs.sh
../../build-support/setup-hooks/multiple-outputs.sh
gcc
];
@ -206,12 +207,6 @@ let
inherit overrides;
inherit gcc;
# extra useful hooks, so we do not need to pass them as package arguments
hookLib = {
multiout = ../../build-support/setup-hooks/multiple-outputs.sh; #ToDo: propagated-native-build-inputs
#ToDo: add also autoreconf = pkgs.autoreconfHook
};
}
# Propagate any extra attributes. For instance, we use this to

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout acl ];
buildInputs = [ acl ];
# May have some issues with root compilation because the bootstrap tool
# cannot be used as a login shell for now.

View File

@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "dev" "out" "bin" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
doCheck = true;

View File

@ -24,7 +24,6 @@ let
nativeBuildInputs = [ perl ];
buildInputs = [ gmp ]
++ [ stdenv.hookLib.multiout ]
++ optional aclSupport acl
++ optionals selinuxSupport [ libselinux libsepol ];

View File

@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
patches = [ ./findutils-path.patch ./change_echo_path.patch ];
outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
doCheck = true;

View File

@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
};
outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
/* If no explicit coreutils is given, use the one from stdenv. */
nativeBuildInputs = [ coreutils ];

View File

@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
#outputs = stdenv.lib.optionals (!interactive) [ "out" "doc" ]; #ToDo
buildInputs = [ libsigsegv ]
++ optional (!interactive) stdenv.hookLib.multiout
++ optional interactive readline;
configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ]

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
#outputs = [ "out" "doc" ]; ToDo
buildInputs = [ stdenv.hookLib.multiout pcre ]
buildInputs = [ pcre ]
++ stdenv.lib.optional (libiconv != null) libiconv;
patches = [ ./test-localeconv.patch ];

View File

@ -9,7 +9,6 @@ stdenv.mkDerivation {
};
outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
meta = {
homepage = http://www.gnu.org/software/sed/;