* gcc-wrapper: put "gcc-wrapper" in the name, e.g. "gcc-wrapper-4.3.3"
instead of "gcc-4.3.3". This fixed the long-standing annoyance that you can't distinguish the two in (say) nix-store -qR. * On x86_64-linux, put $out/lib64 in the RPATH in addition to $out/lib, because some packages (in particular GCC) put libraries in $out/lib64 and ended up linking against the wrong library. * Strip $out/lib64. * Removed g77_42 because it's exactly the same as gfortran. svn path=/nixpkgs/branches/stdenv-updates/; revision=14708
This commit is contained in:
@@ -16,6 +16,14 @@ rec {
|
||||
else abort "unsupported platform for the pure Linux stdenv";
|
||||
|
||||
|
||||
commonPreHook =
|
||||
''
|
||||
export NIX_ENFORCE_PURITY=1
|
||||
havePatchELF=1
|
||||
${if system == "x86_64-linux" then "NIX_LIB64_IN_SELF_RPATH=1" else ""}
|
||||
'';
|
||||
|
||||
|
||||
# The bootstrap process proceeds in several steps.
|
||||
|
||||
|
||||
@@ -70,11 +78,10 @@ rec {
|
||||
preHook = builtins.toFile "prehook.sh"
|
||||
''
|
||||
export LD_LIBRARY_PATH=$param1/lib
|
||||
export NIX_ENFORCE_PURITY=1
|
||||
havePatchELF=1
|
||||
# Don't patch #!/interpreter because it leads to retained
|
||||
# dependencies on the bootstrapTools in the final stdenv.
|
||||
dontPatchShebangs=1
|
||||
${commonPreHook}
|
||||
'';
|
||||
shell = "${bootstrapTools}/bin/sh";
|
||||
initialPath = [bootstrapTools] ++ extraPath;
|
||||
@@ -172,7 +179,7 @@ rec {
|
||||
inherit (stdenvLinuxBoot2Pkgs) binutils;
|
||||
libc = stdenvLinuxGlibc;
|
||||
gcc = stdenvLinuxBoot2Pkgs.gcc.gcc;
|
||||
name = gcc.name;
|
||||
name = "gcc-wrapper";
|
||||
};
|
||||
inherit fetchurl;
|
||||
};
|
||||
@@ -196,11 +203,7 @@ rec {
|
||||
|
||||
inherit system;
|
||||
|
||||
preHook = builtins.toFile "prehook.sh"
|
||||
''
|
||||
export NIX_ENFORCE_PURITY=1
|
||||
havePatchELF=1
|
||||
'';
|
||||
preHook = builtins.toFile "prehook.sh" commonPreHook;
|
||||
|
||||
initialPath = [
|
||||
((import ../common-path.nix) {pkgs = stdenvLinuxBoot3Pkgs;})
|
||||
@@ -211,11 +214,11 @@ rec {
|
||||
inherit (stdenvLinuxBoot2Pkgs) binutils;
|
||||
libc = stdenvLinuxGlibc;
|
||||
gcc = stdenvLinuxBoot2Pkgs.gcc.gcc;
|
||||
shell = stdenvLinuxBoot3Pkgs.bash + "/bin/sh";
|
||||
name = gcc.name;
|
||||
shell = stdenvLinuxBoot3Pkgs.bash + "/bin/bash";
|
||||
name = "gcc-wrapper";
|
||||
};
|
||||
|
||||
shell = stdenvLinuxBoot3Pkgs.bash + "/bin/sh";
|
||||
shell = stdenvLinuxBoot3Pkgs.bash + "/bin/bash";
|
||||
|
||||
fetchurlBoot = fetchurl;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user