1{2 lib,3 craneLib,4 makeWrapper,5 withExperimentalFeatures ? false,6 forBenchmarks ? false,78 cpp-jsonnet-for-tests,9 go-jsonnet-for-tests,10}:11let12 inherit (lib) optionalString;13in14craneLib.buildPackage {15 src = lib.cleanSourceWith {16 src = ../.;17 filter = path: type: (lib.hasSuffix "\.jsonnet" path) || (craneLib.filterCargoSources path type);18 };19 pname = "jrsonnet";20 version = "current${optionalString withExperimentalFeatures "-experimental"}";2122 cargoExtraArgs = "--locked --features=mimalloc${optionalString withExperimentalFeatures ",experimental"}";2324 CPP_JSONNET_FOR_TESTS = cpp-jsonnet-for-tests;25 GO_JSONNET_FOR_TESTS = go-jsonnet-for-tests;2627 nativeBuildInputs = [ makeWrapper ];2829 30 postInstall = optionalString forBenchmarks ''31 wrapProgram $out/bin/jrsonnet --add-flags "--max-stack=200000"32 '';33}