Skip to content

Commit

Permalink
Merge pull request #36948 from dtzWill/fix/glibc-libgcc_s
Browse files Browse the repository at this point in the history
glibc: don't use bootstrap libgcc_s
  • Loading branch information
matthewbauer committed Jan 23, 2019
2 parents 43e867a + 2ed8ee4 commit 80ff19a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 74 deletions.
16 changes: 0 additions & 16 deletions pkgs/development/libraries/glibc/default.nix
Expand Up @@ -39,22 +39,6 @@ callPackage ./common.nix { inherit stdenv; } {
# limit rebuilds by only disabling pie w/musl
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";

# 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
# store path than that determined when built (as a source for the
# bootstrap-tools tarball)
# Building from a proper gcc staying in the path where it was installed,
# libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
# any special hack.
preInstall = ''
if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
mkdir -p $out/lib
cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
# the .so It used to be a symlink, but now it is a script
cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
fi
'';

postInstall = ''
echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED
make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
Expand Down
86 changes: 28 additions & 58 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -7338,67 +7338,51 @@ in

llvmPackages = recurseIntoAttrs llvmPackages_5;

llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 ({
llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 {
isl = isl_0_14;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};

llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_37.tools;
targetLlvmLibraries = targetPackages.llvmPackages_37.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};

llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_38.tools;
targetLlvmLibraries = targetPackages.llvmPackages_38.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};

llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_39.tools;
targetLlvmLibraries = targetPackages.llvmPackages_39.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};

llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
llvmPackages_4 = callPackage ../development/compilers/llvm/4 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_4.tools;
targetLlvmLibraries = targetPackages.llvmPackages_4.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};

llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
llvmPackages_5 = callPackage ../development/compilers/llvm/5 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_5.tools;
targetLlvmLibraries = targetPackages.llvmPackages_5.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};

llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
llvmPackages_6 = callPackage ../development/compilers/llvm/6 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_6.tools;
targetLlvmLibraries = targetPackages.llvmPackages_6.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};

llvmPackages_7 = callPackage ../development/compilers/llvm/7 ({
llvmPackages_7 = callPackage ../development/compilers/llvm/7 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_7.tools;
targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};

llvmPackages_latest = llvmPackages_7;

Expand Down Expand Up @@ -7517,12 +7501,10 @@ in
};

# For beta and nightly releases use the nixpkgs-mozilla overlay
rust = callPackage ../development/compilers/rust ({
rust = callPackage ../development/compilers/rust {
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
llvm = llvm_7;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};
inherit (rust) cargo rustc;

buildRustCrate = callPackage ../build-support/rust/build-rust-crate { };
Expand Down Expand Up @@ -8151,11 +8133,9 @@ in
spark_22 = callPackage ../applications/networking/cluster/spark { version = "2.2.1"; };

spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix {
inherit (darwin) libobjc;
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
};
spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
spidermonkey = spidermonkey_38;
Expand Down Expand Up @@ -10387,28 +10367,18 @@ in

hyperscan = callPackage ../development/libraries/hyperscan { };

icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) {
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
} //
(stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu59 = callPackage ../development/libraries/icu/59.nix ({
};
icu59 = callPackage ../development/libraries/icu/59.nix {
nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu60 = callPackage ../development/libraries/icu/60.nix ({
};
icu60 = callPackage ../development/libraries/icu/60.nix {
nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu63 = callPackage ../development/libraries/icu/63.nix ({
};
icu63 = callPackage ../development/libraries/icu/63.nix {
nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));

};
icu = icu59;

id3lib = callPackage ../development/libraries/id3lib { };
Expand Down

0 comments on commit 80ff19a

Please sign in to comment.