Files
nixpkgs/pkgs/development/haskell-modules/configuration-windows.nix

41 lines
1.7 KiB
Nix

{ pkgs, haskellLib }:
let
inherit (pkgs) fetchpatch lib;
in
with haskellLib;
(self: super: {
# cabal2nix doesn't properly add dependencies conditional on os(windows)
digest = addBuildDepends [ self.zlib ] super.digest;
echo = addBuildDepends [ self.mintty ] super.echo;
http-client = addBuildDepends [ self.safe ] super.http-client;
regex-posix = addBuildDepends [ self.regex-posix-clib ] super.regex-posix;
simple-sendfile =
with self;
addBuildDepends [ conduit conduit-extra resourcet ] super.simple-sendfile;
snap-core = addBuildDepends [ self.time-locale-compat ] super.snap-core;
tar-conduit = addBuildDepends [ self.unix-compat ] super.tar-conduit;
unix-time = addBuildDepends [ pkgs.windows.pthreads ] super.unix-time;
warp = addBuildDepends [ self.unix-compat ] super.warp;
network = lib.pipe super.network [
(addBuildDepends [ self.temporary ])
# https://github.com/haskell/network/pull/605
(appendPatch (fetchpatch {
name = "dont-frag-wine.patch";
url = "https://github.com/haskell/network/commit/ecd94408696117d34d4c13031c30d18033504827.patch";
sha256 = "sha256-8LtAkBmgMMMIW6gPYDVuwYck/4fcOf08Hp2zLmsRW2w=";
}))
];
# Workaround for
# Mingw-w64 runtime failure:
# 32 bit pseudo relocation at 00000001400EB99E out of range, targeting 00006FFFFFEB8170, yielding the value 00006FFEBFDCC7CE.
# Root cause seems to be undefined references to libffi as shown by linking errors if we instead use "-Wl,--disable-auto-import"
# See https://github.com/rust-lang/rust/issues/132226#issuecomment-2445100058
iserv-proxy = appendConfigureFlag "--ghc-option=-optl=-Wl,--disable-runtime-pseudo-reloc" super.iserv-proxy;
})