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
@@ -262,7 +262,7 @@ stdenv.mkDerivation ({
++ (optional (perl != null) perl) ++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig); ++ (optional javaAwtGtk pkgconfig);
buildInputs = [ stdenv.hookLib.multiout gmp mpfr mpc libelf ] buildInputs = [ gmp mpfr mpc libelf ]
++ (optional (ppl != null) ppl) ++ (optional (ppl != null) ppl)
++ (optional (cloog != null) cloog) ++ (optional (cloog != null) cloog)
++ (optional (zlib != null) zlib) ++ (optional (zlib != null) zlib)
@@ -282,7 +282,7 @@ stdenv.mkDerivation ({
++ (optional (perl != null) perl) ++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig); ++ (optional javaAwtGtk pkgconfig);
buildInputs = [ stdenv.hookLib.multiout gmp mpfr mpc libelf ] buildInputs = [ gmp mpfr mpc libelf ]
++ (optional (ppl != null) ppl) ++ (optional (ppl != null) ppl)
++ (optional (cloog != null) cloog) ++ (optional (cloog != null) cloog)
++ (optional (isl != null) isl) ++ (optional (isl != null) isl)
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
# TODO: Add a "dev" output containing the header files. # TODO: Add a "dev" output containing the header files.
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
setOutputFlags = false; setOutputFlags = false;
setOutputConfigureFlags = false; setOutputConfigureFlags = false;
+1 -1
View File
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "bin" "doc" ]; outputs = [ "dev" "out" "bin" "doc" ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
buildInputs = [ stdenv.hookLib.multiout attr ]; buildInputs = [ attr ];
# Upstream use C++-style comments in C code. Remove them. # Upstream use C++-style comments in C code. Remove them.
# This comment breaks compilation if too strict gcc flags are used. # This comment breaks compilation if too strict gcc flags are used.
@@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "dev" "out" "bin" "doc" ]; outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
# dependence on harfbuzz is looser than the reverse dependence # 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. # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
++ optional (!stdenv.isLinux) gnumake; ++ optional (!stdenv.isLinux) gnumake;
@@ -108,7 +108,7 @@ stdenv.mkDerivation ({
outputs = [ "out" "dev" "bin" "static" ]; outputs = [ "out" "dev" "bin" "static" ];
buildInputs = [ stdenv.hookLib.multiout ] buildInputs = [ ]
++ stdenv.lib.optionals (cross != null) [ gccCross ] ++ stdenv.lib.optionals (cross != null) [ gccCross ]
++ stdenv.lib.optional (mig != null) mig ++ stdenv.lib.optional (mig != null) mig
++ stdenv.lib.optionals withGd [ gd libpng ]; ++ stdenv.lib.optionals withGd [ gd libpng ];
-1
View File
@@ -11,7 +11,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "out" "info" ]; outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ m4 ]; nativeBuildInputs = [ m4 ];
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] buildInputs = [ ]
++ stdenv.lib.optional doCheck dejagnu; ++ stdenv.lib.optional doCheck dejagnu;
configureFlags = [ configureFlags = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" "bin" ]; outputs = [ "dev" "out" "doc" "bin" ];
buildInputs = [ stdenv.hookLib.multiout autoreconfHook nasm ]; buildInputs = [ autoreconfHook nasm ];
enableParallelBuilding = true; enableParallelBuilding = true;
@@ -21,7 +21,6 @@ in stdenv.mkDerivation rec {
postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
propagatedBuildInputs = [ zlib ]; propagatedBuildInputs = [ zlib ];
@@ -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 ''; # ^ 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" ]; outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
outputs = [ "dev" "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout pkgconfig ]; buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ libogg ]; propagatedBuildInputs = [ libogg ];
+1 -1
View File
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout gmp ]; buildInputs = [ gmp ];
configureFlags = configureFlags =
/* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite: /* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite:
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
outputs = [ "dev" "out" "man" "bin" ]; outputs = [ "dev" "out" "man" "bin" ];
setOutputFlags = false; setOutputFlags = false;
buildInputs = [ stdenv.hookLib.multiout ] buildInputs = [ ]
++ stdenv.lib.optional withCryptodev cryptodevHeaders; ++ stdenv.lib.optional withCryptodev cryptodevHeaders;
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "dev" "out" "bin" "doc" "man" ]; outputs = [ "dev" "out" "bin" "doc" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
# The compiler on Darwin crashes with an internal error while building the # The compiler on Darwin crashes with an internal error while building the
# C++ interface. Disabling optimizations on that platform remedies the # C++ interface. Disabling optimizations on that platform remedies the
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "dev" "out" "static" "man" ]; outputs = [ "dev" "out" "static" "man" ];
buildInputs = [ stdenv.hookLib.multiout ];
setOutputFlags = false; setOutputFlags = false;
configureFlags = stdenv.lib.optional (!static) "--shared"; configureFlags = stdenv.lib.optional (!static) "--shared";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" "info" ]; outputs = [ "dev" "out" "info" ];
buildInputs = buildInputs =
[ stdenv.hookLib.multiout zlib ] [ zlib ]
++ optional gold bison; ++ optional gold bison;
inherit noSysDirs; inherit noSysDirs;
@@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "out" "lib" ]; outputs = [ "out" "lib" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ lzma m4 perl ]; nativeBuildInputs = [ lzma m4 perl ];
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "dev" "out" ]; outputs = [ "dev" "out" ];
buildInputs = [ stdenv.hookLib.multiout ];
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
propagatedBuildInputs = [ attr ]; propagatedBuildInputs = [ attr ];
+1 -1
View File
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ flex ]; nativeBuildInputs = [ flex ];
buildInputs = [ stdenv.hookLib.multiout cracklib ]; buildInputs = [ cracklib ];
enableParallelBuilding = true; enableParallelBuilding = true;
+1 -15
View File
@@ -56,7 +56,7 @@ in
}; };
libxcb = attrs : attrs // { libxcb = attrs : attrs // {
nativeBuildInputs = [ stdenv.hookLib.multiout args.python ]; nativeBuildInputs = [ args.python ];
configureFlags = "--enable-xkb"; configureFlags = "--enable-xkb";
outputs = [ "dev" "out" "doc" "man" ]; outputs = [ "dev" "out" "doc" "man" ];
}; };
@@ -71,7 +71,6 @@ in
libX11 = attrs: attrs // { libX11 = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
postInstall = postInstall =
'' ''
@@ -82,12 +81,10 @@ in
libXau = attrs: attrs // { libXau = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXdmcp = attrs: attrs // { libXdmcp = attrs: attrs // {
outputs = [ "dev" "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXfont = attrs: attrs // { libXfont = attrs: attrs // {
@@ -101,7 +98,6 @@ in
libXxf86vm = attrs: attrs // { libXxf86vm = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
}; };
@@ -125,7 +121,6 @@ in
libXcomposite = attrs: attrs // { libXcomposite = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.libXfixes ]; propagatedBuildInputs = [ xorg.libXfixes ];
}; };
@@ -135,17 +130,14 @@ in
libXcursor = attrs: attrs // { libXcursor = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXdamage = attrs: attrs // { libXdamage = attrs: attrs // {
outputs = [ "dev" "out" ]; outputs = [ "dev" "out" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXft = attrs: attrs // { libXft = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ]; propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
# the include files need ft2build.h, and Requires.private isn't enough for us # the include files need ft2build.h, and Requires.private isn't enough for us
@@ -156,29 +148,24 @@ in
libXext = attrs: attrs // { libXext = attrs: attrs // {
outputs = [ "dev" "out" "man" "doc" ]; outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
propagatedBuildInputs = [ xorg.xproto xorg.libXau ]; propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
}; };
libXfixes = attrs: attrs // { libXfixes = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXi = attrs: attrs // { libXi = attrs: attrs // {
outputs = [ "dev" "out" "man" "doc" ]; outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXinerama = attrs: attrs // { libXinerama = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
}; };
libXrandr = attrs: attrs // { libXrandr = attrs: attrs // {
outputs = [ "dev" "out" "man" ]; outputs = [ "dev" "out" "man" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
propagatedBuildInputs = [xorg.libXrender]; propagatedBuildInputs = [xorg.libXrender];
}; };
@@ -188,7 +175,6 @@ in
libXrender = attrs: attrs // { libXrender = attrs: attrs // {
outputs = [ "dev" "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ] ++ attrs.buildInputs;
preConfigure = setMalloc0ReturnsNullCrossCompiling; preConfigure = setMalloc0ReturnsNullCrossCompiling;
}; };
+1 -6
View File
@@ -44,6 +44,7 @@ let
../../build-support/setup-hooks/compress-man-pages.sh ../../build-support/setup-hooks/compress-man-pages.sh
../../build-support/setup-hooks/strip.sh ../../build-support/setup-hooks/strip.sh
../../build-support/setup-hooks/patch-shebangs.sh ../../build-support/setup-hooks/patch-shebangs.sh
../../build-support/setup-hooks/multiple-outputs.sh
gcc gcc
]; ];
@@ -206,12 +207,6 @@ let
inherit overrides; inherit overrides;
inherit gcc; 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 # Propagate any extra attributes. For instance, we use this to
+1 -1
View File
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "out" "info" ]; outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout acl ]; buildInputs = [ acl ];
# May have some issues with root compilation because the bootstrap tool # May have some issues with root compilation because the bootstrap tool
# cannot be used as a login shell for now. # cannot be used as a login shell for now.
-1
View File
@@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "dev" "out" "bin" "man" "doc" ]; outputs = [ "dev" "out" "bin" "man" "doc" ];
buildInputs = [ stdenv.hookLib.multiout ];
doCheck = true; doCheck = true;
-1
View File
@@ -24,7 +24,6 @@ let
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
buildInputs = [ gmp ] buildInputs = [ gmp ]
++ [ stdenv.hookLib.multiout ]
++ optional aclSupport acl ++ optional aclSupport acl
++ optionals selinuxSupport [ libselinux libsepol ]; ++ optionals selinuxSupport [ libselinux libsepol ];
-1
View File
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
patches = [ ./findutils-path.patch ./change_echo_path.patch ]; patches = [ ./findutils-path.patch ./change_echo_path.patch ];
outputs = [ "out" "info" ]; outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
doCheck = true; doCheck = true;
-1
View File
@@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
}; };
outputs = [ "out" "info" ]; outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
/* If no explicit coreutils is given, use the one from stdenv. */ /* If no explicit coreutils is given, use the one from stdenv. */
nativeBuildInputs = [ coreutils ]; nativeBuildInputs = [ coreutils ];
-1
View File
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
#outputs = stdenv.lib.optionals (!interactive) [ "out" "doc" ]; #ToDo #outputs = stdenv.lib.optionals (!interactive) [ "out" "doc" ]; #ToDo
buildInputs = [ libsigsegv ] buildInputs = [ libsigsegv ]
++ optional (!interactive) stdenv.hookLib.multiout
++ optional interactive readline; ++ optional interactive readline;
configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ] configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ]
+1 -1
View File
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
#outputs = [ "out" "doc" ]; ToDo #outputs = [ "out" "doc" ]; ToDo
buildInputs = [ stdenv.hookLib.multiout pcre ] buildInputs = [ pcre ]
++ stdenv.lib.optional (libiconv != null) libiconv; ++ stdenv.lib.optional (libiconv != null) libiconv;
patches = [ ./test-localeconv.patch ]; patches = [ ./test-localeconv.patch ];
-1
View File
@@ -9,7 +9,6 @@ stdenv.mkDerivation {
}; };
outputs = [ "out" "info" ]; outputs = [ "out" "info" ];
buildInputs = [ stdenv.hookLib.multiout ];
meta = { meta = {
homepage = http://www.gnu.org/software/sed/; homepage = http://www.gnu.org/software/sed/;