haskellPackages.iserv-proxy: use in subprocess mode when doing cross (#508035)

This commit is contained in:
Wolfgang Walther
2026-04-09 20:49:34 +00:00
committed by GitHub
2 changed files with 5 additions and 12 deletions
@@ -46,14 +46,8 @@ let
in
buildPackages.writeShellScriptBin ("iserv-wrapper" + lib.optionalString enableProfiling "-prof") ''
set -euo pipefail
PORT=$((5000 + $RANDOM % 5000))
${lib.optionalString stdenv.hostPlatform.isWindows "export WINEDEBUG=-all WINEPREFIX=$TMP"}
(>&2 echo "---> Starting interpreter on port $PORT")
${emulator} ${hostProxy} tmp $PORT &
RISERV_PID="$!"
trap "kill $RISERV_PID" EXIT # Needs cleanup when building without sandbox
${buildProxy} $@ 127.0.0.1 "$PORT"
(>&2 echo "---> killing interpreter...")
${buildProxy} $@ --pipe ${emulator} ${hostProxy} tmp --stdio
'';
# GHC will add `-prof` to the external interpreter when doing a profiled build.
@@ -262,8 +256,7 @@ in
__onlyPropagateKnownPkgConfigModules ? false,
enableExternalInterpreter ?
isCross && crossSupport.canProxyTH && crossSupport.needsExternalInterpreterSetup,
# iserv-proxy needs local network access
__darwinAllowLocalNetworking ? stdenv.hostPlatform.isDarwin && enableExternalInterpreter,
__darwinAllowLocalNetworking ? false,
}@args:
assert editedCabalFile != null -> revision != null;
@@ -15,14 +15,14 @@
}:
mkDerivation {
pname = "iserv-proxy";
version = "9.3-unstable-2026-02-04";
version = "9.3-unstable-2026-04-08";
# https://github.com/stable-haskell/iserv-proxy/pull/1
src = fetchFromGitHub {
owner = "stable-haskell";
repo = "iserv-proxy";
rev = "91ef7ffdeedfb141a4d69dcf9e550abe3e1160c6";
hash = "sha256-x6QYupvHZM7rRpVO4AIC5gUWFprFQ59A95FPC7/Owjg";
rev = "3f7b2815307c20a0dfd816bdf4a39ab86af3e0d4";
hash = "sha256-10x8/G0x3eR/++XRHPx4MBuqlnc6+N+ajIxXyLkG+nU=";
};
isLibrary = true;