summaryrefslogtreecommitdiffstats
path: root/jeschli/5pkgs/simple/default.nix
blob: 1b9d8c23506be5f1dba6b0ae6405af8430b809a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
with import <stockholm/lib>;

self: super:

let
  # This callPackage will try to detect obsolete overrides.
  callPackage = path: args: let
    override = self.callPackage path args;
    upstream = optionalAttrs (override ? "name")
      (super.${(parseDrvName override.name).name} or {});
  in if upstream ? "name" &&
        override ? "name" &&
        compareVersions upstream.name override.name != -1
    then trace "Upstream `${upstream.name}' gets overridden by `${override.name}'." override
    else override;
in

  listToAttrs
    (map
      (name: nameValuePair (removeSuffix ".nix" name)
                           (callPackage (./. + "/${name}") {}))
      (filter
        (name: name != "default.nix" && !hasPrefix "." name)
        (attrNames (readDir ./.))))