Add support for overriding with local package until target version
This commit is contained in:
parent
a59af5ca20
commit
f899bd8f43
1 changed files with 13 additions and 4 deletions
|
@ -1,11 +1,20 @@
|
|||
let
|
||||
unstable = import <unstable> { overlays = [ ]; };
|
||||
unstableUntilVersion = pv: _: pkgs: with pkgs.lib; builtins.mapAttrs
|
||||
(p: v: assert assertMsg (! (pkgs ? ${p} && versionAtLeast pkgs.${p}.version v))
|
||||
"${p} ${v} no longer requires an override"; unstable.${p})
|
||||
overrideUntilVersion = pv: _: pkgs: with pkgs.lib; builtins.mapAttrs
|
||||
(p: v:
|
||||
let
|
||||
local = ../packages/${p}.nix;
|
||||
inStable = pkgs ? ${p} && versionAtLeast pkgs.${p}.version v;
|
||||
inUnstable = unstable ? ${p} && versionAtLeast unstable.${p}.version v;
|
||||
inLocal = pathExists local;
|
||||
in
|
||||
assert assertMsg (! inStable) "${p} ${v} no longer requires an override"; if inUnstable
|
||||
then assert assertMsg (! inLocal) "${p} ${v} no longer requires local packaging"; unstable.${p}
|
||||
else pkgs.callPackage local { }
|
||||
)
|
||||
pv;
|
||||
in
|
||||
unstableUntilVersion {
|
||||
overrideUntilVersion {
|
||||
aws-sam-cli = "1.52.0";
|
||||
darktable = "4.0.0";
|
||||
efficient-compression-tool = "0.9.1";
|
||||
|
|
Loading…
Reference in a new issue