mirror of
https://github.com/nix-community/dream2nix.git
synced 2024-09-19 02:17:14 +03:00
simpleTranslate2: ignore irrelevant dependency objects
This commit is contained in:
parent
965d1b1a31
commit
c7c59c8353
@ -94,7 +94,15 @@
|
||||
;
|
||||
};
|
||||
|
||||
allDependencies =
|
||||
/*
|
||||
format:
|
||||
{
|
||||
foo = {
|
||||
"1.0.0" = finalObj
|
||||
}
|
||||
}
|
||||
*/
|
||||
makeDependencies = finalObjects:
|
||||
l.foldl'
|
||||
(result: finalObj:
|
||||
lib.recursiveUpdate
|
||||
@ -107,6 +115,31 @@
|
||||
{}
|
||||
finalObjects;
|
||||
|
||||
allDependencies = makeDependencies finalObjects;
|
||||
|
||||
exportedFinalObjects =
|
||||
l.filter
|
||||
(finalObj:
|
||||
exportedPackages.${finalObj.name} or null == finalObj.version)
|
||||
finalObjects;
|
||||
|
||||
relevantFinalObjects = l.genericClosure {
|
||||
startSet =
|
||||
l.map
|
||||
(finalObj:
|
||||
finalObj
|
||||
// {key = "${finalObj.name}#${finalObj.version}";})
|
||||
exportedFinalObjects;
|
||||
operator = finalObj:
|
||||
l.map
|
||||
(c:
|
||||
allDependencies.${c.name}.${c.version}
|
||||
// {key = "${c.name}#${c.version}";})
|
||||
finalObj.dependencies;
|
||||
};
|
||||
|
||||
relevantDependencies = makeDependencies relevantFinalObjects;
|
||||
|
||||
sources =
|
||||
l.mapAttrs
|
||||
(name: versions: let
|
||||
@ -122,7 +155,7 @@
|
||||
l.mapAttrs
|
||||
(version: finalObj: finalObj.sourceSpec)
|
||||
filteredObjects)
|
||||
allDependencies;
|
||||
relevantDependencies;
|
||||
|
||||
dependencyGraph = let
|
||||
depGraph =
|
||||
@ -131,7 +164,7 @@
|
||||
lib.mapAttrs
|
||||
(version: finalObj: finalObj.dependencies)
|
||||
versions)
|
||||
allDependencies;
|
||||
relevantDependencies;
|
||||
in
|
||||
# add extraDependencies to dependency graph
|
||||
l.foldl'
|
||||
|
Loading…
Reference in New Issue
Block a user