{ callPackage, python3, stdenv, chickenPackages, ninja, pkg-config, libfaketime }: let process = callPackage ./process.nix {}; in { name, src, buildInputs, buildAgainst ? [], overrides ? { } }: let buildAgainstList = builtins.toString buildAgainst; in stdenv.mkDerivation ({ inherit name src; buildInputs = [ chickenPackages.chicken ninja pkg-config libfaketime ] ++ buildInputs; propagatedBuildInputs = buildInputs; enableParallelBuilding = true; dontStrip = true; configurePhase = '' runHook preConfigure ${process}/bin/process ${name} ./ $out/lib/chicken/11 ${if buildAgainst == [] then ''"" ""'' else ''"$(pkg-config --cflags ${buildAgainstList})" "$(pkg-config --libs ${buildAgainstList})"''} runHook postConfigure ''; } // overrides)