0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 13:40:28 +03:00

flutter: optimize evaluation of appBuildDeps

This commit is contained in:
Sergei Zimmerman 2025-05-26 20:19:04 +00:00
parent aa852f2301
commit a254123065
No known key found for this signature in database
GPG key ID: A9B0B557CA632325

View file

@ -103,11 +103,19 @@ let
let
# https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3
deps =
pkg:
builtins.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ]));
collect = pkg: lib.unique ([ pkg ] ++ deps pkg ++ builtins.concatMap collect (deps pkg));
pkg: lib.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ]));
withKey = pkg: {
key = pkg.outPath;
val = pkg;
};
collect = pkg: lib.map withKey ([ pkg ] ++ deps pkg);
in
builtins.concatMap collect appRuntimeDeps;
lib.map (e: e.val) (
lib.genericClosure {
startSet = lib.map withKey appRuntimeDeps;
operator = item: collect item.val;
}
);
# Some header files and libraries are not properly located by the Flutter SDK.
# They must be manually included.