about summary refs log tree commit diff
path: root/pkgs/os-specific/windows
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-02-06 23:03:12 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-02-06 23:03:12 +0000
commit215a07c1a9d6d208c1ba0037eccaaba7de9d6b68 (patch)
treef31e835b16c30957eb4ae3710cbfa922e8a64fbd /pkgs/os-specific/windows
parentb31c67e24d56c90a6732d3a310ff13684b73e200 (diff)
parent4e3dcd925499547314567107366cae26a99c4ef7 (diff)
svn merge ^/nixpkgs/trunk
Merge conflicts:
* unzip (almost trivial)
* dvswitch (trivial)
* gmp (copied result of `git merge`)

The last item introduced gmp-5.0.3, thus full rebuild.
+ensureDir->mkdir -p in TeX packages was catched by git but not svn.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32091
Diffstat (limited to 'pkgs/os-specific/windows')
-rw-r--r--pkgs/os-specific/windows/mingwrt/default.nix6
-rw-r--r--pkgs/os-specific/windows/pthread-w32/default.nix53
-rw-r--r--pkgs/os-specific/windows/w32api/default.nix13
3 files changed, 64 insertions, 8 deletions
diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix
index 434c439cd78ee..286c63d01637f 100644
--- a/pkgs/os-specific/windows/mingwrt/default.nix
+++ b/pkgs/os-specific/windows/mingwrt/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}:
 
 let
-  name = "mingwrt-3.18";
+  name = "mingwrt-3.20";
 in
 stdenv.mkDerivation (rec {
   inherit name;
 
   src = fetchurl {
-    url = "mirror://sourceforge/mingw/${name}-mingw32-src.tar.gz";
-    sha256 = "0hmxgkxnf6an70g07gmyik46sw1qm204izh6sp923szddvypjjfy";
+    url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
+    sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
   };
 
 } //
diff --git a/pkgs/os-specific/windows/pthread-w32/default.nix b/pkgs/os-specific/windows/pthread-w32/default.nix
new file mode 100644
index 0000000000000..39afd119643b9
--- /dev/null
+++ b/pkgs/os-specific/windows/pthread-w32/default.nix
@@ -0,0 +1,53 @@
+{ fetchurl, stdenv, mingw_headers }:
+
+# This file is tweaked for cross-compilation only.
+assert stdenv ? cross;
+
+stdenv.mkDerivation {
+  name = "pthread-w32-1.10.0";
+
+  src = fetchurl {
+    url = "ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-1-10-0-release.tar.gz";
+    sha256 = "1vllxxfa9a7mssb1x98a2r736vsv5ll3sjizbr7a8hw8j9p18j7n";
+  };
+
+  configurePhase =
+    '' sed -i GNUmakefile \
+           -e 's/CC=gcc/CC=i686-pc-mingw32-gcc/g ;
+               s/windres/i686-pc-mingw32-windres/g ;
+               s/dlltool/i686-pc-mingw32-dlltool/g'
+    '';
+
+  buildInputs = [ mingw_headers ];
+
+  buildPhase = "make GC";        # to build the GNU C dll with C cleanup code
+
+  installPhase =
+    '' mkdir -p "$out" "$out/include" "$out/lib"
+       cp -v *pthread*{dll,a} "$out/lib"
+       cp -v pthread.h semaphore.h sched.h "$out/include"
+    '';
+
+  meta = {
+    description = "POSIX threads for Woe32";
+
+    longDescription =
+      '' The POSIX 1003.1-2001 standard defines an application programming
+         interface (API) for writing multithreaded applications.  This
+         interface is known more commonly as pthreads.  A good number of
+         modern operating systems include a threading library of some kind:
+         Solaris (UI) threads, Win32 threads, DCE threads, DECthreads, or any
+         of the draft revisions of the pthreads standard.  The trend is that
+         most of these systems are slowly adopting the pthreads standard API,
+         with application developers following suit to reduce porting woes.
+
+         Woe32 does not, and is unlikely to ever, support pthreads natively.
+         This project seeks to provide a freely available and high-quality
+         solution to this problem.
+      '';
+
+    homepage = http://sourceware.org/pthreads-win32/;
+
+    license = "LGPLv2.1+";
+  };
+}
diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix
index 56ab80c72355c..a4f4245125d90 100644
--- a/pkgs/os-specific/windows/w32api/default.nix
+++ b/pkgs/os-specific/windows/w32api/default.nix
@@ -1,16 +1,19 @@
-{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}:
+{ stdenv, fetchurl, xz, binutilsCross ? null
+, gccCross ? null, onlyHeaders ? false }:
 
 let
-  name = "w32api-3.14";
+  name = "w32api-3.17-2";
 in
 stdenv.mkDerivation ({
   inherit name;
- 
+
   src = fetchurl {
-    url = "mirror://sourceforge/mingw/${name}-mingw32-src.tar.gz";
-    sha256 = "128ax8a4dlspxsi5fi7bi1aslppqx3kczr1ibzj1z1az48bvwp21";
+    url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
+    sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
   };
 
+  buildNativeInputs = [ xz ];
+
 } //
 (if onlyHeaders then {
   name = name + "-headers";