glibc: Fix building with musl on GCC 8.
GCC 8 introduced new warnings that were picked up by -Werror; this commit makes them non-errors until fixed upstream. See * https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798 * https://github.com/nh2/static-haskell-nix/issues/56 This commit takes care to not change the derivation for non-musl builds.
This commit is contained in:
parent
c7e1fde9dc
commit
08ec575c93
|
@ -98,7 +98,7 @@ stdenv.mkDerivation ({
|
||||||
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
|
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
|
||||||
|
|
||||||
# Remove after upgrading to glibc 2.28+
|
# Remove after upgrading to glibc 2.28+
|
||||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) (fetchpatch {
|
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform || stdenv.hostPlatform.isMusl) (fetchpatch {
|
||||||
url = "https://sourceware.org/git/?p=glibc.git;a=patch;h=780684eb04298977bc411ebca1eadeeba4877833";
|
url = "https://sourceware.org/git/?p=glibc.git;a=patch;h=780684eb04298977bc411ebca1eadeeba4877833";
|
||||||
name = "correct-pwent-parsing-issue-and-resulting-build.patch";
|
name = "correct-pwent-parsing-issue-and-resulting-build.patch";
|
||||||
sha256 = "08fja894vzaj8phwfhsfik6jj2pbji7kypy3q8pgxvsd508zdv1q";
|
sha256 = "08fja894vzaj8phwfhsfik6jj2pbji7kypy3q8pgxvsd508zdv1q";
|
||||||
|
|
|
@ -40,7 +40,21 @@ callPackage ./common.nix { inherit stdenv; } {
|
||||||
# limit rebuilds by only disabling pie w/musl
|
# limit rebuilds by only disabling pie w/musl
|
||||||
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
|
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = if withGd then "-Wno-error=stringop-truncation" else null;
|
NIX_CFLAGS_COMPILE =
|
||||||
|
if !stdenv.hostPlatform.isMusl
|
||||||
|
# TODO: This (returning a string or `null`, instead of a list) is to
|
||||||
|
# not trigger a mass rebuild due to the introduction of the
|
||||||
|
# musl-specific flags below.
|
||||||
|
# At next change to non-musl glibc builds, remove this `then`
|
||||||
|
# and the above condition, instead keeping only the `else` below.
|
||||||
|
then (if withGd then "-Wno-error=stringop-truncation" else null)
|
||||||
|
else
|
||||||
|
builtins.concatLists [
|
||||||
|
(stdenv.lib.optional withGd "-Wno-error=stringop-truncation")
|
||||||
|
# Fix -Werror build failure when building glibc with musl with GCC >= 8, see:
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798
|
||||||
|
(stdenv.lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias")
|
||||||
|
];
|
||||||
|
|
||||||
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
|
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
|
||||||
# any program we run, because the gcc will have been placed at a new
|
# any program we run, because the gcc will have been placed at a new
|
||||||
|
|
Loading…
Reference in New Issue