packageOverrides: allow using pkgs in addition to oldpkgs

This commit is contained in:
tv 2017-02-09 15:11:02 +01:00
parent 38d2ff961f
commit c34f8a33dc

View File

@ -1,13 +1,13 @@
{ config, lib, pkgs, ... }@args: { config, lib, pkgs, ... }@args:
with import <stockholm/lib>; with import <stockholm/lib>;
{ {
nixpkgs.config.packageOverrides = pkgs: let nixpkgs.config.packageOverrides = oldpkgs: let
# This callPackage will try to detect obsolete overrides. # This callPackage will try to detect obsolete overrides.
callPackage = path: args: let callPackage = path: args: let
override = pkgs.callPackage path args; override = pkgs.callPackage path args;
upstream = optionalAttrs (override ? "name") upstream = optionalAttrs (override ? "name")
(pkgs.${(parseDrvName override.name).name} or {}); (oldpkgs.${(parseDrvName override.name).name} or {});
in if upstream ? "name" && in if upstream ? "name" &&
override ? "name" && override ? "name" &&
compareVersions upstream.name override.name != -1 compareVersions upstream.name override.name != -1
@ -22,7 +22,7 @@ with import <stockholm/lib>;
// { // {
empty = pkgs.runCommand "empty-1.0.0" {} "mkdir $out"; empty = pkgs.runCommand "empty-1.0.0" {} "mkdir $out";
haskellPackages = pkgs.haskellPackages.override { haskellPackages = oldpkgs.haskellPackages.override {
overrides = self: super: overrides = self: super:
mapAttrs (name: path: self.callPackage path {}) mapAttrs (name: path: self.callPackage path {})
(mapAttrs' (mapAttrs'
@ -45,16 +45,15 @@ with import <stockholm/lib>;
buildbot-worker = callPackage ./buildbot/worker.nix {}; buildbot-worker = callPackage ./buildbot/worker.nix {};
# https://github.com/proot-me/PRoot/issues/106 # https://github.com/proot-me/PRoot/issues/106
proot = pkgs.writeScriptBin "proot" '' proot = pkgs.writeDashBin "proot" ''
#!${pkgs.dash}/bin/dash
export PROOT_NO_SECCOMP=1 export PROOT_NO_SECCOMP=1
exec ${pkgs.proot}/bin/proot "$@" exec ${oldpkgs.proot}/bin/proot "$@"
''; '';
# XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d
symlinkJoin = { name, paths, ... }@args: let symlinkJoin = { name, paths, ... }@args: let
x = pkgs.symlinkJoin args; x = oldpkgs.symlinkJoin args;
in if typeOf x != "lambda" then x else pkgs.symlinkJoin name paths; in if typeOf x != "lambda" then x else oldpkgs.symlinkJoin name paths;
test = { test = {
infest-cac-centos7 = callPackage ./test/infest-cac-centos7 {}; infest-cac-centos7 = callPackage ./test/infest-cac-centos7 {};