84 lines
2.0 KiB
Nix
84 lines
2.0 KiB
Nix
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
{ system, legacyPackages, depot, apps, dhallApps }:
|
|
|
|
let
|
|
inherit (legacyPackages) callPackage;
|
|
|
|
dhallPackages = legacyPackages.dhallPackages // (callPackage ./dhall { inherit dhallApps; });
|
|
|
|
mkDhallManifest = drv:
|
|
legacyPackages.runCommand "${drv.name}.dhall" { inherit drv; }
|
|
"${apps.generate-manifest.program} $drv > $out";
|
|
|
|
addManifest = drv: { manifest = mkDhallManifest drv; } // drv;
|
|
|
|
callPackage' = path: attrs:
|
|
addManifest (legacyPackages.callPackages path attrs);
|
|
|
|
buildUpstream = import ./genodelabs {
|
|
nixpkgs = legacyPackages;
|
|
inherit apps;
|
|
};
|
|
|
|
in rec {
|
|
|
|
inherit (legacyPackages) stdenv;
|
|
|
|
base-hw-pc = buildUpstream {
|
|
name = "base-hw-pc";
|
|
arch = "x86_64";
|
|
kernel = "hw";
|
|
board = "pc";
|
|
targets = [ "bootstrap" "core" "timer" ];
|
|
libTargets = [ "ld-hw" ];
|
|
postInstall = ''
|
|
mkdir -p $out/lib
|
|
mv $out/bin/*.o $out/lib/
|
|
mv $out/bin/ld-hw.lib.so $out/lib/ld.lib.so
|
|
'';
|
|
};
|
|
|
|
base-nova = buildUpstream {
|
|
name = "base-nova";
|
|
arch = "x86_64";
|
|
kernel = "nova";
|
|
board = "pc";
|
|
targets = [ "core" "timer" ];
|
|
libTargets = [ "ld-nova" ];
|
|
postInstall = ''
|
|
mkdir -p $out/lib
|
|
mv $out/bin/*.o $out/lib/
|
|
mv $out/bin/ld-nova.lib.so $out/lib/ld.lib.so
|
|
'';
|
|
};
|
|
|
|
bender = legacyPackages.buildPackages.callPackage ./bender { };
|
|
|
|
dhallGenode = dhallPackages.genode;
|
|
|
|
dhallPrelude = dhallPackages.prelude;
|
|
|
|
genode = import ./genode {
|
|
nixpkgs = legacyPackages;
|
|
inherit mkDhallManifest;
|
|
};
|
|
|
|
NOVA = legacyPackages.callPackage ./NOVA { };
|
|
|
|
libc = callPackage' ./libc { inherit depot; };
|
|
|
|
nic_bus = callPackage ./nic_bus { inherit (genode) base os; };
|
|
|
|
solo5 = let drv = callPackage' ./solo5 { inherit genode; };
|
|
in drv // { tests = addManifest drv.tests // { pname = "solo5-tests"; }; };
|
|
|
|
sotest-producer = callPackage' ./sotest-producer {
|
|
stdenv = genode.stdenvGcc;
|
|
inherit genode;
|
|
};
|
|
|
|
stdcxx = callPackage' ./stdcxx { };
|
|
|
|
}
|