Build composable Camino packages with explicit type and source dependencies

This commit is contained in:
Timothy J. Aveni
2026-09-22 13:51:32 -07:00
parent 85734e3003
commit 0da022e216
12 changed files with 508 additions and 78 deletions
+29
View File
@@ -0,0 +1,29 @@
{
pkgs,
context,
artifacts,
}:
let
groups = map (artifact: artifact.caminoGroup or artifact) artifacts;
config = pkgs.writeText "camino-package-assembly.json" (
builtins.toJSON {
inherit groups;
inherit (context) plan packageRevisionId sharedRuntime;
compiler = "${context.generator}/libexec/quixos-protocol/execution-world.mjs";
node = "${pkgs.nodejs_24}/bin/node";
esbuild = "${pkgs.esbuild}/bin/esbuild";
shell = "${pkgs.runtimeShell}";
serviceAdapter = ./portable-service.mjs;
}
);
in
pkgs.runCommand "camino-package"
{
passthru = {
caminoGroups = groups;
assemblyConfig = config;
};
}
''
${pkgs.nodejs_24}/bin/node ${./.}/assemble-package.mjs ${config}
''