41 lines
766 B
Nix
41 lines
766 B
Nix
{
|
|
# Plumbing tools:
|
|
closureInfo,
|
|
runCommand,
|
|
buildEnv,
|
|
# Actual dependencies to propagate:
|
|
bash,
|
|
coreutils,
|
|
}:
|
|
let
|
|
tools = buildEnv {
|
|
name = "lorri-runtime-tools";
|
|
paths = [
|
|
coreutils
|
|
bash
|
|
];
|
|
};
|
|
|
|
runtimeClosureInfo = closureInfo {
|
|
rootPaths = [ tools ];
|
|
};
|
|
|
|
closureToNix = runCommand "closure.nix" { } ''
|
|
(
|
|
echo '{ dep, ... }: ['
|
|
sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths
|
|
echo ']'
|
|
) > $out
|
|
'';
|
|
|
|
runtimeClosureInfoAsNix =
|
|
runCommand "runtime-closure.nix"
|
|
{
|
|
runtime_closure_list = closureToNix;
|
|
tools_build_host = tools;
|
|
}
|
|
''
|
|
substituteAll ${./runtime-closure.nix.template} $out
|
|
'';
|
|
in
|
|
runtimeClosureInfoAsNix
|