summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-01-18 15:53:12 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-01-18 15:53:12 +0000
commit48ee2523dad1cb9cb586ac65557f60c6ec821031 (patch)
treef28a81f3363e2533b3cc00ffc79260893884ce5a /pkgs
parentc7a1f309a7cc7b8b42138e52ae6172631d465b51 (diff)
parent87441a72be54bb21a4319d44bfd7543f900a3e0e (diff)
downloadnixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar.gz
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar.bz2
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar.lz
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar.xz
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.tar.zst
nixlib-48ee2523dad1cb9cb586ac65557f60c6ec821031.zip
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31633
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/jedit/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix16
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/9.x.nix115
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix14
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix6
-rw-r--r--pkgs/applications/version-management/gource/default.nix35
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/FindJasper.cmake35
-rw-r--r--pkgs/desktops/kde-4.8/kdenetwork/kopete.nix1
-rw-r--r--pkgs/desktops/kde-4.8/kdesdk/find-svn.patch6
-rw-r--r--pkgs/desktops/xfce-4.8/applications/ristretto.nix12
-rw-r--r--pkgs/desktops/xfce-4.8/core/garcon.nix8
-rw-r--r--pkgs/desktops/xfce-4.8/core/libxfce4ui.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/libxfce4util.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/thunar.nix7
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce-utils.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-appfinder.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-panel.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-session.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-settings.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfconf.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfdesktop.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfwm4.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/default.nix5
-rw-r--r--pkgs/development/compilers/idris/default.nix13
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix30
-rw-r--r--pkgs/development/libraries/ftgl/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/colour/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix4
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/http-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/math-functions/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/random-shuffle/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/hwloc/default.nix7
-rw-r--r--pkgs/development/libraries/jasper/default.nix3
-rw-r--r--pkgs/development/libraries/libdrm/default.nix29
-rw-r--r--pkgs/development/libraries/libdrm/libdrm-apple.patch2
-rw-r--r--pkgs/development/libraries/mesa/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/ocamlmake/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/pycaml/default.nix51
-rw-r--r--pkgs/development/ocaml-modules/sexplib/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/typeconv/default.nix25
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix13
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix20
-rw-r--r--pkgs/development/web/nodejs/default.nix6
-rw-r--r--pkgs/tools/graphics/logstalgica/default.nix43
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix22
-rw-r--r--pkgs/tools/misc/gource/default.nix13
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/top-level/all-packages.nix35
-rw-r--r--pkgs/top-level/haskell-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix8
68 files changed, 703 insertions, 249 deletions
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index f49919b70bb4..5349f10c0c36 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,28 +1,53 @@
-{ stdenv, fetchurl, ant }:
+{ stdenv, fetchurl, ant, jre }:
 
 stdenv.mkDerivation {
-  name = "jedit-4.2";
+  name = "jedit-4.4.2";
 
   src = fetchurl {
-    url = mirror://sf/jedit/jedit42source.tar.gz;
-    sha256 = "1ckqghsw2r30kfkqfgjl4k47gdwpz8c1h85haw0y0ymq4rqh798j";
+    url = mirror://sf/jedit/jedit4.4.2source.tar.bz2;
+    sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
   };
 
-  phases = "unpackPhase buildPhase";
+  setSourceRoot = ''
+    sourceRoot=jEdit
+  '';
 
-  buildPhase = "
-     sed -i 's/\\<SplashScreen\\>/org.gjt.sp.jedit.gui.SplashScreen/g' org/gjt/sp/jedit/GUIUtilities.java
-    ant dist
-    ensureDir $out/lib
-    cp jedit.jar $out/lib
-    ensureDir \$out/lib/modes
-    cp modes/catalog \$out/lib/modes
-  ";
+  buildPhase = ''
+     ant build
+  '';
+
+  installPhase = ''
+    ensureDir $out/share/jEdit
+    cp build/jedit.jar $out/share/jEdit
+    ensureDir $out/share/jEdit/modes
+    cp -r modes/* $out/share/jEdit/modes
+    ensureDir $out/share/jEdit/icons
+    cp -r icons/* $out/share/jEdit/icons
+    ensureDir $out/share/jEdit/macros
+    cp -r macros/* $out/share/jEdit/macros
+    ensureDir $out/share/jEdit/doc
+    cp -r doc/* $out/share/jEdit/doc
+    
+    sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
+    ensureDir $out/share/applications
+    mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
+
+    patch package-files/linux/jedit << EOF
+    5a6,8
+    > # specify the correct JAVA_HOME
+    > JAVA_HOME=${jre}
+    > 
+    EOF
+    sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
+    ensureDir $out/bin
+    cp package-files/linux/jedit $out/bin/jedit
+    chmod +x $out/bin/jedit
+  '';
 
   buildInputs = [ ant ];
 
   meta = { 
-    description = "really nice programmers editor written in Java. Give it a try";
+    description = "Mature programmer's text editor (Java based)";
     homepage = http://www.jedit.org;
     license = "GPL";
   };
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index 6b8b7a9419d5..bddedce7183d 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -12,11 +12,11 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="1.1.1";
+    version="1.1.2";
     baseName="vacuum-im";
     name="${baseName}-${version}";
-    url="http://vacuum-im.googlecode.com/files/${name}.tar.xz";
-    hash="b4b3472bf83173f6be1bbe69520bf6cab97e24cf9fd8a7b60e4ffdc1cb43b1dc";
+    url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
+    hash="451dde9b3587503b035fa1ddd2c99f2052a0b17a603491c59e8c47a8bcd4746d";
   };
 in
 rec {
@@ -29,12 +29,7 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["addInputs" "preBuild" "doQMake" "doMakeInstall"];
-
-  preBuild = a.fullDepEntry (''
-    echo "Fixing a name collision with a function added in Qt 4.7"
-    sed -re 's/qHash[(][a-z ]*QUrl/vacuum_obsolete_&/' -i src/plugins/dataforms/dataforms.cpp
-  '') ["minInit" "doUnpack"];
+  phaseNames = ["addInputs" "doQMake" "doMakeInstall"];
 
   doQMake = a.fullDepEntry (''
     qmake INSTALL_PREFIX=$out -recursive vacuum.pro
@@ -48,6 +43,9 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    license = with a.lib.licenses;
+      gpl3;
+    homepage = "http://code.google.com/p/vacuum-im/";
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/9.x.nix b/pkgs/applications/networking/mailreaders/thunderbird/9.x.nix
new file mode 100644
index 000000000000..62b4d91de587
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird/9.x.nix
@@ -0,0 +1,115 @@
+{ stdenv, fetchurl, pkgconfig, gtk, perl, python, zip, unzip
+, libIDL, dbus_glib, bzip2, alsaLib, nspr, yasm, mesa, nss
+, libnotify, cairo, pixman, fontconfig
+, libjpeg
+
+, # If you want the resulting program to call itself "Thunderbird"
+  # instead of "Shredder", 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
+
+}:
+
+let version = "9.0.1";
+
+    # This patch may become necessary when we use a more recent version of libpng
+    # for now, it's actually not needed
+    # pngPatch = fetchurl {
+    #   url = http://www.linuxfromscratch.org/patches/blfs/svn/thunderbird-9.0.1-libpng-1.5-1.patch;
+    #   sha256 = "8454bdde3be8dc37c9f5e6f597914f0a585ff4b357d3fc86c6c9f80208b6068d";
+    # };
+in
+
+stdenv.mkDerivation {
+  name = "thunderbird-${version}";
+
+  src = fetchurl {
+    url = "http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
+    sha256 = "4fc392915e22b81ef0bd08e6e2d8d0348e66f0930f35bf8ac47eb49f64453e2d";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs =
+    [ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr
+      libnotify cairo pixman fontconfig yasm mesa /* nss */
+      libjpeg
+    ];
+
+  # fix some paths in pngPatch
+  # prePatch = ''
+  #   substitute ${pngPatch} png.patch --replace "mozilla-release/modules/" "comm-release/mozilla/modules/"
+  #   '';
+
+  patches = [
+    # "png.patch" # produced by postUnpack
+
+    # Fix weird dependencies such as a so file which depends on "-lpthread".
+    # ./thunderbird-build-deps.patch
+  ];
+
+  configureFlags =
+    [ "--enable-application=mail"
+      "--enable-optimize"
+      "--with-pthreads"
+      "--disable-debug"
+      "--enable-strip"
+      "--with-pthreads"
+      "--with-system-jpeg"
+      # "--with-system-png"  # png 1.5.x not merged in nixpkgs yet
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--enable-system-cairo"
+      "--disable-crashreporter"
+      "--disable-necko-wifi"
+      "--disable-webm"
+      "--disable-tests"
+      "--enable-calendar"
+    ]
+    ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+  # The Thunderbird Makefiles refer to the variables LIBXUL_DIST,
+  # prefix, and PREFIX in some places where they are not set.  In
+  # particular, there are some linker flags like
+  # `-rpath-link=$(LIBXUL_DIST)/bin'.  Since this expands to
+  # `-rpath-link=/bin', the build fails due to the purity checks in
+  # the ld wrapper.  So disable the purity check for now.
+  preBuild = "NIX_ENFORCE_PURITY=0";
+
+  # This doesn't work:
+  #makeFlags = "LIBXUL_DIST=$(out) prefix=$(out) PREFIX=$(out)";
+
+  postInstall =
+    ''
+      # Fix some references to /bin paths in the Xulrunner shell script.
+      substituteInPlace $out/lib/thunderbird-*/thunderbird \
+          --replace /bin/pwd "$(type -tP pwd)" \
+          --replace /bin/ls "$(type -tP ls)"
+
+      # Create a desktop item.
+      ensureDir $out/share/applications
+      cat > $out/share/applications/thunderbird.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/thunderbird
+      Icon=$out/lib/thunderbird-${version}/chrome/icons/default/default256.png
+      Name=Thunderbird
+      GenericName=Mail Reader
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Thunderbird, a full-featured email client";
+    homepage = http://www.mozilla.org/thunderbird/;
+    license =
+      # Official branding implies thunderbird name and logo cannot be reuse,
+      # see http://www.mozilla.org/foundation/licensing.html
+      if enableOfficialBranding then licenses.proprietary else licenses.mpl11;
+    maintainers = with maintainers; [ pierron ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 8d80630f316d..3aeeb8dd0ee0 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,29 +1,36 @@
 { stdenv
 , fetchurl
+, cmake
 , openssl
 , printerSupport ? true, cups
 , pkgconfig
 , zlib
 , libX11
 , libXcursor
+, libXdamage
+, libXext
 , alsaLib
 }:
 
 assert printerSupport -> cups != null;
 stdenv.mkDerivation rec {
-  name = "freerdp-0.8.2";
+  name = "freerdp-${version}";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/freerdp/${name}.tar.gz";
-    sha256 = "1q9hhwyc4hk49hsmd2kghrfsawxcc7gy7vcmhdf91l8v95xp16iq";
+    url = "https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-${version}.tar.gz";
+    sha256 = "1h7b2ykgsp1b04p67syb3p2xgpsb45i6zl1jvm09h0dr5an85awd";
   };
 
   buildInputs = [
+    cmake
     openssl
     pkgconfig
     zlib
     libX11
     libXcursor
+    libXdamage
+    libXext
     alsaLib
   ] ++ stdenv.lib.optional printerSupport cups;
 
@@ -46,4 +53,3 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
-
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 32b30bc32420..870c80f6020d 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
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "3.20120106";
+  version = "3.20120113";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/g/git-annex/git-annex_${version}.tar.gz";
-    sha256 = "60735d8b036aa8ac44e1838724d9b4da1fceb2f1547ce7f39b2069a8c3605438";
+    sha256 = "060s96d5a6vx5alwkfgzsvwx1k9m81l6hbx4rnak9iy5iy28zd0z";
   };
 
   buildInputs = [
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://git-annex.branchable.com/";
     description = "Manage files with git without checking them into git";
-    license = "GPLv3+";
+    license = stdenv.lib.licenses.gpl3Plus;
 
     longDescription = ''
       Git-annex allows managing files with git, without checking the
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
new file mode 100644
index 000000000000..886ed9a71999
--- /dev/null
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa }:
+
+let
+  name = "gource-0.37";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://gource.googlecode.com/files/${name}.tar.gz";
+    sha256 = "03kd9nn65cl1p2jgn6pvpxmvnfscz3c8jqds90fsc0z37ij2iiyn";
+  };
+
+  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+
+  meta = {
+    homepage = "http://code.google.com/p/gource/";
+    description = "software version control visualization tool";
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    longDescription = ''
+      Software projects are displayed by Gource as an animated tree with
+      the root directory of the project at its centre. Directories
+      appear as branches with files as leaves. Developers can be seen
+      working on the tree at the times they contributed to the project.
+
+      Currently Gource includes built-in log generation support for Git,
+      Mercurial and Bazaar and SVN. Gource can also parse logs produced
+      by several third party tools for CVS repositories.
+    '';
+
+    platforms = stdenv.lib.platforms.gnu;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/FindJasper.cmake b/pkgs/desktops/kde-4.8/kdenetwork/FindJasper.cmake
deleted file mode 100644
index bb06a7bd8d30..000000000000
--- a/pkgs/desktops/kde-4.8/kdenetwork/FindJasper.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# - Try to find the Jasper JPEG2000 library
-# Once done this will define
-#
-#  JASPER_FOUND - system has Jasper
-#  JASPER_INCLUDE_DIR - the Jasper include directory
-#  JASPER_LIBRARIES - The libraries needed to use Jasper
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-FIND_PACKAGE(JPEG)
-
-FIND_PATH(JASPER_INCLUDE_DIR jasper/jasper.h)
-
-FIND_LIBRARY(JASPER_LIBRARY NAMES jasper libjasper)
-
-SET(JASPER_LIBRARIES ${JASPER_LIBRARY})
-
-# handle the QUIETLY and REQUIRED arguments and set JASPER_FOUND to TRUE if 
-# all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jasper DEFAULT_MSG JASPER_LIBRARIES JASPER_INCLUDE_DIR)
-
-MARK_AS_ADVANCED(JASPER_INCLUDE_DIR JASPER_LIBRARY)
diff --git a/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix
index 27b36ba6d1b2..ec48b96fe19b 100644
--- a/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix
+++ b/pkgs/desktops/kde-4.8/kdenetwork/kopete.nix
@@ -14,7 +14,6 @@ kde {
   patchPhase =
     ''
       cp -v ${./FindmsiLBC.cmake} kopete/cmake/modules/FindmsiLBC.cmake
-      cp -v ${./FindJasper.cmake} kopete/cmake/modules/FindJasper.cmake
     '';
 
   cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
diff --git a/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch b/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch
index 61cb49b308f2..f6f4df942dd9 100644
--- a/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch
+++ b/pkgs/desktops/kde-4.8/kdesdk/find-svn.patch
@@ -12,7 +12,7 @@ index 59bcb96..2eac05d 100644
  
  if(SVNCONFIG_EXECUTABLE)
  
-@@ -56,15 +59,9 @@ else(SVNCONFIG_EXECUTABLE)
+@@ -56,15 +59,8 @@ else(SVNCONFIG_EXECUTABLE)
        set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
     else(APRCONFIG_EXECUTABLE)
        FIND_PATH(_INCLUDES apr_pools.h
@@ -26,12 +26,11 @@ index 59bcb96..2eac05d 100644
 -         /usr/local/include/apr-1/
 -         /usr/local/include/apr-1.0/
 +         HINTS ${SVN_INCLUDES}
-+         PATHS /usr /usr/local
 +         SUFFIXES apr-0 apr-1 apr-1.0
        )
        if(_INCLUDES)
           set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
-@@ -72,6 +69,25 @@ else(SVNCONFIG_EXECUTABLE)
+@@ -72,6 +69,24 @@ else(SVNCONFIG_EXECUTABLE)
           set(SVN_FOUND FALSE) # no apr == can't compile!
        endif(_INCLUDES)
     endif(APRCONFIG_EXECUTABLE)
@@ -45,7 +44,6 @@ index 59bcb96..2eac05d 100644
 +   else(APUCONFIG_EXECUTABLE)
 +      FIND_PATH(_INCLUDES apu.h
 +         HINTS ${SVN_INCLUDES}
-+         PATHS /usr /usr/local
 +         SUFFIXES apr-0 apr-1 apr-1.0
 +      )
 +      if(_INCLUDES)
diff --git a/pkgs/desktops/xfce-4.8/applications/ristretto.nix b/pkgs/desktops/xfce-4.8/applications/ristretto.nix
index cbb22e12ea72..ce90891bb0ba 100644
--- a/pkgs/desktops/xfce-4.8/applications/ristretto.nix
+++ b/pkgs/desktops/xfce-4.8/applications/ristretto.nix
@@ -2,20 +2,18 @@
 , exo, dbus_glib, libxfce4util, libxfce4ui, xfconf }:
 
 stdenv.mkDerivation rec {
-  name = "ristretto-0.0.93";
+  name = "ristretto-0.2.3";
   
   src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/ristretto/0.0/${name}.tar.bz2";
-    sha1 = "c71acaad169633faffe26609f9cc671b04ff52d3";
+    url = "http://archive.xfce.org/src/apps/ristretto/0.2/${name}.tar.bz2";
+    sha1 = "5a34b865cb9013b67467b0e8d51970f0a1e977d1";
   };
 
   buildInputs =
-    [ pkgconfig intltool libexif gtk thunar exo dbus_glib
-      libxfce4util libxfce4ui xfconf
+    [ pkgconfig intltool libexif gtk dbus_glib libxfce4util
+      libxfce4ui xfconf
     ];
 
-  NIX_LDFLAGS = "-lX11";
-
   meta = {
     homepage = http://goodies.xfce.org/projects/applications/ristretto;
     description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
diff --git a/pkgs/desktops/xfce-4.8/core/garcon.nix b/pkgs/desktops/xfce-4.8/core/garcon.nix
index 40b40541bf14..7f5f18173b26 100644
--- a/pkgs/desktops/xfce-4.8/core/garcon.nix
+++ b/pkgs/desktops/xfce-4.8/core/garcon.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util }:
 
 stdenv.mkDerivation rec {
-  name = "garcon-0.1.8";
+  name = "garcon-0.1.9";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/garcon/0.1/${name}.tar.bz2";
-    sha1 = "e5eac6a13208c81ccad0941656c01e7a69530f03";
+    sha1 = "2eeab19bc10747a40b44afd4598a2f555eb69952";
   };
 
-  buildInputs = [ pkgconfig intltool glib ];
+  buildInputs = [ pkgconfig intltool glib libxfce4util ];
 
   meta = {
     homepage = http://www.xfce.org/;
diff --git a/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix b/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
index c3551d565e10..76c285ae599a 100644
--- a/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
@@ -2,11 +2,11 @@
 , libstartup_notification }:
 
 stdenv.mkDerivation rec {
-  name = "libxfce4ui-4.8.0";
+  name = "libxfce4ui-4.8.1";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/libxfce4ui/4.8/${name}.tar.bz2";
-    sha1 = "107f9d8e3e583f3cf5330074e89ea72eb2a82888";
+    sha1 = "408645581e589135aa03d2e9b84f4eede68596b2";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/libxfce4util.nix b/pkgs/desktops/xfce-4.8/core/libxfce4util.nix
index 1a2b64bc8fa9..7a567d629358 100644
--- a/pkgs/desktops/xfce-4.8/core/libxfce4util.nix
+++ b/pkgs/desktops/xfce-4.8/core/libxfce4util.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, intltool }:
 
 stdenv.mkDerivation rec {
-  name = "libxfce4util-4.8.1";
+  name = "libxfce4util-4.8.2";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/libxfce4util/4.8/${name}.tar.bz2";
-    sha1 = "4d26aea58413603e2c163ff0374a6e32fc47bc4c";
+    sha1 = "e7498c2e5fca2c89dfef89e0788f10eebbd020c3";
   };
 
   buildInputs = [ pkgconfig glib intltool ];
diff --git a/pkgs/desktops/xfce-4.8/core/thunar.nix b/pkgs/desktops/xfce-4.8/core/thunar.nix
index 0e8f72e22d6d..07fd734a1f2e 100644
--- a/pkgs/desktops/xfce-4.8/core/thunar.nix
+++ b/pkgs/desktops/xfce-4.8/core/thunar.nix
@@ -2,11 +2,12 @@
 , dbus_glib, libstartup_notification, xfconf, xfce4panel, udev, libnotify }:
 
 stdenv.mkDerivation rec {
-  name = "thunar-1.2.2";
+  version = "1.2.3";
+  name = "thunar-${version}";
   
   src = fetchurl {
-    url = "http://archive.xfce.org/src/xfce/thunar/1.2/Thunar-1.2.2.tar.bz2";
-    sha1 = "314e3d53ec7be1ea578da4d842ecc8dc5958b1bd";
+    url = "http://archive.xfce.org/src/xfce/thunar/1.2/Thunar-${version}.tar.bz2";
+    sha1 = "a05d0e14515d70c5ad94cca881822a707d366863";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/xfce-utils.nix b/pkgs/desktops/xfce-4.8/core/xfce-utils.nix
index eb998c2759f4..fde8a2c3953a 100644
--- a/pkgs/desktops/xfce-4.8/core/xfce-utils.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfce-utils.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui }:
 
 stdenv.mkDerivation rec {
-  name = "xfce-utils-4.8.2";
+  name = "xfce-utils-4.8.3";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfce-utils/4.8/${name}.tar.bz2";
-    sha1 = "c9358f47f57b961fc51008cf6752d2761b4c4f25";
+    sha1 = "159d445b689ebbf73462a4b4baf5cce4e04afaab";
   };
 
   configureFlags = "--with-xsession-prefix=$(out)/share/xsessions --with-vendor-info=NixOS.org";
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-appfinder.nix b/pkgs/desktops/xfce-4.8/core/xfce4-appfinder.nix
new file mode 100644
index 000000000000..b8165ebb1783
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-appfinder.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util
+, libxfce4ui, garcon, xfconf }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-appfinder-4.8.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfce4-appfinder/4.8/${name}.tar.bz2";
+    sha1 = "444bbcbded8d2346f9b9beb57ec7adaf556811c9";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Xfce application finder, a tool to locate and launch programs on your system";
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
index fc297df9cbf1..bb2637129622 100644
--- a/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
@@ -2,11 +2,11 @@
 , libxfce4ui, xfconf, libwnck, exo }:
 
 stdenv.mkDerivation rec {
-  name = "xfce4-panel-4.8.5";
+  name = "xfce4-panel-4.8.6";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfce4-panel/4.8/${name}.tar.bz2";
-    sha1 = "67b9d5bc422663f60f5a05e7cfd7ca67b4542813";
+    sha1 = "332fc968332e6271e1bb65d6de8de2524b0440ec";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-session.nix b/pkgs/desktops/xfce-4.8/core/xfce4-session.nix
index 7aeaedb1e2a7..0e0f1a86939d 100644
--- a/pkgs/desktops/xfce-4.8/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-session.nix
@@ -2,11 +2,11 @@
 , libwnck, dbus_glib, xfconf, xorg, xfce4panel }:
 
 stdenv.mkDerivation rec {
-  name = "xfce4-session-4.8.1";
+  name = "xfce4-session-4.8.2";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfce4-session/4.8/${name}.tar.bz2";
-    sha1 = "a33534e53fa36a38a1f9bd164469a9fb62c765a7";
+    sha1 = "636c2983552861a959225e554898675152a4d812";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix b/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
index 03d2ac67a399..dc6e8e555b21 100644
--- a/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
@@ -2,11 +2,11 @@
 , xfconf, xorg, libnotify, libxklavier }:
 
 stdenv.mkDerivation rec {
-  name = "xfce4-settings-4.8.2";
+  name = "xfce4-settings-4.8.3";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfce4-settings/4.8/${name}.tar.bz2";
-    sha1 = "402afe308944a315c385d2b1ed567f997d016b61";
+    sha1 = "98431633ba3ec2a4a10182bc7266904d9256949b";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/xfconf.nix b/pkgs/desktops/xfce-4.8/core/xfconf.nix
index bb351c68d280..e0c61d3a1f59 100644
--- a/pkgs/desktops/xfce-4.8/core/xfconf.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfconf.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }:
 
 stdenv.mkDerivation rec {
-  name = "xfconf-4.8.0";
+  name = "xfconf-4.8.1";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfconf/4.8/${name}.tar.bz2";
-    sha1 = "3f560b11d618171805bfb9e6a8290185c7ee5dcd";
+    sha1 = "aeab124f7c548e387b37a5476e594ef559515533";
   };
 
   buildInputs = [ pkgconfig intltool glib libxfce4util ];
