pkgsCross.mingwW64.windows.mingw_w64: backport parallel build fixes

Without the change build frequently fails on `gnumake-4.4` as:

    x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02133.o: No such file or directory
    x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02134.o: No such file or directory

Pull upstream patches that fix temporary file collisions and add
missing dll dependencies.
This commit is contained in:
Sergei Trofimovich 2022-12-01 08:31:11 +00:00
parent d7555c9ff2
commit 3bef3f8c4d

View file

@ -1,4 +1,10 @@
{ lib, stdenv, windows, fetchurl }:
{ lib
, stdenv
, windows
, fetchurl
, fetchpatch
, autoreconfHook
}:
let
version = "10.0.0";
@ -11,6 +17,20 @@ in stdenv.mkDerivation {
hash = "sha256-umtDCu1yxjo3aFMfaj/8Kw/eLFejslFFDc9ImolPCJQ=";
};
patches = [
# Upstream patches to fix build parallelism
(fetchpatch {
name = "crt-suff-make-4.4.patch";
url = "https://github.com/mirror/mingw-w64/commit/953bcd32ae470c4647e94de8548dda5a8f07d82d.patch";
hash = "sha256-lrS4ZDa/Uwsj5DXajOUv+knZXan0JVU70KHHdIjJ07Y=";
})
(fetchpatch {
name = "dll-dep-make-4.4.patch";
url = "https://github.com/mirror/mingw-w64/commit/e1b0c1420bbd52ef505c71737c57393ac1397b0a.patch";
hash = "sha256-/56Cmmy0UYTaDKIWG7CgXsThvCHK6lSbekbBOoOJSIQ=";
})
];
outputs = [ "out" "dev" ];
configureFlags = [
@ -20,6 +40,7 @@ in stdenv.mkDerivation {
enableParallelBuilding = true;
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ windows.mingw_w64_headers ];
hardeningDisable = [ "stackprotector" "fortify" ];