summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-05-10 14:41:16 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-05-10 14:41:16 +0000
commit3bb2f92106bb199e148e061b81166816276ae25b (patch)
tree7470a957e84c48b04af7ec341f8ff85b7d14452b /pkgs
parent24594b0fb33c865d5fd1cc02cd0c9e692d14f8cd (diff)
parent50a51c7654558645588e97942e021cfb757b40f5 (diff)
downloadnixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar.gz
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar.bz2
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar.lz
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar.xz
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.tar.zst
nixlib-3bb2f92106bb199e148e061b81166816276ae25b.zip
* Final sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=34045
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/science/math/eukleides/default.nix2
-rw-r--r--pkgs/development/interpreters/guile/default.nix11
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/DSH/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-mpi/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/language-c/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.1.nix14
-rw-r--r--pkgs/development/libraries/pango/1.29.x.nix2
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.2.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix4
-rw-r--r--pkgs/top-level/all-packages.nix116
-rw-r--r--pkgs/top-level/haskell-packages.nix28
-rw-r--r--pkgs/top-level/release.nix28
17 files changed, 220 insertions, 81 deletions
diff --git a/pkgs/applications/science/math/eukleides/default.nix b/pkgs/applications/science/math/eukleides/default.nix
index d15bed8476e7..55ea4c6216c6 100644
--- a/pkgs/applications/science/math/eukleides/default.nix
+++ b/pkgs/applications/science/math/eukleides/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
       circles and conics.
     '';
 
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 19b9d26c7deb..127e49087d36 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
-, libffi, gawk, makeWrapper, coverageAnalysis ? null }:
+, libffi, gawk, makeWrapper, coverageAnalysis ? null, gnu ? null }:
 
 # Do either a coverage analysis build or a standard build.
 (if coverageAnalysis != null
@@ -48,6 +48,15 @@
 
   setupHook = ./setup-hook.sh;
 
+  crossAttrs.preConfigure =
+    stdenv.lib.optionalString (stdenv.cross.config == "i586-pc-gnu")
+       # On GNU, libgc depends on libpthread, but the cross linker doesn't
+       # know where to find libpthread, which leads to erroneous test failures
+       # in `configure', where `-pthread' and `-lpthread' aren't explicitly
+       # passed.  So it needs some help (XXX).
+       "export LDFLAGS=-Wl,-rpath-link=${gnu.libpthreadCross}/lib";
+
+
   meta = {
     description = "GNU Guile 2.0, an embeddable Scheme implementation";
 
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index deedbdfc751f..1ecb2f830826 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "SDL image library";
     homepage = http://www.libsdl.org/projects/SDL_image/;
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix
index 8f525b18df61..725fe95cc8d8 100644
--- a/pkgs/development/libraries/haskell/DSH/default.nix
+++ b/pkgs/development/libraries/haskell/DSH/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "DSH";
-  version = "0.7.8";
-  sha256 = "1mlym2hs7sr78lih8c0yi5y5h14vxy3zpl3gfnidh9wiw5cai9lg";
+  version = "0.7.8.1";
+  sha256 = "1yz8rh3hkqc465slfzi7jqhjd1xrmcghjxl7zprxw082p2qvj8g5";
   buildDepends = [
     convertible csv FerryCore HaXml HDBC json mtl Pathfinder syb text
     xhtml
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
index 761d6e9e3f04..64bc7feaf176 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "0r3js5i468lqlsnvb04iw6gdl81gs3cgqids3xpi4p5qpynbyc02";
   buildDepends = [ OpenGL ];
   extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.haskell.org/HOpenGL/";
     description = "A binding for the OpenGL Utility Toolkit";
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
new file mode 100644
index 000000000000..33e9c4d21a0a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
@@ -0,0 +1,15 @@
+{ cabal, libX11, mesa }:
+
+cabal.mkDerivation (self: {
+  pname = "OpenGL";
+  version = "2.2.3.1";
+  sha256 = "1vl5i1l76mjc0p18awdrvdcpszaz1z891505cqmn1xlld7ijb14z";
+  extraLibraries = [ libX11 mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/HOpenGL/";
+    description = "A binding for the OpenGL graphics system";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
new file mode 100644
index 000000000000..d717174902bc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -0,0 +1,17 @@
+{ cabal, filepath, languageC }:
+
+cabal.mkDerivation (self: {
+  pname = "c2hs";
+  version = "0.16.3";
+  sha256 = "1qqsxfdkf5sfj3mvk265dbng3br9w633y8v1piajqaidki7vwqm5";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath languageC ];
+  meta = {
+    homepage = "http://www.cse.unsw.edu.au/~chak/haskell/c2hs/";
+    description = "C->Haskell FFI tool that gives some cross-language type safety";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 7e77aa41f5e8..019ff16733bf 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.2.1";
-  sha256 = "0lhw38jqkiw7dwckwcqwmsi9br1insb5dp8wajcpgas6xn6cy2qy";
+  version = "1.2.2";
+  sha256 = "0qwx0y534fa5p2wzxd5q2bvcsvmmvmy45rwzj01g6zyjzmx2rnsb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ];
diff --git a/pkgs/development/libraries/haskell/haskell-mpi/default.nix b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
new file mode 100644
index 000000000000..add910b61936
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
@@ -0,0 +1,19 @@
+{ cabal, c2hs, cereal, extensibleExceptions, mpi }:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-mpi";
+  version = "1.2.1";
+  sha256 = "1d3xlwz3sx1m7iyf67cfr1vsp3w4iz9mmqvmvdiblj4569hxblr5";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cereal extensibleExceptions ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ mpi ];
+  meta = {
+    homepage = "http://github.com/bjpop/haskell-mpi";
+    description = "Distributed parallel programming in Haskell using MPI";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix
new file mode 100644
index 000000000000..5b638ea9dab4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-c/default.nix
@@ -0,0 +1,16 @@
+{ cabal, alex, filepath, happy, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "language-c";
+  version = "0.4.2";
+  sha256 = "07pf4v4n7kvr5inkhs24b7g55pmkk4k5ihi6s5dbc200l01wz133";
+  buildDepends = [ filepath syb ];
+  buildTools = [ alex happy ];
+  meta = {
+    homepage = "http://www.sivity.net/projects/language.c/";
+    description = "Analysis and generation of C code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
new file mode 100644
index 000000000000..f1c11b790bb1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "xhtml";
+  version = "3000.2.1";
+  sha256 = "17qzc6kyiilhi8s25k68fbpyplihb1qxkpc6l93bvjrcchilsf22";
+  meta = {
+    homepage = "https://github.com/haskell/xhtml";
+    description = "An XHTML combinator library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/pango/1.29.x.nix b/pkgs/development/libraries/pango/1.29.x.nix
index 4d6e5411e24c..6c5d0f4cebcc 100644
--- a/pkgs/development/libraries/pango/1.29.x.nix
+++ b/pkgs/development/libraries/pango/1.29.x.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/parsing/alex/3.0.2.nix b/pkgs/development/tools/parsing/alex/3.0.2.nix
new file mode 100644
index 000000000000..ec56c74db772
--- /dev/null
+++ b/pkgs/development/tools/parsing/alex/3.0.2.nix
@@ -0,0 +1,18 @@
+{ cabal, perl, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "alex";
+  version = "3.0.2";
+  sha256 = "0r1i10i9svnd0ayd229d8hgndgc6q8ghabw6zzghwviw5hs36zlr";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ QuickCheck ];
+  buildTools = [ perl ];
+  meta = {
+    homepage = "http://www.haskell.org/alex/";
+    description = "Alex is a tool for generating lexical analysers in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index 6624718501c9..9325b15a6c4b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -227,7 +227,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.0.24";
+    version = "3.0.31";
   
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
@@ -235,7 +235,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
-      sha256 = "0j783ivlgg66jvasxaapimyzaqyn61jlz4abhkynckr4h5hrpvw4";
+      sha256 = "1b5ix1fc55m6vsr28dh5xi89fphl3m3kmvaniq9div5rj8f6kv0f";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0ef1720ca7fc..ec9857aee3b5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2214,47 +2214,61 @@ let
   # So we enable it for selected versions only.
 
   # Helper functions to abstract away from repetitive instantiations.
-  haskellPackagesFun =
-    ghcPath : ghcBinary : prefFun : profExplicit : profDefault : modifyPrio :
+  haskellPackagesFun = makeOverridable
+   ({ ghcPath
+    , ghcBinary ? ghc6101Binary
+    , prefFun
+    , extraPrefs ? (x : {})
+    , profExplicit ? false, profDefault ? false
+    , modifyPrio ? lowPrio
+    } :
       import ./haskell-packages.nix {
-        inherit pkgs newScope modifyPrio prefFun;
+        inherit pkgs newScope modifyPrio;
+        prefFun = self : super : prefFun self super // extraPrefs super;
         enableLibraryProfiling =
           if profExplicit then profDefault
                           else getConfig [ "cabal" "libraryProfiling" ] profDefault;
         ghc = callPackage ghcPath { ghc = ghcBinary; };
-      };
+      });
 
   # Currently active GHC versions.
   haskellPackages_ghc6104 =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/6.10.4.nix
-        ghc6101Binary (x : x.ghc6104Prefs) false false lowPrio);
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/6.10.4.nix;
+                            prefFun = x : x.ghc6104Prefs;
+                          });
 
   haskellPackages_ghc6121 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.1.nix
-      ghc6101Binary (x : x.ghc6121Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath =  ../development/compilers/ghc/6.12.1.nix;
+                         prefFun = x : x.ghc6121Prefs;
+                       };
 
   haskellPackages_ghc6122 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.2.nix
-      ghc6101Binary (x : x.ghc6122Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/6.12.2.nix;
+                         prefFun = x : x.ghc6122Prefs;
+                       };
 
   haskellPackages_ghc6123 =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/6.12.3.nix
-        ghc6101Binary (x : x.ghc6123Prefs) false false lowPrio);
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/6.12.3.nix;
+                            prefFun = x : x.ghc6123Prefs;
+                          });
 
   # Will never make it into a platform release, severe bugs; leave at lowPrio.
   haskellPackages_ghc701 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.1.nix
-      ghc6101Binary (x : x.ghc701Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.1.nix;
+                         prefFun = x : x.ghc701Prefs;
+                       };
 
   haskellPackages_ghc702 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.2.nix
-      ghc6101Binary (x : x.ghc702Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.2.nix;
+                         prefFun = x : x.ghc702Prefs;
+                       };
 
   haskellPackages_ghc703 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.3.nix
-      ghc6101Binary (x : x.ghc703Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.3.nix;
+                         prefFun = x : x.ghc703Prefs;
+                       };
 
   # Current default version: 7.0.4.
   #
@@ -2281,53 +2295,65 @@ let
 
   haskellPackages_ghc704_no_profiling =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/7.0.4.nix
-        (if stdenv.isDarwin then ghc704Binary else ghc6101Binary)
-        (x : x.ghc704Prefs) true false
-        (haskellDefaultVersionPrioFun false));
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.4.nix;
+                            ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
+                            prefFun = x : x.ghc704Prefs;
+                            profExplicit = true;
+                            modifyPrio = haskellDefaultVersionPrioFun false;
+                          });
 
   haskellPackages_ghc704_profiling =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/7.0.4.nix
-        (if stdenv.isDarwin then ghc704Binary else ghc6101Binary)
-        (x : x.ghc704Prefs) true true
-        (haskellDefaultVersionPrioFun true));
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.4.nix;
+                            ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
+                            prefFun = x : x.ghc704Prefs;
+                            profExplicit = true;
+                            profDefault = true;
+                            modifyPrio = haskellDefaultVersionPrioFun true;
+                          });
 
   haskellPackages_ghc704 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.4.nix
