Fixing some things on the gcc-cross-wrapper (libc was not properly added to the

linking path), and with this achieved bash being cross-compilable.
I fixed the few expressions involved in bash building, so they have well stated
native and non-native inputs.

I also tried to cross-build guile, and with this I found a problem in the
actual cross-gcc: it calls the binutils ld, instead of the ld wrapper. This
way, the programs/shared_libraries don't get the proper -rpath.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18497
wip/yesman
Lluís Batlle i Rossell 15 years ago
parent b27cf66ee2
commit a5fee3325a
  1. 7
      pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
  2. 5
      pkgs/development/interpreters/guile/default.nix
  3. 2
      pkgs/development/tools/misc/libtool/libtool2.nix
  4. 4
      pkgs/shells/bash/default.nix
  5. 3
      pkgs/top-level/all-packages.nix

@ -20,8 +20,11 @@ if test -n "@binutils@"; then
PATH=$PATH:@binutils@/bin
fi
if test -n "@glibc@"; then
PATH=$PATH:@glibc@/bin
if test -n "@libc@"; then
PATH=$PATH:@libc@/bin
addCVars @libc@
fi
configureFlags="$configureFlags --build=$system --host=$crossConfig"
dontPatchELF=1
dontStrip=1

@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "1czhcrn6l63xhsw3fjmv88djflqxbdpxjhgmwwvscm8rv4wn7vmz";
};
buildInputs = [ makeWrapper ];
propagatedBuildInputs = [readline libtool gmp gawk];
buildNativeInputs = [ makeWrapper ];
propagatedBuildInputs = [ libtool ];
propagatedBuildNativeInputs = [readline gmp gawk];
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "1bmpp31sfjl3nzj8psvnsqrrv4gwnqzii8dxpxr6djz508yavsv6";
};
buildInputs = [ lzma m4 perl ];
buildNativeInputs = [ lzma m4 perl ];
unpackCmd = "lzma -d < $src | tar xv";

@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
import ./bash-patches.nix patch;
# Note: Bison is needed because the patches above modify parse.y.
buildInputs = [bison]
++ stdenv.lib.optional (texinfo != null) texinfo
buildNativeInputs = [bison];
buildInputs = stdenv.lib.optional (texinfo != null) texinfo
++ stdenv.lib.optional interactive readline;
configureFlags = "--with-installed-readline";

@ -132,7 +132,8 @@ let
# inside the set for derivations.
recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
useFromStdenv = it : alternative : if (builtins.hasAttr it stdenv) then
useFromStdenv = it : alternative : if ((bootStdenv != null ||
crossSystem == null) && builtins.hasAttr it stdenv) then
(builtins.getAttr it stdenv) else alternative;
# Return the first available value in the order: pkg.val, val, or default.

Loading…
Cancel
Save