diff options
Diffstat (limited to 'pkgs/kde/lib/mk-kde-derivation.nix')
-rw-r--r-- | pkgs/kde/lib/mk-kde-derivation.nix | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix index 975d2e4af93ab..2a983782a4170 100644 --- a/pkgs/kde/lib/mk-kde-derivation.nix +++ b/pkgs/kde/lib/mk-kde-derivation.nix @@ -88,6 +88,20 @@ in # but cross is currently very broken anyway, so we can figure this out later. deps = map (dep: self.${dep}) filteredDepNames; + traceDuplicateDeps = attrName: attrValue: + let + pretty = lib.generators.toPretty {}; + duplicates = builtins.filter (dep: (builtins.elem (lib.getName dep) filteredDepNames)) attrValue; + in + if duplicates != [] + then lib.warn "Duplicate dependencies in ${attrName} of package ${pname}: ${pretty duplicates}" + else lib.id; + + traceAllDuplicateDeps = lib.flip lib.pipe [ + (traceDuplicateDeps "extraBuildInputs" extraBuildInputs) + (traceDuplicateDeps "extraPropagatedBuildInputs" extraPropagatedBuildInputs) + ]; + defaultArgs = { inherit version src; @@ -128,4 +142,4 @@ in pos = builtins.unsafeGetAttrPos "pname" args; in - stdenv.mkDerivation (defaultArgs // cleanArgs // { inherit meta pos; }) + traceAllDuplicateDeps (stdenv.mkDerivation (defaultArgs // cleanArgs // { inherit meta pos; })) |