Merge pull request #48721 from oxij/tree/mass-rebuild-complicated-cleanups

treewide: mass rebuild complicated cleanups
This commit is contained in:
Michael Raskin 2018-10-29 19:17:28 +00:00 committed by GitHub
commit 4a854344b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 77 additions and 79 deletions

View file

@ -52,12 +52,9 @@ with builtins;
let version = "4.8.5";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches = [ ]
++ optional enableParallelBuilding ../parallel-bconfig.patch
patches = [ ../parallel-bconfig.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch
++ optional langFortran ../gfortran-driving.patch
@ -175,14 +172,14 @@ stdenv.mkDerivation ({
inherit patches;
hardeningDisable = [ "format" ];
outputs = [ "out" "lib" "man" "info" ];
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
libc_dev = stdenv.cc.libc_dev;
hardeningDisable = [ "format" ];
postPatch =
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
@ -209,20 +206,27 @@ stdenv.mkDerivation ({
++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig);
buildInputs = [ gmp mpfr libmpc libelf ]
++ (optional (cloog != null) cloog)
# For building runtime libs
depsBuildTarget =
if hostPlatform == buildPlatform then [
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
] else assert targetPlatform == hostPlatform; [ # build != host == target
stdenv.cc
];
buildInputs = [
gmp mpfr libmpc libelf
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (cloog != null) cloog)
++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
;
preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
@ -354,13 +358,13 @@ stdenv.mkDerivation ({
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ])
);
++ optionals javaAwtGtk [ gmp mpfr ]
));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
([
"-idirafter ${libcCross.dev}/include"
"-idirafter ${getDev libcCross}/include"
] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib"
]);
@ -382,7 +386,8 @@ stdenv.mkDerivation ({
hardeningUnsupportedFlags = [ "stackprotector" ];
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;

View file

@ -1,4 +1,4 @@
{ stdenv, targetPackages, fetchurl, noSysDirs, fetchpatch
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
, langC ? true, langCC ? true, langFortran ? false
, langObjC ? stdenv.targetPlatform.isDarwin
, langObjCpp ? stdenv.targetPlatform.isDarwin
@ -52,13 +52,10 @@ with builtins;
let version = "4.9.4";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
[ ../use-source-date-epoch.patch ]
++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ]
[ ../use-source-date-epoch.patch ../parallel-bconfig.patch ./parallel-strsignal.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch
++ optional langFortran ../gfortran-driving.patch
@ -183,8 +180,6 @@ stdenv.mkDerivation ({
inherit patches;
hardeningDisable = [ "format" ];
outputs = if langJava || langGo then ["out" "man" "info"]
else [ "out" "lib" "man" "info" ];
setOutputFlags = false;
@ -192,6 +187,8 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
hardeningDisable = [ "format" ];
postPatch =
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
@ -234,8 +231,6 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
@ -250,8 +245,7 @@ stdenv.mkDerivation ({
''
+ stdenv.lib.optionalString (langJava || langGo) ''
export lib=$out;
''
;
'';
dontDisableStatic = true;
@ -263,7 +257,8 @@ stdenv.mkDerivation ({
[
"--with-gmp-include=${gmp.dev}/include"
"--with-gmp-lib=${gmp.out}/lib"
"--with-mpfr=${mpfr.dev}"
"--with-mpfr-include=${mpfr.dev}/include"
"--with-mpfr-lib=${mpfr.out}/lib"
"--with-mpc=${libmpc}"
] ++
optional (libelf != null) "--with-libelf=${libelf}" ++
@ -376,7 +371,8 @@ stdenv.mkDerivation ({
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]));
++ optionals javaAwtGtk [ gmp mpfr ]
));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -397,10 +393,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -424,7 +423,8 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos;
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}

View file

@ -49,9 +49,6 @@ with stdenv.lib;
with builtins;
let version = "5.5.0";
sha256 = "11zd1hgzkli3b2v70qsm2hyqppngd4616qc96lmm9zl2kl9yl32k";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@ -165,7 +162,7 @@ stdenv.mkDerivation ({
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
inherit sha256;
sha256 = "11zd1hgzkli3b2v70qsm2hyqppngd4616qc96lmm9zl2kl9yl32k";
};
inherit patches;
@ -239,12 +236,10 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
;
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -403,10 +398,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -430,6 +428,7 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}

View file

@ -50,8 +50,6 @@ with builtins;
let version = "6.4.0";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
@ -240,12 +238,9 @@ stdenv.mkDerivation ({
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
;
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -258,8 +253,7 @@ stdenv.mkDerivation ({
''
+ stdenv.lib.optionalString (langJava || langGo) ''
export lib=$out;
''
;
'';
dontDisableStatic = true;
@ -386,7 +380,8 @@ stdenv.mkDerivation ({
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]));
++ optionals javaAwtGtk [ gmp mpfr ]
));
EXTRA_TARGET_FLAGS = optionals
(targetPlatform != hostPlatform && libcCross != null)
@ -407,10 +402,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -434,6 +432,7 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}

View file

@ -39,8 +39,6 @@ with builtins;
let version = "7.3.0";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
@ -210,12 +208,9 @@ stdenv.mkDerivation ({
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
;
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
@ -350,10 +345,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -377,6 +375,7 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}

View file

@ -39,8 +39,6 @@ with builtins;
let version = "8.2.0";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
@ -205,12 +203,9 @@ stdenv.mkDerivation ({
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
;
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -341,10 +336,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -368,6 +366,7 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}

View file

@ -40,8 +40,6 @@ with builtins;
let version = "7-20170409";
enableParallelBuilding = true;
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
@ -174,12 +172,9 @@ stdenv.mkDerivation ({
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
;
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
@ -306,10 +301,13 @@ stdenv.mkDerivation ({
"-Wl,-rpath-link,${libcCross.out}/lib"
]));
passthru =
{ inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; };
passthru = {
inherit langC langCC langObjC langObjCpp langFortran langGo version;
isGNU = true;
};
inherit enableParallelBuilding enableMultilib;
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
@ -333,6 +331,7 @@ stdenv.mkDerivation ({
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
broken = true;

View file

@ -36,9 +36,7 @@ in stdenv.mkDerivation (rec {
nativeBuildInputs = [ cmake python ]
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
buildInputs = [ libxml2 libffi ]
# TODO(@Ericson2314): Remove next mass rebuild
++ stdenv.lib.optionals (stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform) [ libcxxabi ];
buildInputs = [ libxml2 libffi ];
propagatedBuildInputs = [ ncurses zlib ];