-      (if stdenv.isDarwin then ghc704Binary else ghc6101Binary)
-      (x : x.ghc704Prefs) false false (x : x);
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.0.4.nix;
+                         ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
+                         prefFun = x : x.ghc704Prefs;
+                         modifyPrio = x : x;
+                       };
 
   haskellPackages_ghc721 =
-    haskellPackagesFun ../development/compilers/ghc/7.2.1.nix
-      (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
-      (x : x.ghc721Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.2.1.nix;
+                         ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
+                         prefFun = x : x.ghc721Prefs;
+                       };
 
   haskellPackages_ghc722 =
-    haskellPackagesFun ../development/compilers/ghc/7.2.2.nix
-      (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
-      (x : x.ghc722Prefs) false false lowPrio;
+    haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.2.2.nix;
+                         ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
+                         prefFun = x : x.ghc722Prefs;
+                       };
 
   haskellPackages_ghc741 =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/7.4.1.nix
-        (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
-        (x : x.ghc741Prefs) false false lowPrio);
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.4.1.nix;
+                            ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
+                            prefFun = x : x.ghc741Prefs;
+                          });
 
   # Stable branch snapshot.
   haskellPackages_ghc742 =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/7.4.2.nix
-        (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
-        (x : x.ghcHEADPrefs) false false lowPrio);
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/7.4.2.nix;
+                            ghcBinary = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
+                            prefFun = x : x.ghcHEADPrefs;
+                          });
 
   # Reasonably current HEAD snapshot. Should *always* be lowPrio.
   haskellPackages_ghcHEAD =
     recurseIntoAttrs
