Return drvs directly from closure function

This commit is contained in:
Tim Van Baak 2024-07-08 12:15:00 -07:00
parent 30caf6f8be
commit 1315e8fab8

View File

@ -18,10 +18,10 @@
else []
) attrs;
wrap = drv: { key = drv.outPath; inherit drv; };
buildtimeDerivations = drv0: genericClosure {
buildtimeDerivations = drv0: map (obj: obj.drv) (genericClosure {
startSet = map wrap (drvOutputs drv0);
operator = obj: map wrap (concatLists (drvDeps obj.drv.drvAttrs));
};
});
drvMaintainers = drv:
if ! hasAttr "meta" drv then []
else if ! hasAttr "maintainers" drv.meta then []
@ -36,8 +36,7 @@
bundlers."x86_64-linux" = with self.lib; rec {
default = adopt;
maintainers = drv: let
deps = buildtimeDerivations drv;
drvs = map (dep: dep.drv) deps;
drvs = buildtimeDerivations drv;
maintainers = concatMap drvMaintainers drvs;
maintainerNames = map maintainerToString maintainers;
maintainerNamesList = writeText "maintainers" (concatLines maintainerNames);
@ -46,8 +45,7 @@
'';
in uniqNames;
adopt = drv: let
deps = buildtimeDerivations drv;
drvs = map (dep: dep.drv) deps;
drvs = buildtimeDerivations drv;
drvsNoMain = filter nobodyMaintains drvs;
drvNames = map drvToString drvsNoMain;
drvNamesList = writeText "no-maintainers" (concatLines drvNames);