buildGoPackage: remove Go deps file libs.json
After #16017 there were a lot of comments saying that `nix` would be better than `JSON` for Go packages dependency sets. As said in https://github.com/NixOS/nixpkgs/pull/16017#issuecomment-229624046 > Because of the content-addressable store, if two programs have the > same dependency it will already result in the same derivation in > the > store. Git also has compression in the pack files so it won't make > much difference to duplicate the dependencies on disk. And finally > most users will just use the binary builds so it won't make any > differences to them. This PR removes `libs.json` file and puts all package dependencies in theirs `deps.json`.
This commit is contained in:
@@ -55,13 +55,8 @@ let
|
||||
else abort "Unrecognized package fetch type";
|
||||
};
|
||||
|
||||
importGodeps = { depsFile, filterPackages ? [] }:
|
||||
let
|
||||
deps = lib.importJSON depsFile;
|
||||
external = filter (d: d ? include) deps;
|
||||
direct = filter (d: d ? goPackagePath && (length filterPackages == 0 || elem d.goPackagePath filterPackages)) deps;
|
||||
in
|
||||
concatLists (map importGodeps (map (d: { depsFile = ./. + d.include; filterPackages = d.packages; }) external)) ++ (map dep2src direct);
|
||||
importGodeps = { depsFile }:
|
||||
map dep2src (lib.importJSON depsFile);
|
||||
|
||||
goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs
|
||||
else extraSrcs;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user