about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-25 22:45:32 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-25 22:45:32 +0000
commit5a2284ac61be1c2e838bf8263be6aa91417edff2 (patch)
tree88d1bca617789ac0ff96c0b48b2858c06d842a06
parentd1a57e454ead43987aefa8ff39dae5d5f5d038e8 (diff)
parentf7454eae9cc9255883dd5afb6beb945fb49737f2 (diff)
downloadnixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar.gz
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar.bz2
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar.lz
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar.xz
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.tar.zst
nixlib-5a2284ac61be1c2e838bf8263be6aa91417edff2.zip
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15313
-rw-r--r--VERSION2
-rw-r--r--doc/release-notes.xml68
-rwxr-xr-xmaintainers/scripts/copy-tarballs.sh57
-rwxr-xr-xmaintainers/scripts/evacuate-urls.sh83
-rw-r--r--pkgs/applications/editors/zile/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/default.nix9
-rw-r--r--pkgs/applications/version-management/tailor/0.9.31.nix19
-rw-r--r--pkgs/applications/version-management/tailor/default.nix (renamed from pkgs/applications/version-management/tailor/0.9.35.nix)3
-rwxr-xr-xpkgs/development/compilers/ghc/ghc-get-packages.sh21
-rw-r--r--pkgs/development/compilers/ghc/wrapper.nix21
-rw-r--r--pkgs/development/libraries/acl/default.nix3
-rw-r--r--pkgs/development/libraries/freeimage/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/SDL-image/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/SDL-mixer/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/SDL-ttf/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/SDL/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix12
-rw-r--r--pkgs/development/libraries/haskell/dataenc/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/readline/default.nix5
-rw-r--r--pkgs/development/libraries/vxl/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/default.nix4
-rw-r--r--pkgs/os-specific/linux/upstart/default.nix10
-rw-r--r--pkgs/tools/archivers/cromfs/default.nix4
-rw-r--r--pkgs/tools/misc/time/default.nix21
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix36
-rw-r--r--pkgs/top-level/release.nix7
30 files changed, 340 insertions, 142 deletions
diff --git a/VERSION b/VERSION
index f2bb2d0a27c0..c2bdb5632d21 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.12
\ No newline at end of file
+0.13
\ No newline at end of file
diff --git a/doc/release-notes.xml b/doc/release-notes.xml
index b68ac515b306..eb870da3a0e3 100644
--- a/doc/release-notes.xml
+++ b/doc/release-notes.xml
@@ -5,14 +5,34 @@
 <title>Nixpkgs Release Notes</title>
 
 
-<section><title>Release 0.12 (TBA)</title>
+<section><title>Release 0.12 (April 24, 2009)</title>
 
-<para>This release has the following improvements:
+<para>There are way too many additions to Nixpkgs since the last
+release to list here: for example, the number of packages on Linux has
+increased from 1002 to 2159.  However, some specific improvements are
+worth listing:
 
 <itemizedlist>
 
-  <listitem><para>TODO: simplified and expanded stdenv hook
-  handling.</para></listitem>
+  <listitem><para>Nixpkgs now has a manual.  In particular, it
+  describes the standard build environment in
+  detail.</para></listitem>
+
+  <listitem><para>Major new packages:
+
+    <itemizedlist>
+
+      <listitem><para>KDE 4.</para></listitem>
+
+      <listitem><para>TeXLive.</para></listitem>
+
+      <listitem><para>VirtualBox.</para></listitem>
+
+    </itemizedlist>
+
+    … and many others.
+
+  </para></listitem>
 
   <listitem><para>Important updates:
 
@@ -22,16 +42,54 @@
       
       <listitem><para>GCC 4.2.4.</para></listitem>
 
-      <listitem><para>Linux 2.6.25.</para></listitem>
+      <listitem><para>Linux 2.6.25 — 2.6.28.</para></listitem>
+
+      <listitem><para>Firefox 3.</para></listitem>
+
+      <listitem><para>X.org 7.3.</para></listitem>
 
     </itemizedlist>
 
   </para></listitem>
 
