1{ lib }:
2
3{
4 genFinalPackage =
5 pkg: args:
6 let
7 expectedArgs = with lib; lib.naturalSort (lib.attrNames args);
8 existingArgs =
9 with lib;
10 naturalSort (intersectLists expectedArgs (attrNames (functionArgs pkg.override)));
11 in
12 if existingArgs != expectedArgs then pkg else pkg.override args;
13}