Pin Bender revision
This commit is contained in:
parent
02ab09bd3a
commit
3b9d3aa99f
|
@ -9,13 +9,15 @@ stdenv.mkDerivation rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "blitz";
|
||||
repo = "bender";
|
||||
rev = version;
|
||||
sha256 = "0bj9h8q1in1nkbs55lkc4ifawiq5yya842kmiasag3hwcm3vywy3";
|
||||
rev = "2c449524be4ea9fbb86b4e19d95fcfdc0a3bff0f";
|
||||
sha256 = "0xmy4izgxwxg10cc1q7q3zhzp01nk3dwr2hbq7vrbmk8j1z0r4yz";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
cmakeFlags = "-DVERSION=${version}";
|
||||
cmakeFlags = [ "-DVERSION=${version}" ];
|
||||
|
||||
installPhase = "install standalone/bender $out";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
{ system, apps, testPkgs, hostPkgs, lib, depot }:
|
||||
|
||||
let
|
||||
mkTest = { name ? "unamed", testConfig, env ? { }, ... }:
|
||||
let
|
||||
env' = {
|
||||
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";
|
||||
DHALL_GENODE = "${testPkgs.dhallGenode}/package.dhall";
|
||||
BASE_NOVA_MANIFEST = testPkgs.genode.base-nova.manifest;
|
||||
OS_MANIFEST = testPkgs.genode.os.manifest;
|
||||
SOTEST_PRODUCER_MANIFEST = testPkgs.sotest-producer.manifest;
|
||||
} // env;
|
||||
|
||||
image = apps.nova-image.function env'
|
||||
"${./driver-nova-config.dhall} ${testConfig}";
|
||||
|
||||
drv = hostPkgs.runCommand "nova-${name}-sotest" env' ''
|
||||
cp "${testPkgs.bender}" bender
|
||||
cp "${testPkgs.NOVA}/hypervisor-x86_64" hypervisor
|
||||
cp "${image}" image.elf
|
||||
mkdir -p $out/nix-support
|
||||
${hostPkgs.zip}/bin/zip "$out/binaries.zip" \
|
||||
bender hypervisor-x86_64 image.elf
|
||||
${apps.dhall-to-yaml.program} < ${
|
||||
./sotest_config.dhall
|
||||
} > "$out/sotest_config.yaml"
|
||||
echo file zip $out/binaries.zip >> "$out/nix-support/hydra-build-products"
|
||||
echo file config $out/sotest_config.yaml >> "$out/nix-support/hydra-build-products"
|
||||
'';
|
||||
|
||||
in drv // {
|
||||
inherit image;
|
||||
config = hostPkgs.runCommand (name + ".dhall") env' ''
|
||||
${apps.dhall.program} <<< "(${
|
||||
./driver-nova-config.dhall
|
||||
} ${testConfig})" > $out
|
||||
'';
|
||||
xml = hostPkgs.runCommand (name + ".config") env' ''
|
||||
${apps.render-init.program} "(${
|
||||
./driver-nova-config.dhall
|
||||
} ${testConfig}).config" > $out'';
|
||||
};
|
||||
|
||||
in {
|
||||
callTest = path: args:
|
||||
(import path ({
|
||||
testEnv = {
|
||||
inherit mkTest lib;
|
||||
isLinux = false;
|
||||
isNova = true;
|
||||
};
|
||||
pkgs = testPkgs;
|
||||
inherit depot;
|
||||
} // args));
|
||||
}
|
Loading…
Reference in New Issue