2
0
Fork 0
genodepkgs/lib/default.nix

38 lines
1.1 KiB
Nix

# SPDX-License-Identifier: CC0-1.0
{ system, localSystem, crossSystem, genodepkgs, nixpkgs, genode-depot, apps }:
let
thisSystem = builtins.getAttr system;
hostPkgs = nixpkgs.legacyPackages.${localSystem};
testPkgs = thisSystem genodepkgs.packages;
depot = thisSystem genode-depot.packages;
in {
dhallText = name: source:
hostPkgs.runCommand name {
inherit name source;
preferLocalBuild = true;
buildInputs = [ hostPkgs.dhall ];
DHALL_PRELUDE = "${testPkgs.dhallPackages.prelude}/package.dhall";
DHALL_GENODE = "${testPkgs.dhallPackages.genode}/package.dhall";
} ''
export XDG_CACHE_HOME=$NIX_BUILD_TOP
dhall text < $source > $out
'';
mergeManifests = inputs:
nixpkgs.writeTextFile {
name = "manifest.dhall";
text = with builtins;
let
f = head: input:
if hasAttr "manifest" input then
"${head},${input.pname}=${input.manifest}"
else
abort "${input.pname} does not have a manifest";
in (foldl' f "{" inputs) + "}";
};
}