I revert my changes to get nixpkgs working on armv5tel-linux.

I thought I didn't change stdenv, but I did. This will go soon into the stdenv
branch then.
Reverse-merging r16467 through r16465.


svn path=/nixpkgs/trunk/; revision=16468
This commit is contained in:
Lluís Batlle i Rossell 2009-07-26 22:47:33 +00:00
parent 4f5e00f686
commit d4aedd92cc
7 changed files with 9 additions and 21 deletions

View file

@ -54,7 +54,6 @@ stdenv.mkDerivation {
if !nativeLibc then
(if stdenv.system == "i686-linux" then "ld-linux.so.2" else
if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
if stdenv.system == "armv5tel-linux" then "ld-linux.so.3" else
if stdenv.system == "powerpc-linux" then "ld.so.1" else
abort "don't know the name of the dynamic linker for this platform")
else "";

View file

@ -1,12 +1,5 @@
{stdenv, fetchurl}:
let
preBuildNoNative = ''
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
'';
preBuildNative = "";
in
stdenv.mkDerivation {
name = "perl-5.10.0";
@ -29,10 +22,8 @@ stdenv.mkDerivation {
# "installstyle" option to ensure that modules are put under
# $out/lib/perl5 - this is the general default, but because $out
# contains the string "perl", Configure would select $out/lib.
# Miniperl needs -lm. perl needs -lrt.
configureFlags = ''
-de -Dcc=gcc -Uinstallusrbinperl -Dinstallstyle=lib/perl5 -Duseshrplib
-Dldflags='-lm -lrt'
${if stdenv ? glibc then "-Dusethreads" else ""}
'';
@ -50,7 +41,11 @@ stdenv.mkDerivation {
fi
'';
preBuild = if (stdenv.gcc.nativeTools) then preBuildNative else preBuildNoNative;
preBuild =
''
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
'';
setupHook = ./setup-hook.sh;
}

View file

@ -16,7 +16,6 @@ stdenv.mkDerivation {
if stdenv.system == "i686-linux" then "i386" else
if stdenv.system == "x86_64-linux" then "x86_64" else
if stdenv.system == "powerpc-linux" then "powerpc" else
if stdenv.system == "armv5tel-linux" then "arm" else
abort "don't know what the kernel include directory is called for this platform";
buildInputs = [perl];

View file

@ -54,7 +54,6 @@ rec {
stdenv =
if stdenvType == "i686-linux" then stdenvLinux else
if stdenvType == "x86_64-linux" then stdenvLinux else
if stdenvType == "armv5tel-linux" then stdenvNative else
if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
if stdenvType == "i686-mingw" then stdenvMinGW else
if stdenvType == "i686-darwin" then stdenvNix else

View file

@ -71,8 +71,7 @@ let
isDarwin = result.system == "i686-darwin" || result.system == "powerpc-darwin";
isLinux = result.system == "i686-linux"
|| result.system == "x86_64-linux"
|| result.system == "powerpc-linux"
|| result.system == "armv5tel-linux";
|| result.system == "powerpc-linux";
isi686 = result.system == "i686-linux"
|| result.system == "i686-darwin"
|| result.system == "i686-freebsd";

View file

@ -13,7 +13,6 @@ rec {
if system == "i686-linux" then import ./bootstrap/i686
else if system == "x86_64-linux" then import ./bootstrap/x86_64
else if system == "powerpc-linux" then import ./bootstrap/powerpc
else if system == "armv5tel-linux" then import ./bootstrap/armv5tel
else abort "unsupported platform for the pure Linux stdenv";

View file

@ -10,17 +10,15 @@ echo Patching the bootstrap tools...
# On x86_64, ld-linux-x86-64.so.2 barfs on patchelf'ed programs. So
# use a copy of patchelf.
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? $out/bin/cp $out/bin/patchelf .
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 $out/bin/cp $out/bin/patchelf .
set +e
for i in $out/bin/* $out/libexec/gcc/*/*/*; do
echo patching $i
if ! test -L $i; then
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \
./patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \
./patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i
fi
done
set -e
# Fix the libc linker script.
export PATH=$out/bin