{ lib, basicArgs, buildInputs, nativeBuildInputs, }: let f = { craneLib, lib, ... }@args: let genInputs = lib.genInputsWith args; in craneLib.buildDepsOnly ( basicArgs // { buildInputs = genInputs buildInputs; nativeBuildInputs = genInputs nativeBuildInputs; } ); in with lib; setFunctionArgs f ((functionArgs f) // (genFunctionArgs (buildInputs ++ nativeBuildInputs)))