summaryrefslogtreecommitdiffstats
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 434c439cd78e..286c63d01637 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 000000000000..39afd119643b
--- /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 56ab80c72355..a4f4245125d9 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";