summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/windows/default.nix29
-rw-r--r--pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--pkgs/os-specific/windows/mingw-w64/common.nix4
-rw-r--r--pkgs/os-specific/windows/mingwrt/common.nix12
-rw-r--r--pkgs/os-specific/windows/mingwrt/default.nix14
-rw-r--r--pkgs/os-specific/windows/mingwrt/headers.nix17
-rw-r--r--pkgs/os-specific/windows/pthread-w32/default.nix4
-rw-r--r--pkgs/os-specific/windows/w32api/common.nix14
-rw-r--r--pkgs/os-specific/windows/w32api/default.nix14
-rw-r--r--pkgs/os-specific/windows/w32api/headers.nix17
-rw-r--r--pkgs/top-level/all-packages.nix45
11 files changed, 57 insertions, 115 deletions
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
new file mode 100644
index 00000000000..4621c2da10f
--- /dev/null
+++ b/pkgs/os-specific/windows/default.nix
@@ -0,0 +1,29 @@
+{ newScope, crossLibcStdenv }: let
+
+  callPackage = newScope self;
+
+  self = {
+    cygwinSetup = callPackage ./cygwin-setup { };
+
+    jom = callPackage ./jom { };
+
+    w32api = callPackage ./w32api { };
+
+    mingwrt = callPackage ./mingwrt { };
+    mingw_runtime = self.mingwrt;
+
+    mingw_w64 = callPackage ./mingw-w64 {
+      stdenv = crossLibcStdenv;
+    };
+
+    mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
+
+    mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { };
+
+    pthreads = callPackage ./pthread-w32 { };
+
+    wxMSW = callPackage ./wxMSW-2.8 { };
+
+    libgnurx = callPackage ./libgnurx { };
+  };
+in self
diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
index 1b64ad74599..ee8f0079075 100644
--- a/pkgs/os-specific/windows/jom/default.nix
+++ b/pkgs/os-specific/windows/jom/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ flex qmake4Hook ];
 
   QTDIR = qt48;
-  
+
   # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres";
 
   preBuild = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
diff --git a/pkgs/os-specific/windows/mingw-w64/common.nix b/pkgs/os-specific/windows/mingw-w64/common.nix
index 102d9489fe9..3f75ef00afe 100644
--- a/pkgs/os-specific/windows/mingw-w64/common.nix
+++ b/pkgs/os-specific/windows/mingw-w64/common.nix
@@ -1,12 +1,12 @@
 { fetchurl }:
 
 rec {
-  version = "5.0.3";
+  version = "5.0.4";
   name = "mingw-w64-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
-    sha256 = "1d4wrjfdlq5xqpv9zg6ssw4lm8jnv6522xf7d6zbjygmkswisq1a";
+    sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/windows/mingwrt/common.nix b/pkgs/os-specific/windows/mingwrt/common.nix
deleted file mode 100644
index 7dc2ae56aa8..00000000000
--- a/pkgs/os-specific/windows/mingwrt/common.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ lib, fetchurl }:
-
-rec {
-  name = "mingwrt-3.20";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
-    sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
-  };
-
-  meta.platforms = [ lib.systems.inspect.isMinGW ];
-}
diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix
index 3429f7564ad..b3c7ef31098 100644
--- a/pkgs/os-specific/windows/mingwrt/default.nix
+++ b/pkgs/os-specific/windows/mingwrt/default.nix
@@ -1,7 +1,15 @@
-{ stdenv, callPackage }:
+{ stdenv, callPackage, lib, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mingwrt-5.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
+    sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91p0";
+  };
+
+  meta.platforms = [ lib.systems.inspect.isMinGW ];
 
-stdenv.mkDerivation {
-  inherit (callPackage ./common.nix {}) name src meta;
   dontStrip = true;
   hardeningDisable = [ "stackprotector" "fortify" ];
 }
diff --git a/pkgs/os-specific/windows/mingwrt/headers.nix b/pkgs/os-specific/windows/mingwrt/headers.nix
deleted file mode 100644
index 51180af0fc7..00000000000
--- a/pkgs/os-specific/windows/mingwrt/headers.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenvNoCC, callPackage }:
-
-let
-  inherit (callPackage ./common.nix {}) name src meta;
-
-in stdenvNoCC.mkDerivation {
-  name = name + "-headers";
-
-  inherit src meta;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -R include $out
-  '';
-}
diff --git a/pkgs/os-specific/windows/pthread-w32/default.nix b/pkgs/os-specific/windows/pthread-w32/default.nix
index 7cd414a97b0..e84270270f8 100644
--- a/pkgs/os-specific/windows/pthread-w32/default.nix
+++ b/pkgs/os-specific/windows/pthread-w32/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, hostPlatform, buildPlatform }:
+{ fetchurl, stdenv, hostPlatform, buildPlatform, mingwrt }:
 
 # This file is tweaked for cross-compilation only.
 assert hostPlatform != buildPlatform;
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
                s/dlltool/i686-pc-mingw32-dlltool/g'
     '';
 
