From 3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 1 Dec 2022 08:31:11 +0000 Subject: [PATCH] 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. --- .../os-specific/windows/mingw-w64/default.nix | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index 316907f5f679..221bcd8e89f2 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -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" ];