summary refs log tree commit diff
path: root/pkgs/os-specific/windows
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2017-06-19 11:51:01 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-06-22 17:53:51 -0400
commitbb7067f882bf3c53ea68780a8ec0a7117f563253 (patch)
tree02be64697b37a74b462fc977a86737119d15a780 /pkgs/os-specific/windows
parentc2e2152afc513fa4eda51b96dc5c7f349c3497da (diff)
downloadnixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar.gz
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar.bz2
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar.lz
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar.xz
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.tar.zst
nixpkgs-bb7067f882bf3c53ea68780a8ec0a7117f563253.zip
mingw-w64: Clean up, especially clarifying staging
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
+  '';
+}