36 lines
939 B
Nix
36 lines
939 B
Nix
# One derivation path for provisional checking and activation. The source and
|
|
# schema come from exact committed inputs resolved by the Quixos compiler.
|
|
{
|
|
source,
|
|
schema,
|
|
generator,
|
|
packageRevisionId,
|
|
system ? builtins.currentSystem,
|
|
}:
|
|
let
|
|
packageSource = builtins.path {
|
|
path = /. + source;
|
|
name = "quixos-package-source";
|
|
filter =
|
|
path: _:
|
|
let
|
|
name = baseNameOf path;
|
|
in
|
|
name != ".git" && name != ".jj";
|
|
};
|
|
package = builtins.getFlake (
|
|
"path:" + builtins.unsafeDiscardStringContext (toString packageSource)
|
|
);
|
|
checked =
|
|
package.quixosPackages.${system}.checkedServer
|
|
or (throw "Package ${packageRevisionId} lacks checkedServer; use the supported package scaffold.");
|
|
in
|
|
checked {
|
|
inherit packageRevisionId;
|
|
schema = builtins.path {
|
|
path = /. + schema;
|
|
name = "candidate-package-bindings.json";
|
|
};
|
|
generator = builtins.storePath generator;
|
|
}
|