-  buildInputs = [ mingw_headers ];
+  buildInputs = [ mingwrt ];
 
   buildPhase = "make GC";        # to build the GNU C dll with C cleanup code
 
diff --git a/pkgs/os-specific/windows/w32api/common.nix b/pkgs/os-specific/windows/w32api/common.nix
deleted file mode 100644
index 273ae2c8df4..00000000000
--- a/pkgs/os-specific/windows/w32api/common.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ fetchurl, xz }:
-
-rec {
-  name = "w32api-3.17-2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
-    sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
-  };
-
-  nativeBuildInputs = [ xz ];
-
-  meta.platforms = [ lib.systems.inspect.isMinGW ];
-}
diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix
index 51b88201998..51d8dafd9c8 100644
--- a/pkgs/os-specific/windows/w32api/default.nix
+++ b/pkgs/os-specific/windows/w32api/default.nix
@@ -1,6 +1,14 @@
-{ stdenv, callPackage }:
+{ stdenv, fetchurl, xz, lib }:
+
+stdenv.mkDerivation rec {
+  name = "w32api-3.17-2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
+    sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
+  };
+
+  meta.platforms = [ lib.systems.inspect.isMinGW ];
 
-stdenv.mkDerivation {
-  inherit (callPackage ./common.nix {}) name src nativeBuildInputs meta;
   dontStrip = true;
 }
diff --git a/pkgs/os-specific/windows/w32api/headers.nix b/pkgs/os-specific/windows/w32api/headers.nix
deleted file mode 100644
index 3083118bb36..00000000000
--- a/pkgs/os-specific/windows/w32api/headers.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenvNoCC, callPackage }:
-
-let
-  inherit (callPackage ./common.nix {}) name src meta;
-
-in stdenvNoCC.mkDerivation {
-  name = name + "-headers";
-
-  inherit src nativeBuildInputs meta;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -R include $out
-  '';
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a4f9398dbb7..0febc2a632e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14569,50 +14569,7 @@ with pkgs;
 
   vndr = callPackage ../development/tools/vndr { };
 
-  windows = rec {
-    cygwinSetup = callPackage ../os-specific/windows/cygwin-setup { };
-
-    jom = callPackage ../os-specific/windows/jom { };
-
-    w32api = callPackage ../os-specific/windows/w32api { };
-
-    w32api_headers = callPackage ../os-specific/windows/w32api/headers { };
-
-    mingw_runtime = callPackage ../os-specific/windows/mingwrt { };
-
-    mingw_runtime_headers = callPackage ../os-specific/windows/mingwrt/headers.nix { };
-
-    mingw_headers1 = buildEnv {
-      name = "mingw-headers-1";
-      paths = [ w32api_headers mingw_runtime_headers ];
-    };
-
-    mingw_headers2 = buildEnv {
-      name = "mingw-headers-2";
-      paths = [ w32api mingw_runtime_headers ];
-    };
-
-    mingw_headers3 = buildEnv {
-      name = "mingw-headers-3";
-      paths = [ w32api mingw_runtime ];
-    };
-
-    mingw_w64 = callPackage ../os-specific/windows/mingw-w64 {
-      stdenv = crossLibcStdenv;
-    };
-
-    mingw_w64_headers = callPackage ../os-specific/windows/mingw-w64/headers.nix { };
-
-    mingw_w64_pthreads = callPackage ../os-specific/windows/mingw-w64/pthreads.nix { };
-
-    pthreads = callPackage ../os-specific/windows/pthread-w32 {
-      mingw_headers = mingw_headers3;
-    };
-
-    wxMSW = callPackage ../os-specific/windows/wxMSW-2.8 { };
-
-    libgnurx = callPackage ../os-specific/windows/libgnurx { };
-  };
+  windows = callPackages ../os-specific/windows {};
 
   wirelesstools = callPackage ../os-specific/linux/wireless-tools { };