+  <listitem><para>Support for building derivations in a virtual
+  machine, including RPM and Debian builds in automatically generated
+  VM images.  See
+  <filename>pkgs/build-support/vm.default.nix</filename> for
+  details.</para></listitem>
+
+  <listitem><para>Improved support for building Haskell
+  packages.</para></listitem>
+  
 </itemizedlist>
 
 </para>
 
+<para>The following people contributed to this release:
+
+Andres Löh,
+Arie Middelkoop,
+Armijn Hemel,
+Eelco Dolstra,
+Lluís Batlle,
+Ludovic Courtès,
+Marc Weber,
+Mart Kolthof,
+Martin Bravenboer,
+Michael Raskin,
+Nicolas Pierron,
+Peter Simons,
+Pjotr Prins,
+Rob Vermaas,
+Sander van der Burg,
+Tobias Hammerschmidt,
+Valentin David,
+Wouter den Breejen and
+Yury G. Kudryashov.
+
+In addition, several people contributed patches on the
+<literal>nix-dev</literal> mailing list.</para>
+
 </section>
   
 
diff --git a/maintainers/scripts/copy-tarballs.sh b/maintainers/scripts/copy-tarballs.sh
new file mode 100755
index 000000000000..76ced8a01d90
--- /dev/null
+++ b/maintainers/scripts/copy-tarballs.sh
@@ -0,0 +1,57 @@
+#! /bin/sh -e
+
+distDir=/data/webserver/tarballs
+
+urls=$(nix-instantiate --eval-only --xml --strict pkgs/top-level/build-for-release.nix \
+    | grep -A2 'name="urls"' \
+    | grep '<string value=' \
+    | sed 's/.*"\(.*\)".*/\1/' \
+    | sort | uniq)
+
+for url in $urls; do
+    
+    if echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then continue; fi
+
+    base="$(basename "$url")"
+    newPath="$distDir/$base"
+
+    if ! test -e "$newPath"; then
+
+        #if echo $url | grep -q 'mirror://'; then
+        #   echo "$fn: skipping mirrored $url"
+        #   continue
+        #fi
+
+        echo "downloading $url to $newPath"
+
+        if test -n "$doCopy"; then
+            declare -a res
+            if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
+                continue
+            fi
+            storePath=${res[1]}
+            cp $storePath "$newPath.tmp.$$"
+            mv -f "$newPath.tmp.$$" "$newPath"
+        fi
+        
+    fi
+
+    if test -n "$doCopy" -a -e "$newPath"; then
+
+        echo "hashing $newPath"
+
+        md5=$(nix-hash --flat --type md5 "$newPath")
+        ln -sfn "../$base" $distDir/md5/$md5
+
+        sha1=$(nix-hash --flat --type sha1 "$newPath")
+        ln -sfn "../$base" $distDir/sha1/$sha1
+
+        sha256=$(nix-hash --flat --type sha256 "$newPath")
+        ln -sfn "../$base" $distDir/sha256/$sha256
+        ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
+
+    fi
+
+done
+
+echo DONE
diff --git a/maintainers/scripts/evacuate-urls.sh b/maintainers/scripts/evacuate-urls.sh
deleted file mode 100755
index 21c346e607cf..000000000000
--- a/maintainers/scripts/evacuate-urls.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /bin/sh -e
-
-distDir=/data/webserver/dist/tarballs
-
-find "$1" -name "*.nix" | while read fn; do
-
-    grep -E '^ *url = ' "$fn" | while read line; do
-
-        if url=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
-
-            if ! echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then
-                base="$(basename "$url")"
-                newPath="$distDir/$base"
-
-		if test -e "$newPath"; then
-
-		    #echo "$fn: checking hash of existing $newPath"
-		    hash=$(fgrep -A 1 "$url" "$fn" | grep md5 | sed 's^.*md5 = \"\(.*\)\";.*^\1^')
-		    hashType=md5
-		    if test -z "$hash"; then
-			hash=$(fgrep -A 1 "$url" "$fn" | grep sha256 | sed 's^.*sha256 = \"\(.*\)\";.*^\1^')
-			hashType="sha256 --base32"
-			if test -n "$hash"; then
-			    if test "${#hash}" = 64; then
-				hash=$(nix-hash --to-base32 --type sha256 $hash)
-			    fi
-			else
-			    hash=$(fgrep -A 1 "$url" "$fn" | grep sha1 | sed 's^.*sha1 = \"\(.*\)\";.*^\1^')
-			    hashType="sha1"
-			    if test -z "$hash"; then
-				echo "WARNING: $fn: cannot figure out the hash for $url"
-				continue
-			    fi
-			fi
-		    fi
-		    #echo "HASH = $hash"
-		    if ! test "$(nix-hash --type $hashType --flat "$newPath")" = "$hash"; then
-			echo "WARNING: $fn: $newPath exists and differs, hash should be $hash!"
-			continue
-		    fi
-
-		else
-
-		    if echo $url | grep -q 'mirror://'; then
-			#echo "$fn: skipping mirrored $url"
-			continue
-		    fi
-
-		    echo "$fn: $url -> $newPath"
-
-		    if test -n "$doCopy"; then
-			if ! curl --disable-epsv --fail --location --max-redirs 20 --remote-time \
-			    "$url" --output "$newPath".tmp; then
-			    continue
-			fi
-		        mv -f "$newPath".tmp "$newPath"
-		    fi
-
-		fi
-
-		if test -n "$doCopy" -a -e "$newPath"; then
-
-		    md5=$(nix-hash --flat --type md5 "$newPath")
-		    ln -sfn "../$base" $distDir/md5/$md5
-
-		    sha1=$(nix-hash --flat --type sha1 "$newPath")
-		    ln -sfn "../$base" $distDir/sha1/$sha1
-
-		    sha256=$(nix-hash --flat --type sha256 "$newPath")
-		    ln -sfn "../$base" $distDir/sha256/$sha256
-		    ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
-
-		fi
-
-            fi
-            
-        fi
-    
-    done
-
-done
-
-echo DONE
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index a968f7fa498f..0b9c1cec4501 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, ncurses, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.3.6";
+  name = "zile-2.3.7";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "0p5jij6fknj88ipk4fqw6wpr0ib1b4ycal0psjglf5jyrmzln9jm";
+    sha256 = "04fiqy4nwhm42pdl839av7xgmpps9wfm4srpmhgwaydvjv79dgs1";
   };
 
   buildInputs = [ ncurses help2man ];
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 562fd3a91f9f..9546c43454bd 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -32,7 +32,7 @@ rec {
   qgit = import ./qgit {
     inherit fetchurl stdenv;
     inherit (xlibs) libXext libX11;
-    qt = qt3;
+    qt = qt4;
   };
 
   qgitGit = import ./qgit/qgit-git.nix {
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index e84f447f505f..8b53d2f5b779 100644
--- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, qt, libXext, libX11}:
 
 stdenv.mkDerivation rec {
-  name = "qgit-1.5.8";
+  name = "qgit-2.2";
   meta =
   {
     license = "GPLv2";
@@ -11,8 +11,11 @@ stdenv.mkDerivation rec {
   src = fetchurl
   {
     url = "mirror://sourceforge/qgit/${name}.tar.bz2";
-    sha256 = "0qmgd1cjny5aciljpvn2bczgdvlpgd2f7wzafda24zj4mzqnppsq";
+    sha256 = "82adcc59b2a9d3a3e54eef9e6a76ac6583e459b6f5c97050d26b0593d11c3d32";
   };
   buildInputs = [qt libXext libX11];
-  configureFlags = "CXXFLAGS=-O3";
+  configurePhase = "qmake PREFIX=$out";
+  installPhase = ''
+    install -s -D -m 755 bin/qgit "$out/bin/qgit"
+  '';
 }
diff --git a/pkgs/applications/version-management/tailor/0.9.31.nix b/pkgs/applications/version-management/tailor/0.9.31.nix
deleted file mode 100644
index bd4dced82657..000000000000
--- a/pkgs/applications/version-management/tailor/0.9.31.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-args : with args; 
-rec {
-  src = fetchurl {
-    url = http://darcs.arstecnica.it/tailor-0.9.31.tar.gz;
-    sha256 = "1apzd6mfmhgmxffzgzwsr17gnyqj6bycn783l9105cihsfcv9v3j";
-  };
-
-  buildInputs = [python makeWrapper];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["installPythonPackage" "wrapBinContentsPython"];
-      
-  name = "tailor-" + version;
-  meta = {
-    description = "Version control tools integration tool";
-  };
-}
- 
diff --git a/pkgs/applications/version-management/tailor/0.9.35.nix b/pkgs/applications/version-management/tailor/default.nix
index 78486ec4fa0d..67567679b903 100644
--- a/pkgs/applications/version-management/tailor/0.9.35.nix
+++ b/pkgs/applications/version-management/tailor/default.nix
@@ -1,7 +1,8 @@
 args : with args; 
+let version = if args ? version then args.version else "0.9.35"; in
 rec {
   src = fetchurl {
-    url = http://darcs.arstecnica.it/tailor-0.9.35.tar.gz;
+    url = "http://darcs.arstecnica.it/tailor-${version}.tar.gz";
     sha256 = "061acapxxn5ab3ipb5nd3nm8pk2xj67bi83jrfd6lqq3273fmdjh";
   };
 
diff --git a/pkgs/development/compilers/ghc/ghc-get-packages.sh b/pkgs/development/compilers/ghc/ghc-get-packages.sh
new file mode 100755
index 000000000000..4593ead17d31
--- /dev/null
+++ b/pkgs/development/compilers/ghc/ghc-get-packages.sh
@@ -0,0 +1,21 @@
+#! /bin/sh
+# Usage:
+#  $1: version of GHC
+#  $2: invocation path of GHC
+#  $3: prefix
+version="$1"
+if test -z "$3"; then
+  prefix="-package-conf "
+else
+  prefix="$3"
+fi
+PATH="$2:$PATH"
+IFS=":"
+PKGS=""
+for p in $PATH; do
+  PkgDir="$p/../lib/ghc-pkgs/ghc-$version"
+  for i in $PkgDir/*.installedconf; do
+    test -f $i && PKGS="$PKGS $prefix$i"
+  done
+done
+echo $PKGS
diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix
index 932cf6343018..5cacfdf8f894 100644
--- a/pkgs/development/compilers/ghc/wrapper.nix
+++ b/pkgs/development/compilers/ghc/wrapper.nix
@@ -1,14 +1,27 @@
-{stdenv, ghc}:
+{stdenv, ghc, makeWrapper}:
 
 stdenv.mkDerivation {
-  name = "ghc-wrapper-${ghc.version}";
+  name = "ghc-${ghc.version}-wrapper";
 
+  buildInputs = [makeWrapper];
   propagatedBuildInputs = [ghc];
 
   unpackPhase = "true";
-  installPhase = "true";
+  installPhase = ''
+    ensureDir $out/bin
+    cp $GHCGetPackages $out/bin/ghc-get-packages.sh
+    chmod 755 $out/bin/ghc-get-packages.sh
+    for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version} runghc runhaskell; do
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\")"
+    done
+    for prg in ghc-pkg ghc-pkg-${ghc.version}; do
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" --package-conf=)"
+    done
+    ensureDir $out/nix-support
+    ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+  ''; 
   
-  setupHook = ./setup-hook.sh;
+  GHCGetPackages = ./ghc-get-packages.sh;
 
   inherit ghc;
   ghcVersion = ghc.version;
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 698429c0a881..06dd8cb2fb97 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -4,8 +4,7 @@ stdenv.mkDerivation {
   name = "acl-2.2.47";
 
   src = fetchurl {
-    # The SGI site throws away old versions, so don't use it.
-    url = mirror://gentoo/distfiles/acl_2.2.47-1.tar.gz;
+    url = http://nixos.org/tarballs/acl_2.2.47-1.tar.gz;
     sha256 = "1j39g62fki0iyji9s62slgwdfskpkqy7rmjlqcnmsvsnxbxhc294";
   };
 
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 7882b7fdfe53..aab578596909 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -2,8 +2,8 @@
 stdenv.mkDerivation {
   name = "freeimage-3.11.0";
   src = fetchurl {
-    url = mirror://sourceforge/freeimage/FreeImage3110.zip;
-    sha256 = "84021b8c0b86e5801479474ad9a99c18d121508ee16d363e02ddcbf24195340c";
+    url = mirror://sourceforge/freeimage/FreeImage3120.zip;
+    sha256 = "1hvcmv8hnv3h24zcl324g3l0ww8aa8fkcfav2lrgs1kwzp5zqcd4";
   };
   buildInputs = [ unzip ];
   patchPhase = ''
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
new file mode 100644
index 000000000000..461f98a9033c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -0,0 +1,12 @@
+{cabal, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "MonadRandom";
+  version = "0.1.3";
+  sha256 = "be4dd46a93b59a5e94b58e6986934ca91feace9962a1741b6107a3dd06879fea";
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "Random-number generation monad";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/SDL-image/default.nix b/pkgs/development/libraries/haskell/SDL-image/default.nix
new file mode 100644
index 000000000000..4555cf322b84
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SDL-image/default.nix
@@ -0,0 +1,12 @@
+{cabal, SDL, SDL_image}:
+
+cabal.mkDerivation (self : {
+  pname = "SDL-image";
+  version = "0.5.2";
+  sha256 = "82765f5ed11ef2ad3eb47f59105fe5aecd8de2515d698ef9ea989dc4cec18016";
+  propagatedBuildInputs = [SDL SDL_image];
+  meta = {
+    description = "Binding to libSDL_image";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/SDL-mixer/default.nix b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
new file mode 100644
index 000000000000..e1bd81d834b3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
@@ -0,0 +1,12 @@
+{cabal, SDL, SDL_mixer}:
+
+cabal.mkDerivation (self : {
+  pname = "SDL-mixer";
+  version = "0.5.5";
+  sha256 = "0e1b07a0cbe22eafff7b36f53e4ea840abad50131a867cb70d47beaf902fd185";
+  propagatedBuildInputs = [SDL SDL_mixer];
+  meta = {
+    description = "Binding to libSDL_mixer";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/SDL-ttf/default.nix b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
new file mode 100644
index 000000000000..89c3a9bad8a6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
@@ -0,0 +1,12 @@
+{cabal, SDL, SDL_ttf}:
+
+cabal.mkDerivation (self : {
+  pname = "SDL-ttf";
+  version = "0.5.5";
+  sha256 = "577109d01fca61c103520e7bf33e45af118bcb6d15fcd6da7a8b72c43c69cbb6";
+  propagatedBuildInputs = [SDL SDL_ttf];
+  meta = {
+    description = "Binding to libSDL_ttf";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix
new file mode 100644
index 000000000000..0ffca624cd4b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SDL/default.nix
@@ -0,0 +1,12 @@
+{cabal, SDL}:
+
+cabal.mkDerivation (self : {
+  pname = "SDL";
+  version = "0.5.5";
+  sha256 = "cc56c723e03befd99be0a293347690ba7d2cb7fdafcbbc287f067a8cf70af172";
+  propagatedBuildInputs = [SDL];
+  meta = {
+    description = "Binding to libSDL";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index cac8990d271f..c4ea86a4ac72 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -37,7 +37,7 @@ attrs :
             propagatedBuildInputs = [];
 
             # library directories that have to be added to the Cabal files
-            extraLibDirs = map (x : x + "/lib") self.propagatedBuildInputs;
+            extraLibDirs = attrs.lib.lists.concatMap (x : [ (x + "/lib64") (x + "/lib") ]) self.propagatedBuildInputs;
 
             # compiles Setup and configures
             configurePhase = ''
@@ -68,9 +68,17 @@ attrs :
 
               ./Setup copy
 
+              ensureDir $out/bin # necessary to get it added to PATH
+
               local confDir=$out/lib/ghc-pkgs/ghc-${attrs.ghc.ghc.version}
+              local installedPkgConf=$confDir/${self.fname}.installedconf
+              local pkgConf=$confDir/${self.fname}.conf
               ensureDir $confDir
-              ./Setup register --gen-pkg-config=$confDir/${self.fname}.conf
+              ./Setup register --gen-pkg-config=$pkgConf
+              if test -f $pkgConf; then
+                echo '[]' > $installedPkgConf
+                GHC_PACKAGE_PATH=$installedPkgConf ghc-pkg --global register $pkgConf --force
+              fi
 
               ensureDir $out/nix-support
               ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
new file mode 100644
index 000000000000..ba4b1edcc95f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "dataenc";
+  version = "0.11.1";
+  sha256 = "1212dbed8a1b8f80140d6450a7635a4365bc5733a00e2b96d00bcc526396c6bc";
+  meta = {
+    description = "Data encoding library";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 002b6ff7e618..0f25200516bb 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,12 +1,12 @@
-{cabal, HaXml, HTTP}:
+{cabal, HaXml, HTTP, dataenc, time}:
 
 cabal.mkDerivation (self : {
   pname = "haxr";
-  version = "3000.0.1";
-  sha256 = "1sppfd8qyqggfh5m8phxdn40x17g97q6j3a8d5wspy7kcmg2qaci";
+  version = "3000.1.1.2";
+  sha256 = "c24741a92e27d851a3376158230a52782c1e2b494405ebdde1d256819598c8e8";
   meta = {
     description = "a Haskell library for writing XML-RPC client and server applications";
   };
-  propagatedBuildInputs = [HaXml HTTP];
+  propagatedBuildInputs = [HaXml HTTP dataenc time];
 })
 
diff --git a/pkgs/development/libraries/haskell/readline/default.nix b/pkgs/development/libraries/haskell/readline/default.nix
index fe60a4c51f0d..409d7db27ab4 100644
--- a/pkgs/development/libraries/haskell/readline/default.nix
+++ b/pkgs/development/libraries/haskell/readline/default.nix
@@ -5,6 +5,11 @@ cabal.mkDerivation (self : {
   version = "1.0.1.0";
   sha256 = "07f2f039f32bf18838a4875d0f3caa3ed9436dd52b962b2061f0bb8a3316fa1d";
   propagatedBuildInputs = [ readline ];
+  # experimentally link with ncursesw because ghci can't interpret ld scripts,
+  # and ncurses sometimes seems to be a script pointing to ncursesw
+  postConfigure = ''
+    sed -i -e "/^extra-libraries/ s/ncurses/ncursesw/" readline.buildinfo
+  '';
   meta = {
     description = "An interface to the GNU readline library";
   };
diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix
index 652c423fd7ef..4d6e2beb7a13 100644
--- a/pkgs/development/libraries/vxl/default.nix
+++ b/pkgs/development/libraries/vxl/default.nix
@@ -3,8 +3,8 @@ stdenv.mkDerivation {
   name = "vxl-1.11.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/vxl/vxl-1.11.0.zip;
-    sha256 = "84f38d0c3656b5e4470e16ddce715bafcaa478ff066e6cec6f54524b5d72fa68";
+    url = mirror://sourceforge/vxl/vxl-1.12.0.zip;
+    sha256 = "11nwa37g42l81xv18s2q2jflc4vr2ncsm7wn7yv269wfwxcjhnlc";
   };
 
   buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ];
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index a7b1430e6749..3266a912ca82 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -9,11 +9,11 @@ assert stdenv.gcc.gcc != null;
 let lib = import ../../../lib/default.nix; in
 
 stdenv.mkDerivation rec {
-  name = "wine-1.1.15";
+  name = "wine-1.1.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "0ki5isgzp62g2ikczf875z31iwqhzwf3n48j2r0s9hhrzkxgd5pg";
+    sha256 = "1g6js3zszn91jz0fb3h612m426ih1132s36ggqldvl37rxx4kfys";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix
index ad1144dd9cff..c43662be69d1 100644
--- a/pkgs/os-specific/linux/upstart/default.nix
+++ b/pkgs/os-specific/linux/upstart/default.nix
@@ -16,6 +16,16 @@ stdenv.mkDerivation {
   
   preBuild = "export NIX_CFLAGS_COMPILE=\"$NIX_CFLAGS_COMPILE -DSHELL=\\\"$SHELL\\\"\"";
 
+  # The interface version prevents NixOS from switching to an
+  # incompatible Upstart at runtime.  (Switching across reboots is
+  # fine, of course.)  It should be increased whenever Upstart changes
+  # in a backwards-incompatible way.  If the interface version of two
+  # Upstart builds is the same, then we can switch between them at
+  # runtime; otherwise we can't and we need to reboot.
+  passthru = {
+    interfaceVersion = 0;
+  };
+
   meta = {
     homepage = "http://upstart.ubuntu.com/";
     description = "An event-based replacement for the /sbin/init daemon";
diff --git a/pkgs/tools/archivers/cromfs/default.nix b/pkgs/tools/archivers/cromfs/default.nix
index 4d09d9aace32..5164d45b612b 100644
--- a/pkgs/tools/archivers/cromfs/default.nix
+++ b/pkgs/tools/archivers/cromfs/default.nix
@@ -14,11 +14,13 @@ stdenv.mkDerivation {
     description = "FUSE Compressed ROM filesystem with lzma"  ;
 	  homepage = http://bisqwit.iki.fi/source/cromfs.html;
   };
+
+  # Removing the static linking, as it doesn't compile in x86_64.
+  makeFlags = "cromfs-driver util/mkcromfs util/unmkcromfs util/cvcromfs";
   
   installPhase = ''
     install -d $out/bin
     install cromfs-driver $out/bin
-    install cromfs-driver-static $out/bin
     install util/cvcromfs $out/bin
     install util/mkcromfs $out/bin
     install util/unmkcromfs $out/bin
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index 281e0a08bfbe..658afb37c035 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -2,11 +2,30 @@
 
 stdenv.mkDerivation {
   name = "time-1.7";
+
   src = fetchurl {
     url = mirror://gnu/time/time-1.7.tar.gz;
     sha256 = "0va9063fcn7xykv658v2s9gilj2fq4rcdxx2mn2mmy1v4ndafzp3";
   };
+
   meta = {
-    description = "Command for running programs and summarizing the system resources they use";
+    description = "GNU Time, a tool that runs programs and summarizes the system resources they use";
+
+    longDescription = ''
+      The `time' command runs another program, then displays
+      information about the resources used by that program, collected
+      by the system while the program was running.  You can select
+      which information is reported and the format in which it is
+      shown, or have `time' save the information in a file instead of
+      displaying it on the screen.
+
+      The resources that `time' can report on fall into the general
+      categories of time, memory, and I/O and IPC calls.  Some systems
+      do not provide much information about program resource use;
+      `time' reports unavailable information as zero values.
+    '';
+
+    license = "GPLv2+";
+    homepage = http://www.gnu.org/software/time/;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7b6aef799b65..7d427ed6639d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1806,7 +1806,7 @@ let
       haddock = import ../development/tools/documentation/haddock/boot.nix {
         inherit gmp;
         cabal = import ../development/libraries/haskell/cabal/cabal.nix {
-          inherit stdenv fetchurl;
+          inherit stdenv fetchurl lib;
           ghc = ghc642Binary;
         };
       };
@@ -6707,7 +6707,7 @@ let
     inherit (xlibs) xextproto libXtst inputproto;
   };
 
-  tailor = builderDefsPackage (selectVersion ../applications/version-management/tailor "0.9.35") {
+  tailor = builderDefsPackage (import ../applications/version-management/tailor) {
     inherit makeWrapper python;
   };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index d9ab86a6d77d..1c6fb17aea47 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,6 +1,6 @@
 {pkgs, ghc}:
 
-let ghcReal = ghc; in
+let ghcReal = pkgs.lowPrio ghc; in
 
 rec {
 
@@ -11,12 +11,12 @@ rec {
   # wrapper provides essential functionality: the ability to find
   # Haskell packages in the buildInputs automatically.
   ghc = import ../development/compilers/ghc/wrapper.nix {
-    inherit (pkgs) stdenv;
+    inherit (pkgs) stdenv makeWrapper;
     ghc = ghcReal;
   };
 
   cabal = import ../development/libraries/haskell/cabal/cabal.nix {
-    inherit (pkgs) stdenv fetchurl;
+    inherit (pkgs) stdenv fetchurl lib;
     inherit ghc;
   };
 
@@ -46,6 +46,10 @@ rec {
     inherit cabal;
   };
 
+  dataenc = import ../development/libraries/haskell/dataenc {
+    inherit cabal;
+  };
+
   editline = import ../development/libraries/haskell/editline {
     inherit (pkgs) libedit;
     inherit cabal;
@@ -104,7 +108,7 @@ rec {
   };
 
   haxr = import ../development/libraries/haskell/haxr {
-    inherit cabal HaXml HTTP;
+    inherit cabal HaXml HTTP dataenc time;
   };
 
   haxr_th = import ../development/libraries/haskell/haxr-th {
@@ -149,6 +153,10 @@ rec {
     inherit cabal;
   };
 
+  MonadRandom = import ../development/libraries/haskell/MonadRandom {
+    inherit cabal mtl;
+  };
+
   mtl = import ../development/libraries/haskell/mtl {
     inherit cabal;
   };
@@ -214,6 +222,26 @@ rec {
     inherit cabal regexBase;
   };
 
+  SDLImage = import ../development/libraries/haskell/SDL-image {
+    inherit cabal SDL;
+    inherit (pkgs) SDL_image;
+  };
+
+  SDLMixer = import ../development/libraries/haskell/SDL-mixer {
+    inherit cabal SDL;
+    inherit (pkgs) SDL_mixer;
+  };
+
+  SDLTtf = import ../development/libraries/haskell/SDL-ttf {
+    inherit cabal SDL;
+    inherit (pkgs) SDL_ttf;
+  };
+
+  SDL = import ../development/libraries/haskell/SDL {
+    inherit cabal;
+    inherit (pkgs) SDL;
+  };
+
   stm = import ../development/libraries/haskell/stm {
     inherit cabal;
   };
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 3f766da4c660..60aa070e90af 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -83,6 +83,7 @@ in {
   cedet = linux;
   chatzilla = linux;
   cksfv = all;
+  cmake = all;
   compiz = linux;
   coreutils = all;
   cpio = all;
@@ -156,6 +157,7 @@ in {
   iana_etc = linux;
   icecat3Xul = [ "i686-linux" ];
   idutils = all;
+  ifplugd = linux;
   imagemagick = allBut "i686-cygwin";
   impressive = linux;
   inetutils = linux;
@@ -174,6 +176,7 @@ in {
   kvm = linux;
   less = all;
   lftp = all;
+  libarchive = linux;
   libsmbios = linux;
   libtool = all;
   libtool_2 = all;
@@ -246,6 +249,7 @@ in {
   ruby = all;
   screen = linux ++ darwin;
   seccure = linux;
+  sharutils = all;
   slim = linux;
   sloccount = allBut "i686-cygwin";
   spidermonkey = linux;
@@ -344,7 +348,7 @@ in {
     gtk2hs = linux;
     leksah = linux;
     lhs2tex = ghcSupported;
-    haskellPlatform = ghcSupported;
+    haskellPlatform = linux; /* OpenGL/mesa seems to fail on darwin */
     xmonad = linux;
   };
 
@@ -431,6 +435,7 @@ in {
     xf86videointel = linux;
     xf86videovesa = linux;
     xkbcomp = linux;
+    xmessage = linux;
     xorgserver = linux;
     xrandr = linux;
     xrdb = linux;