krebs pkgs: detect old overrides

This commit is contained in:
tv 2016-03-05 22:23:57 +01:00
parent ed1ffc8c83
commit bbc59a85a8

View File

@ -1,7 +1,20 @@
{ config, lib, pkgs, ... }@args: { config, lib, pkgs, ... }@args:
with config.krebs.lib; with config.krebs.lib;
{ {
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config.packageOverrides = pkgs: let
# This callPackage will try to detect obsolete overrides.
callPackage = path: args: let
override = pkgs.callPackage path args;
upstream = optionalAttrs (override ? "name")
(pkgs.${(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 {
haskellPackages = pkgs.haskellPackages.override { haskellPackages = pkgs.haskellPackages.override {
overrides = self: super: overrides = self: super:
mapAttrs (name: path: self.callPackage path {}) mapAttrs (name: path: self.callPackage path {})
@ -16,18 +29,18 @@ with config.krebs.lib;
(builtins.readDir ./haskell-overrides)); (builtins.readDir ./haskell-overrides));
}; };
push = pkgs.callPackage ./push { push = callPackage ./push {
inherit (subdirs) get; inherit (subdirs) get;
}; };
ReaktorPlugins = pkgs.callPackage ./Reaktor/plugins.nix {}; ReaktorPlugins = callPackage ./Reaktor/plugins.nix {};
test = { test = {
infest-cac-centos7 = pkgs.callPackage ./test/infest-cac-centos7 {}; infest-cac-centos7 = callPackage ./test/infest-cac-centos7 {};
}; };
} }
// import ./builders.nix args // import ./builders.nix args
// mapAttrs (_: flip pkgs.callPackage {}) // mapAttrs (_: flip callPackage {})
(filterAttrs (_: dir.has-default-nix) (filterAttrs (_: dir.has-default-nix)
(subdirsOf ./.)); (subdirsOf ./.));
} }