summary refs log tree commit diff
path: root/pkgs/os-specific/windows
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/windows')
-rw-r--r--pkgs/os-specific/windows/mingw-w64/common.nix11
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix38
-rw-r--r--pkgs/os-specific/windows/mingw-w64/headers.nix13
-rw-r--r--pkgs/os-specific/windows/mingw-w64/pthreads.nix13
4 files changed, 41 insertions, 34 deletions
diff --git a/pkgs/os-specific/windows/mingw-w64/common.nix b/pkgs/os-specific/windows/mingw-w64/common.nix
new file mode 100644
index 00000000000..ece2586dc80
--- /dev/null
+++ b/pkgs/os-specific/windows/mingw-w64/common.nix
@@ -0,0 +1,11 @@
+{ fetchurl }:
+
+rec {
+  version = "4.0.6";
+  name = "mingw-w64-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
+    sha256 = "0p01vm5kx1ixc08402z94g1alip4vx66gjpvyi9maqyqn2a76h0c";
+  };
+}
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 49612b0b461..697e0353182 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -1,36 +1,6 @@
-{ stdenv, fetchurl, binutils ? null, gccCross ? null
-, onlyHeaders ? false
-, onlyPthreads ? false
-}:
-
-let
-  version = "4.0.6";
-  name = "mingw-w64-${version}";
-in
-stdenv.mkDerivation ({
-  inherit name;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
-    sha256 = "0p01vm5kx1ixc08402z94g1alip4vx66gjpvyi9maqyqn2a76h0c";
-  };
-} //
-(if onlyHeaders then {
-  name = name + "-headers";
-  preConfigure = ''
-    cd mingw-w64-headers
-  '';
-  configureFlags = "--without-crt";
-} else if onlyPthreads then {
-  name = name + "-pthreads";
-  preConfigure = ''
-    cd mingw-w64-libraries/winpthreads
-  '';
-} else {
-  buildInputs = [ gccCross binutils ];
-
-  crossConfig = gccCross.crossConfig;
+{ stdenv, callPackage }:
 
+stdenv.mkDerivation {
+  inherit (callPackage ./common.nix {}) name src;
   dontStrip = true;
-})
-)
+}
diff --git a/pkgs/os-specific/windows/mingw-w64/headers.nix b/pkgs/os-specific/windows/mingw-w64/headers.nix
new file mode 100644
index 00000000000..03dbf712e2e
--- /dev/null
+++ b/pkgs/os-specific/windows/mingw-w64/headers.nix
@@ -0,0 +1,13 @@
+{ stdenvNoCC, callPackage }:
+
+let
+  inherit (callPackage ./common.nix {}) name src;
+
+in stdenvNoCC.mkDerivation {
+  name = name + "-headers";
+  inherit src;
+
+  preConfigure = ''
+    cd mingw-w64-headers
+  '';
+}
diff --git a/pkgs/os-specific/windows/mingw-w64/pthreads.nix b/pkgs/os-specific/windows/mingw-w64/pthreads.nix
new file mode 100644
index 00000000000..c585ab54ff8
--- /dev/null
+++ b/pkgs/os-specific/windows/mingw-w64/pthreads.nix
@@ -0,0 +1,13 @@
+{ stdenvNoCC, callPackage }:
+
+let
+  inherit (callPackage ./common.nix {}) name src;
+
+in stdenvNoCC.mkDerivation {
+  name = name + "-pthreads";
+  inherit src;
+
+  preConfigure = ''
+    cd mingw-w64-libraries/winpthreads
+  '';
+}