summary refs log tree commit diff
path: root/pkgs/os-specific/windows
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-12-01 08:31:11 +0000
committerSergei Trofimovich <slyich@gmail.com>2022-12-01 08:31:11 +0000
commit3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5 (patch)
treed736758a5cf9f3d9a18832bdddbf3aaa577feef7 /pkgs/os-specific/windows
parentd7555c9ff2e50035ac6191a37c0b5d79e9ed1cb5 (diff)
downloadnixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar.gz
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar.bz2
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar.lz
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar.xz
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.tar.zst
nixpkgs-3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5.zip
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.
Diffstat (limited to 'pkgs/os-specific/windows')
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix23
1 files changed, 22 insertions, 1 deletions
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 316907f5f67..221bcd8e89f 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" ];