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:
parent
4f5e00f686
commit
d4aedd92cc
|
@ -54,7 +54,6 @@ stdenv.mkDerivation {
|
||||||
if !nativeLibc then
|
if !nativeLibc then
|
||||||
(if stdenv.system == "i686-linux" then "ld-linux.so.2" else
|
(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 == "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
|
if stdenv.system == "powerpc-linux" then "ld.so.1" else
|
||||||
abort "don't know the name of the dynamic linker for this platform")
|
abort "don't know the name of the dynamic linker for this platform")
|
||||||
else "";
|
else "";
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
{stdenv, fetchurl}:
|
{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 {
|
stdenv.mkDerivation {
|
||||||
name = "perl-5.10.0";
|
name = "perl-5.10.0";
|
||||||
|
|
||||||
|
@ -29,10 +22,8 @@ stdenv.mkDerivation {
|
||||||
# "installstyle" option to ensure that modules are put under
|
# "installstyle" option to ensure that modules are put under
|
||||||
# $out/lib/perl5 - this is the general default, but because $out
|
# $out/lib/perl5 - this is the general default, but because $out
|
||||||
# contains the string "perl", Configure would select $out/lib.
|
# contains the string "perl", Configure would select $out/lib.
|
||||||
# Miniperl needs -lm. perl needs -lrt.
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
-de -Dcc=gcc -Uinstallusrbinperl -Dinstallstyle=lib/perl5 -Duseshrplib
|
-de -Dcc=gcc -Uinstallusrbinperl -Dinstallstyle=lib/perl5 -Duseshrplib
|
||||||
-Dldflags='-lm -lrt'
|
|
||||||
${if stdenv ? glibc then "-Dusethreads" else ""}
|
${if stdenv ? glibc then "-Dusethreads" else ""}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -50,7 +41,11 @@ stdenv.mkDerivation {
|
||||||
fi
|
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;
|
setupHook = ./setup-hook.sh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@ stdenv.mkDerivation {
|
||||||
if stdenv.system == "i686-linux" then "i386" else
|
if stdenv.system == "i686-linux" then "i386" else
|
||||||
if stdenv.system == "x86_64-linux" then "x86_64" else
|
if stdenv.system == "x86_64-linux" then "x86_64" else
|
||||||
if stdenv.system == "powerpc-linux" then "powerpc" 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";
|
abort "don't know what the kernel include directory is called for this platform";
|
||||||
|
|
||||||
buildInputs = [perl];
|
buildInputs = [perl];
|
||||||
|
|
|
@ -54,7 +54,6 @@ rec {
|
||||||
stdenv =
|
stdenv =
|
||||||
if stdenvType == "i686-linux" then stdenvLinux else
|
if stdenvType == "i686-linux" then stdenvLinux else
|
||||||
if stdenvType == "x86_64-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 == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
|
||||||
if stdenvType == "i686-mingw" then stdenvMinGW else
|
if stdenvType == "i686-mingw" then stdenvMinGW else
|
||||||
if stdenvType == "i686-darwin" then stdenvNix else
|
if stdenvType == "i686-darwin" then stdenvNix else
|
||||||
|
|
|
@ -71,8 +71,7 @@ let
|
||||||
isDarwin = result.system == "i686-darwin" || result.system == "powerpc-darwin";
|
isDarwin = result.system == "i686-darwin" || result.system == "powerpc-darwin";
|
||||||
isLinux = result.system == "i686-linux"
|
isLinux = result.system == "i686-linux"
|
||||||
|| result.system == "x86_64-linux"
|
|| result.system == "x86_64-linux"
|
||||||
|| result.system == "powerpc-linux"
|
|| result.system == "powerpc-linux";
|
||||||
|| result.system == "armv5tel-linux";
|
|
||||||
isi686 = result.system == "i686-linux"
|
isi686 = result.system == "i686-linux"
|
||||||
|| result.system == "i686-darwin"
|
|| result.system == "i686-darwin"
|
||||||
|| result.system == "i686-freebsd";
|
|| result.system == "i686-freebsd";
|
||||||
|
|
|
@ -13,7 +13,6 @@ rec {
|
||||||
if system == "i686-linux" then import ./bootstrap/i686
|
if system == "i686-linux" then import ./bootstrap/i686
|
||||||
else if system == "x86_64-linux" then import ./bootstrap/x86_64
|
else if system == "x86_64-linux" then import ./bootstrap/x86_64
|
||||||
else if system == "powerpc-linux" then import ./bootstrap/powerpc
|
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";
|
else abort "unsupported platform for the pure Linux stdenv";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,17 +10,15 @@ echo Patching the bootstrap tools...
|
||||||
|
|
||||||
# On x86_64, ld-linux-x86-64.so.2 barfs on patchelf'ed programs. So
|
# On x86_64, ld-linux-x86-64.so.2 barfs on patchelf'ed programs. So
|
||||||
# use a copy of patchelf.
|
# 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
|
for i in $out/bin/* $out/libexec/gcc/*/*/*; do
|
||||||
echo patching $i
|
echo patching $i
|
||||||
if ! test -L $i; then
|
if ! test -L $i; then
|
||||||
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \
|
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \
|
||||||
./patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i
|
./patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
set -e
|
|
||||||
|
|
||||||
# Fix the libc linker script.
|
# Fix the libc linker script.
|
||||||
export PATH=$out/bin
|
export PATH=$out/bin
|
||||||
|
|
Loading…
Reference in a new issue