1{2 lib,3 craneLib,4 makeWrapper,5 withExperimentalFeatures ? false,6 forBenchmarks ? false,7}:8let9 inherit (lib) optionalString;10in11craneLib.buildPackage {12 src = lib.cleanSourceWith {13 src = ../.;14 filter = path: type: (lib.hasSuffix "\.jsonnet" path) || (craneLib.filterCargoSources path type);15 };16 pname = "jrsonnet";17 version = "current${optionalString withExperimentalFeatures "-experimental"}";1819 cargoExtraArgs = "--locked --features=mimalloc${optionalString withExperimentalFeatures ",experimental"}";2021 nativeBuildInputs = [ makeWrapper ];2223 24 postInstall = optionalString forBenchmarks ''25 wrapProgram $out/bin/jrsonnet --add-flags "--max-stack=200000"26 '';27}