summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-01-11 15:46:10 +0100
committerPeter Simons <simons@cryp.to>2013-01-11 15:46:10 +0100
commitb33ad366a17ceb66f73e15c614041a8094f50a1e (patch)
treee728a9e93a13cfc165da4053f7285f27869d01dc /pkgs
parent56c7b9684409248df7c023c097e7f22c7ce9b787 (diff)
parentabd6be85e1254905406fbe97ed070271a101ce85 (diff)
downloadnixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar.gz
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar.bz2
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar.lz
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar.xz
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.tar.zst
nixlib-b33ad366a17ceb66f73e15c614041a8094f50a1e.zip
Merge branch 'master' into stdenv-updates.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/bristol/default.nix5
-rw-r--r--pkgs/applications/editors/zile/default.nix3
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/ipe/default.nix47
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/chromium/pulse_audio_fix.patch11
-rw-r--r--pkgs/applications/networking/browsers/firefox/18.0.nix176
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix14
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix32
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix16
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch30
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix4
-rw-r--r--pkgs/data/fonts/libertine/default.nix21
-rw-r--r--pkgs/desktops/xfce-4.8/applications/xfce4-notifyd.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/default.nix2
-rw-r--r--pkgs/development/compilers/sbcl/default.nix10
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonad/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonads-fd/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix5
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/distributive/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fsnotify/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.0.3.nix (renamed from pkgs/development/libraries/haskell/hashable/1.2.0.2.nix)4
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/monoid-extras/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/nat/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/nats/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/naturals/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/network-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/numtype-tf/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/type-level-natural-number/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch13
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix2
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix4
-rw-r--r--pkgs/development/libraries/mygui/default.nix10
-rw-r--r--pkgs/development/libraries/ogre/default.nix6
-rw-r--r--pkgs/development/libraries/v8/default.nix6
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml (renamed from pkgs/development/androidenv/addon.xml)0
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix (renamed from pkgs/development/androidenv/addons.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix (renamed from pkgs/development/androidenv/androidsdk.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix (renamed from pkgs/development/androidenv/build-app.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/default.nix (renamed from pkgs/development/androidenv/default.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/emulate-app.nix (renamed from pkgs/development/androidenv/emulate-app.nix)0
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-addons.sh (renamed from pkgs/development/androidenv/generate-addons.sh)0
-rw-r--r--pkgs/development/mobile/androidenv/generate-addons.xsl (renamed from pkgs/development/androidenv/generate-addons.xsl)0
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-platforms.sh (renamed from pkgs/development/androidenv/generate-platforms.sh)0
-rw-r--r--pkgs/development/mobile/androidenv/generate-platforms.xsl (renamed from pkgs/development/androidenv/generate-platforms.xsl)0
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-sysimages.sh (renamed from pkgs/development/androidenv/generate-sysimages.sh)0
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages.xsl (renamed from pkgs/development/androidenv/generate-sysimages.xsl)0
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix (renamed from pkgs/development/androidenv/platform-tools.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix (renamed from pkgs/development/androidenv/platforms-linux.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix (renamed from pkgs/development/androidenv/platforms-macosx.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/repository-7.xml (renamed from pkgs/development/androidenv/repository-7.xml)0
-rw-r--r--pkgs/development/mobile/androidenv/support.nix (renamed from pkgs/development/androidenv/support.nix)0
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix (renamed from pkgs/development/androidenv/sysimages.nix)0
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix87
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix18
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix38
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix10
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix24
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix8
-rw-r--r--pkgs/development/mobile/titaniumenv/fixnativelibs.sed1
-rw-r--r--pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed1
-rw-r--r--pkgs/development/mobile/titaniumenv/fixtiverify.sed1
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk.nix57
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix92
-rw-r--r--pkgs/development/mobile/xcodeenv/default.nix15
-rw-r--r--pkgs/development/mobile/xcodeenv/simulate-app.nix17
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix24
-rw-r--r--pkgs/development/python-modules/generic/default.nix3
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix4
-rw-r--r--pkgs/development/web/nodejs/default.nix2
-rw-r--r--pkgs/games/bsdgames/default.nix11
-rw-r--r--pkgs/games/stuntrally/default.nix32
-rw-r--r--pkgs/games/super-tux-kart/default.nix23
-rw-r--r--pkgs/lib/maintainers.nix1
-rw-r--r--pkgs/misc/emulators/wine/default.nix4
-rw-r--r--pkgs/os-specific/linux/atop/default.nix4
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix8
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh30
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch (renamed from pkgs/os-specific/linux/systemd/reexec.patch)17
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch (renamed from pkgs/os-specific/linux/systemd/ignore-duplicates.patch)16
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch (renamed from pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch)22
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch74
-rw-r--r--pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch33
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch38
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix25
-rw-r--r--pkgs/os-specific/linux/sysvinit/default.nix11
-rw-r--r--pkgs/os-specific/linux/xf86-video-nouveau/default.nix6
-rw-r--r--pkgs/servers/samba/default.nix6
-rw-r--r--pkgs/tools/backup/bup/default.nix7
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix36
-rw-r--r--pkgs/tools/networking/nzbget/default.nix12
-rw-r--r--pkgs/tools/package-management/nix/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix32
-rw-r--r--pkgs/top-level/haskell-packages.nix16
-rw-r--r--pkgs/top-level/node-packages.nix13
-rw-r--r--pkgs/top-level/python-packages.nix1
-rw-r--r--pkgs/top-level/release.nix3
124 files changed, 1324 insertions, 273 deletions
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 81d44fdcb74a..0978b15bfaf0 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation  rec {
     xlibs.xproto
   ];
 
+  preInstall = ''
+    sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
+    sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
+  '';
+
   meta = with stdenv.lib; {
     description = "A range of synthesiser, electric piano and organ emulations";
     homepage = http://bristol.sourceforge.net;
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 3880df48da1d..ea2000b57db2 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses boehmgc ];
   nativeBuildInputs = [ help2man perl ];
 
+  # `help2man' wants to run Zile, which fails when cross-compiling.
+  crossAttrs.buildNativeInputs = [];
+
   # Tests can't be run because most of them rely on the ability to
   # fiddle with the terminal.
   doCheck = false;
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index cbab2da551a9..d66db51a4de3 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     '' else "";
 
   meta = {
-    homepage = http://www.imagemagick.org;
+    homepage = http://www.imagemagick.org/;
+    description = "A software suite to create, edit, compose, or convert bitmap images";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
new file mode 100644
index 000000000000..df50dd5bd793
--- /dev/null
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, pkgconfig, zlib, qt4, freetype, cairo, lua5, texLive, ghostscriptX
+, makeWrapper }:
+let ghostscript = ghostscriptX; in
+stdenv.mkDerivation rec {
+  name = "ipe-7.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ipe7/ipe/7.1.0/${name}-src.tar.gz";
+    sha256 = "04fs5slci3bmpgz8d038h3hnzzdw57xykcpsmisdxci2xrkxx41k";
+  };
+
+  # changes taken from Gentoo portage
+  preConfigure = ''
+    cd src
+    sed -i \
+      -e 's/fpic/fPIC/' \
+      -e 's/moc-qt4/moc/' \
+      config.mak || die
+    sed -i -e 's/install -s/install/' common.mak || die
+  '';
+
+  IPEPREFIX="$$out";
+  URWFONTDIR="${texLive}/texmf-dist/fonts/type1/urw/";
+
+  buildInputs = [
+    pkgconfig zlib qt4 freetype cairo lua5 texLive ghostscript makeWrapper
+  ];
+
+  postInstall = ''
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" --prefix PATH : "${texLive}/bin"
+    done
+  '';
+
+  #TODO: make .desktop entry
+
+  meta = {
+    description = "An editor for drawing figures";
+    homepage = http://ipe7.sourceforge.net;
+    license = "GPLv3+";
+    longDescription = ''
+      Ipe is an extensible drawing editor for creating figures in PDF and Postscript format.
+      It supports making small figures for inclusion into LaTeX-documents
+      as well as presentations in PDF.
+    '';
+  };
+}
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 4c24f149f005..798b0e5162f3 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.5";
+  version = "2.0.5.1";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
-    sha256 = "00pv2d9p8j1p6x87kalbn1bgxg9l4zqh65zcajrnh10a76isv6nk";
+    sha256 = "18k9qbz40v6lqmkfcg98wvcv4wi4p36ach1jz3z2b15gbmv2gr9n";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 30234c92f6b1..62a4c6cc211a 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -79,10 +79,8 @@ let
   post23 = !versionOlder sourceInfo.version "24.0.0.0";
   post24 = !versionOlder sourceInfo.version "25.0.0.0";
 
-  maybeFixPulseAudioBuild = optional (post23 && pulseSupport) (fetchurl {
-    url = http://archrepo.jeago.com/sources/chromium-dev/pulse_audio_fix.patch;
-    sha256 = "1w91mirrkqigdhsj892mqxlc0nlv1dsp5shc46w9xf8nl96jxgfb";
-  });
+  maybeFixPulseAudioBuild = optional (post23 && pulseSupport)
+    ./pulse_audio_fix.patch;
 
 in stdenv.mkDerivation rec {
   name = "${packageName}-${version}";
@@ -197,7 +195,7 @@ in stdenv.mkDerivation rec {
   meta = {
     description = "Chromium, an open source web browser";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ goibhniu chaoflow ];
+    maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/chromium/pulse_audio_fix.patch b/pkgs/applications/networking/browsers/chromium/pulse_audio_fix.patch
new file mode 100644
index 000000000000..01ff89a9a63b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/pulse_audio_fix.patch
@@ -0,0 +1,11 @@
+--- chromium-build/media/audio/pulse/pulse_output.cc.orig	2012-10-26 09:44:38.509209905 -0700
++++ chromium-build/media/audio/pulse/pulse_output.cc	2012-10-26 09:45:32.178819603 -0700
+@@ -86,7 +86,7 @@
+ 
+   // All channel maps have the same size array of channel positions.
+   for (unsigned int channel = 0; channel != CHANNELS_MAX; ++channel) {
+-    int channel_position = kChannelOrderings[channel_layout][channel];
++    int channel_position = ChannelOrder(channel_layout, static_cast<Channels>(channel));
+     if (channel_position > -1) {
+       channel_map.map[channel_position] = ChromiumToPAChannelPosition(
+           static_cast<Channels>(channel));
diff --git a/pkgs/applications/networking/browsers/firefox/18.0.nix b/pkgs/applications/networking/browsers/firefox/18.0.nix
new file mode 100644
index 000000000000..4e0b4194257f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/18.0.nix
@@ -0,0 +1,176 @@
+{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+
+, # If you want the resulting program to call itself "Firefox" instead
+  # of "Shiretoko" or whatever, enable this option.  However, those
+  # binaries may not be distributed without permission from the
+  # Mozilla Foundation, see
+  # http://www.mozilla.org/foundation/trademarks/.
+  enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+rec {
+
+  firefoxVersion = "18.0";
+
+  xulVersion = "18.0"; # this attribute is used by other packages
+
+
+  src = fetchurl {
+    urls = [
+        # It is better to use this url for official releases, to take load off Mozilla's ftp server.
+        "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
+        # Fall back to this url for versions not available at releases.mozilla.org.
+        "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
+    ];
+    sha1 = "3356562e69d699e5901df5a4da4e2e59dd1e7f57";
+  };
+
+  commonConfigureFlags =
+    [ "--enable-optimize"
+      #"--enable-profiling"
+      "--disable-debug"
+      "--enable-strip"
+      # "--with-system-jpeg" # Too old in nixpkgs
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      # "--with-system-nss" # Too old in nixpkgs
+      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
+      # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
+      "--enable-system-sqlite"
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer"
+      "--disable-updater"
+    ];
+
+
+  xulrunner = stdenv.mkDerivation rec {
+    name = "xulrunner-${xulVersion}";
+
+    inherit src;
+
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
+        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      ];
+
+    configureFlags =
+      [ "--enable-application=xulrunner"
+        "--disable-javaxpcom"
+      ] ++ commonConfigureFlags;
+
+    enableParallelBuilding = true;
+
+    preConfigure =
+      ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
+
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
+
+    postInstall = ''
+      # Fix run-mozilla.sh search
+      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
+      echo libDir: $libDir
+      test -n "$libDir"
+      cd $out/bin
+      rm xulrunner
+
+      for i in $out/lib/$libDir/*; do
+          file $i;
+          if file $i | grep executable &>/dev/null; then
+              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
+              chmod a+x "$out/bin/$(basename "$i")";
+          fi;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
+      rm -f $out/bin/run-mozilla.sh
+    ''; # */
+
+    meta = {
+      description = "Mozilla Firefox XUL runner";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+    };
+
+    passthru = { inherit gtk; version = xulVersion; };
+  };
+
+
+  firefox = stdenv.mkDerivation rec {
+    name = "firefox-${firefoxVersion}";
+
+    inherit src;
+
+    enableParallelBuilding = true;
+
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
+        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
+      ];
+
+    propagatedBuildInputs = [xulrunner];
+
+    configureFlags =
+      [ "--enable-application=browser"
+        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
+        "--enable-chrome-format=jar"
+        "--disable-elf-hack"
+      ]
+      ++ commonConfigureFlags
+      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
+    # Hack to work around make's idea of -lbz2 dependency
+    preConfigure =
+      ''
+        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
+          stdenv.lib.concatStringsSep ":"
+            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
+        }' ';'
+      '';
+
+    postInstall =
+      ''
+        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
+        cd "$out/lib/"firefox-*
+        rm firefox
+        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+        chmod a+x firefox
+      ''; # */
+
+    meta = {
+      description = "Mozilla Firefox - the browser, reloaded";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+    };
+
+    passthru = {
+      inherit gtk xulrunner nspr;
+      isFirefox3Like = true;
+    };
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 3496097b86dd..7e2bfb692a3e 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -13,6 +13,7 @@
 , libXrender
 , libXcursor
 , libXt
+, libvdpau
 , gtk
 , glib
 , pango
@@ -78,6 +79,7 @@ stdenv.mkDerivation {
   rpath = stdenv.lib.makeLibraryPath
     [ zlib alsaLib curl nss nspr fontconfig freetype expat libX11
       libXext libXrender libXcursor libXt gtk glib pango atk cairo gdk_pixbuf
+      libvdpau
     ];
 
   buildPhase = ":";
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index f2fbf7046492..02f782c75a10 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
 , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
-, libxml2, ncurses, gettext, libunistring
+, libxml2, ncurses, gettext, libunistring, libidn
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "gnunet-0.9.3";
+  name = "gnunet-0.9.5";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "0ppirvwjb7w7270g0w83z6wyk984cnxv2ydxj7qr0j1cz2j6nn2h";
+    sha256 = "162bahbskhzc0b2pda7v36dckm3p5p9rnbv2w0fbl0xl2gln63aa";
   };
 
   buildInputs = [
     libextractor libmicrohttpd libgcrypt gmp curl libtool
-    zlib adns sqlite libxml2 ncurses
+    zlib adns sqlite libxml2 ncurses libidn
     pkgconfig gettext libunistring makeWrapper
   ];
 
@@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
       echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
       substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
     done
+
+    # Ensure NSS installation works fine
+    configureFlags="$configureFlags --with-nssdir=$out/lib"
+    patchShebangs src/gns/nss/install-nss-plugin.sh
   '';
 
   doCheck = false;
@@ -72,7 +76,7 @@ stdenv.mkDerivation rec {
 
     license = "GPLv2+";
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = with stdenv.lib.maintainers; [ ludo viric ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 5cc79469b769..9d8bc705fa47 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -1,18 +1,20 @@
-{ fetchsvn, stdenv, autoconf, automake, pkgconfig, m4, curl,
-mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK,
-sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11 }:
+{ fetchgit, stdenv, autoconf, automake, pkgconfig, m4, curl,
+mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
+sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "boinc-6.12.39";
+  name = "boinc-7.0.44";
 
-  src = fetchsvn {
-    url = "http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_39";
-    rev = 24341;
-    sha256 = "158fkm4mr7wljsy8gav20km8jamf00mxjk1wsiqw6kx62bih37yb";
+  src = fetchgit {
+    url = "git://boinc.berkeley.edu/boinc.git";
+    rev = "7c449b1fb8a681ceb27d6895751b62a2b3adf0f2";
+    sha256 = "0hdramyl9nip3gadp7xiaz8ngyld15i93d8ai1nsd04bmrvdfqia";
   };
 
   buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi
-    freeglut libjpeg wxGTK sqlite gtk libXScrnSaver libnotify patchelf libX11 ];
+    freeglut libjpeg wxGTK sqlite gtk libXScrnSaver libnotify patchelf libX11 
+    libxcb xcbutil
+  ];
 
   postConfigure = ''
     sed -i -e s,/etc,$out/etc, client/scripts/Makefile
@@ -27,17 +29,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = "--disable-server --disable-fast-install";
-
-  postInstall = "
-    # Remove a leading rpath to /tmp/... I don't know how it got there
-    # I could not manage to get rid of that through autotools.
-    for a in $out/bin/*; do
-      RPATH=$(patchelf --print-rpath $a)
-      NEWRPATH=$(echo $RPATH | sed 's/^[^:]*://')
-      patchelf --set-rpath $out/lib:$NEWRPATH $a
-    done
-  ";
+  configureFlags = "--disable-server";
 
   meta = {
     description = "Free software for distributed and grid computing";
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 28a917d51e79..aef86c06cfb7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -12,14 +12,14 @@
 }:
 
 let
-  version = "3.20130102";
+  version = "3.20130107";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
     url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}";
-    sha256 = "0aga3i7rzq21vyj2wq87n4yl5aljzxc69vbzw43nxx9sr2f3xyh5";
+    sha256 = "15x4rmpxv3mgp8r4gb6jana5262nvyl6rm5p8slc5z5ijl0qwbzq";
     name = "git-annex-${version}.tar.gz";
   };
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 87eb0020c1df..f699119c5f04 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
-, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel
+, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
 , which, alsaLib, curl, gawk
 , xorriso, makeself, perl, pkgconfig
 , javaBindings ? false, jdk ? null
@@ -11,8 +11,8 @@ with stdenv.lib;
 
 let
 
-  version = "4.2.4";
-  extpackRevision = "81684";
+  version = "4.2.6";
+  extpackRevision = "82870";
 
   forEachModule = action: ''
     for mod in \
@@ -35,7 +35,7 @@ let
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}"
          + ".vbox-extpack";
     # Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
-    sha256 = "62078e057a4ab56aec5ac086746522b3d94787333d0444169471fa5152c609ed";
+    sha256 = "f0113688a76efa0426c27c5541c78506b18637025c35aa682ecc6eeed5d56582";
     url = "https://www.virtualbox.org/wiki/Downloads";
   };
 
@@ -44,19 +44,17 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "a7c607523c1c10b7b978ab39a92bb646517316548aa4a1a74b6e434ac2bf0adc";
+    sha256 = "54526091bc2aa66b88ca878dd9ecc4466f96d607db2f6678a9d673ecf6646ae3";
   };
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
-      libcap glib kernel python alsaLib curl pam xorriso makeself perl
+      libcap glib kernel lvm2 python alsaLib curl pam xorriso makeself perl
       pkgconfig which libXmu ]
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
 
-  patches = [ ./remove_fa_ir.patch ];
-
-  postPatch = ''
+  prePatch = ''
     set -x
     MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 9483868bc5e3..7a79a73c6b95 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -2,14 +2,14 @@
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
 , dbus }:
 
-let version = "4.2.4"; in
+let version = "4.2.6"; in
 
 stdenv.mkDerivation {
   name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "3d7d909a0fe9ac5ffcca6afdd4142b88bad116d2ffed6e95588dbfbcf00ca5e9";
+    sha256 = "1lry4hjjk8p69km1bi3mpmyarlnxz9izs2c0s8pq5rjzv1bd7bxr";
   };
 
   KERN_DIR = "${kernel}/lib/modules/*/build";
diff --git a/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch b/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch
deleted file mode 100644
index 0d7a83421927..000000000000
--- a/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-This patch is for VirtualBox-4.2.2, to temporarily remove references to the
-fa_IR language file from the source tree, as it somehow got lost during tarball
-creation. For more information on this subject please have a look at:
-
-https://www.virtualbox.org/pipermail/vbox-dev/2012-October/005408.html
-
-diff --git a/src/VBox/Frontends/VirtualBox/VBoxUI.pro b/src/VBox/Frontends/VirtualBox/VBoxUI.pro
-index ffeb410..37ac56a 100644
---- a/src/VBox/Frontends/VirtualBox/VBoxUI.pro
-+++ b/src/VBox/Frontends/VirtualBox/VBoxUI.pro
-@@ -63,7 +63,6 @@ TRANSLATIONS = \
- 	nls/VirtualBox_es.ts \
- 	nls/VirtualBox_eu.ts \
- 	nls/VirtualBox_fi.ts \
--	nls/VirtualBox_fa_IR.ts \
- 	nls/VirtualBox_fr.ts \
- 	nls/VirtualBox_gl_ES.ts \
- 	nls/VirtualBox_hu.ts \
-diff --git a/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk b/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
-index 66f0ec3..2fc19b9 100644
---- a/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
-+++ b/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
-@@ -23,7 +23,6 @@ VBOX_APPROVED_GUI_LANGUAGES := \
- 	de    \
- 	en    \
- 	es    \
--	fa_IR \
- 	hu    \
- 	it    \
- 	ja    \
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
index eebb07c0aa1c..025bab67e968 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmonad-extras";
-  version = "0.10.1.2";
-  sha256 = "1v0yhi3sw7qks8d13amps0qs5p90j3prjh5abm02wblcd0bm1xay";
+  version = "0.11";
+  sha256 = "09r64z09mfdz86k7v5c6zds9ng0fjcp44kd8f5qg1sz40yblrny5";
   buildDepends = [
     hint libmpd mtl network parsec random regexPosix split X11 xmonad
     xmonadContrib
diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix
index a0ed5f757974..514690cb0cd2 100644
--- a/pkgs/data/fonts/libertine/default.nix
+++ b/pkgs/data/fonts/libertine/default.nix
@@ -1,25 +1,24 @@
-args : with args; 
-rec {
+args: with args; rec {
+  name = "linux-libertine-5.3.0";
+
   src = fetchurl {
-    url = http://downloads.sourceforge.net/linuxlibertine/5.0.0/LinLibertineSRC_2011_05_22.tgz;
-    sha256 = "1cr0kvvlqrcmaxfl6szfp3m93mcnhmypx33dxmdm3xdxxkab74vg";
+    url = mirror://sf/linuxlibertine/5.3.0/LinLibertineSRC_5.3.0_2012_07_02.tgz;
+    sha256 = "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v";
   };
 
-  buildInputs = [fontforge];
-  configureFlags = [];
+  buildInputs = [ fontforge ];
 
   /* doConfigure should be specified separately */
   phaseNames = ["doUnpack" "generateFontsFromSFD" "installFonts"];
-      
+
   extraFontForgeCommands = ''
     ScaleToEm(1000);
   '';
 
-  doUnpack = fullDepEntry ''
-    tar xf ${src}
-  '' ["minInit"];
+  doUnpack = lib.fullDepEntry ''
+      tar xf ${src}
+    '' ["minInit"];
 
-  name = "linux-libertine-5.0.0";
   meta = {
     description = "Linux Libertine Fonts";
     homepage = http://linuxlibertine.sf.net;
diff --git a/pkgs/desktops/xfce-4.8/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce-4.8/applications/xfce4-notifyd.nix
new file mode 100644
index 000000000000..598e6eb414d1
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/xfce4-notifyd.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk, xfce }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-notifyd-0.2.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-notifyd/0.2/${name}.tar.bz2";
+    sha256 = "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk xfce.libxfce4util xfce.libxfce4ui xfce.xfconf ];
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/xfce4-notifyd;
+    description = "The Xfce Notify Daemon";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/default.nix b/pkgs/desktops/xfce-4.8/default.nix
index c20e42d20196..bfe7fddd7381 100644
--- a/pkgs/desktops/xfce-4.8/default.nix
+++ b/pkgs/desktops/xfce-4.8/default.nix
@@ -73,6 +73,8 @@ rec {
 
   ristretto = callPackage ./applications/ristretto.nix { };
 
+  xfce4_notifyd = callPackage ./applications/xfce4-notifyd.nix { };
+
   xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
 
   xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 607e1da81178..794a97b205fa 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -4,11 +4,11 @@ let
   s= # Generated upstream information
   rec {
     baseName="sbcl";
-    version="1.1.2";
-    name="sbcl-1.1.2";
-    hash="04vp68cf0jfpjwx64iys7hi7qxbk2h7277wiym7k4jgirka08yhc";
-    url="mirror://sourceforge/project/sbcl/sbcl/1.1.2/sbcl-1.1.2-source.tar.bz2";
-    sha256="04vp68cf0jfpjwx64iys7hi7qxbk2h7277wiym7k4jgirka08yhc";
+    version="1.1.3";
+    name="${baseName}-${version}";
+    hash="1qy64fy0nvjdgzlmasswgvzg1b2h2rygnnjvlf9vj7wg16i5383i";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.1.3/sbcl-1.1.3-source.tar.bz2";
+    sha256="1qy64fy0nvjdgzlmasswgvzg1b2h2rygnnjvlf9vj7wg16i5383i";
   };
   buildInputs = with a; [
     clisp makeWrapper
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 6fa27c23525c..3fe753a5a6fe 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -9,11 +9,13 @@ with stdenv.lib;
 let
 
   majorVersion = "2.6";
-  version = "${majorVersion}.7";
+  version = "${majorVersion}.8";
 
+  # http://www.python.org/download/releases/2.6.8/
+  # md5 taken from webpage, python 2.6 will receive security fixes until Oct 2013
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "0p0fd8i533zsdm6gc0jmhmdifccx4v064mh0i1hl2s6fcjhc20j5";
+    md5 = "c6e0420a21d8b23dee8b0195c9b9a125";
   };
   
   patches =
@@ -51,6 +53,10 @@ let
         for i in /usr /sw /opt /pkg; do
           substituteInPlace ./setup.py --replace $i /no-such-path
         done
+      '' + optionalString (stdenv ? gcc && stdenv.gcc.libc != null) ''
+        for i in Lib/plat-*/regen; do
+          substituteInPlace $i --replace /usr/include/ ${stdenv.gcc.libc}/include/
+        done
       '';
 
     NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index 5c563ad9cd73..d3307d0a30d3 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.2";
-  sha256 = "1iymh3sd21ba7ijwv5afphn5vhmwchk6725hbcsdwk2d2x2gd674";
+  version = "0.1.0.3";
+  sha256 = "0jarc270z6raak1vz30jy2gl0pkj9a2x3ib5hq7vsl2ljbvbgyqi";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
+  jailbreak = true;
   meta = {
     description = "Abstractions for animation";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/default.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index bc378235b91a..3a56b37edf9b 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "comonad-transformers";
-  version = "3.0";
-  sha256 = "1bjix61rdzmqcd1irh6p91jwy4sz1617sj4zic07p7ng9h7fsz24";
+  version = "3.0.1";
+  sha256 = "1lmcz01zsgy0lfzsznqbdq83vlk6h10zs7i41nav8qhzzhjn095j";
   buildDepends = [
     comonad contravariant distributive semigroupoids semigroups
     transformers
diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix
index 3394de012060..b37ffdf596e1 100644
--- a/pkgs/development/libraries/haskell/comonad/default.nix
+++ b/pkgs/development/libraries/haskell/comonad/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "comonad";
-  version = "3.0.0.2";
-  sha256 = "01q71b446mdbdj81qjrxjl5bshbg4bjih5zpw9fd4y5431bclfhi";
+  version = "3.0.1.1";
+  sha256 = "01zqxrqxy6x6nf6rynzmncbhlgbbpshhw10pkimnw5isg3b8qhc2";
   buildDepends = [ semigroups transformers ];
   meta = {
     homepage = "http://github.com/ekmett/comonad/";
diff --git a/pkgs/development/libraries/haskell/comonads-fd/default.nix b/pkgs/development/libraries/haskell/comonads-fd/default.nix
index 26a18c667a2b..5921d8b07d39 100644
--- a/pkgs/development/libraries/haskell/comonads-fd/default.nix
+++ b/pkgs/development/libraries/haskell/comonads-fd/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "comonads-fd";
-  version = "3.0";
-  sha256 = "1j5ymj711c49fsk2ilxfpzqr0jr117z8kb5ggyh5nlwjy16m32in";
+  version = "3.0.1";
+  sha256 = "0ap9sw7h130bza43091mbl9a5bsin6342zawgycdcsag49wm3dyy";
   buildDepends = [
     comonad comonadTransformers mtl semigroups transformers
   ];
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index 3f4942086627..c087e27d025d 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "0.6";
-  sha256 = "15frd5jdzkgpdcvyyhd0mbi5d4a69ajcnxawa1gafl4c3byz1778";
+  version = "0.6.0.1";
+  sha256 = "0kw0rxk9a2zkpnbx4bfd0japm75y29ldvdn7i3c93kvz0p6jc2wa";
   buildDepends = [
     dualTree MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Core libraries for diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index 472657b2df71..1bd77db85803 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "0.6";
-  sha256 = "05nfp5ggjk4fviwvwiblmzzw5dbzbi1w8dx5dimvah7wxb0km3lf";
+  version = "0.6.0.1";
+  sha256 = "00ysdppl2jv0kspj0pjy8qj8shc9gg6g10lkq62vlvr39wnxx6yj";
   buildDepends = [
     active colour dataDefault diagramsCore monoidExtras newtype
     NumInstances semigroups vectorSpace
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Embedded domain-specific language for declarative graphics";
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
new file mode 100644
index 000000000000..70995ecb3ce7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -0,0 +1,14 @@
+{ cabal, numtypeTf, time }:
+
+cabal.mkDerivation (self: {
+  pname = "dimensional-tf";
+  version = "0.1.1";
+  sha256 = "0hhp2nx8xyk5ms3mzg1d3jhzm1b0bxz7aijxqasrxjq9p04jr2ci";
+  buildDepends = [ numtypeTf time ];
+  meta = {
+    homepage = "http://dimensional.googlecode.com/";
+    description = "Statically checked physical dimensions, implemented using type families";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix
index a8b07c608d8a..6709569b0540 100644
--- a/pkgs/development/libraries/haskell/distributive/default.nix
+++ b/pkgs/development/libraries/haskell/distributive/default.nix
@@ -1,10 +1,10 @@
-{ cabal, transformers }:
+{ cabal, transformers, transformersCompat }:
 
 cabal.mkDerivation (self: {
   pname = "distributive";
-  version = "0.2.2";
-  sha256 = "13wvr2wb3h2nr1qd3dwjqx0b6g4igjqm3q2cyi4mc41gwihkbhr2";
-  buildDepends = [ transformers ];
+  version = "0.3";
+  sha256 = "0z6vwak2n91vpx9ps9j1pbiw0zlh9jmds84yx1yqssbqx8npi32f";
+  buildDepends = [ transformers transformersCompat ];
   meta = {
     homepage = "http://github.com/ekmett/distributive/";
     description = "Haskell 98 Distributive functors -- Dual to Traversable";
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index f1206fd822ee..ebca3b5a3be6 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.1.0.0";
-  sha256 = "0av525gjxzd2hhrg5da647chwbv4j30gccaff2b3n5qijzy8l167";
+  version = "0.1.0.1";
+  sha256 = "09bdid65frccpbh1bs01f7vprq0vfgqsb5bfa4j8yi3q773mycb2";
   buildDepends = [ monoidExtras newtype semigroups ];
+  jailbreak = true;
   meta = {
     description = "Rose trees with cached and accumulating monoidal annotations";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 3d293d3b86e6..cbfa53b6d001 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "3.0.2";
-  sha256 = "1s3rpxxqc9052hrmiznwqwxhl4826qzbgpivpv5acxfhm0w06lhg";
+  version = "3.0.3";
+  sha256 = "02kpb8xd19n00ll61haqr6k3hy8qmbdf73gr4zs59q9xh0739qxc";
   buildDepends = [ semigroupoids semigroups transformers ];
   meta = {
     homepage = "http://github.com/ekmett/either/";
diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix
index 34a3c13b9fb1..80b6760a3b7b 100644
--- a/pkgs/development/libraries/haskell/fsnotify/default.nix
+++ b/pkgs/development/libraries/haskell/fsnotify/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fsnotify";
-  version = "0.0.5";
-  sha256 = "1pi1dpm48igcc8n5cn8hdml8bknxl18kqhjbh6jan839fgmwagb9";
+  version = "0.0.6";
+  sha256 = "0ib6ansj3vaq9hxxbsq5jw14w2b61wp4jfahzb3c3x46mdb1bqw5";
   buildDepends = [ hinotify systemFileio systemFilepath text time ];
   meta = {
     description = "Cross platform library for file creation, modification, and deletion notification";
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 093a92dd16ec..50ff535d874b 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -5,14 +5,13 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "3.5.2.0";
-  sha256 = "088qhzycpz003qa4b7hnn6frgmidk6219icii04ap964fkw0mqn0";
+  version = "3.5.2.1";
+  sha256 = "1fp7jak2sfznvg3lfyjqy13m1iq9821mdq6n5qmqz5dh5b960iv4";
   buildDepends = [
     binary blazeHtml blazeMarkup citeprocHs cryptohash filepath hamlet
     lrucache mtl pandoc parsec regexBase regexTdfa snapCore snapServer
     tagsoup text time
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.0.2.nix b/pkgs/development/libraries/haskell/hashable/1.2.0.3.nix
index 10f9c0ec6206..43d99b63d5a4 100644
--- a/pkgs/development/libraries/haskell/hashable/1.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/hashable/1.2.0.3.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashable";
-  version = "1.2.0.2";
-  sha256 = "1l827sh7v2jls2gcbxgbvz5hacwi43bcrxwmd3wp92hfwy1yza65";
+  version = "1.2.0.3";
+  sha256 = "0q4zl2mry6qfp9vln6pxmgqik7szv1sh7if55gydnxln1ybvvgmp";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/tibbe/hashable";
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 4b2e32d23520..cc591acf2022 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.3.3";
-  sha256 = "08jxl2ba0kb4vj1qbdf4sas8bwbxzayzwsxnjvq358x57i5l302n";
+  version = "0.5.3.4";
+  sha256 = "1xm9dr71qna1w65vzaf63hbchpvshfjvvs5038sy04x2ddwdix77";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 7ac2a551fc4a..aada13af06ae 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.8.6.1";
-  sha256 = "1vkfld5kn8fql78mw8zwsp524m07kr4a10c411rzpv6xqx92azy7";
+  version = "1.8.6.2";
+  sha256 = "0b9iw8gq0kyfmnpv1jba2dx8rik9136zx5q9xdyvy0lczdgb8i09";
   buildDepends = [
     asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
     blazeBuilderConduit caseInsensitive certificate conduit cookie
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index 62bc2ebac184..e30a30fc7aa3 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.1.1";
-  sha256 = "0p04zpw1v0zhzri7wpikc0b8g7n21kgl8j8238vv7xqxapkal0pc";
+  version = "0.1.1.1";
+  sha256 = "0xg6xw0j61db75smys2fgjn0nzv2dy8c1ha4m828ssnxlic98lk2";
   buildDepends = [
     blazeBuilder caseInsensitive classyPreludeConduit conduit
     dataDefault httpConduit httpTypes liftedBase monadControl network
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index dd9966a0d58d..ab634ea70e95 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -1,17 +1,20 @@
 { cabal, comonad, comonadsFd, comonadTransformers, filepath
-, hashable, mtl, parallel, semigroups, split, text, transformers
-, unorderedContainers, vector
+, hashable, mtl, nats, parallel, semigroups, split, text
+, transformers, transformersCompat, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "3.7.1.2";
-  sha256 = "1hapcnmyqyc3645gsy1ikwzm2srbbznps6yrfr02y2lcbnjpn3g6";
+  version = "3.7.3";
+  sha256 = "0mvwczviszfv52ylymvrz3zk6s05ngmqc2g1k4r6pym8s9cmgmzz";
   buildDepends = [
-    comonad comonadsFd comonadTransformers filepath hashable mtl
-    parallel semigroups split text transformers unorderedContainers
-    vector
+    comonad comonadsFd comonadTransformers filepath hashable mtl nats
+    parallel semigroups split text transformers transformersCompat
+    unorderedContainers vector
   ];
+  patchPhase = ''
+    sed -i -e 's|semigroups.*,|semigroups,|' lens.cabal
+  '';
   meta = {
     homepage = "http://github.com/ekmett/lens/";
     description = "Lenses, Folds and Traversals";
diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix
index a86bdce38397..a67017298a83 100644
--- a/pkgs/development/libraries/haskell/monoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "monoid-extras";
-  version = "0.2.2.1";
-  sha256 = "0n2zwkwwq8kg9m6qr79mrhlxsfsrjzbyg96gfhcgk21zgc09zary";
+  version = "0.2.2.2";
+  sha256 = "1fz93hm0sswisvwvbygxvbwmmnzqcxmz9h82i4361wzychf2si22";
   buildDepends = [ semigroups ];
+  jailbreak = true;
   meta = {
     description = "Various extra monoid-related definitions and utilities";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index 8b2871c3ce4f..74254a4c591e 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -2,13 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "multiarg";
-  version = "0.6.0.0";
-  sha256 = "1qrw1rajdvrvd297a7lpfkxm5qqhwmnnl5jiagjwzb9lckgpy87y";
+  version = "0.8.0.0";
+  sha256 = "17zfrm9zjf7c8g7q9vqj1srk0g766ifhwqp7gm4ql890541q5lv5";
   buildDepends = [ explicitException utf8String ];
   meta = {
     homepage = "https://github.com/massysett/multiarg";
     description = "Combinators to build command line parsers";
-    license = self.stdenv.lib.licenses.mit;
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
diff --git a/pkgs/development/libraries/haskell/nat/default.nix b/pkgs/development/libraries/haskell/nat/default.nix
new file mode 100644
index 000000000000..3ad4240e2892
--- /dev/null
+++ b/pkgs/development/libraries/haskell/nat/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "nat";
+  version = "0.3";
+  sha256 = "1v43c1dr72qn8mymnwcq6an8sqxjaxhac037k4gbv8z8bg18zmf5";
+  meta = {
+    description = "Lazy binary natural numbers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/default.nix
new file mode 100644
index 000000000000..02f5c289836e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/nats/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "nats";
+  version = "0.1";
+  sha256 = "08gh7jjmws70919hmqqmvnfqcpxr34f03jmg3lzmmhqvr15gm1vy";
+  meta = {
+    homepage = "http://github.com/ekmett/nats/";
+    description = "Haskell 98 natural numbers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/naturals/default.nix b/pkgs/development/libraries/haskell/naturals/default.nix
new file mode 100644
index 000000000000..787ac70ffa96
--- /dev/null
+++ b/pkgs/development/libraries/haskell/naturals/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "naturals";
+  version = "0.2.0.2";
+  sha256 = "1ay291833dcah411zc3r4qjilaw8x13ljlnb5z40d1s7784djm16";
+  meta = {
+    homepage = "frigidcode.com";
+    description = "Constructors and related functions for natural numbers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix
index 1b2187daaafb..a56c35a214ba 100644
--- a/pkgs/development/libraries/haskell/network-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-conduit";
-  version = "0.6.2.1";
-  sha256 = "1pkqkkj18yn31dmxcc8xfq2drg2jm9169my0s3jsxjbyxsyq58l6";
+  version = "0.6.2.2";
+  sha256 = "1v8abhw977hr78hkshrbxy04abbbhafvvnhr4xxgqc0phwch02mc";
   buildDepends = [
     conduit liftedBase monadControl network transformers
   ];
diff --git a/pkgs/development/libraries/haskell/numtype-tf/default.nix b/pkgs/development/libraries/haskell/numtype-tf/default.nix
new file mode 100644
index 000000000000..76f57daca385
--- /dev/null
+++ b/pkgs/development/libraries/haskell/numtype-tf/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "numtype-tf";
+  version = "0.1";
+  sha256 = "1hvnqgjg7yifxdsji9v0wqwbp4syhdc97pa3nrn4p96g7kmvw25v";
+  meta = {
+    homepage = "http://dimensional.googlecode.com/";
+    description = "Type-level (low cardinality) integers, implemented using type families";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pretty-show/default.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
index 791d8c59b749..5fedd0aca292 100644
--- a/pkgs/development/libraries/haskell/pretty-show/default.nix
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -1,15 +1,15 @@
-{ cabal, haskellLexer }:
+{ cabal, filepath, haskellLexer }:
 
 cabal.mkDerivation (self: {
   pname = "pretty-show";
-  version = "1.3.2";
-  sha256 = "0m3kw4d68gd1mhlgi5vy3k2cqi9f0i4s502m2sgy4pww45fjllxy";
+  version = "1.5";
+  sha256 = "1n04f9aypgbhkq0lbji9czv1mjfwv4f80w1c6hqs55gmzwif63m4";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ haskellLexer ];
+  buildDepends = [ filepath haskellLexer ];
   meta = {
     homepage = "http://wiki.github.com/yav/pretty-show";
-    description = "Tools for working with derived Show instances";
+    description = "Tools for working with derived `Show` instances and generic inspection of values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index c2e8deefbad5..7e25fa5913e2 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "3.0.0.1";
-  sha256 = "0ilqmpywiwp9m1k8lrw0mxb0pzc9l8bs2hgzrp8k5iln1yq1fh6i";
+  version = "3.0.1";
+  sha256 = "12k2yryr31lxhwq42cx05kswljmbli8p8c2wknigzkkam63d8k5h";
   buildDepends = [ comonad contravariant semigroups transformers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroupoids";
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 1a412aec908b..ea0f2813b55f 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -1,9 +1,10 @@
-{ cabal }:
+{ cabal, nats }:
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.8.5";
-  sha256 = "0dnxqqxfyxj0mpy524nvgwagsp6ynadmh2yr4k5159rzbg2xgz90";
+  version = "0.9";
+  sha256 = "0cwyjjlr9zgpxryzdf26pb58dmad0cp8d0493rarhh5zmgighh90";
+  buildDepends = [ nats ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
     description = "Haskell 98 semigroups";
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index 65d9da1548fd..78ec99da8db5 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.1.1";
-  sha256 = "06yk19jvpj7di1njybk1hdc7hp6c9h3yb4gvi7ljna6wqrh6zqaz";
+  version = "0.6.1.2";
+  sha256 = "1izsjy30saz2il16dwx8sh2s30b1pfgcpq6023v135w1bdrzrnmq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/default.nix
new file mode 100644
index 000000000000..d36ace0eb299
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-compat/default.nix
@@ -0,0 +1,15 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-compat";
+  version = "0.1";
+  sha256 = "100xw00h2l6iipg6lq5bbncpil3bl6w3frak99klpi8gn6ihd8ah";
+  buildDepends = [ transformers ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://github.com/ekmett/transformers-compat/";
+    description = "Lenses, Folds and Traversals";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
new file mode 100644
index 000000000000..8dff0ffd58fc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "type-level-natural-number";
+  version = "1.1.1";
+  sha256 = "1zc26nckpcixxp1m818jhzi3dj1ysnjfc2xliq4rpmf5583k6mjw";
+  meta = {
+    description = "Simple, Haskell 2010-compatible type level natural numbers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 02356789bc30..d28eb827dabf 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.7.4";
-  sha256 = "1cznyn09a3glfkvvzqma3bhjinddkp6v2xwiy5x403v0wy8y565j";
+  version = "2.7.4.1";
+  sha256 = "1aya95j7dd0yal0ygy6d4w4wmlhgn5ddy3c5f6ncl4k3kg7hjxd1";
   buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index 5cd54a3e0e77..cdf21c782334 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "void";
-  version = "0.5.10";
-  sha256 = "0adykqns7vvzgrjg7waaklfj3dl1h7vk5rwlfx0f18js6di9zrh4";
+  version = "0.5.11";
+  sha256 = "0fi8ccnhg0ckz5v3cgxhdd67p0v3g9yawin917ik4vxfbwz5j3v6";
   buildDepends = [ semigroups ];
   meta = {
     homepage = "http://github.com/ekmett/void";
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 0620fc7f88b9..edd1dfd19924 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.3.6";
-  sha256 = "0aw5m7apj7l6fjb0w59bmgiy4j0rmdwjil4ppgp5qz2q2njqbbnj";
+  version = "1.3.7";
+  sha256 = "06648wqiwlcsvd41qdqdbgn1zcq890iq39zsxi24vf4s8q7jnzyf";
   buildDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
     httpTypes liftedBase network networkConduit simpleSendfile
diff --git a/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch b/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch
new file mode 100644
index 000000000000..38551d24d43f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch
@@ -0,0 +1,13 @@
+diff -ubr wxc-0.90.0.4-orig/src/cpp/eljpen.cpp wxc-0.90.0.4/src/cpp/eljpen.cpp
+--- wxc-0.90.0.4-orig/src/cpp/eljpen.cpp	2012-07-03 12:12:17.000000000 +0200
++++ wxc-0.90.0.4/src/cpp/eljpen.cpp	2013-01-07 12:09:50.296417007 +0100
+@@ -156,7 +156,7 @@
+ EWXWEXPORT(void,wxPen_GetStipple)(void* self,wxBitmap* _ref)

+ {

+ #if defined(__WXGTK__)

+-    *_ref = NULL;

++    _ref = NULL;

+ #else

+     *_ref = *(((wxPen*)self)->GetStipple());

+ #endif

+Only in wxc-0.90.0.4/src/cpp: eljpen.cpp.orig
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index f439b9e1594a..74ca4f91d70f 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -10,7 +10,7 @@ cabal.mkDerivation (self: {
   postInstall = ''
     cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so
   '';
-
+  patches = [ ./fix-bogus-pointer-assignment.patch ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell C++ wrapper";
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 90888ce09616..42f7c60610ec 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, curl}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.9";
+  name = "libmicrohttpd-0.9.24";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "0059isy80cmxv44dhngnsc4g25kwxdcfis5yrva199r0vnb8ab6c";
+    sha256 = "0cp2ac6wbk493zslbvbmb5z96h18k496f9id8d2ji7hbdrwzfk6h";
   };
 
   buildInputs = [ curl ];
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index bf9927c93072..92ab8d67c91e 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "libvdpau-0.4.1";
+  name = "libvdpau-0.5";
   
   src = fetchurl {
     url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz";
-    sha256 = "16zmmbawfnvrxjqvgfwxjfd1wh3vyz2cmvxza6cgf4j9qs36y6q6";
+    sha256 = "0k2ydz4yp7zynlkpd1llfwax30xndwbca36z83ah1i4ldjw2gfhx";
   };
 
   buildInputs = [ pkgconfig libX11 ];
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index f692c14a6df1..0a2df0003847 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, unzip, ogre, cmake, ois, freetype, libuuid, boost}:
+{stdenv, fetchurl, unzip, ogre, cmake, ois, freetype, libuuid, boost, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "mygui-3.0.1";
+  name = "mygui-3.2.0";
   
   src = fetchurl {
-    url = mirror://sourceforge/my-gui/MyGUI_3.0.1_source.zip;
-    sha256 = "1n56kl8ykzgv4k2nm9317jg9b9x2qa3l9hamz11hzn1qqjn2z4ig";
+    url = mirror://sourceforge/my-gui/MyGUI_3.2.0.zip;
+    sha256 = "16m1xrhx13qbwnp9gds2amlwycq8q5npr0665hnknwsb6rph010p";
   };
 
   enableParallelBuilding = true;
 
-  buildInputs = [ unzip ogre cmake ois freetype libuuid boost ];
+  buildInputs = [ unzip ogre cmake ois freetype libuuid boost pkgconfig ];
 
   meta = {
     homepage = http://mygui.info/;
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 3a8e1c4ae556..6bb1916ed0fb 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -8,11 +8,11 @@
 , nvidia_cg_toolkit }:
 
 stdenv.mkDerivation {
-  name = "ogre-1.7.2";
+  name = "ogre-1.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ogre/1.7/ogre_src_v1-7-2.tar.bz2";
-    sha256 = "10q8jx842s4aws9py6q67rb4dh5vli5vvg54jl8manjb4f388jh5";
+    url = "mirror://sourceforge/ogre/1.8.1/ogre_src_v1-8-1.tar.bz2";
+    sha256 = "1avadx87sdfdk8165wlffnd5dzks694dcdnkg3ijap966k4qm46s";
   };
 
   cmakeFlags = [ "-DOGRE_INSTALL_SAMPLES=yes" ]
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index f9a611e4d4ce..1634be1363ae 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -37,7 +37,11 @@ stdenv.mkDerivation rec {
       mkdir -p $out/bin
       mkdir -p $out/lib
       mv -v out/${arch}.release/d8 $out/bin
-      mv -v out/${arch}.release/lib.target/libv8.so $out/lib
+
+      ${if stdenv.system == "x86_64-darwin" then
+        "mv -v out/${arch}.release/libv8.dylib $out/lib"
+      else
+        "mv -v out/${arch}.release/lib.target/libv8.so $out/lib"}
       mv -v include $out/
     '';
 }
diff --git a/pkgs/development/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index fb5d324d7789..fb5d324d7789 100644
--- a/pkgs/development/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
diff --git a/pkgs/development/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index f26db5c2cb73..f26db5c2cb73 100644
--- a/pkgs/development/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
diff --git a/pkgs/development/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index e8e1f919fe4e..e8e1f919fe4e 100644
--- a/pkgs/development/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
diff --git a/pkgs/development/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index d4df64e79c06..d4df64e79c06 100644
--- a/pkgs/development/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
diff --git a/pkgs/development/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index a76deb98b6ee..a76deb98b6ee 100644
--- a/pkgs/development/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
diff --git a/pkgs/development/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix
index 3cbe57238066..3cbe57238066 100644
--- a/pkgs/development/androidenv/emulate-app.nix
+++ b/pkgs/development/mobile/androidenv/emulate-app.nix
diff --git a/pkgs/development/androidenv/generate-addons.sh b/pkgs/development/mobile/androidenv/generate-addons.sh
index 9b2cf34eabcc..9b2cf34eabcc 100755
--- a/pkgs/development/androidenv/generate-addons.sh
+++ b/pkgs/development/mobile/androidenv/generate-addons.sh
diff --git a/pkgs/development/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl
index 0100b980a4ef..0100b980a4ef 100644
--- a/pkgs/development/androidenv/generate-addons.xsl
+++ b/pkgs/development/mobile/androidenv/generate-addons.xsl
diff --git a/pkgs/development/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh
index 983d8bde87b9..983d8bde87b9 100755
--- a/pkgs/development/androidenv/generate-platforms.sh
+++ b/pkgs/development/mobile/androidenv/generate-platforms.sh
diff --git a/pkgs/development/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl
index 1802ae63efe1..1802ae63efe1 100644
--- a/pkgs/development/androidenv/generate-platforms.xsl
+++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl
diff --git a/pkgs/development/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh
index dc28c27f45f0..dc28c27f45f0 100755
--- a/pkgs/development/androidenv/generate-sysimages.sh
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh
diff --git a/pkgs/development/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
index 1224ebbd4e8d..1224ebbd4e8d 100644
--- a/pkgs/development/androidenv/generate-sysimages.xsl
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
diff --git a/pkgs/development/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index 554996082909..554996082909 100644
--- a/pkgs/development/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
diff --git a/pkgs/development/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index f544fcc08bed..f544fcc08bed 100644
--- a/pkgs/development/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
diff --git a/pkgs/development/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index a1434bbe56c1..a1434bbe56c1 100644
--- a/pkgs/development/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
diff --git a/pkgs/development/androidenv/repository-7.xml b/pkgs/development/mobile/androidenv/repository-7.xml
index 7bbbaf1e3620..7bbbaf1e3620 100644
--- a/pkgs/development/androidenv/repository-7.xml
+++ b/pkgs/development/mobile/androidenv/repository-7.xml
diff --git a/pkgs/development/androidenv/support.nix b/pkgs/development/mobile/androidenv/support.nix
index 2e9690de7a26..2e9690de7a26 100644
--- a/pkgs/development/androidenv/support.nix
+++ b/pkgs/development/mobile/androidenv/support.nix
diff --git a/pkgs/development/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index b35b42989838..b35b42989838 100644
--- a/pkgs/development/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
new file mode 100644
index 000000000000..0fd4929bda76
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -0,0 +1,87 @@
+{stdenv, androidsdk, titaniumsdk, xcodewrapper}:
+{ appId, name, src, target, androidPlatformVersions ? [ "8" ]
+, release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
+, iosKeyFile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null
+}:
+
+assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null;
+assert (release && target == "iphone") -> iosKeyFile != null && iosCertificateName != null && iosCertificate != null && iosCertificatePassword != null;
+
+let
+  androidsdkComposition = androidsdk {
+    platformVersions = androidPlatformVersions;
+    useGoogleAPIs = true;
+  };
+in
+stdenv.mkDerivation {
+  inherit name src;
+  
+  buildInputs = [] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper;
+
+  buildPhase = ''
+    export HOME=$TMPDIR
+
+    mkdir -p $out
+    
+    ${if target == "android" then
+        if release then
+          "${titaniumsdk}/mobilesdk/*/*/android/builder.py distribute ${name} ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId} ${androidKeyStore} ${androidKeyStorePassword} ${androidKeyAlias} $out"
+        else
+          "${titaniumsdk}/mobilesdk/*/*/android/builder.py build ${name} ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId}"
+
+      else if target == "iphone" then
+        if release then
+          ''
+            export HOME=/Users/$(whoami)
+            export keychainName=$(basename $out)
+            
+            # Create a keychain with the component hash name (should always be unique)
+            security create-keychain -p "" $keychainName
+            security default-keychain -s $keychainName
+            security unlock-keychain -p "" $keychainName
+            security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
+
+            provisioningId=$(grep UUID -A1 -a ${iosKeyFile} | grep -o "[-A-Z0-9]\{36\}")
+   
+            # Ensure that the requested provisioning profile can be found
+            
+            if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles" ]
+            then
+                mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
+                cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
+            fi
+            
+            ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py adhoc 6.0 $(pwd) ${appId} ${name} "$provisioningId" "${iosCertificateName}" universal "$HOME/Library/Keychains/$keychainName"
+            
+            # Remove our generated keychain
+            
+            security delete-keychain $keychainName
+          ''
+        else
+          ''
+            # Copy all sources to the output store directory.
+            # Why? Debug application include *.js files, which are symlinked into their
+            # sources. If they are not copied, we have dangling references to the
+            # temp folder.
+            
+            cp -av * $out
+            cd $out
+            ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py build 6.0 $(pwd) ${appId} ${name}
+          ''
+
+      else throw "Target: ${target} is not supported!"}
+  '';
+  
+  installPhase = ''
+    mkdir -p $out
+    
+    ${if target == "android" && release then ""
+      else
+        if target == "android" then
+          ''cp $(ls build/android/bin/*.apk | grep -v '\-unsigned.apk') $out''
+        else if target == "iphone" && release then
+           "cp -av build/iphone/build/* $out"
+        else if target == "iphone" then ""
+        else throw "Target: ${target} is not supported!"}
+  '';
+}
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
new file mode 100644
index 000000000000..8117b452d70b
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -0,0 +1,18 @@
+{pkgs, pkgs_i686}:
+
+rec {
+  androidenv = pkgs.androidenv;
+
+  xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv else null;
+
+  titaniumsdk = import ./titaniumsdk.nix {
+    inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk;
+  };
+  
+  buildApp = import ./build-app.nix {
+    inherit (pkgs) stdenv;
+    inherit (androidenv) androidsdk;
+    inherit (xcodeenv) xcodewrapper;
+    inherit titaniumsdk;
+  };
+}
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
new file mode 100644
index 000000000000..1526d4c43590
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -0,0 +1,38 @@
+let
+  pkgs = import <nixpkgs> {};
+  pkgs_i686 = import <nixpkgs> { system = "i686-linux"; };
+in
+rec {
+  titaniumenv = import ./.. {
+    inherit pkgs pkgs_i686;
+  };
+  
+  kitchensink_android = import ./kitchensink {
+    inherit titaniumenv;
+    inherit (pkgs) fetchgit;
+    target = "android";
+  };
+  
+  kitchensink_iphone = import ./kitchensink {
+    inherit titaniumenv;
+    inherit (pkgs) fetchgit;
+    target = "iphone";
+  };
+  
+  emulate_kitchensink = import ./emulate-kitchensink {
+    inherit (titaniumenv) androidenv;
+    kitchensink = kitchensink_android;
+  };
+  
+  simulate_kitchensink_iphone = import ./simulate-kitchensink {
+    inherit (titaniumenv) xcodeenv;
+    kitchensink = kitchensink_iphone;
+    device = "iPhone";
+  };
+  
+  simulate_kitchensink_ipad = import ./simulate-kitchensink {
+    inherit (titaniumenv) xcodeenv;
+    kitchensink = kitchensink_iphone;
+    device = "iPad";
+  };
+}
diff --git a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
new file mode 100644
index 000000000000..817aa5ab37f5
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
@@ -0,0 +1,10 @@
+{androidenv, kitchensink}:
+
+androidenv.emulateApp {
+  name = "kitchensink";
+  app = kitchensink;
+  platformVersion = "8";
+  useGoogleAPIs = true;
+  package = "com.appcelerator.kitchensink";
+  activity = "KitchensinkActivity";
+}
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
new file mode 100644
index 000000000000..8e2b1df264a6
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -0,0 +1,24 @@
+{titaniumenv, fetchgit, target, androidPlatformVersions ? [ "8" ]}:
+
+titaniumenv.buildApp {
+  name = "KitchenSink";
+  appId = "com.appcelerator.kitchensink";
+  src = fetchgit {
+    url = https://github.com/appcelerator/KitchenSink.git;
+    rev = "0f2c0b818034cc4e6867f0aa2afc98bf77dbff02";
+    sha256 = "de31496cfb5625d7a193bbbc32a8021e4094ffab20ae13ef2e1583b0394d7c60";
+  };
+  
+  inherit target androidPlatformVersions;
+  
+  /*release = true;
+  androidKeyStore = /home/sander/keystore;
+  androidKeyAlias = "sander";
+  androidKeyStorePassword = "foobar";*/
+  
+  /*release = true;
+  iosKeyFile = /Users/sander/Downloads/profile.mobileprovision;
+  iosCertificateName = "My Company";
+  iosCertificate = /Users/sander/Downloads/c.p12;
+  iosCertificatePassword = "";*/
+}
diff --git a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
new file mode 100644
index 000000000000..70ec534f6ae2
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
@@ -0,0 +1,8 @@
+{xcodeenv, kitchensink, device}:
+
+xcodeenv.simulateApp {
+  name = "kitchensink";
+  app = kitchensink;
+  inherit device;
+  baseDir = "build/iphone/build/Debug-iphonesimulator";
+}
diff --git a/pkgs/development/mobile/titaniumenv/fixnativelibs.sed b/pkgs/development/mobile/titaniumenv/fixnativelibs.sed
new file mode 100644
index 000000000000..76b330136b66
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/fixnativelibs.sed
@@ -0,0 +1 @@
+s|\t\t\t\t\t\t\t\tapk_zip.write(native_lib, path_in_zip)|\t\t\t\t\t\t\t\tinfo = zipfile.ZipInfo(path_in_zip)\n\t\t\t\t\t\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\t\t\t\t\t\tinfo.create_system = 3\n\t\t\t\t\t\t\t\tf = open(native_lib)\n\t\t\t\t\t\t\t\tapk_zip.writestr(info, f.read())\n\t\t\t\t\t\t\t\tf.close()|
diff --git a/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed b/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed
new file mode 100644
index 000000000000..c849aaa611c6
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed
@@ -0,0 +1 @@
+s|apk_zip.write(os.path.join(lib_source_dir, fname), lib_dest_dir + fname)|info = zipfile.ZipInfo(lib_dest_dir + fname)\n\t\t\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\t\t\tinfo.create_system = 3\n\t\t\t\t\tf = open(os.path.join(lib_source_dir, fname))\n\t\t\t\t\tapk_zip.writestr(info, f.read())\n\t\t\t\t\tf.close()|
diff --git a/pkgs/development/mobile/titaniumenv/fixtiverify.sed b/pkgs/development/mobile/titaniumenv/fixtiverify.sed
new file mode 100644
index 000000000000..8e1114769c89
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/fixtiverify.sed
@@ -0,0 +1 @@
+s|apk_zip.write(os.path.join(lib_source_dir, 'libtiverify.so'), lib_dest_dir + 'libtiverify.so')|info = zipfile.ZipInfo(lib_dest_dir + 'libtiverify.so')\n\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\tinfo.create_system = 3\n\t\t\tf = open(os.path.join(lib_source_dir, 'libtiverify.so'))\n\t\t\tapk_zip.writestr(info, f.read())\n\t\t\tf.close()|
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk.nix
new file mode 100644
index 000000000000..5e1943b1bdc0
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk.nix
@@ -0,0 +1,57 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "titanium-mobilesdk-2.1.5.v20121112144658";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.5.v20121112144658-linux.zip;
+    sha1 = "79f073d11ee893c508c5aa675a3126501dd385fd";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.5.v20121112144658-osx.zip;
+    sha1 = "6a9a726882222d1615de332aa1ca608c15564e1c";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    yes y | unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd mobilesdk/*/*/android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixselfruntimev8.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    wrapProgram `pwd`/builder.py \
+      --prefix PYTHONPATH : ${python.modules.sqlite3}/lib/python*/site-packages \
+      --prefix PATH : ${jdk}/bin \
+      --prefix JAVA_HOME : ${jdk}
+  '';
+}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
new file mode 100644
index 000000000000..3ac9e4bb9581
--- /dev/null
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -0,0 +1,92 @@
+{stdenv, xcodewrapper}:
+{ name
+, src
+, target ? null
+, configuration ? null
+, scheme ? null
+, sdk ? null
+, arch ? null
+, xcodeFlags ? ""
+, release ? false
+, codeSignIdentity ? null
+, certificateFile ? null
+, certificatePassword ? null
+, provisioningProfile ? null
+, generateIPA ? false
+, generateXCArchive ? false
+}:
+
+assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null;
+
+let
+  # Set some default values here
+  
+  _target = if target == null then name else target;
+  _scheme = if scheme == null then name else scheme;
+
+  _configuration = if configuration == null
+    then
+      if release then "Release" else "Debug"
+    else configuration;
+    
+  _arch = if arch == null
+    then
+      if release then "armv7" else "i386"
+    else arch;
+
+  _sdk = if sdk == null
+    then
+      if release then "iphoneos6.0" else "iphonesimulator6.0"
+    else sdk;
+
+  # The following is to prevent repetition
+  deleteKeychain = "security delete-keychain $keychainName";
+in
+stdenv.mkDerivation {
+  inherit name src;
+  buildInputs = [ xcodewrapper ];
+  buildPhase = ''
+    ${stdenv.lib.optionalString release ''
+        export HOME=/Users/$(whoami)
+        keychainName="$(basename $out)"
+        
+        # Create a keychain
+        security create-keychain -p "" $keychainName
+        security default-keychain -s $keychainName
+        security unlock-keychain -p "" $keychainName
+        
+        # Import the certificate into the keychain
+        security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A 
+
+        # Determine provisioning ID
+        PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Z0-9]\{36\}")
+
+        if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ]
+        then
+            # Copy provisioning profile into the home directory
+            mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
+            cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision"
+        fi
+        
+        # Check whether the identity can be found
+        security find-identity -p codesigning $keychainName
+      ''}
+
+    # Do the building
+    xcodebuild -target ${_target} -configuration ${_configuration} -scheme ${_scheme} -sdk ${_sdk} -arch ${_arch} ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
+    
+    ${stdenv.lib.optionalString release ''
+      ${stdenv.lib.optionalString generateIPA ''
+        # Produce an IPA file
+        xcrun -sdk iphoneos PackageApplication -v $out/*.app -o $out/${name}.ipa
+      ''}
+      
+      # Delete our temp keychain
+      ${deleteKeychain}
+    ''}
+  '';
+  
+  failureHook = stdenv.lib.optionalString release deleteKeychain;
+  
+  installPhase = "true";
+}
diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix
new file mode 100644
index 000000000000..7f834688e636
--- /dev/null
+++ b/pkgs/development/mobile/xcodeenv/default.nix
@@ -0,0 +1,15 @@
+{stdenv}:
+
+rec {
+  xcodewrapper = import ./xcodewrapper.nix {
+    inherit stdenv;
+  };
+
+  buildApp = import ./build-app.nix {
+    inherit stdenv xcodewrapper;
+  };
+
+  simulateApp = import ./simulate-app.nix {
+    inherit stdenv xcodewrapper;
+  };
+}
diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix
new file mode 100644
index 000000000000..456732abe1f4
--- /dev/null
+++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix
@@ -0,0 +1,17 @@
+{stdenv, xcodewrapper}:
+{name, app, device ? "iPhone", baseDir ? ""}:
+
+stdenv.mkDerivation {
+  inherit name;
+  buildCommand = ''
+    ensureDir $out/bin
+    cat > $out/bin/run-test-simulator << "EOF"
+    #! ${stdenv.shell} -e
+
+    cd ${app}/${baseDir}/${name}.app
+    "$(readlink "${xcodewrapper}/bin/iPhone Simulator")" -SimulateApplication ./${name} -SimulateDevice '${device}'
+    EOF
+    chmod +x $out/bin/run-test-simulator
+  '';
+}
+
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
new file mode 100644
index 000000000000..39804b1a248b
--- /dev/null
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -0,0 +1,24 @@
+{stdenv}:
+
+let
+  version = "4.5.2";
+in
+stdenv.mkDerivation {
+  name = "xcode-wrapper-"+version;
+  buildCommand = ''
+    ensureDir $out/bin
+    cd $out/bin
+    ln -s /usr/bin/xcode-select
+    ln -s /usr/bin/xcodebuild
+    ln -s /usr/bin/xcrun
+    ln -s /usr/bin/security
+    ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator"
+
+    # Check if we have the xcodebuild version that we want
+    if [ -z "$($out/bin/xcodebuild -version | grep ${version})" ]
+    then
+        echo "We require xcodebuild version: ${version}"
+        exit 1
+    fi
+  '';
+}
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index e5f57ec9d368..d04d1a1b4c9f 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -37,6 +37,7 @@
       runHook postCheck
     ''
 
+, preInstall ? ""
 , postInstall ? ""
 
 , ... } @ attrs:
@@ -63,7 +64,7 @@ python.stdenv.mkDerivation (attrs // {
     ${preConfigure}
   '';
 
-  installPhase = ''
+  installPhase = preInstall + ''
     mkdir -p "$out/lib/${python.libPrefix}/site-packages"
 
     echo "installing \`${name}' with \`easy_install'..."
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index bb6d64e54f08..4cbd57a8c5f9 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.39";
-  sha256 = "009qf441nri8pxzz22xvpz44dhspr9bkh5diaz29abimj10fm375";
+  version = "1.8.40";
+  sha256 = "18w4dhxv7c1y4x1agdjq99ss5i77jnm8p9vg3jp9gvhk2arhcl0x";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 48d1c3069932..533411b92de3 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     "--shared-v8-libpath=${v8}/lib"
   ];
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch;
+  #patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch;
 
   prePatch = ''
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 38a32da9537d..59423d7a5a66 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, openssl, flex, bison, miscfiles}:
+{stdenv, fetchurl, ncurses, openssl, flex, bison, less, miscfiles}:
 
 stdenv.mkDerivation {
   name = "bsd-games-2.17";
@@ -26,12 +26,19 @@ stdenv.mkDerivation {
     bsd_games_cfg_fortune_dir=$out/share/games/fortune
     bsd_games_cfg_quiz_dir=$out/share/games/quiz
     bsd_games_cfg_gamesdir=$out/bin
+    bsd_games_cfg_sbindir=$out/bin
+    bsd_games_cfg_usrbindir=$out/bin
+    bsd_games_cfg_libexecdir=$out/lib/games/dm
+    bsd_games_cfg_docdir=$out/share/doc/bsd-games
+    bsd_games_cfg_sharedir=$out/share/games
+    bsd_games_cfg_varlibdir=.
     bsd_games_cfg_non_interactive=y
     bsd_games_cfg_no_build_dirs="dab hack phantasia sail"
     bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words
+    bsd_games_cfg_pager=${less}
     EOF
 
-    sed -e s/getline/sdgames_local_getline/g -i $(grep getline -rl .)
+    sed -e s/getline/bsdgames_local_getline/g -i $(grep getline -rl .)
   '';
 
   postConfigure = ''
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 69609b1bbfb4..31fd25a5150f 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -1,15 +1,33 @@
-{ fetchurl, stdenv, cmake, boost, ogre, myguiSvn, ois, SDL, libvorbis, pkgconfig
-, makeWrapper }:
+{ fetchgit, stdenv, cmake, boost, ogre, mygui, ois, SDL, libvorbis, pkgconfig
+, makeWrapper, enet, libXcursor }:
 
 stdenv.mkDerivation rec {
-  name = "stunt-rally-1.4";
+  name = "stunt-rally-1.8";
 
-  src = fetchurl {
-    url = mirror://sourceforge/stuntrally/StuntRally-1.4-sources.tar.bz2;
-    sha256 = "1am5af4l1qliyrq1183sqvwzqwcjx0v6gkzsxhfmk6ygp7yhw7kq";
+  src = fetchgit {
+    url = git://github.com/stuntrally/stuntrally.git;
+    rev = "refs/tags/1.8";
+    sha256 = "0p8p83xx8q33kymsqnmxqca4jdfyg9rwrsac790z56gdbc7gnahm";
   };
 
-  buildInputs = [ cmake boost ogre myguiSvn ois SDL libvorbis pkgconfig makeWrapper ];
+  tracks = fetchgit {
+    url = git://github.com/stuntrally/tracks.git;
+    rev = "refs/tags/1.8";
+    sha256 = "1gcrs21nn0v3hvhrw8dc0wh1knn5qh66cjx7a1igiciiadmi2s3l";
+  };
+
+  patchPhase = ''
+    sed -i 's/materials/materials material_templates/' data/CMakeLists.txt
+  '';
+
+  preConfigure = ''
+    mkdir data/tracks
+    cp -R $tracks/* data/tracks
+  '';
+
+  buildInputs = [ cmake boost ogre mygui ois SDL libvorbis pkgconfig makeWrapper enet
+    libXcursor
+  ];
 
   # I think they suppose cmake should give them OGRE_PLUGIN_DIR defined, but
   # the cmake code I saw is not ready for that. Therefore, we use the env var.
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 0c92ffbcdbb1..46f22d332ccb 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,24 +1,27 @@
-{ fetchurl, stdenv, plib, SDL, openal, freealut, mesa
-, libvorbis, libogg, gettext, irrlicht3843, libXxf86vm, curl, pkgconfig
-, fribidi }:
+{ fetchurl, cmake, stdenv, plib, SDL, openal, freealut, mesa
+, libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig
+, fribidi, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "supertuxkart-0.7.3";
+  name = "supertuxkart-0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/supertuxkart/${name}-src.tar.bz2";
-    sha256 = "0njrs2qyhbiqdbsqk9jx0sl8nhdwmipf1i91k23rv1biwrim9yq7";
+    sha256 = "12sbml4wxg2x2wgnnkxfisj96a9gcsaj3fj27kdk8yj524ikv7xr";
   };
 
   buildInputs = [
-    plib SDL openal freealut mesa libvorbis libogg gettext irrlicht3843
-    libXxf86vm curl pkgconfig fribidi
+    plib SDL openal freealut mesa libvorbis libogg gettext
+    libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake
   ];
 
-  configureFlags = [ "--with-irrlicht=${irrlicht3843}" ];
+  enableParallelBuilding = true;
 
-  postInstall = ''
-    mv $out/games $out/bin
+  preConfigure = ''
+    echo Building internal Irrlicht
+    cd lib/irrlicht/source/Irrlicht/
+    NDEBUG=1 make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
+    cd -
   '';
 
   meta = {
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
index b065a50ce004..bff4ffa3b196 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -10,6 +10,7 @@
   andres = "Andres Loeh <ksnixos@andres-loeh.de>";
   antono = "Antono Vasiljev <self@antono.info>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
+  aszlig = "aszlig <aszlig@redmoonstudios.org>";
   bbenoist = "Baptist BENOIST <return_0@live.com>";
   bjg = "Brian Gough <bjg@gnu.org>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 401c9da575bf..f4968158dd28 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "0c14paj2j3sswl6mpjjmy9bxnpijk095ks58x9dsycx9c8x0gqvm";
+    sha256 = "0l5kr3iq1lkv3gcw8ljzfjcfnsh9b5crdd4i0dzwdk1i3bfw2xxc";
   };
 
   gecko = fetchurl {
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    version = "1.5.20";
+    version = "1.5.21";
     homepage = "http://www.winehq.org/";
     license = "LGPL";
     description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix
index 0e2df1e25fb0..39ba5dc3973e 100644
--- a/pkgs/os-specific/linux/atop/default.nix
+++ b/pkgs/os-specific/linux/atop/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "1.27-3";
+  version = "2.0.2";
   name = "atop-${version}";
 
   src = fetchurl {
     url = "http://www.atoptool.nl/download/atop-${version}.tar.gz";
-    sha256 = "bce36e0b50f0e03995d86d25dbc9ab4a289f6755ce3558844f96d41b0bba563f";
+    sha256 = "029lfa2capz1lg3m3rnyrgb8v6jm4znin84vjh2f0zkwvvhdn856";
   };
 
   buildInputs = [zlib ncurses];
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 9e762f649041..6d612f8cdbdc 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt }:
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.5.0";
+  name = "cryptsetup-1.5.1";
 
   src = fetchurl {
     url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "1l7qcmaq092k28k8sbw845hs6jwn0f05h68rmb7iwh52232m8wa0";
+    sha256 = "0dib3nw6ifd7d7hr9k4iyaha3hz0pkzairqa38l3fndkr9w3zlhn";
   };
 
   configureFlags = "--enable-cryptsetup-reencrypt";
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index be943f5df9e0..8f60ff2554bf 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libcap, perl, docbook2x, docbook_xml_dtd_45 }:
+{ stdenv, fetchurl, libcap, apparmor, perl, docbook2x, docbook_xml_dtd_45 }:
 
 stdenv.mkDerivation rec {
-  name = "lxc-0.8.0-rc2";
+  name = "lxc-0.8.0";
 
   src = fetchurl {
     url = "http://lxc.sf.net/download/lxc/${name}.tar.gz";
-    sha256 = "1f0ee0464507d26e494784e841b68c765ecd3abc5976012e226f69d1aa361bef";
+    sha256 = "0b3912mal1n56i1v5f3aplm7shqnlz24p0znpva27r4l1drk7j7a";
   };
 
-  buildInputs = [ libcap perl docbook2x ];
+  buildInputs = [ libcap apparmor perl docbook2x ];
 
   patches = [
    ./dont-run-ldconfig.patch
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 124c8955e26d..98a03002fc2a 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -27,19 +27,23 @@ buildPhase() {
 installPhase() {
 
     # Install libGL and friends.
-    mkdir -p $out/lib
-    cp -prd libcuda.* libGL.* libnvidia-cfg.* libnvidia-compiler.* libnvidia-tls.* libnvidia-glcore.* libOpenCL.* libvdpau_nvidia* tls $out/lib/
-
-    ln -snf libnvidia-glcore.so.$versionNumber $out/lib/libnvidia-glcore.so
-    ln -snf libnvidia-glcore.so.$versionNumber $out/lib/libnvidia-glcore.so.1
-    ln -snf libGL.so.$versionNumber $out/lib/libGL.so
-    ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1
-    ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1
-    ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1
-    ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1
-    ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1
-    ln -snf libcuda.so.1 $out/lib/libcuda.so
-    ln -snf libvdpau_nvidia.so.$versionNumber $out/lib/libvdpau_nvidia.so
+    mkdir -p $out/lib/vendors
+
+    for f in \
+      libcuda libGL libnvcuvid libnvidia-cfg libnvidia-compiler \
+      libnvidia-encode libnvidia-glcore libnvidia-ml libnvidia-opencl \
+      libnvidia-tls libOpenCL libnvidia-tls libvdpau_nvidia
+    do
+      cp -prd $f.* $out/lib/
+      ln -snf $f.so.$versionNumber $out/lib/$f.so
+      ln -snf $f.so.$versionNumber $out/lib/$f.so.1
+    done
+
+    cp -p nvidia.icd $out/lib/vendors/
+    cp -prd tls $out/lib/
+    cp -prd libOpenCL.so.1.0.0 $out/lib/
+    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so
+    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so.1
 
     patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
     patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
diff --git a/pkgs/os-specific/linux/systemd/reexec.patch b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
index ff13a44ca0b2..9afa7543e571 100644
--- a/pkgs/os-specific/linux/systemd/reexec.patch
+++ b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
@@ -1,10 +1,18 @@
-Make "systemctl daemon-reexec" do the right thing on NixOS.
+From 0085f49cd0ba889e3db9102f328f6044ae3a2c18 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 15:44:33 +0100
+Subject: [PATCH 1/6] Make "systemctl daemon-reexec" do the right thing on
+ NixOS
+
+---
+ src/core/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/core/main.c b/src/core/main.c
-index 04fc0b3..0f5b0e9 100644
+index 1ee3c9c..1686f60 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1819,7 +1819,7 @@ finish:
+@@ -1858,7 +1858,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
@@ -13,3 +21,6 @@ index 04fc0b3..0f5b0e9 100644
                          if (switch_root_dir)
                                  args[i++] = "--switched-root";
                          args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/ignore-duplicates.patch b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
index 764eead54eac..76160a1f7cc1 100644
--- a/pkgs/os-specific/linux/systemd/ignore-duplicates.patch
+++ b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
@@ -1,10 +1,17 @@
-Ignore duplicate paths in "systemctl start".
+From 2b0a9106d3aabb365af0cc34b595a1e697120f37 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 15:45:01 +0100
+Subject: [PATCH 2/6] Ignore duplicate paths in "systemctl start"
+
+---
+ src/systemctl/systemctl.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
 
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index a4290c4..d3ac3ad 100644
+index 2ebfff8..9f99df5 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
-@@ -1596,8 +1596,11 @@ static int start_unit_one(
+@@ -1591,8 +1591,11 @@ static int start_unit_one(
  
                  r = set_put(s, p);
                  if (r < 0) {
@@ -18,3 +25,6 @@ index a4290c4..d3ac3ad 100644
                  }
  
                  p = NULL;
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
index 4646ed0e44ca..a16a2672feb5 100644
--- a/pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch
+++ b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -1,9 +1,16 @@
-Do start device units for uninitialised encrypted devices, because the
-service that initialises the filesystem depends on the appearance of
-the device unit.  Also, this makes more sense to me: the device is
-ready; it's the filesystem that's not, but taking care of that is the
-responsibility of the mount unit.  (However, this ignores the fsck
-unit, so it's not perfect...)
+From a013beb84f135cebf1c8c9363d5676c1c0a6be7a Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 15:46:30 +0100
+Subject: [PATCH 3/6] Start device units for uninitialised encrypted devices
+
+This is necessary because the NixOS service that initialises the
+filesystem depends on the appearance of the device unit.  Also, this
+makes more sense to me: the device is ready; it's the filesystem
+that's not, but taking care of that is the responsibility of the mount
+unit.  (However, this ignores the fsck unit, so it's not perfect...)
+---
+ rules/99-systemd.rules.in | 4 ----
+ 1 file changed, 4 deletions(-)
 
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
 index d17bdd9..040b10e 100644
@@ -20,3 +27,6 @@ index d17bdd9..040b10e 100644
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
new file mode 100644
index 000000000000..beab35d63a06
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
@@ -0,0 +1,74 @@
+From b40d8783f94666035baae567882c0d4be82cda01 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 15:48:19 +0100
+Subject: [PATCH 4/6] Set switch-to-configuration hints for some units
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Target units like local-fs.target need ‘X-StopOnReconfiguration=yes’
+to ensure dependencies *on* that target properly take into account the
+dependencies *of* the target.
+
+‘X-RestartIfChanged=no’ is necessary for systemd-journald.service
+because restarting it causes services connected to journald to stop
+logging.
+
+‘X-RestartIfChanged=no’ is necessary for systemd-user-sessions.service
+to prevent all user sessions from being killed when this unit changes.
+---
+ units/local-fs.target                  | 2 ++
+ units/remote-fs.target                 | 2 ++
+ units/systemd-journald.service.in      | 5 +++++
+ units/systemd-user-sessions.service.in | 3 +++
+ 4 files changed, 12 insertions(+)
+
+diff --git a/units/local-fs.target b/units/local-fs.target
+index dd92b17..dfcbc7b 100644
+--- a/units/local-fs.target
++++ b/units/local-fs.target
+@@ -10,3 +10,5 @@ Description=Local File Systems
+ Documentation=man:systemd.special(7)
+ OnFailure=emergency.target
+ OnFailureIsolate=yes
++
++X-StopOnReconfiguration=yes
+diff --git a/units/remote-fs.target b/units/remote-fs.target
+index 9e68878..85a53d7 100644
+--- a/units/remote-fs.target
++++ b/units/remote-fs.target
+@@ -9,5 +9,7 @@
+ Description=Remote File Systems
+ Documentation=man:systemd.special(7)
+ 
++X-StopOnReconfiguration=yes
++
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
+index ab2e50c..9563a7d 100644
+--- a/units/systemd-journald.service.in
++++ b/units/systemd-journald.service.in
+@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C
+ # Increase the default a bit in order to allow many simultaneous
+ # services being run since we keep one fd open per service.
+ LimitNOFILE=16384
++
++# Don't restart journald, since that causes services connected to
++# journald to stop logging (see
++# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
++X-RestartIfChanged=no
+diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in
+index 0869e73..b6ed958 100644
+--- a/units/systemd-user-sessions.service.in
++++ b/units/systemd-user-sessions.service.in
+@@ -15,3 +15,6 @@ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=@rootlibexecdir@/systemd-user-sessions start
+ ExecStop=@rootlibexecdir@/systemd-user-sessions stop
++
++# Restart kills all active sessions.
++X-RestartIfChanged=no
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
new file mode 100644
index 000000000000..4403e6f56aaf
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
@@ -0,0 +1,33 @@
+From c5c8ac3a0420fb42ba2f629368fd5bd6ea1e753b Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 15:56:03 +0100
+Subject: [PATCH 5/6] sysinit.target: Drop the dependency on local-fs.target
+ and swap.target
+
+Having all services with DefaultDependencies=yes depend on
+local-fs.target is annoying, because some of those services might be
+necessary to mount local filesystems.  For instance, Charon's
+send-keys feature requires sshd to be running in order to receive LUKS
+encryption keys, which in turn requires dhcpcd, and so on.  So we drop
+this dependency (and swap.target as well for consistency).  If
+services require a specific mount, they should use RequiresMountsFor
+in any case.
+---
+ units/sysinit.target | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/units/sysinit.target b/units/sysinit.target
+index 8f4fb8f..e0f0147 100644
+--- a/units/sysinit.target
++++ b/units/sysinit.target
+@@ -9,6 +9,5 @@
+ Description=System Initialization
+ Documentation=man:systemd.special(7)
+ Conflicts=emergency.service emergency.target
+-Wants=local-fs.target swap.target
+-After=local-fs.target swap.target emergency.service emergency.target
++After=emergency.service emergency.target
+ RefuseManualStart=yes
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
new file mode 100644
index 000000000000..250a751fe0c0
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
@@ -0,0 +1,38 @@
+From d3caa154098e215145679f38fa92a8bd482107be Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Tue, 8 Jan 2013 18:36:28 +0100
+Subject: [PATCH 6/6] Don't call "plymouth quit"
+
+NixOS doesn't use Plymouth (yet).
+---
+ units/emergency.service.in | 1 -
+ units/rescue.service.m4.in | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/units/emergency.service.in b/units/emergency.service.in
+index 442f0e0..6b7eafd 100644
+--- a/units/emergency.service.in
++++ b/units/emergency.service.in
+@@ -15,7 +15,6 @@ Before=shutdown.target
+ [Service]
+ Environment=HOME=/root
+ WorkingDirectory=/root
+-ExecStartPre=-/bin/plymouth quit
+ ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
+ ExecStart=-/sbin/sulogin
+ ExecStopPost=@SYSTEMCTL@ --fail --no-block default
+diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
+index 269797a..2c640f4 100644
+--- a/units/rescue.service.m4.in
++++ b/units/rescue.service.m4.in
+@@ -16,7 +16,6 @@ Before=shutdown.target
+ [Service]
+ Environment=HOME=/root
+ WorkingDirectory=/root
+-ExecStartPre=-/bin/plymouth quit
+ ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.'
+ ExecStart=-/sbin/sulogin
+ ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
+-- 
+1.8.0.1
+
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index a207213d12d5..93471d497c6e 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,22 +1,25 @@
 { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod
 , xz, pam, acl, cryptsetup, libuuid, m4, utillinux
-, glib, kbd, libxslt, coreutils, libgcrypt
+, glib, kbd, libxslt, coreutils, libgcrypt, sysvtools
 }:
 
 assert stdenv.gcc.libc or null != null;
 
 stdenv.mkDerivation rec {
-  name = "systemd-196";
+  name = "systemd-197";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "1gz4an5havzwzp7xsinn01prwvf51hgipb8pbciri0fxlmcadm3b";
+    sha256 = "1dbljyyc3w4a1af99f15f3sqnfx7mfmc5x5hwxb70kg23ai7x1g6";
   };
 
   patches =
-    [ ./reexec.patch
-      ./ignore-duplicates.patch
-      ./crypt-devices-are-ready.patch
+    [ ./0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
+      ./0002-Ignore-duplicate-paths-in-systemctl-start.patch
+      ./0003-Start-device-units-for-uninitialised-encrypted-devic.patch
+      ./0004-Set-switch-to-configuration-hints-for-some-units.patch
+      ./0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
+      ./0006-Don-t-call-plymouth-quit.patch
     ];
 
   buildInputs =
@@ -27,7 +30,6 @@ stdenv.mkDerivation rec {
   configureFlags =
     [ "--localstatedir=/var"
       "--sysconfdir=/etc"
-      "--with-distro=other"
       "--with-rootprefix=$(out)"
       "--with-rootprefix=$(out)"
       "--with-dbusinterfacedir=$(out)/share/dbus-1/interfaces"
@@ -41,20 +43,25 @@ stdenv.mkDerivation rec {
   preConfigure =
     ''
       # FIXME: patch this in systemd properly (and send upstream).
-      for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c; do
+      # FIXME: use sulogin from util-linux once updated.
+      for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in; do
         test -e $i
         substituteInPlace $i \
           --replace /bin/mount ${utillinux}/bin/mount \
           --replace /bin/umount ${utillinux}/bin/umount \
           --replace /sbin/swapon ${utillinux}/sbin/swapon \
           --replace /sbin/swapoff ${utillinux}/sbin/swapoff \
-          --replace /sbin/fsck ${utillinux}/sbin/fsck
+          --replace /sbin/fsck ${utillinux}/sbin/fsck \
+          --replace /bin/echo ${coreutils}/bin/echo \
+          --replace /sbin/sulogin ${sysvtools}/sbin/sulogin
       done
 
       substituteInPlace src/journal/catalog.c \
         --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
     '';
 
+  PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python
+
   NIX_CFLAGS_COMPILE =
     [ "-DKBD_LOADKEYS=\"${kbd}/bin/loadkeys\""
       "-DKBD_SETFONT=\"${kbd}/bin/setfont\""
diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix
index 7b3ea62ea2df..99aebd11667c 100644
--- a/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/pkgs/os-specific/linux/sysvinit/default.nix
@@ -4,12 +4,12 @@ let version = "2.88dsf"; in
 
 stdenv.mkDerivation {
   name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version;
-  
+
   src = fetchurl {
     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.bz2";
     sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0";
   };
-  
+
   prePatch = ''
     # Patch some minimal hard references, so halt/shutdown work
     sed -i -e "s,/sbin/,$out/sbin/," src/halt.c src/init.c src/paths.h
@@ -27,16 +27,17 @@ stdenv.mkDerivation {
     '';
 
   postInstall = stdenv.lib.optionalString withoutInitTools
-    ''  
+    ''
       mv $out/sbin/killall5 $out/bin
       ln -sf killall5 $out/bin/pidof
-      rm -rf $out/sbin
+      shopt -s extglob
+      rm -rf $out/sbin/!(sulogin)
       rm -rf $out/include
       rm -rf $out/share/man/man5
       rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5')
       rm $out/bin/{mountpoint,wall} $out/share/man/man1/{mountpoint.1,wall.1}
     '';
-    
+
   meta = {
     homepage = http://www.nongnu.org/sysvinit/;
     description = "Utilities related to booting and shutdown";
diff --git a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
index e92b7f8003d8..876daa7a1ecb 100644
--- a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
+++ b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
@@ -3,7 +3,7 @@
 , autoconf
 , automake
 , libtool
-, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto
+, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto, pixman
 , utilmacros
 , libdrm
 , pkgconfig }:
@@ -21,12 +21,14 @@ stdenv.mkDerivation {
     autoconf
     automake
     libtool
-    xorgserver xproto fontsproto xf86driproto renderproto videoproto
+    xorgserver xproto fontsproto xf86driproto renderproto videoproto pixman
     utilmacros
     libdrm
     pkgconfig
   ];
 
+  NIX_CFLAGS_COMPILE = "-I${pixman}/include/pixman-1";
+
   preConfigure = "autoreconf -vfi";
 
   meta = {
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 08c53182dd5d..059b1c1a217d 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -75,4 +75,10 @@ stdenv.mkDerivation rec {
       cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
     '' # */
     + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
+
+  meta = {
+    homepage = http://www.samba.org/;
+    description = "The standard Windows interoperability suite of programs for Linux and Unix";
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index 177daf7b8603..7062053703e8 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper }:
+{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper
+, par2cmdline, par2Support ? false }:
+
+assert par2Support -> par2cmdline != null;
 
 with stdenv.lib;
 
@@ -26,6 +29,8 @@ stdenv.mkDerivation {
       substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
     done
     substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
+  '' + optionalString par2Support ''
+    substituteInPlace cmd/fsck-cmd.py --replace "['par2'" "['${par2cmdline}/bin/par2'"
   '';
 
   makeFlags = [
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
new file mode 100644
index 000000000000..e83ad7933f10
--- /dev/null
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, python, sysstat }:
+
+stdenv.mkDerivation rec {
+    name = "dd-agent-ab14fde6f9";
+
+    src = fetchgit {
+      url = git://github.com/DataDog/dd-agent.git;
+      rev = "ab14fde6f9b9f6cb3544f643cece97ef18a0d770";
+      sha256 = "2615a2f122ac97363eba8973dfc6c2ce81cb61a26eb61c2988faad2abd05efc5";
+    };
+
+    buildInputs = [ python ];
+
+    postUnpack = "export sourceRoot=$sourceRoot/packaging";
+
+    makeFlags = [ "BUILD=$(out)" ];
+
+    installTargets = [ "install_base" "install_full" ];
+
+    postInstall = ''
+      mv $out/usr/* $out
+      rmdir $out/usr
+    '';
+
+    meta = {
+      description = "Event collector for the DataDog analysis service";
+
+      homepage = http://www.datadoghq.com;
+
+      maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+      license = stdenv.lib.licenses.bsd3;
+
+      platforms = stdenv.lib.platforms.all;
+    };
+}
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index 7ff1ab4a5d32..c5386553f4f1 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -2,20 +2,18 @@
 , gnutls, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "nzbget-0.8.0";
+  name = "nzbget-9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/nzbget/${name}.tar.gz";
-    sha256 = "15bxsxdbkml9cqpy6zxgv78ff69l8qrv8r201gmzvylpc1ckjsb4";
+    sha256 = "1r4ys5nmcz1ilkdjdh3r8lawaf96i8spk6hl02h823q9rppvmya0";
   };
 
   buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls libgcrypt ];
 
-  postInstall =
-    ''
-      mkdir -p $out/etc
-      cp nzbget.conf.example $out/etc/
-    '';
+  enableParallelBuilding = true;
+
+  NIX_LDFLAGS = "-lz";
 
   meta = {
     homepage = http://nzbget.sourceforge.net/;
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 45e761b8963b..97ef421c341b 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.2";
+  name = "nix-1.3";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-    sha256 = "2f7c2d27e240b6a43ebfba330127072e3fb1473c17dbfc5e9662ea589dfd16e5";
+    sha256 = "32cba96df0e02d6627f5625a441fdd4ea0db718dd5bfd50044cdfd3c606d4852";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     ''
-      --with-store-dir=${storeDir} --localstatedir=${stateDir}
+      --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc
       --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
       --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
       --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
@@ -35,6 +35,10 @@ stdenv.mkDerivation rec {
       CFLAGS=-O3 CXXFLAGS=-O3
     '';
 
+  makeFlags = "profiledir=$(out)/etc/profile.d";
+
+  installFlags = "sysconfdir=$(out)/etc";
+
   doInstallCheck = true;
 
   crossAttrs = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8199b51228a3..f0c00ef02ea9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -411,7 +411,14 @@ let
     client = true;
   });
 
-  androidenv = import ../development/androidenv {
+  androidenv = import ../development/mobile/androidenv {
+    inherit pkgs;
+    pkgs_i686 = pkgsi686Linux;
+  };
+  
+  xcodeenv = callPackage ../development/mobile/xcodeenv { };
+  
+  titaniumenv = import ../development/mobile/titaniumenv {
     inherit pkgs;
     pkgs_i686 = pkgsi686Linux;
   };
@@ -513,6 +520,7 @@ let
   bup = callPackage ../tools/backup/bup {
     inherit (pythonPackages) pyxattr pylibacl setuptools fuse;
     inherit (haskellPackages) pandoc;
+    par2Support = (config.bup.par2Support or false);
   };
 
   atool = callPackage ../tools/archivers/atool { };
@@ -6463,7 +6471,7 @@ let
   liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { };
 
   libertine = builderDefsPackage (import ../data/fonts/libertine) {
-    inherit fontforge;
+    inherit fetchurl fontforge lib;
   };
 
   lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {};
@@ -6709,7 +6717,7 @@ let
 
   cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) {
     inherit cmake patchelf;
-    imagemagick=imagemagick;
+    imagemagick = imagemagick;
   };
 
   cvs = callPackage ../applications/version-management/cvs { };
@@ -6726,6 +6734,8 @@ let
     inherit (gnome) GConf libglade;
   };
 
+  "dd-agent" = callPackage ../tools/networking/dd-agent { };
+
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
@@ -7021,6 +7031,13 @@ let
 
   firefox17Wrapper = lowPrio (wrapFirefox { browser = firefox17Pkgs.firefox; });
 
+  firefox18Pkgs = callPackage ../applications/networking/browsers/firefox/18.0.nix {
+    inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+  };
+
+  firefox18Wrapper = lowPrio (wrapFirefox { browser = firefox18Pkgs.firefox; });
+
   flac = callPackage ../applications/audio/flac { };
 
   flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
@@ -7272,6 +7289,8 @@ let
     lua = lua5;
   };
 
+  ipe = callPackage ../applications/graphics/ipe { };
+
   iptraf = callPackage ../applications/networking/iptraf { };
 
   irssi = callPackage ../applications/networking/irc/irssi { };
@@ -8309,12 +8328,7 @@ let
 
   superTux = callPackage ../games/super-tux { };
 
-  superTuxKart = callPackage ../games/super-tux-kart {
-    /* With GNU Make 3.82, the build process is stuck in the `data'
-       directory, after displaying "Making all in tracks", and `pstree'
-       indicates that `make' doesn't launch any new process.  */
-    stdenv = overrideInStdenv stdenv [ gnumake381 ];
-  };
+  superTuxKart = callPackage ../games/super-tux-kart { };
 
   tbe = callPackage ../games/the-butterfly-effect {};
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 85a672c350fe..6f2db83c1941 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -711,6 +711,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   dimensional = callPackage ../development/libraries/haskell/dimensional {};
 
+  dimensionalTf = callPackage ../development/libraries/haskell/dimensional-tf {};
+
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
   distributedProcess = callPackage ../development/libraries/haskell/distributed-process {};
@@ -911,7 +913,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   happstackHamlet = callPackage ../development/libraries/haskell/happstack/happstack-hamlet.nix {};
 
   hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
-  hashable_1_3_0_2 = callPackage ../development/libraries/haskell/hashable/1.2.0.2.nix {};
+  hashable_1_2_0_3 = callPackage ../development/libraries/haskell/hashable/1.2.0.3.nix {};
   hashable = self.hashable_1_1_2_5;
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
@@ -1242,6 +1244,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {};
 
+  nat = callPackage ../development/libraries/haskell/nat {};
+
+  nats = callPackage ../development/libraries/haskell/nats {};
+
+  naturals = callPackage ../development/libraries/haskell/naturals {};
+
   netlist = callPackage ../development/libraries/haskell/netlist {};
 
   netlistToVhdl = callPackage ../development/libraries/haskell/netlist-to-vhdl {};
@@ -1279,6 +1287,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   numtype = callPackage ../development/libraries/haskell/numtype {};
 
+  numtypeTf = callPackage ../development/libraries/haskell/numtype-tf {};
+
   OneTuple = callPackage ../development/libraries/haskell/OneTuple {};
 
   ObjectName = callPackage ../development/libraries/haskell/ObjectName {};
@@ -1678,10 +1688,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
 
+  transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {};
+
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
   typeEquality = callPackage ../development/libraries/haskell/type-equality {};
 
+  typeLlevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {};
+
   unbound = callPackage ../development/libraries/haskell/unbound {};
 
   uniplate = callPackage ../development/libraries/haskell/uniplate {};
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 907f747ef7e2..791eb43358ca 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -742,6 +742,19 @@ let self = {
     ];
   };
 
+  "optparse" = self."optparse-1.0.3";
+  
+  "optparse-1.0.3" = self.buildNodePackage rec {
+    name = "optparse-1.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optparse/-/${name}.tgz";
+      sha256 = "1cg99i4rq8azxikzqz0ykw4q971azbj49d3m7slj041yscb6m883";
+    };
+    deps = [
+    
+    ];
+  };
+
   "osenv" = self."osenv-0";
 
   "osenv-0" = self.buildNodePackage rec {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c9ef1794489d..aa1ecab75663 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2599,7 +2599,6 @@ let pythonPackages = python.modules // rec {
           sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd";
         };
 
-      preInstallPhases = "preInstall";
       preInstall = ''
         cp ${x_ignore_nofocus}/* .
         sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 210de5188599..af21e3ac1ad3 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -144,7 +144,6 @@ with (import ./release-lib.nix);
   icewm = linux;
   idutils = all;
   ifplugd = linux;
-  imagemagick = allBut "i686-cygwin";
   impressive = linux;
   inetutils = linux;
   inkscape = linux;
@@ -250,7 +249,6 @@ with (import ./release-lib.nix);
   rubber = allBut "i686-cygwin";
   ruby = all;
   rxvt_unicode = linux;
-  samba = linux;
   screen = linux ++ darwin;
   scrot = linux;
   sdparm = linux;
@@ -352,6 +350,7 @@ with (import ./release-lib.nix);
 
   firefox36Pkgs.firefox = linux;
   firefox17Pkgs.firefox = linux;
+  firefox18Pkgs.firefox = linux;
 
   gnome = {
     gnome_panel = linux;