1{2 lib,3 craneLib,4 makeWrapper,5 withExperimentalFeatures ? false,6 forBenchmarks ? false,7}:8with lib;9 craneLib.buildPackage {10 src = lib.cleanSourceWith {11 src = ../.;12 filter = path: type:13 (lib.hasSuffix "\.jsonnet" path)14 || (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 --os-stack=200000"26 '';27 }