79 lines
1.8 KiB
Nix
79 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
nixpkgs,
|
|
system,
|
|
target,
|
|
fenix,
|
|
testOpt,
|
|
}:
|
|
|
|
# Return a list of app derivations to be copied into the rootfs.
|
|
let
|
|
cross =
|
|
if system == "x86_64-linux" && target == "x86_64" then
|
|
pkgs
|
|
else if target == "riscv64" then
|
|
pkgs.pkgsCross.riscv64
|
|
else
|
|
import nixpkgs {
|
|
localSystem = system;
|
|
crossSystem =
|
|
if target == "x86_64" then "x86_64-unknown-linux-gnu" else abort "Unsupported target: ${target}}";
|
|
};
|
|
|
|
cross-musl =
|
|
if system == "x86_64-linux" && target == "x86_64" then
|
|
pkgs.pkgsMusl
|
|
else if target == "riscv64" then
|
|
pkgs.pkgsCross.riscv64-musl
|
|
else
|
|
import nixpkgs {
|
|
localSystem = system;
|
|
crossSystem =
|
|
if target == "x86_64" then
|
|
"x86_64-unknown-linux-musl"
|
|
else
|
|
abort "Unsupported target: ${target}-musl}";
|
|
};
|
|
|
|
static =
|
|
if system == "x86_64-linux" && target == "x86_64" then
|
|
pkgs.pkgsStatic
|
|
else if target == "riscv64" then
|
|
import nixpkgs {
|
|
crossSystem = lib.systems.examples.riscv64-musl;
|
|
isStatic = true;
|
|
}
|
|
else
|
|
abort "Unsupported static target: ${target}";
|
|
|
|
gvisor-syscall-tests = (
|
|
pkgs.callPackage ./tests/syscall/gvisor {
|
|
inherit fenix system;
|
|
installDir = testOpt.syscall.testDir;
|
|
version = testOpt.syscall.version;
|
|
}
|
|
);
|
|
in
|
|
[
|
|
(static.busybox.override {
|
|
extraConfig = ''
|
|
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO "sha512"
|
|
'';
|
|
})
|
|
static.curl
|
|
static.dropbear
|
|
cross.glibc
|
|
|
|
# Simple C utilities
|
|
(static.callPackage ./about {})
|
|
(static.callPackage ./c_unitest {})
|
|
|
|
]
|
|
++ lib.optionals (target == "x86_64" && testOpt.syscall.enable) [
|
|
# gvisor test case only included on x86_64
|
|
gvisor-syscall-tests
|
|
# TODO: Add debian libcxx deps or FHS
|
|
]
|