lol

Merge pull request #260535 from hercules-ci/fix-functionArgs-after-makeOverridable

lib.makeOverridable: fix functionArgs on returned function

authored by

Robert Hensing and committed by
GitHub
bb0b182c a087f3aa

+16 -3
+4 -3
lib/customisation.nix
··· 69 69 "<pkg>.overrideDerivation" to learn about `overrideDerivation` and caveats 70 70 related to its use. 71 71 */ 72 - makeOverridable = f: origArgs: 73 - let 72 + makeOverridable = f: lib.setFunctionArgs 73 + (origArgs: let 74 74 result = f origArgs; 75 75 76 76 # Creates a functor with the same arguments as f ··· 95 95 lib.setFunctionArgs result (lib.functionArgs result) // { 96 96 override = overrideArgs; 97 97 } 98 - else result; 98 + else result) 99 + (lib.functionArgs f); 99 100 100 101 101 102 /* Call the package function in the file `fn` with the required
+12
lib/tests/misc.nix
··· 43 43 44 44 runTests { 45 45 46 + # CUSTOMIZATION 47 + 48 + testFunctionArgsMakeOverridable = { 49 + expr = functionArgs (makeOverridable ({ a, b, c ? null}: {})); 50 + expected = { a = false; b = false; c = true; }; 51 + }; 52 + 53 + testFunctionArgsMakeOverridableOverride = { 54 + expr = functionArgs (makeOverridable ({ a, b, c ? null }: {}) { a = 1; b = 2; }).override; 55 + expected = { a = false; b = false; c = true; }; 56 + }; 57 + 46 58 # TRIVIAL 47 59 48 60 testId = {