diff --git a/pkgs/desktops/xfce-4.8/core/xfdesktop.nix b/pkgs/desktops/xfce-4.8/core/xfdesktop.nix
index 5f64fff3b4da..45c82f1ec025 100644
--- a/pkgs/desktops/xfce-4.8/core/xfdesktop.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfdesktop.nix
@@ -2,11 +2,11 @@
 , libxfce4ui, libwnck, xfconf, garcon, libnotify, exo }:
 
 stdenv.mkDerivation rec {
-  name = "xfdesktop-4.8.2";
+  name = "xfdesktop-4.8.3";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfdesktop/4.8/${name}.tar.bz2";
-    sha1 = "fe7d71bb502197b0353b952947826a5a50ab13bc";
+    sha1 = "b3af72a69627f860f22b37d021efd81e4e37eb55";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/core/xfwm4.nix b/pkgs/desktops/xfce-4.8/core/xfwm4.nix
index aefae75a3c31..c0f89784bfbc 100644
--- a/pkgs/desktops/xfce-4.8/core/xfwm4.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfwm4.nix
@@ -2,11 +2,11 @@
 , libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "xfwm4-4.8.1";
+  name = "xfwm4-4.8.3";
   
   src = fetchurl {
     url = "http://archive.xfce.org/src/xfce/xfwm4/4.8/${name}.tar.bz2";
-    sha1 = "4075a689f572ae157ed80ab3ce5be85f09dac766";
+    sha1 = "6d27deca383e0c2fba0cede0bbe0e9aee18e9257";
   };
 
   buildInputs =
diff --git a/pkgs/desktops/xfce-4.8/default.nix b/pkgs/desktops/xfce-4.8/default.nix
index 056bc4368c62..971071c3accb 100644
--- a/pkgs/desktops/xfce-4.8/default.nix
+++ b/pkgs/desktops/xfce-4.8/default.nix
@@ -5,6 +5,7 @@ rec {
 
   #### SUPPORT
 
+  # The useful bits from ‘gnome-disk-utility’.
   libgdu = callPackage ./support/libgdu.nix { };  
 
   # Gvfs is required by Thunar for the trash feature and for volume
@@ -57,9 +58,9 @@ rec {
 
   gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
 
-  # !!! Add xfce4-appfinder
+  xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { };
+
 
-  
   #### APPLICATIONS
   
   terminal = callPackage ./applications/terminal.nix {
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 48346e991073..56d5060662b7 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,16 +1,17 @@
-{ cabal, binary, epic, happy, ivor, mtl, parsec, readline }:
+{ cabal, binary, epic, happy, haskeline, mtl, parsec, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.1.7.1";
-  sha256 = "1449fy7ld2p6ksn43bvhpa5z7j8vx4wc2szwq85wzpwfaw10d8wb";
-  isLibrary = true;
+  version = "0.9.0";
+  sha256 = "03zbdcl3v90zv0ibzq9fa8z2qrrdsilh5m509mczwrcmlzbzsmrl";
+  isLibrary = false;
   isExecutable = true;
-  buildDepends = [ binary epic ivor mtl parsec readline ];
+  buildDepends = [ binary epic haskeline mtl parsec transformers ];
   buildTools = [ happy ];
   noHaddock = true;
   meta = {
-    homepage = "http://www.cs.st-andrews.ac.uk/~eb/Idris/";
+    homepage = "http://www.idris-lang.org/";
     description = "Dependently Typed Functional Programming Language";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index f2c32cda877f..e46de5d231dc 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -20,14 +20,14 @@ g: # Get dependencies from patched gems
     hike = g.hike_1_2_1;
     hoe = g.hoe_2_3_3;
     i18n = g.i18n_0_6_0;
-    json = g.json_1_6_4;
-    json_pure = g.json_pure_1_6_4;
+    json = g.json_1_6_5;
+    json_pure = g.json_pure_1_6_5;
     mail = g.mail_2_3_0;
     mime_types = g.mime_types_1_17_2;
     minitar = g.minitar_0_5_3;
     multi_json = g.multi_json_1_0_4;
     net_sftp = g.net_sftp_2_0_4;
-    net_ssh = g.net_ssh_2_2_2;
+    net_ssh = g.net_ssh_2_3_0;
     nix = g.nix_0_1_1;
     polyglot = g.polyglot_0_3_3;
     rack = g.rack_1_4_0;
@@ -339,16 +339,16 @@ See class rdoc for help. Hint: ri Hoe'';
       requiredGems = [  ];
       sha256 = ''1pgmfhmh2wv409g7kla30mkp8jpslvp25vcmmim1figl87wpn3j0'';
     };
-    json_1_6_4 = {
+    json_1_6_5 = {
       basename = ''json'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation as a Ruby extension in C.'';
       };
-      name = ''json-1.6.4'';
+      name = ''json-1.6.5'';
       requiredGems = [  ];
-      sha256 = ''1adka4y7z9v4lmd2zqyap21ghqdnjaivr1ghnqcnw3dmsdrgf39l'';
+      sha256 = ''0zmdzxbczpciyra7zskn7ayfi0z43p2f3n060gsjgjiqcb5bvz75'';
     };
     json_pure_1_4_3 = {
       basename = ''json_pure'';
@@ -361,16 +361,16 @@ See class rdoc for help. Hint: ri Hoe'';
       requiredGems = [  ];
       sha256 = ''1xw357gkmk6712c94lhpsrq8j9v91mgc2nxlr1m6n20yl6sz2g9r'';
     };
-    json_pure_1_6_4 = {
+    json_pure_1_6_5 = {
       basename = ''json_pure'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation in pure Ruby.'';
       };
-      name = ''json_pure-1.6.4'';
+      name = ''json_pure-1.6.5'';
       requiredGems = [  ];
-      sha256 = ''12i95k265gx4vy2cpxrb3z4slc4czsh3srgky2a6d5h3q6c1kvbf'';
+      sha256 = ''09s5qymc4y9q0376zjiwf5bjm69fcivr75ar8ji0kmhjkk2rwc55'';
     };
     mail_2_3_0 = {
       basename = ''mail'';
@@ -438,7 +438,7 @@ Copyright:: 2002 - 2011, Austin Ziegler
         longDescription = ''A pure Ruby implementation of the SFTP client protocol'';
       };
       name = ''net-sftp-2.0.4'';
-      requiredGems = [ g.net_ssh_2_2_2 ];
+      requiredGems = [ g.net_ssh_2_3_0 ];
       sha256 = ''1f0ml1z7kjnd79avn42fmys8j0w2995j5lk30ak5n40bq805yvky'';
     };
     net_ssh_2_0_23 = {
@@ -452,16 +452,16 @@ Copyright:: 2002 - 2011, Austin Ziegler
       requiredGems = [  ];
       sha256 = ''1fllf6mgwc213m5mn266qwhl65zc84wl8rq9m3lvbggw9mh5ynrr'';
     };
-    net_ssh_2_2_2 = {
+    net_ssh_2_3_0 = {
       basename = ''net_ssh'';
       meta = {
         description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
         homepage = ''http://github.com/net-ssh/net-ssh'';
         longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
       };
-      name = ''net-ssh-2.2.2'';
+      name = ''net-ssh-2.3.0'';
       requiredGems = [  ];
-      sha256 = ''11rlcb6w534g21x1g1jz1v1lvyj3zv6s621pf9cwl1aqbl6zh711'';
+      sha256 = ''1q1fznl4nk2963czpzfby4m9jw9rs37k1rzgbjad5r1n7r6dv0sv'';
     };
     nix_0_1_1 = {
       basename = ''nix'';
@@ -640,7 +640,7 @@ documentation.
 See RDoc for a description of RDoc's markup and basic use.'';
       };
       name = ''rdoc-3.12'';
-      requiredGems = [ g.json_1_6_4 ];
+      requiredGems = [ g.json_1_6_5 ];
       sha256 = ''0cd4hrkba7zr675m62yb87l7hpf0sp2qw8ccc2s0y2fa2fxdxdkp'';
     };
     rjb_1_3_3 = {
@@ -726,7 +726,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
 * For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.'';
       };
       name = ''rubyforge-2.0.3'';
-      requiredGems = [ g.json_pure_1_6_4 ];
+      requiredGems = [ g.json_pure_1_6_5 ];
       sha256 = ''1ck9hkad55dy25819v4gd1nmnpvcrb3i4np3hc03h1j6q8qpxg5p'';
     };
     rubyforge_2_0_4 = {
diff --git a/pkgs/development/libraries/ftgl/default.nix b/pkgs/development/libraries/ftgl/default.nix
index 7d10298ad3ee..ce750fc1696f 100644
--- a/pkgs/development/libraries/ftgl/default.nix
+++ b/pkgs/development/libraries/ftgl/default.nix
@@ -1,13 +1,31 @@
 {stdenv, fetchurl, freetype, mesa}:
- 
-stdenv.mkDerivation {
+
+let
   name = "ftgl-2.1.3-rc5";
-  
+in
+stdenv.mkDerivation {
+  inherit name;
+
   src = fetchurl {
-    url = mirror://sourceforge/ftgl/files/FTGL%20Source/2.1.3%7Erc5/ftgl-2.1.3-rc5.tar.gz ;
+    url = "mirror://sourceforge/ftgl/${name}.tar.gz";
     sha256 = "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l";
   };
-  
+
   buildInputs = [freetype mesa];
 
+  meta = {
+    homepage = "http://sourceforge.net/apps/mediawiki/ftgl/";
+    description = "font rendering library for OpenGL applications";
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    longDescription = ''
+      FTGL is a free cross-platform Open Source C++ library that uses
+      Freetype2 to simplify rendering fonts in OpenGL applications. FTGL
+      supports bitmaps, pixmaps, texture maps, outlines, polygon mesh,
+      and extruded polygon rendering modes.
+    '';
+
+    platforms = stdenv.lib.platforms.gnu;
+    maintainers = [];
+  };
 }
diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index 48f9ce492c2f..0ce16db4466a 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-conduit";
-  version = "0.0.0.1";
-  sha256 = "1z6v2j08j3fl329npiz9klbz5gbcl0q8vgz3drmrmyhn31a6cvsf";
+  version = "0.0.1";
+  sha256 = "04r3ywzjm39rmd0pka8537c8n6d4l6scgzkqzplmi6nb0kikgb6i";
   buildDepends = [ attoparsec conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index f974a72347fd..304889991f05 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base64-bytestring";
-  version = "0.1.0.3";
-  sha256 = "0d4j8b1d8z9qr1y446bfkj764xgilk8gw2frj0wn0717y8knvmx3";
+  version = "0.1.1.0";
+  sha256 = "0vdmwajxg6w924pcsls45bz4bn29xgl3sgvdp2g1jb8f7qb58r7i";
   meta = {
     homepage = "https://github.com/bos/base64-bytestring";
     description = "Fast base64 encoding and deconding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
index 40e4ec9a1218..f48243a027a2 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-conduit";
-  version = "0.0.0";
-  sha256 = "022j78sj9cs4xcbvxz0f2lga0rhxcwaj1mkxn0019rbx3lix1nh3";
+  version = "0.0.1";
+  sha256 = "1k9is6dknfqjnkqrvxs9z8cx0ffnnz4q02is9plndyg8pccgjfa9";
   buildDepends = [ blazeBuilder conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index eedf4936833f..53c974dd56ad 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.3.5.0";
-  sha256 = "0bqkb9al8mr0dzik17bcrjdsk414x78wfc919jb17ihcg7gnvrg8";
+  version = "0.3.5.1";
+  sha256 = "1a9ri0fs0vh75c9llpjyvqp6qkjciqri6adpyn7hbqrn2z1h0l5n";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/colour/default.nix b/pkgs/development/libraries/haskell/colour/default.nix
index d31f8546d4cf..7f4fde5ef970 100644
--- a/pkgs/development/libraries/haskell/colour/default.nix
+++ b/pkgs/development/libraries/haskell/colour/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "colour";
-  version = "2.3.2";
-  sha256 = "1j0y8cfdzhzjid1hg50qvh5nsa6kfnxcwxaizxyk73z60dn8g9b6";
+  version = "2.3.3";
+  sha256 = "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd";
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Colour";
     description = "A model for human colour/color perception";
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 40bef100607f..38285492dd41 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,14 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "0.0.3";
-  sha256 = "149xj6i2whpjf6jqsgfgvpbwni5r0v3qrg7g42i78bd6n40xma72";
+  version = "0.0.4";
+  sha256 = "1sc14nh21ba85azm4my5qnllnlbmsq5j6h1yd1mdsk2z3fb0x5zz";
   buildDepends = [
     liftedBase monadControl text transformers transformersBase
   ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
-    description = "A pull-based approach to streaming data";
+    description = "Streaming data processing library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
index 0238f2d311b6..a160aa3f7080 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-accessor-template";
-  version = "0.2.1.8";
-  sha256 = "0bx0w4vkigq20pa31sdygj4idi3iywkpclbllrw38ma1j19033zk";
+  version = "0.2.1.9";
+  sha256 = "14zp2zjxlkdi33cjif9lc1kl8m0x4brh0pk3d34wk1g1bfzynijc";
   buildDepends = [ dataAccessor utilityHt ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index 58e5ab4b62db..b0e9f03a31be 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "enumerator";
-  version = "0.4.17";
-  sha256 = "009h9phdgnkbvz5fri81b895y2hbmw5x7z67rnn31j87khbhnfz9";
+  version = "0.4.18";
+  sha256 = "0xqgcn3xs0i7kdy73lizfhs4dzj8crf2x9pmb9d37kqrhdgznl9d";
   buildDepends = [ text transformers ];
   meta = {
     homepage = "https://john-millikin.com/software/enumerator/";
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index 9ebe3e94041b..31b6c32d304a 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -2,11 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-events";
-  version = "0.3.0.1";
-  sha256 = "08jnri6cwybg8b2f53rn8y1xzcpz32r0svahcw01g837p07mcpla";
+  version = "0.4.0.0";
+  sha256 = "0q1r5jxk8ma8rg65n4iixl5zyk4nxpzi4ywf0jz8y1nbbhbas7g2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary mtl ];
+  noHaddock = true;
   meta = {
     description = "Library and tool for parsing .eventlog files from GHC";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 105c7803c448..bf411f89221c 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -1,19 +1,20 @@
 { cabal, asn1Data, attoparsec, attoparsecConduit, base64Bytestring
 , blazeBuilder, blazeBuilderConduit, caseInsensitive, certificate
 , conduit, cprngAes, dataDefault, failure, httpTypes, liftedBase
-, monadControl, network, text, tls, tlsExtra, transformers
+, monadControl, network, text, time, tls, tlsExtra, transformers
 , transformersBase, utf8String, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.1.0.1";
-  sha256 = "0jlj727rs8f1yxy6ms2gi3ryj4di5la0pgn2hw5flglflacj8wb6";
+  version = "1.1.2.2";
+  sha256 = "049gidxmrw4zri2zkibl2298glhapzzh1kg001dn563594bbiccz";
   buildDepends = [
     asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
     blazeBuilderConduit caseInsensitive certificate conduit cprngAes
     dataDefault failure httpTypes liftedBase monadControl network text
-    tls tlsExtra transformers transformersBase utf8String zlibConduit
+    time tls tlsExtra transformers transformersBase utf8String
+    zlibConduit
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/http-conduit";
diff --git a/pkgs/development/libraries/haskell/http-enumerator/default.nix b/pkgs/development/libraries/haskell/http-enumerator/default.nix
index 4e60042dc306..7804b0d077a3 100644
--- a/pkgs/development/libraries/haskell/http-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/http-enumerator/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-enumerator";
-  version = "0.7.2.3";
-  sha256 = "1f66dnqm67qzg76w47kqvpv7ssandmf8md838mdzrsg88x54dar7";
+  version = "0.7.2.4";
+  sha256 = "0gnbyhjs28rwdaypa9zhyja3bakr74if68cgivn1s56wbhrhc70s";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index 07b2d52e17c5..670055a7dec4 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "iteratee";
-  version = "0.8.7.6";
-  sha256 = "05zhw44zycwllvyrkxz1mkn5mkylrdz9ynh27k17gsm9mjml3cab";
+  version = "0.8.8.1";
+  sha256 = "1d6b83j3k2idpa9xcii8h9wa6mvxngp7rymb4xy6w8lvrmi7rmwz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix
new file mode 100644
index 000000000000..266ffcd30f7f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/math-functions/default.nix
@@ -0,0 +1,18 @@
+{ cabal, erf, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "math-functions";
+  version = "0.1.1.0";
+  sha256 = "0qb0hbfzd1g8cz3dkm8cs2wknz08b63vn7nljmynk794y64b1klp";
+  buildDepends = [ erf vector ];
+  meta = {
+    homepage = "https://github.com/bos/math-functions";
+    description = "Special functions and Chebyshev polynomials";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/random-shuffle/default.nix b/pkgs/development/libraries/haskell/random-shuffle/default.nix
index aade5d27965a..174bc9ef842e 100644
--- a/pkgs/development/libraries/haskell/random-shuffle/default.nix
+++ b/pkgs/development/libraries/haskell/random-shuffle/default.nix
@@ -1,10 +1,10 @@
-{ cabal, random }:
+{ cabal, MonadRandom, random }:
 
 cabal.mkDerivation (self: {
   pname = "random-shuffle";
-  version = "0.0.2";
-  sha256 = "1csq0ffsqbbv6ymf707nzfb7c9bmykwk9bcgj21mxmh6khlqn9jp";
-  buildDepends = [ random ];
+  version = "0.0.3";
+  sha256 = "120yh2k1n57vc9mi4dlnvv9dr79qaz4dsbvl3qp3y82mdz8maifw";
+  buildDepends = [ MonadRandom random ];
   meta = {
     description = "Random shuffle implementation";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index c5e56ec6b809..326e40198f7e 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "0.8.4";
-  sha256 = "1xd6cax4ldvahjjs5kdhcjmy4rx1ywp6r3alaifxbk2397zi7p1v";
+  version = "0.8.5";
+  sha256 = "07xz81ny9a1rcflqiqxkmx5kj62rssxw1gr6vnlg76xr21j8mam9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index f406dcbb105f..8d696bae4dce 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "0.5.0.1";
-  sha256 = "0n30mk3dmdwxjw4vgfmlj7dzbiah9vj4hlg258qkvy5likzz1j5n";
+  version = "0.5.1.1";
+  sha256 = "0md6fkjn8j1dsbhlwh64x2990kvsmks6plppa63v9nwc9142ajim";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     conduit dataDefault failure systemFilepath text transformers
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index 5b2d518402cd..721d49dc5889 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -2,10 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-types";
-  version = "0.3";
-  sha256 = "0d0x7s865ca7bscskp6s7zyzpzd22nkd61wzwg11v6h0q5dilly7";
+  version = "0.3.1";
+  sha256 = "0ffmmidb9a1hqfbmvjxjvij2wfrqqlyjc7m7n81czrcrrsmyc1kc";
   buildDepends = [ text ];
   meta = {
+    homepage = "https://john-millikin.com/software/haskell-xml/";
     description = "Basic types for representing XML";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/xml/default.nix b/pkgs/development/libraries/haskell/xml/default.nix
index b5a56e3a1fa3..8a8e6e3e2ad0 100644
--- a/pkgs/development/libraries/haskell/xml/default.nix
+++ b/pkgs/development/libraries/haskell/xml/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml";
-  version = "1.3.10";
-  sha256 = "0mmibqzbbqmw4a8gc4f2yy144nx48gpfwj3iqq6dydvcikajxav2";
+  version = "1.3.12";
+  sha256 = "1lmqnzna0zy297y4q6qviv7a4966zz9mhfhk6anrp66cz890whai";
   buildDepends = [ text ];
   meta = {
     homepage = "http://code.galois.com";
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 2b25768aa69d..e65737a94b9e 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.5.1.1";
-  sha256 = "1l3f1rbdajdf9944kwbf90a1wxv00g2jcgjkg54k6c3iqbx956w2";
+  version = "0.5.1.2";
+  sha256 = "0xmx58h47prpmgbf63bsy7ar74h0d968wyd2yg3bgvwmnd83iz7d";
   buildDepends = [
     aeson attoparsec conduit text transformers unorderedContainers
     vector
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index 306475a81b43..d19157382a80 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-conduit";
-  version = "0.0.0";
-  sha256 = "1nqcw809xqlycggn4nqys205gv3kjwws16910xlx2b8b9f8ayxjg";
+  version = "0.0.1";
+  sha256 = "19bxw5maiff213jsbw889pwhmkwh1qnxrv377icwsqa619dx4k1y";
   buildDepends = [ conduit transformers zlibBindings ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 303f2750d82a..09de2e702e13 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
   };
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
-  buildInputs = [ pkgconfig cairo expat ncurses libX11 ];
+  buildNativeInputs = [ pkgconfig ];
+
+  # Filter out `null' inputs.  This allows users to `.override' the
+  # derivation and set optional dependencies to `null'.
+  buildInputs = stdenv.lib.filter (x: x != null)
+   [ cairo expat ncurses libX11 ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index bca8aedfd4b5..8cf4cc7991f0 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b";
   };
 
-  buildInputs = [unzip libjpeg];
+  buildNativeInputs = [unzip];
+  propagatedBuildInputs = [ libjpeg ];
 
   configureFlags = "--enable-shared";
   
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index d37b7dd0b7fb..7c0127bf7100 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,28 +1,31 @@
-{stdenv, fetchurl, pkgconfig, libpthreadstubs}:
+{stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, cairo, udev}:
 
-stdenv.mkDerivation (rec {
-  name = "libdrm-2.4.24";
+stdenv.mkDerivation rec {
+  name = "libdrm-2.4.29";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "19dnzy7g6jqfjz38dp187b97vb4a8h4k748x56gsyn24ys0j60f7";
+    sha256 = "0bj5ihmnzpbbgdrvp5f8bgsk0k19haixr893449pjd4k7v4jshz2";
   };
 
-  buildInputs = [ pkgconfig libpthreadstubs ];
+  buildNativeInputs = [ pkgconfig ];
+  buildInputs = [ libpthreadstubs libpciaccess cairo udev ];
 
-  patches = [ ./libdrm-apple.patch ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
-  preConfigure = ''
-    # General case: non intel.
-    if test -n "$crossConfig"; then
-      configureFlags="$configureFlags --disable-intel";
-    fi
-  '' + stdenv.lib.optionalString stdenv.isDarwin
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin
   "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
+  configureFlags = [ "--enable-nouveau-experimental-api" "--enable-udev" ]
+    ++ stdenv.lib.optional stdenv.isDarwin "-C";
+
+  crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
+
   meta = {
     homepage = http://dri.freedesktop.org/libdrm/;
     description = "Library for accessing the kernel's Direct Rendering Manager";
     license = "bsd";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
   };
-} // (stdenv.lib.optionalAttrs stdenv.isDarwin { configureFlags = [ "-C" ]; }))
+}
diff --git a/pkgs/development/libraries/libdrm/libdrm-apple.patch b/pkgs/development/libraries/libdrm/libdrm-apple.patch
index e9fd63c5faec..17b447789c2f 100644
--- a/pkgs/development/libraries/libdrm/libdrm-apple.patch
+++ b/pkgs/development/libraries/libdrm/libdrm-apple.patch
@@ -2,9 +2,9 @@ diff -Naur libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c libdrm-2.4.26/intel/intel
 --- libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c	2011-04-01 10:30:51.000000000 -0400
 +++ libdrm-2.4.26/intel/intel_bufmgr_gem.c	2011-08-29 02:17:20.000000000 -0400
 @@ -51,6 +51,7 @@
- #include <sys/mman.h>
  #include <sys/stat.h>
  #include <sys/types.h>
+ #include <stdbool.h>
 +#include <sys/time.h>
  
  #include "errno.h"
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 6a1de4d95e4a..edbde5a9b494 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,37 +1,39 @@
-{ stdenv, fetchurl, flex, bison, pkgconfig, x11, xlibs, libdrm, file, expat
+{ stdenv, fetchurl, flex, bison, pkgconfig, libdrm, file, expat, makedepend
+, libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext
+, libXt, udev, enableTextureFloats ? false
 , python, libxml2Python, lipo ? null }:
 
 if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
   throw "unsupported platform for Mesa"
 else
 
-let version = "7.10.3"; in
+let version = "7.11.2"; in
 
 stdenv.mkDerivation {
   name = "mesa-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "1h451vgsfsp0h0wig66spqgxmjalsy28gvd9viynfwmq7741yw0y";
+    sha256 = "0msk1fh4yw4yi7z37v75vhpa23z49lkwgin6drczbihbqsl6lx2p";
   };
 
   patches = [ ./swrast-settexbuffer.patch ];
 
-  postPatch = ''
-    find . -name "*.py" -exec sed -i -e "s|#! */usr/bin/env python|#! ${python}/bin/python|" {} +
-  '';
+  prePatch = "patchShebangs .";
 
+# r300
   configureFlags =
       " --with-driver=dri --enable-gl-osmesa --enable-gles1"
-    + " --enable-gallium --enable-gallium-r600 --enable-gles2"
-    + " --enable-gallium-swrast --enable-gallium-egl --disable-glx-tls"
-    + " --enable-xcb --enable-egl --disable-glut";
-
-  buildInputs =
-    [ pkgconfig expat x11 libdrm xlibs.makedepend xlibs.glproto
-      xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto
-      lipo file python libxml2Python flex bison
-    ];
+    + " --with-gallium-drivers=i915,i965,nouveau,r600,svga,swrast"
+    + " --enable-gles2 --enable-gallium-egl --disable-glx-tls"
+    + " --enable-xcb --enable-egl --disable-glut"
+    # Texture floats are patented, see docs/patents.txt
+    + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float";
+
+  buildInputs = [ expat libdrm libXxf86vm libXfixes libXdamage glproto dri2proto
+    libxml2Python libX11 libXext libxcb lipo libXt udev ];
+
+  buildNativeInputs = [ pkgconfig python makedepend file flex bison ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 876b87408e8d..a7c96f1d2ea7 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocaml-batteries-1.4.0";
+  name = "ocaml-batteries-1.4.1";
 
   src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/643/batteries-1.4.0.tar.gz;
-    sha256 = "1qyhiyanlhpbj0dv0vyqak87qfadjzg2pb8q93iybmg59akaxl15";
+    url = http://forge.ocamlcore.org/frs/download.php/684/batteries-1.4.1.tar.gz;
+    sha256 = "bdca7deba290d83c66c0a5001da52b2d7f2af58b7b7e7d9303d4363aaafe9c30";
   };
 
   buildInputs = [ocaml findlib camomile ounit];
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
new file mode 100644
index 000000000000..408082226221
--- /dev/null
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-extlib-1.5.2";
+
+  src = fetchurl {
+    url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.2.tar.gz";
+    sha256 = "ca6d69adeba4242ce41c02a23746ba1e464c0bbec66e2d16b02c3c6e85dc10aa";
+  };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "true";
+
+  meta = {
+    homepage = "http://code.google.com/p/ocaml-extlib/";
+    description = "Enhancements to the OCaml Standard Library modules";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlmake/default.nix b/pkgs/development/ocaml-modules/ocamlmake/default.nix
new file mode 100644
index 000000000000..69386bd75787
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlmake/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "ocaml-make-6.33.0";
+
+  src = fetchurl {
+    url = "http://www.ocaml.info/ocaml_sources/ocaml-make-6.33.0.tar.gz";
+    sha256 = "3054303ba04e4bbbe038e08310fabc3e5a0e3899bbba33d9ac5ed7a1b9d1e05a";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = "cp OCamlMakefile $out";
+
+  meta = {
+    homepage = "http://www.ocaml.info/home/ocaml_sources.html";
+    description = "Generic OCaml Makefile for GNU Make";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index fdc527791c0b..112242e24d6c 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -2,16 +2,15 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "6.1.0";
+  version = "6.2.5";
 in
 
 stdenv.mkDerivation {
   name = "ocaml-pcre-${version}";
 
   src = fetchurl {
-    url = "http://hg.ocaml.info/release/pcre-ocaml/archive/" +
-          "release-${version}.tar.bz2";
-    sha256 = "1lj9mzabi1crxwvb2ly1l10h4hlx0fw20nbnq76bbzzkzabjs4ll";
+    url = "http://www.ocaml.info/ocaml_sources/pcre-ocaml-${version}.tar.gz";
+    sha256 = "f1774028a4525d22d1f4cf4ce0121c99d85a75aed7a498c3e8ab0f5e39888e47";
   };
 
   buildInputs = [pcre ocaml findlib];
@@ -21,7 +20,7 @@ stdenv.mkDerivation {
   configurePhase = "true";	# Skip configure phase
 
   meta = {
-    homepage = "http://www.ocaml.info/home/ocaml_sources.html#pcre-ocaml";
+    homepage = "http://www.ocaml.info/home/ocaml_sources.html";
     description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml";
     license = "LGPL";
     platforms = ocaml.meta.platforms;
diff --git a/pkgs/development/ocaml-modules/pycaml/default.nix b/pkgs/development/ocaml-modules/pycaml/default.nix
new file mode 100644
index 000000000000..af7207064bae
--- /dev/null
+++ b/pkgs/development/ocaml-modules/pycaml/default.nix
@@ -0,0 +1,51 @@
+{stdenv, fetchurl, ocaml, findlib, python, ocaml_make}:
+
+# The actual version of pycaml is unclear, as it is the original
+# 0.82 version with some patches applied in order to use it for
+# the kompostilo type setter (see README). Apparently, some of
+# the patches provide Python 3.1 support.
+# This version also differs from the Debian version, which
+# is also a heavily patched 0.82.
+# Therefore, we may at some point try to find out what is
+# actually the "real" version (if the library is still alive).
+
+stdenv.mkDerivation {
+  name = "pycaml-0.82";
+
+  src = fetchurl {
+    name = "pycaml.tar.gz";
+    url = "http://github.com/chemoelectric/pycaml/tarball/master";
+    sha256 = "ff6d863c42b4ef798f50ff5eff77b47b77b5c0d28b6f65364e8a436a216dc591";
+  };
+
+  buildInputs = [ocaml findlib python]; 
+
+  createFindlibDestdir = true;
+
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" ];
+
+  # fix some paths to the appropriate store paths.
+  patchPhase = ''
+    sed -i "Makefile" -e's|/usr/include/OCamlMakefile|${ocaml_make}|g'
+    sed -i "Makefile" -e's|/usr|${python}|g'
+    '';
+
+  buildPhase = ''
+    make -f Makefile -j1 PYVER=`python -c 'import sys; print("{0}.{1}".format(sys.version_info.major, sys.version_info.minor));'`
+    '';
+
+  # the Makefile is not shipped with an install target, hence we do it ourselves.
+  installPhase = ''
+    ocamlfind install pycaml \
+      dllpycaml_stubs.so* libpycaml_stubs.a pycaml.a pycaml.cma \
+      pycaml.cmi pycaml.cmo pycaml.cmx pycaml.cmxa pycaml.ml pycaml.mli \
+      pycaml.o pycaml_stubs.c pycaml_stubs.h pycaml_stubs.o META
+    '';
+
+  meta = {
+    homepage = "http://github.com/chemoelectric/pycaml";
+    description = "Bindings for python and ocaml";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix
new file mode 100644
index 000000000000..d2df36ec38d9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sexplib/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv}:
+
+# note: only works with ocaml>3.12
+# use version 5.2.0 if you still want an 3.11 version...
+
+stdenv.mkDerivation {
+  name = "ocaml-sexplib-7.0.4";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/699/sexplib-7.0.4.tar.gz";
+    sha256 = "83c6c771f423d91bebc4f57202066358adf3775fb000dd780079f51436045a43";
+  };
+
+  buildInputs = [ocaml findlib ocaml_typeconv];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "true";
+
+  meta = {
+    homepage = "http://forge.ocamlcore.org/projects/sexplib/";
+    description = "Library for serializing OCaml values to and from S-expressions.";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix
new file mode 100644
index 000000000000..c3ef8dd9856b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/typeconv/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+# note: works only with ocaml >3.12
+
+stdenv.mkDerivation {
+  name = "ocaml-typeconv-3.0.4";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/697/ocaml-type-conv-3.0.4.tar.gz";
+    sha256 = "63b6f2872d29fb4c0b1448343bb5ec0649365126756128049d45a81238b59f12";
+  };
+
+  buildInputs = [ocaml findlib ]; 
+
+  createFindlibDestdir = true;
+
+  configurePhase = "true";
+
+  meta = {
+    homepage = "http://forge.ocamlcore.org/projects/type-conv/";
+    description = "Support library for OCaml preprocessor type conversions";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index 35b3dec9c86a..0b05713e7b8e 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -1,14 +1,19 @@
-{ cabal, binary, cairo, ghcEvents, glib, gtk, mtl, pango }:
+{ cabal, binary, cairo, deepseq, ghcEvents, glib, gtk, mtl, pango
+, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "threadscope";
-  version = "0.2.0";
-  sha256 = "0b8lc8han4d90wgzliy80l1gbkm09gg6qxsn37blj41wzl6yzr9k";
+  version = "0.2.1";
+  sha256 = "08s9fbwg33rgbqjdx7n90q83livfay9khr2ddjwj8brw8k1wkmxg";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ binary cairo ghcEvents glib gtk mtl pango ];
+  buildDepends = [
+    binary cairo deepseq ghcEvents glib gtk mtl pango time
+  ];
   configureFlags = "--ghc-options=-rtsopts";
   meta = {
+    homepage = "http://www.haskell.org/haskellwiki/ThreadScope";
     description = "A graphical tool for profiling parallel Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index d8b077a20f5c..7a247b0b2e34 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,14 +1,21 @@
-{ fetchurl, stdenv, ocaml, perl, python, ncurses, makeWrapper }:
+{ fetchurl, stdenv, perl, python, ncurses, makeWrapper
+, ocaml, ocamlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "coccinelle-0.2.2";
+  name = "coccinelle-1.0.0-rc9";
 
   src = fetchurl {
     url = "http://coccinelle.lip6.fr/distrib/${name}.tgz";
-    sha256 = "1rnhxlqwcps67nyn61xj8mf6wdja29q8m16r4jwdwxvfpnsdhwfy";
+    sha256 = "75d5354e76500b627ccc33b8a929305e5a815ebf08027a8dc094f75ece241697";
   };
 
-  buildInputs = [ ocaml perl python ncurses makeWrapper ];
+  buildInputs = [
+      ocaml ocamlPackages.findlib
+      ocamlPackages.menhir ocamlPackages.ocaml_batteries
+      ocamlPackages.ocaml_pcre ocamlPackages.ocaml_sexplib
+      ocamlPackages.ocaml_extlib ocamlPackages.pycaml
+      python ncurses makeWrapper perl
+    ];
 
   preConfigure =
     '' sed -i "configure" -e's|/usr/bin/perl|${perl}/bin/perl|g'
@@ -16,10 +23,13 @@ stdenv.mkDerivation rec {
            -e"s|/usr/local/share|$out/share|g"
     '';
 
-  buildPhase = "make depend && make all";
+  buildPhase = "make depend && make all && make all.opt";
 
   # Note: The tests want $out/share/coccinelle/standard.h so they must be run
   # after "make install".
+  # (I'm not sure if this is still needed.)
+  # Note: The check phase is now disabled completely, because the expected
+  # testing score is not always updated.
   doCheck = false;
 
   postInstall =
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 75776416cfc5..88f9c32ba92e 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, openssl, python, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.5";
+  version = "0.6.6";
   name = "nodejs-${version}";
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "72364d240fb61e678897c099df6f2913857c5931aa9b1f44e73e432d4629ca2f";
+    sha256 = "00i14bjhyadxrh0df1ig4ndv1c0b7prnnhyar5lxcgxnn4cabgks";
   };
 
   configureFlags = [
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf}
   '';
 
-  buildInputs = [ python openssl zlib];
+  buildInputs = [ python openssl zlib ];
 
   meta = with stdenv.lib; {
     description = "Event-driven I/O framework for the V8 JavaScript engine";
diff --git a/pkgs/tools/graphics/logstalgica/default.nix b/pkgs/tools/graphics/logstalgica/default.nix
new file mode 100644
index 000000000000..bdde9daea9f1
--- /dev/null
+++ b/pkgs/tools/graphics/logstalgica/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa }:
+
+let
+  name = "logstalgia-1.0.3";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://logstalgia.googlecode.com/files/logstalgia-1.0.3.tar.gz";
+    sha256 = "1sv1cizyw3y7g558hnvvcal8z889gbr82v4qj35hxdmrzygqlcyk";
+  };
+
+  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+
+  meta = {
+    homepage = "http://code.google.com/p/logstalgia/";
+    description = "website traffic visualization tool";
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    longDescription = ''
+      Logstalgia is a website traffic visualization that replays or
+      streams web-server access logs as a pong-like battle between the
+      web server and an never ending torrent of requests.
+
+      Requests appear as colored balls (the same color as the host)
+      which travel across the screen to arrive at the requested
+      location. Successful requests are hit by the paddle while
+      unsuccessful ones (eg 404 - File Not Found) are missed and pass
+      through.
+
+      The paths of requests are summarized within the available space by
+      identifying common path prefixes. Related paths are grouped
+      together under headings. For instance, by default paths ending in
+      png, gif or jpg are grouped under the heading Images. Paths that
+      don’t match any of the specified groups are lumped together under
+      a Miscellaneous section.
+    '';
+
+    platforms = stdenv.lib.platforms.gnu;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
new file mode 100644
index 000000000000..84b271acf2b0
--- /dev/null
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "wkhtmltopdf-0.11.0_rc1";
+
+  src = fetchurl {
+    url = "http://wkhtmltopdf.googlecode.com/files/${name}.tar.bz2";
+    sha1 = "db03922d281856e503b3d562614e3936285728c7";
+  };
+
+  buildInputs = [ qt4 ];
+
+  configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out";
+  
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://code.google.com/p/wkhtmltopdf/;
+    description = "Tools for rendering web pages to PDF or images";
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/tools/misc/gource/default.nix b/pkgs/tools/misc/gource/default.nix
deleted file mode 100644
index 9ec8961f2687..000000000000
--- a/pkgs/tools/misc/gource/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa}:
- 
-stdenv.mkDerivation {
-  name = "gource-0.37";
-  
-  src = fetchurl {
-    url = http://gource.googlecode.com/files/gource-0.37.tar.gz;
-    sha256 = "03kd9nn65cl1p2jgn6pvpxmvnfscz3c8jqds90fsc0z37ij2iiyn";
-  };
-  
-  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
-
-}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 708951814bcb..e5475e7fd06b 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.0pre31028";
+  name = "nix-1.0pre31616";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/1648301/download/4/${name}.tar.bz2";
-    sha256 = "5a74cff532e0615b23a3937003ee67d257b4371d89fc60ae2be9f342efd979d2";
+    url = "http://hydra.nixos.org/build/1823251/download/4/${name}.tar.bz2";
+    sha256 = "34d95cee3a931666f358f18557f884b6bc7fade83092eef021e52db7ba5e2af1";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c89ea2f73fe..2e0c263c330a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -760,7 +760,7 @@ let
 
   gnuvd = callPackage ../tools/misc/gnuvd { };
 
-  gource = callPackage ../tools/misc/gource { };
+  gource = callPackage ../applications/version-management/gource {};
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
@@ -932,6 +932,8 @@ let
 
   logrotate = callPackage ../tools/system/logrotate { };
 
+  logstalgica = callPackage ../tools/graphics/logstalgica {};
+
   lout = callPackage ../tools/typesetting/lout { };
 
   lrzip = callPackage ../tools/compression/lrzip { };
@@ -1283,7 +1285,6 @@ let
   ripmime = callPackage ../tools/networking/ripmime {};
 
   rsnapshot = callPackage ../tools/backup/rsnapshot {
-
     # For the `logger' command, we can use either `utillinux' or
     # GNU Inetutils.  The latter is more portable.
     logger = inetutils;
@@ -1549,6 +1550,8 @@ let
 
   wicd = callPackage ../tools/networking/wicd { };
 
+  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
+
   wv = callPackage ../tools/misc/wv { };
 
   wv2 = callPackage ../tools/misc/wv2 { };
@@ -2244,10 +2247,11 @@ let
 
   # Reasonably current HEAD snapshot. Should *always* be lowPrio.
   haskellPackages_ghcHEAD =
-    haskellPackagesFun ../development/compilers/ghc/head.nix
-      # (haskellPackages_ghc704.ghcWithPackages (self : [ self.alex self.happy ]))
-      (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
-      (x : x.ghcHEADPrefs) false false lowPrio;
+    recurseIntoAttrs
+      (haskellPackagesFun ../development/compilers/ghc/head.nix
+        # (haskellPackages_ghc704.ghcWithPackages (self : [ self.alex self.happy ]))
+        (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
+        (x : x.ghcHEADPrefs) false false lowPrio);
 
   haxeDist = import ../development/compilers/haxe {
     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
@@ -2430,6 +2434,14 @@ let
     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
       camlp5 = camlp5_5_transitional;
     };
+
+    ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { };
+
+    ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { };
+
+    ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
+
+    pycaml = callPackage ../development/ocaml-modules/pycaml { };
   };
 
   ocamlPackages = recurseIntoAttrs ocamlPackages_3_12_1;
@@ -2437,6 +2449,8 @@ let
   ocamlPackages_3_11_1 = mkOcamlPackages ocaml_3_11_1 pkgs.ocamlPackages_3_11_1;
   ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1;
 
+  ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
+
   opa = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/compilers/opa { };
 
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
@@ -2888,7 +2902,10 @@ let
 
   cmakeWithGui = cmakeCurses.override { useQt4 = true; };
 
-  coccinelle = callPackage ../development/tools/misc/coccinelle { };
+  coccinelle = callPackage ../development/tools/misc/coccinelle {
+    ocamlPackages = ocamlPackages_3_12_1;
+    ocaml = ocaml_3_12_1;
+  };
 
   cppi = callPackage ../development/tools/misc/cppi { };
 
@@ -7474,7 +7491,7 @@ let
 
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
 
-  thunderbird = callPackage ../applications/networking/mailreaders/thunderbird/7.x.nix {
+  thunderbird = callPackage ../applications/networking/mailreaders/thunderbird/9.x.nix {
     inherit (gnome) libIDL;
   };
 
@@ -8172,7 +8189,7 @@ let
     inherit (gtkLibs) glib gtk;
   };
 
-  xfce = xfce46;
+  xfce = xfce48;
 
   xfce46 = recurseIntoAttrs
     (let callPackage = newScope pkgs.xfce46; in
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index f123b1193401..236f8f9a5a91 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -915,6 +915,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   logfloat = callPackage ../development/libraries/haskell/logfloat {};
 
+  mathFunctions = callPackage ../development/libraries/haskell/math-functions {};
+
   maude = callPackage ../development/libraries/haskell/maude {
     parsec = self.parsec3;
   };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 421c03ea0af1..8565d4b8abc5 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -2987,6 +2987,14 @@ rec {
     };
   };
 
+  SortVersions = buildPerlPackage rec {
+    name = "Sort-Versions-1.5";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/ED/EDAVIS/${name}.tar.gz";
+      sha256 = "1yhyxaakyhcffgr9lwd314badhlc2gh9f6n47013ljshbnkgzhh9";
+    };
+  };
+
   SpreadsheetParseExcel = buildPerlPackage rec {
     name = "Spreadsheet-ParseExcel-0.58";
     src = fetchurl {