fix: provider check in conditions for fixes

This commit is contained in:
DavHau 2020-09-20 15:30:20 +07:00
parent 780766f68a
commit b3a42dfa91
2 changed files with 10 additions and 12 deletions

View file

@ -58,9 +58,9 @@ let
else throw "_.${pkg}.${key}.add only accepts list or attrs or string.";
meets_cond = oa: condition:
let
provider = if hasAttr "provider" oa then oa.provider else "nixpkgs";
provider = if hasAttr "provider" oa.passthru then oa.passthru.provider else "nixpkgs";
in
condition { prov = provider; ver = oa.version; pyver = oa.pythonModule.version; };
condition { prov = provider; ver = oa.version; pyver = oa.pythonModule.version; };
simple_overrides = args: with pkgs.lib;
flatten (
mapAttrsToList (pkg: keys:
@ -100,9 +100,7 @@ let
{
"${pkg}" = pySuper."${pkg}".overrideAttrs (oa:
mapAttrs (key: val:
if ! meets_cond oa cond then
oa."${key}"
else trace "\napplying fix '${fix}' for ${pkg}:${oa.version}\n" (
trace "\napplying fix '${fix}' for ${pkg}:${oa.version}\n" (
if isAttrs val && hasAttr "add" val then
combine oa."${key}" val.add
else if isAttrs val && hasAttr "mod" val && isFunction val.mod then
@ -110,7 +108,7 @@ let
else
val
)
) (filterAttrs (k: v: k != "_cond") keys)
) (filterAttrs (k: v: k != "_cond" && meets_cond oa cond) keys)
);
}
) p_fixes

View file

@ -22,9 +22,12 @@ let
'';
in
### Put Fixes here
rec {
### FORMAT ###########################################################
# rec { #
# ... #
# #
# package-to-fix = { #
# name-of-the-fix = { #
# # optionally limit the fix to a condtion #
@ -36,8 +39,7 @@ in
# key-to-override.mod = old_val: ...; # to modify value #
# }; #
# }; #
# ... #
# } #
# #
########################################################################
### _cond ####################################
@ -47,8 +49,6 @@ in
# - pyver (python version used) #
##############################################
rec {
ldap0 = {
add-inputs = {
buildInputs.add = with pkgs; [ openldap.dev cyrus_sasl.dev ];