blob: 1c4a53bf1bb7b26708e1c44ebbfa3f600e52d38e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
self: super:
let
inherit (super) lib;
mylib = import ../../lib/pure.nix {
inherit lib;
};
# This callPackage will try to detect obsolete overrides.
callPackage = path: args: let
override = self.callPackage path args;
upstream = lib.optionalAttrs (override ? "name")
(super.${(builtins.parseDrvName override.name).name} or {});
in if upstream ? "name" &&
override ? "name" &&
builtins.compareVersions upstream.name override.name != -1
then builtins.trace "Upstream `${upstream.name}' gets overridden by `${override.name}'." override
else override;
in
mylib.mapNixDir (path: callPackage path {}) ./.
|