-      (haskellPackagesFun ../development/compilers/ghc/head.nix
-        # (haskellPackages_ghc704.ghcWithPackages (self : [ self.alex self.happy ]))
-        ghc704Binary
-        (x : x.ghcHEADPrefs) false false lowPrio);
+      (haskellPackagesFun { ghcPath = ../development/compilers/ghc/head.nix;
+                            ghcBinary = # (haskellPackages_ghc704.ghcWithPackages (self : [ self.alex self.happy ]))
+                                        ghc704Binary;
+                            prefFun = x : x.ghcHEADPrefs;
+                          });
 
   haxeDist = import ../development/compilers/haxe {
     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 020814f6e1ae..5b899ab51508 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -132,30 +132,33 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   # NOTE: 2011.4.0.0 is the current default.
 
+  # These are currently set to versions that will likely be in
+  # the next platform release (May 2012). Please update with
+  # care.
   haskellPlatformArgs_future = self : {
     inherit (self) cabal ghc;
     cgi          = self.cgi_3001_1_7_4;         # 7.4.1 ok
     fgl          = self.fgl_5_4_2_4;            # 7.4.1 ok
-    GLUT         = self.GLUT_2_3_0_0;           # 7.4.1 ok
+    GLUT         = self.GLUT_2_1_2_1;           # 7.4.1 ok
     haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.4.1 ok
     html         = self.html_1_0_1_2;           # 7.4.1 ok
     HUnit        = self.HUnit_1_2_4_2;          # 7.4.1 ok
     network      = self.network_2_3_0_13;       # 7.4.1 ok
-    OpenGL       = self.OpenGL_2_5_0_0;         # 7.4.1 ok
+    OpenGL       = self.OpenGL_2_2_3_1;         # 7.4.1 ok
     parallel     = self.parallel_3_2_0_2;       # 7.4.1 ok
     parsec       = self.parsec_3_1_2;           # 7.4.1 ok
     QuickCheck   = self.QuickCheck_2_4_2;       # 7.4.1 ok
     regexBase    = self.regexBase_0_93_2;       # 7.4.1 ok
     regexCompat  = self.regexCompat_0_95_1;     # 7.4.1 ok
     regexPosix   = self.regexPosix_0_95_1;      # 7.4.1 ok
-    stm          = self.stm_2_3;		# 7.4.1 ok
+    stm          = self.stm_2_3;                # 7.4.1 ok
     syb          = self.syb_0_3_6_1;            # 7.4.1 ok
     xhtml        = self.xhtml_3000_2_0_5;       # 7.4.1 ok
     zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
     HTTP         = self.HTTP_4000_2_3;          # 7.4.1 ok
     text         = self.text_0_11_2_0;          # 7.4.1 ok
-    transformers = self.transformers_0_2_2_0;   # 7.4.1 ok
-    mtl          = self.mtl_2_0_1_0;            # 7.4.1 ok
+    transformers = self.transformers_0_3_0_0;   # 7.4.1 ok
+    mtl          = self.mtl_2_1_1;              # 7.4.1 ok
     random       = self.random_1_0_1_1;         # 7.4.1 ok
     cabalInstall = self.cabalInstall_0_14_0;    # 7.4.1 ok
     alex         = self.alex_3_0_1;             # 7.4.1 ok
@@ -526,6 +529,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {};
 
+  c2hs = callPackage ../development/libraries/haskell/c2hs {};
+
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
@@ -814,6 +819,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   haskellLexer = callPackage ../development/libraries/haskell/haskell-lexer {};
 
+  haskellMpi = callPackage ../development/libraries/haskell/haskell-mpi {
+    mpi = pkgs.openmpi;
+  };
+
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
   haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
   haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
@@ -969,6 +978,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {};
 
+  languageC = callPackage ../development/libraries/haskell/language-c {};
+
   languageJavascript = callPackage ../development/libraries/haskell/language-javascript {};
 
   languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {};
@@ -1086,6 +1097,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {};
   OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {};
+  OpenGL_2_2_3_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.1.nix {};
   OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
   OpenGL_2_5_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.5.0.0.nix {};
   OpenGL24 = self.OpenGL_2_4_0_2;
@@ -1511,7 +1523,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   xhtml_3000_2_0_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.1.nix {};
   xhtml_3000_2_0_4 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.4.nix {};
   xhtml_3000_2_0_5 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.5.nix {};
-  xhtml = self.xhtml_3000_2_0_5;
+  xhtml_3000_2_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.1.nix {};
+  xhtml = self.xhtml_3000_2_1;
 
   xml = callPackage ../development/libraries/haskell/xml {};
 
@@ -1594,7 +1607,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   alex_2_3_3 = callPackage ../development/tools/parsing/alex/2.3.3.nix {};
   alex_2_3_5 = callPackage ../development/tools/parsing/alex/2.3.5.nix {};
   alex_3_0_1 = callPackage ../development/tools/parsing/alex/3.0.1.nix {};
-  alex = self.alex_3_0_1;
+  alex_3_0_2 = callPackage ../development/tools/parsing/alex/3.0.2.nix {};
+  alex = self.alex_3_0_2;
 
   alexMeta = callPackage ../development/tools/haskell/alex-meta {};
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 6172e57b73f9..3eda6a98d928 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -94,7 +94,7 @@ with (import ./release-lib.nix);
   fuse = linux;
   gajim = linux;
   gawk = all;
-  gcc = all;
+  gcc = linux;
   gcc33 = linux;
   gcc34 = linux;
   gcc41 = linux;
@@ -183,7 +183,7 @@ with (import ./release-lib.nix);
   man = linux;
   manpages = linux;
   maxima = linux;
-  mc = all;
+  mc = linux;
   mcabber = linux;
   mcron = linux;
   mdadm = linux;
@@ -241,12 +241,12 @@ with (import ./release-lib.nix);
   ppl = all;
   procps = linux;
   pwdutils = linux;
-  pthreadmanpages = all;
+  pthreadmanpages = linux;
   pygtk = linux;
   pyqt4 = linux;
   python = allBut "i686-cygwin";
   pythonFull = linux;
-  sbcl = all;
+  sbcl = linux;
   qt3 = linux;
   quake3demo = linux;
   readline = all;
@@ -257,7 +257,7 @@ with (import ./release-lib.nix);
   rsync = linux;
   rubber = allBut "i686-cygwin";
   ruby = all;
-  rxvt_unicode = all;
+  rxvt_unicode = linux;
   samba = linux;
   screen = linux ++ darwin;
   scrot = linux;
@@ -267,7 +267,7 @@ with (import ./release-lib.nix);
   sharutils = all;
   slim = linux;
   sloccount = allBut "i686-cygwin";
-  smartmontools = all;
+  smartmontools = linux;
   socat = linux;
   spidermonkey = linux;
   splashutils = linux;
@@ -410,23 +410,13 @@ with (import ./release-lib.nix);
   */
 
   strategoPackages = {
-    sdf = all;
-    strategoxt = all;
-    javafront = all;
+    sdf = linux;
+    strategoxt = linux;
+    javafront = linux;
     strategoShell = linux ++ darwin;
     dryad = linux;
   };
 
-  strategoPackages018 = {
-    sdfStatic = all;
-    sdf = all;
-    strategoxt = all;
-    javafront = all;
-    aspectjfront = all;
-    strategoShell = all;
-    dryad = linux;
-  };
-
   pythonPackages = {
     zfec = linux;
   };