mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 08:53:21 +00:00
Move testBootstrapTools to make-bootstrap-tools.nix
This commit is contained in:
parent
e9b408936c
commit
639d7409f2
@ -8,20 +8,17 @@
|
|||||||
{ system ? builtins.currentSystem
|
{ system ? builtins.currentSystem
|
||||||
, allPackages ? import ../../top-level/all-packages.nix
|
, allPackages ? import ../../top-level/all-packages.nix
|
||||||
, platform ? null, config ? {}, lib ? (import ../../../lib)
|
, platform ? null, config ? {}, lib ? (import ../../../lib)
|
||||||
, customBootstrapFiles ? null }:
|
, bootstrapFiles ?
|
||||||
|
if system == "i686-linux" then import ./bootstrap/i686.nix
|
||||||
rec {
|
|
||||||
|
|
||||||
bootstrapFiles =
|
|
||||||
if customBootstrapFiles != null then customBootstrapFiles
|
|
||||||
else if system == "i686-linux" then import ./bootstrap/i686.nix
|
|
||||||
else if system == "x86_64-linux" then import ./bootstrap/x86_64.nix
|
else if system == "x86_64-linux" then import ./bootstrap/x86_64.nix
|
||||||
else if system == "armv5tel-linux" then import ./bootstrap/armv5tel.nix
|
else if system == "armv5tel-linux" then import ./bootstrap/armv5tel.nix
|
||||||
else if system == "armv6l-linux" then import ./bootstrap/armv6l.nix
|
else if system == "armv6l-linux" then import ./bootstrap/armv6l.nix
|
||||||
else if system == "armv7l-linux" then import ./bootstrap/armv7l.nix
|
else if system == "armv7l-linux" then import ./bootstrap/armv7l.nix
|
||||||
else if system == "mips64el-linux" then import ./bootstrap/loongson2f.nix
|
else if system == "mips64el-linux" then import ./bootstrap/loongson2f.nix
|
||||||
else abort "unsupported platform for the pure Linux stdenv";
|
else abort "unsupported platform for the pure Linux stdenv"
|
||||||
|
}:
|
||||||
|
|
||||||
|
rec {
|
||||||
|
|
||||||
commonPreHook =
|
commonPreHook =
|
||||||
''
|
''
|
||||||
@ -310,51 +307,4 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
testBootstrapTools = let
|
|
||||||
defaultPkgs = allPackages { inherit system platform; };
|
|
||||||
in derivation {
|
|
||||||
name = "test-bootstrap-tools";
|
|
||||||
inherit system;
|
|
||||||
builder = bootstrapFiles.busybox;
|
|
||||||
args = [ "ash" "-e" "-c" "eval \"$buildCommand\"" ];
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
export PATH=${bootstrapTools}/bin
|
|
||||||
|
|
||||||
ls -l
|
|
||||||
mkdir $out
|
|
||||||
mkdir $out/bin
|
|
||||||
sed --version
|
|
||||||
find --version
|
|
||||||
diff --version
|
|
||||||
patch --version
|
|
||||||
make --version
|
|
||||||
awk --version
|
|
||||||
grep --version
|
|
||||||
gcc --version
|
|
||||||
|
|
||||||
ldlinux=$(echo ${bootstrapTools}/lib/ld-linux*.so.?)
|
|
||||||
export CPP="cpp -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools}"
|
|
||||||
export CC="gcc -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
|
|
||||||
export CXX="g++ -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
|
|
||||||
|
|
||||||
echo '#include <stdio.h>' >> foo.c
|
|
||||||
echo '#include <limits.h>' >> foo.c
|
|
||||||
echo 'int main() { printf("Hello World\\n"); return 0; }' >> foo.c
|
|
||||||
$CC -o $out/bin/foo foo.c
|
|
||||||
$out/bin/foo
|
|
||||||
|
|
||||||
echo '#include <iostream>' >> bar.cc
|
|
||||||
echo 'int main() { std::cout << "Hello World\\n"; }' >> bar.cc
|
|
||||||
$CXX -v -o $out/bin/bar bar.cc
|
|
||||||
$out/bin/bar
|
|
||||||
|
|
||||||
tar xvf ${defaultPkgs.hello.src}
|
|
||||||
cd hello-*
|
|
||||||
./configure --prefix=$out
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -156,12 +156,57 @@ rec {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
test = ((import ./default.nix) {
|
bootstrapFiles = {
|
||||||
inherit system;
|
busybox = "${build}/on-server/busybox";
|
||||||
|
bootstrapTools = "${build}/on-server/bootstrap-tools.tar.xz";
|
||||||
|
};
|
||||||
|
|
||||||
customBootstrapFiles = {
|
bootstrapTools = (import ./default.nix {
|
||||||
busybox = "${build}/on-server/busybox";
|
inherit system bootstrapFiles;
|
||||||
bootstrapTools = "${build}/on-server/bootstrap-tools.tar.xz";
|
}).bootstrapTools;
|
||||||
};
|
|
||||||
}).testBootstrapTools;
|
test = derivation {
|
||||||
|
name = "test-bootstrap-tools";
|
||||||
|
inherit system;
|
||||||
|
builder = bootstrapFiles.busybox;
|
||||||
|
args = [ "ash" "-e" "-c" "eval \"$buildCommand\"" ];
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
export PATH=${bootstrapTools}/bin
|
||||||
|
|
||||||
|
ls -l
|
||||||
|
mkdir $out
|
||||||
|
mkdir $out/bin
|
||||||
|
sed --version
|
||||||
|
find --version
|
||||||
|
diff --version
|
||||||
|
patch --version
|
||||||
|
make --version
|
||||||
|
awk --version
|
||||||
|
grep --version
|
||||||
|
gcc --version
|
||||||
|
|
||||||
|
ldlinux=$(echo ${bootstrapTools}/lib/ld-linux*.so.?)
|
||||||
|
export CPP="cpp -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools}"
|
||||||
|
export CC="gcc -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
|
||||||
|
export CXX="g++ -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
|
||||||
|
|
||||||
|
echo '#include <stdio.h>' >> foo.c
|
||||||
|
echo '#include <limits.h>' >> foo.c
|
||||||
|
echo 'int main() { printf("Hello World\\n"); return 0; }' >> foo.c
|
||||||
|
$CC -o $out/bin/foo foo.c
|
||||||
|
$out/bin/foo
|
||||||
|
|
||||||
|
echo '#include <iostream>' >> bar.cc
|
||||||
|
echo 'int main() { std::cout << "Hello World\\n"; }' >> bar.cc
|
||||||
|
$CXX -v -o $out/bin/bar bar.cc
|
||||||
|
$out/bin/bar
|
||||||
|
|
||||||
|
tar xvf ${hello.src}
|
||||||
|
cd hello-*
|
||||||
|
./configure --prefix=$out
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user