summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-01-22 23:23:53 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-01-22 23:23:53 +0100
commit0a47a28f1df3bdf7b2cf074af84a432aa48cbba7 (patch)
tree6c953c0d58cf6d178795383fefe9babddaa7da4e /pkgs
parent3e2e62ca31311dd7e5237aa97a815458a44a3a3e (diff)
parent296cd6600943d5a349cda55a36137331f8c3eec8 (diff)
downloadnixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar.gz
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar.bz2
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar.lz
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar.xz
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.tar.zst
nixpkgs-0a47a28f1df3bdf7b2cf074af84a432aa48cbba7.zip
Merge remote-tracking branch 'origin/master' into stdenv-updates
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/display-managers/slim/default.nix6
-rw-r--r--pkgs/applications/graphics/feh/default.nix8
-rw-r--r--pkgs/applications/graphics/qiv/default.nix5
-rw-r--r--pkgs/applications/misc/goldendict/default.nix4
-rw-r--r--pkgs/applications/misc/nut/2.6.3.nix34
-rw-r--r--pkgs/applications/misc/nut/default.nix32
-rw-r--r--pkgs/applications/networking/browsers/firefox/17.0.nix176
-rw-r--r--pkgs/applications/networking/browsers/firefox/18.0.nix6
-rw-r--r--pkgs/applications/networking/dropbox/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix7
-rw-r--r--pkgs/desktops/kde-4.7/kde-workspace.nix4
-rw-r--r--pkgs/desktops/kde-4.8/kde-workspace.nix4
-rw-r--r--pkgs/development/compilers/llvm/clang-include-paths.patch21
-rw-r--r--pkgs/development/compilers/llvm/clang-ld-flags.patch57
-rw-r--r--pkgs/development/compilers/llvm/clang-purity.patch137
-rw-r--r--pkgs/development/compilers/llvm/clang.nix12
-rw-r--r--pkgs/development/compilers/llvm/default.nix5
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix22
-rw-r--r--pkgs/development/compilers/openjdk/cppflags-include-fix.patch16
-rw-r--r--pkgs/development/compilers/openjdk/default.nix41
-rw-r--r--pkgs/development/compilers/openjdk/linux-version-check-fix.patch12
-rw-r--r--pkgs/development/compilers/openjdk/printf-fix.patch12
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.nix13
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.sh34
-rw-r--r--pkgs/development/interpreters/python/pythonhome-wrapper.nix21
-rw-r--r--pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch28
-rw-r--r--pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch62
-rw-r--r--pkgs/development/libraries/consolekit/commands.patch33
-rw-r--r--pkgs/development/libraries/consolekit/default.nix29
-rw-r--r--pkgs/development/libraries/gnutls/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/groupoids/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/profunctor-extras/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/semigroupoid-extras/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/skein/default.nix4
-rw-r--r--pkgs/development/libraries/nettle/default.nix2
-rw-r--r--pkgs/development/libraries/polkit/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix4
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix15
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix8
-rw-r--r--pkgs/development/perl-modules/DBD-Pg/default.nix11
-rw-r--r--pkgs/development/perl-modules/starman-dont-change-name.patch23
-rw-r--r--pkgs/development/perl-modules/template-toolkit-nix-store.patch23
-rw-r--r--pkgs/development/python-modules/generic/default.nix8
-rw-r--r--pkgs/development/python-modules/offline-distutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix6
-rw-r--r--pkgs/os-specific/linux/udev/173.nix58
-rw-r--r--pkgs/os-specific/linux/udev/custom-rules.patch91
-rw-r--r--pkgs/os-specific/linux/udev/pre-accept4-kernel.patch43
-rw-r--r--pkgs/os-specific/linux/udisks/default.nix7
-rw-r--r--pkgs/os-specific/linux/udisks/no-pci-db.patch13
-rw-r--r--pkgs/os-specific/linux/upower/default.nix2
-rw-r--r--pkgs/servers/nosql/redis/darwin.patch12
-rw-r--r--pkgs/servers/nosql/redis/default.nix12
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix20
-rw-r--r--pkgs/tools/networking/network-manager/default.nix8
-rw-r--r--pkgs/tools/networking/tinc/default.nix30
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix12
-rw-r--r--pkgs/tools/security/gnupg1/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix64
-rw-r--r--pkgs/top-level/haskell-packages.nix12
-rw-r--r--pkgs/top-level/perl-packages.nix2459
-rw-r--r--pkgs/top-level/python-packages.nix524
-rw-r--r--pkgs/top-level/release.nix2
70 files changed, 2648 insertions, 1797 deletions
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index 0675b02a314..601aa7bf53a 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
-, fontconfig, freetype, pam, consolekit, dbus_libs }:
+, fontconfig, freetype, pam, dbus_libs }:
 
 stdenv.mkDerivation rec {
   name = "slim-1.3.4";
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
       pam dbus_libs
-    ] ++ stdenv.lib.optional (consolekit != null) consolekit;
+    ];
 
   preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
 
-  cmakeFlags = [ "-DUSE_PAM=1" ] ++ stdenv.lib.optional (consolekit != null) "-DUSE_CONSOLEKIT=1";
+  cmakeFlags = [ "-DUSE_PAM=1" ];
 
   NIX_CFLAGS_LINK = "-lXmu";
 
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index e19d06927a2..0cd34027966 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib
 , libXinerama, curl }:
 
-stdenv.mkDerivation {
-  name = "feh-2.4";
+stdenv.mkDerivation rec {
+  name = "feh-2.8";
 
   src = fetchurl {
-    url = http://feh.finalrewind.org/feh-2.4.tar.bz2;
-    sha256 = "00liykp0ipmmiggl26wk72iawcff6zpmbniifdr3f5yf0sfanz48";
+    url = "http://feh.finalrewind.org/${name}.tar.bz2";
+    sha256 = "0zmslchnzvi9ydxj2mgci4x8zpv5mdfkf7kyny3nibbpajibqmrx";
   };
 
   buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama curl ];
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index 05eb83cee29..df18c6d1520 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ pkgconfig gtk imlib2 file ];
 
-  preBuild=''substituteInPlace Makefile --replace /usr/local "$out"'';
+  preBuild=''
+    substituteInPlace Makefile --replace /usr/local "$out"
+    substituteInPlace Makefile --replace /man/ /share/man/
+  '';
 
   meta = {
     description = "qiv (quick image viewer)";
diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix
index 881f5339bdf..f7b8a511bc6 100644
--- a/pkgs/applications/misc/goldendict/default.nix
+++ b/pkgs/applications/misc/goldendict/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, qt4, libXtst, libvorbis, phonon, hunspell }:
+{ stdenv, fetchurl, pkgconfig, qt4, libXtst, libvorbis, phonon, hunspell }:
 stdenv.mkDerivation rec {
   name = "goldendict-1.0.1";
   src = fetchurl {
     url = "mirror://sourceforge/goldendict/${name}-src.tar.bz2";
     sha256 = "19p99dd5jgs0k66sy30vck7ymqj6dv1lh6w8xw18zczdll2h9yxk";
   };
-  buildInputs = [ qt4 libXtst libvorbis phonon hunspell ];
+  buildInputs = [ pkgconfig qt4 libXtst libvorbis phonon hunspell ];
   unpackPhase = ''
     mkdir ${name}-src
     cd ${name}-src
diff --git a/pkgs/applications/misc/nut/2.6.3.nix b/pkgs/applications/misc/nut/2.6.3.nix
deleted file mode 100644
index 54dce8fe3c2..00000000000
--- a/pkgs/applications/misc/nut/2.6.3.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
-
-stdenv.mkDerivation {
-  name = "nut-2.6.3";
-  src = fetchurl {
-    url = http://www.networkupstools.org/source/2.6/nut-2.6.3.tar.gz;
-    sha256 = "0fk3bcivv26kw1psxb6sykqp9n5w02j01s1idypzlci0kmr3p49l";
-  };
-
-  buildInputs = [ neon libusb openssl udev avahi freeipmi ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = [
-    "--with-all"
-    "--with-ssl"
-    "--without-snmp" # Until we have it ...
-    "--without-powerman" # Until we have it ...
-    "--without-cgi"
-    "--without-hal"
-  ];
-
-  meta = {
-    description = "Network UPS Tools";
-    longDescription = ''
-      Network UPS Tools is a collection of programs which provide a common
-      interface for monitoring and administering UPS, PDU and SCD hardware.
-      It uses a layered approach to connect all of the parts.
-    '';
-    homepage = http://www.networkupstools.org/;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ pierron ];
-    priority = 10;
-  };
-}
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 51ae8633a7c..157ecc0ffd8 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,21 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev }:
+{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
 
-stdenv.mkDerivation {
-  name = "nut-2.6.1";
+stdenv.mkDerivation rec {
+  name = "nut-2.6.5";
 
   src = fetchurl {
-    url = http://www.networkupstools.org/source/2.6/nut-2.6.1.tar.gz;
-    sha256 = "f5c46b856c0cf5b7f0e4b22d82b670af64cc98717a90eaac8723dd402a181c00";
+    url = "http://www.networkupstools.org/source/2.6/${name}.tar.gz";
+    sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
   };
 
-  buildInputs = [ pkgconfig neon libusb openssl udev ];
+  buildInputs = [ neon libusb openssl udev avahi freeipmi ];
 
-  configureFlags = [
-    "--with-all"
-    "--without-snmp" # Until we have it ...
-    "--without-powerman" # Until we have it ...
-    "--without-cgi"
-  ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags =
+    [ "--with-all"
+      "--with-ssl"
+      "--without-snmp" # Until we have it ...
+      "--without-powerman" # Until we have it ...
+      "--without-cgi"
+      "--without-hal"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
+    ];
+
+  enableParallelBuilding = true;
 
   meta = {
     description = "Network UPS Tools";
@@ -27,5 +34,6 @@ stdenv.mkDerivation {
     homepage = http://www.networkupstools.org/;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [ pierron ];
+    priority = 10;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/17.0.nix b/pkgs/applications/networking/browsers/firefox/17.0.nix
deleted file mode 100644
index 9b785bebacb..00000000000
--- a/pkgs/applications/networking/browsers/firefox/17.0.nix
+++ /dev/null
@@ -1,176 +0,0 @@
-{ 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 = "17.0.1";
-
-  xulVersion = "17.0.1"; # 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 = "15c09796a388f0a78996427b7bc2c80f4e0496f3";
-  };
-
-  commonConfigureFlags =
-    [ "--enable-optimize"
-      #"--enable-profiling"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      # "--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 = false;
-
-    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/firefox/18.0.nix b/pkgs/applications/networking/browsers/firefox/18.0.nix
index 4e0b4194257..66acae13084 100644
--- a/pkgs/applications/networking/browsers/firefox/18.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/18.0.nix
@@ -15,9 +15,9 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "18.0";
+  firefoxVersion = "18.0.1";
 
-  xulVersion = "18.0"; # this attribute is used by other packages
+  xulVersion = "18.0.1"; # this attribute is used by other packages
 
 
   src = fetchurl {
@@ -27,7 +27,7 @@ rec {
         # 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";
+    sha1 = "26415396233450a4e66bb0e0a73a258e1cb174ef";
   };
 
   commonConfigureFlags =
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 97b7cb51097..b979598e17c 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -42,7 +42,7 @@ let
     exec = "dropbox";
     comment = "Online directories";
     desktopName = "Dropbox";
-    genericName = "Online storage";    
+    genericName = "Online storage";
     categories = "Application;Internet;";
   };
 
@@ -65,7 +65,7 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     ensureDir "$out/${appdir}"
-    cp -r .dropbox-dist/* "$out/${appdir}/"
+    cp -r ".dropbox-dist/"* "$out/${appdir}/"
     ensureDir "$out/bin"
     ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
@@ -78,13 +78,13 @@ in stdenv.mkDerivation {
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
     ensureDir "$out/share/applications"
-    cp ${desktopItem}/share/applications/* $out/share/applications
+    cp "${desktopItem}/share/applications/"* $out/share/applications
   '';
 
   buildInputs = [ patchelf ];
 
   meta = {
+    homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
-    homepage = http://www.dropbox.com;
   };
 }
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index ba7953d737c..e583551bcf1 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
 , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
-, pythonPackages, makeWrapper }:
+, pythonPackages, cacert, cmake, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.9.2";
+  version = "0.4.0";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "114cffqwnrqx8r4dslz7sc4i4ky4akzh863rnzaw3dnn9ky9r503";
+    sha256 = "17jxknam1bbakmdfqy1b2cfc8l9ag90l3z1gcxdvwg358wasv9dc";
   };
 
   buildInputs = 
     [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
       libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
+      cacert cmake
     ];
 
   postInstall = ''
diff --git a/pkgs/desktops/kde-4.7/kde-workspace.nix b/pkgs/desktops/kde-4.7/kde-workspace.nix
index cfc9986ecfa..82730702989 100644
--- a/pkgs/desktops/kde-4.7/kde-workspace.nix
+++ b/pkgs/desktops/kde-4.7/kde-workspace.nix
@@ -1,6 +1,6 @@
 { kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies
 , lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate
-, consolekit, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi
+, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi
 , pykde4, libjpeg, pkgconfig, libXft, libXxf86misc
 }:
 
@@ -12,7 +12,7 @@ kde {
       xorg.libXcomposite xorg.libXdamage xorg.libXau xorg.libXdmcp
       xorg.libpthreadstubs
       boost gpsd shared_desktop_ontologies lm_sensors pciutils libraw1394
-      libusb python libqalculate consolekit kdepimlibs pam prison akonadi
+      libusb python libqalculate kdepimlibs pam prison akonadi
     ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/kde-4.8/kde-workspace.nix b/pkgs/desktops/kde-4.8/kde-workspace.nix
index 1f1466eeaec..97192e55be3 100644
--- a/pkgs/desktops/kde-4.8/kde-workspace.nix
+++ b/pkgs/desktops/kde-4.8/kde-workspace.nix
@@ -1,6 +1,6 @@
 { kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies,
   lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate,
-  consolekit, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi,
+  xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi,
   pykde4, libjpeg, pkgconfig, libXft, libXxf86misc, kactivities
 }:
 
@@ -12,7 +12,7 @@ kde {
       xorg.libXcomposite xorg.libXdamage xorg.libXau xorg.libXdmcp
       xorg.libpthreadstubs
       boost gpsd shared_desktop_ontologies lm_sensors pciutils libraw1394
-      libusb python libqalculate consolekit kdepimlibs pam prison akonadi
+      libusb python libqalculate kdepimlibs pam prison akonadi
       kactivities
     ];
 
diff --git a/pkgs/development/compilers/llvm/clang-include-paths.patch b/pkgs/development/compilers/llvm/clang-include-paths.patch
deleted file mode 100644
index 5e7370718ab..00000000000
--- a/pkgs/development/compilers/llvm/clang-include-paths.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp
---- clang-3.1.src-orig/lib/Driver/ToolChains.cpp	2012-05-11 20:16:02.000000000 -0400
-+++ clang-3.1.src/lib/Driver/ToolChains.cpp	2012-10-08 01:13:01.044083509 -0400
-@@ -2146,9 +2146,6 @@
-   if (DriverArgs.hasArg(options::OPT_nostdinc))
-     return;
- 
--  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
--    addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
--
-   if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
-     llvm::sys::Path P(D.ResourceDir);
-     P.appendComponent("include");
-@@ -2264,6 +2261,7 @@
-     return;
- 
-   // Check if libc++ has been enabled and provide its include paths if so.
-+  // !!! Will need to modify this if/when nixpkgs uses libc++
-   if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
-     // libc++ is always installed at a fixed path on Linux currently.
-     addSystemInclude(DriverArgs, CC1Args,
diff --git a/pkgs/development/compilers/llvm/clang-ld-flags.patch b/pkgs/development/compilers/llvm/clang-ld-flags.patch
deleted file mode 100644
index ffa67b464ec..00000000000
--- a/pkgs/development/compilers/llvm/clang-ld-flags.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp
---- clang-3.1.src-orig/lib/Driver/ToolChains.cpp	2012-05-11 20:16:02.000000000 -0400
-+++ clang-3.1.src/lib/Driver/ToolChains.cpp	2012-10-08 01:22:53.458850737 -0400
-@@ -2077,16 +2077,6 @@
-       addPathIfExists(LibPath + "/../" + Multilib, Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
--
--  // Try walking via the GCC triple path in case of multiarch GCC
--  // installations with strange symlinks.
--  if (GCCInstallation.isValid())
--    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
--                    "/../../" + Multilib, Paths);
- 
-   // Add the non-multilib suffixed paths (if potentially different).
-   if (GCCInstallation.isValid()) {
-@@ -2100,8 +2090,6 @@
-       addPathIfExists(LibPath, Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib", Paths);
--  addPathIfExists(SysRoot + "/usr/lib", Paths);
- }
- 
- bool Linux::HasNativeLLVMSupport() const {
-diff -Naur clang-3.1.src-orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp
---- clang-3.1.src-orig/lib/Driver/Tools.cpp	2012-04-18 17:32:25.000000000 -0400
-+++ clang-3.1.src/lib/Driver/Tools.cpp	2012-10-08 01:25:23.913501995 -0400
-@@ -5210,24 +5210,6 @@
-       ToolChain.getArch() == llvm::Triple::thumb ||
-       (!Args.hasArg(options::OPT_static) &&
-        !Args.hasArg(options::OPT_shared))) {
--    CmdArgs.push_back("-dynamic-linker");
--    if (ToolChain.getArch() == llvm::Triple::x86)
--      CmdArgs.push_back("/lib/ld-linux.so.2");
--    else if (ToolChain.getArch() == llvm::Triple::arm ||
--             ToolChain.getArch() == llvm::Triple::thumb)
--      CmdArgs.push_back("/lib/ld-linux.so.3");
--    else if (ToolChain.getArch() == llvm::Triple::mips ||
--             ToolChain.getArch() == llvm::Triple::mipsel)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::mips64 ||
--             ToolChain.getArch() == llvm::Triple::mips64el)
--      CmdArgs.push_back("/lib64/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::ppc)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::ppc64)
--      CmdArgs.push_back("/lib64/ld64.so.1");
--    else
--      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
-   }
- 
-   CmdArgs.push_back("-o");
diff --git a/pkgs/development/compilers/llvm/clang-purity.patch b/pkgs/development/compilers/llvm/clang-purity.patch
new file mode 100644
index 00000000000..18c70b56c54
--- /dev/null
+++ b/pkgs/development/compilers/llvm/clang-purity.patch
@@ -0,0 +1,137 @@
+diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver/ToolChains.cpp
+--- clang-3.2.src-orig/lib/Driver/ToolChains.cpp	2012-12-16 10:59:27.000000000 -0500
++++ clang-3.2.src/lib/Driver/ToolChains.cpp	2013-01-22 14:16:55.787547681 -0500
+@@ -2153,16 +2153,6 @@
+       addPathIfExists(LibPath + "/../" + GCCTriple.str() + "/lib", Paths);
+     }
+   }
+-  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
+-  addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths);
+-  addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
+-  addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
+-
+-  // Try walking via the GCC triple path in case of multiarch GCC
+-  // installations with strange symlinks.
+-  if (GCCInstallation.isValid())
+-    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
+-                    "/../../" + Multilib, Paths);
+ 
+   // Add the non-multilib suffixed paths (if potentially different).
+   if (GCCInstallation.isValid()) {
+@@ -2176,8 +2166,6 @@
+       addPathIfExists(LibPath, Paths);
+     }
+   }
+-  addPathIfExists(SysRoot + "/lib", Paths);
+-  addPathIfExists(SysRoot + "/usr/lib", Paths);
+ }
+ 
+ bool Linux::HasNativeLLVMSupport() const {
+@@ -2228,9 +2216,6 @@
+   if (DriverArgs.hasArg(options::OPT_nostdinc))
+     return;
+ 
+-  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
+-    addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
+-
+   if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
+     llvm::sys::Path P(D.ResourceDir);
+     P.appendComponent("include");
+@@ -2295,24 +2280,6 @@
+     "/usr/include/powerpc64-linux-gnu"
+   };
+   ArrayRef<StringRef> MultiarchIncludeDirs;
+-  if (getTriple().getArch() == llvm::Triple::x86_64) {
+-    MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::x86) {
+-    MultiarchIncludeDirs = X86MultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::arm) {
+-    if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
+-      MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs;
+-    else
+-      MultiarchIncludeDirs = ARMMultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::mips) {
+-    MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::mipsel) {
+-    MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::ppc) {
+-    MultiarchIncludeDirs = PPCMultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::ppc64) {
+-    MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
+-  }
+   for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(),
+                                      E = MultiarchIncludeDirs.end();
+        I != E; ++I) {
+@@ -2324,13 +2291,6 @@
+ 
+   if (getTriple().getOS() == llvm::Triple::RTEMS)
+     return;
+-
+-  // Add an include of '/include' directly. This isn't provided by default by
+-  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
+-  // add even when Clang is acting as-if it were a system compiler.
+-  addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include");
+-
+-  addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include");
+ }
+ 
+ /// \brief Helper to add the thre variant paths for a libstdc++ installation.
+diff -Naur clang-3.2.src-orig/lib/Driver/Tools.cpp clang-3.2.src/lib/Driver/Tools.cpp
+--- clang-3.2.src-orig/lib/Driver/Tools.cpp	2012-11-21 02:56:23.000000000 -0500
++++ clang-3.2.src/lib/Driver/Tools.cpp	2013-01-22 14:24:37.167212186 -0500
+@@ -5972,34 +5972,6 @@
+       ToolChain.getArch() == llvm::Triple::thumb ||
+       (!Args.hasArg(options::OPT_static) &&
+        !Args.hasArg(options::OPT_shared))) {
+-    CmdArgs.push_back("-dynamic-linker");
+-    if (isAndroid)
+-      CmdArgs.push_back("/system/bin/linker");
+-    else if (ToolChain.getArch() == llvm::Triple::x86)
+-      CmdArgs.push_back("/lib/ld-linux.so.2");
+-    else if (ToolChain.getArch() == llvm::Triple::arm ||
+-             ToolChain.getArch() == llvm::Triple::thumb) {
+-      if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
+-        CmdArgs.push_back("/lib/ld-linux-armhf.so.3");
+-      else
+-        CmdArgs.push_back("/lib/ld-linux.so.3");
+-    }
+-    else if (ToolChain.getArch() == llvm::Triple::mips ||
+-             ToolChain.getArch() == llvm::Triple::mipsel)
+-      CmdArgs.push_back("/lib/ld.so.1");
+-    else if (ToolChain.getArch() == llvm::Triple::mips64 ||
+-             ToolChain.getArch() == llvm::Triple::mips64el) {
+-      if (hasMipsN32ABIArg(Args))
+-        CmdArgs.push_back("/lib32/ld.so.1");
+-      else
+-        CmdArgs.push_back("/lib64/ld.so.1");
+-    }
+-    else if (ToolChain.getArch() == llvm::Triple::ppc)
+-      CmdArgs.push_back("/lib/ld.so.1");
+-    else if (ToolChain.getArch() == llvm::Triple::ppc64)
+-      CmdArgs.push_back("/lib64/ld64.so.1");
+-    else
+-      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
+   }
+ 
+   CmdArgs.push_back("-o");
+diff -Naur clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp
+--- clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp	2012-10-24 12:19:39.000000000 -0400
++++ clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp	2013-01-22 14:20:32.803925775 -0500
+@@ -221,8 +221,6 @@
+     case llvm::Triple::Bitrig:
+       break;
+     default:
+-      // FIXME: temporary hack: hard-coded paths.
+-      AddPath("/usr/local/include", System, true, false, false);
+       break;
+     }
+   }
+@@ -330,8 +328,6 @@
+     break;
+   }
+ 
+-  if ( os != llvm::Triple::RTEMS )
+-    AddPath("/usr/include", System, false, false, false);
+ }
+ 
+ void InitHeaderSearch::
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index 48e4c4946f3..0c578828888 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchurl, perl, groff, llvm, cmake }:
+{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2 }:
 
-let version = "3.1"; in
+let version = "3.2"; in
 
 stdenv.mkDerivation {
   name = "clang-${version}";
 
-  buildInputs = [ perl llvm groff cmake ];
+  buildInputs = [ perl llvm groff cmake libxml2 ];
 
-  patches = stdenv.lib.optionals (stdenv.gcc.libc != null) 
-    [ ./clang-include-paths.patch ./clang-ld-flags.patch ];
+  patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
 
   cmakeFlags = [
     "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
@@ -22,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
       url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz";
-      sha256 = "11m7sm9f8qcrayckfg3z91zb3fimilpm0f7azn7q7qnkvhay4qzz";
+      sha256 = "0n2nzw3pw2v7fk67f2k2qyzd9wibvi3i5j7cjzz1csqgghzz1aia";
   };
 
   passthru = { gcc = stdenv.gcc.gcc; };
@@ -35,4 +34,3 @@ stdenv.mkDerivation {
     platforms = with stdenv.lib.platforms; all;
   };
 }
-
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 204c080b871..4b5bbdc5258 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, groff, cmake, python }:
 
-let version = "3.1"; in
+let version = "3.2"; in
 
 stdenv.mkDerivation {
   name = "llvm-${version}";
 
   src = fetchurl {
     url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
-    sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab";
+    sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j";
   };
 
   buildInputs = [ perl groff cmake python ];
@@ -24,4 +24,3 @@ stdenv.mkDerivation {
     platforms = with stdenv.lib.platforms; all;
   };
 }
-
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index d7f7282b4b8..29950aa9e3d 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -1,8 +1,12 @@
-{ fetchurl, stdenv, gnum4, texinfo, texLive, automake }:
+{ fetchurl, stdenv, makeWrapper, gnum4, texinfo, texLive, automake }:
 
 let
   version = "9.1.1";
   bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64);
+
+  arch = if      stdenv.isi686   then "-i386"
+         else if stdenv.isx86_64 then "-x86-64"
+         else                         "";
 in
 stdenv.mkDerivation {
   name = "mit-scheme-${version}";
@@ -25,6 +29,11 @@ stdenv.mkDerivation {
       sha256 = "0pclakzwxbqgy6wqwvs6ml62wgby8ba8xzmwzdwhx1v8wv05yw1j";
     };
 
+  configurePhase =
+    '' (cd src && ./configure)
+       (cd doc && ./configure)
+    '';
+
   buildPhase =
     '' cd src
        ${if bootstrapFromC
@@ -42,11 +51,16 @@ stdenv.mkDerivation {
     '';
 
   installPhase =
-    '' make install -C src
-       make install -C doc
+    '' make prefix=$out install -C src
+       make prefix=$out install -C doc
+    '';
+
+  fixupPhase =
+    '' wrapProgram $out/bin/mit-scheme${arch} --set MITSCHEME_LIBRARY_PATH \
+         $out/lib/mit-scheme${arch}
     '';
 
-  nativeBuildInputs = [ gnum4 texinfo texLive automake ];
+  nativeBuildInputs = [ makeWrapper gnum4 texinfo texLive automake ];
 
   # XXX: The `check' target doesn't exist.
   doCheck = false;
diff --git a/pkgs/development/compilers/openjdk/cppflags-include-fix.patch b/pkgs/development/compilers/openjdk/cppflags-include-fix.patch
index 36fa9054bc6..8931c122538 100644
--- a/pkgs/development/compilers/openjdk/cppflags-include-fix.patch
+++ b/pkgs/development/compilers/openjdk/cppflags-include-fix.patch
@@ -1,9 +1,9 @@
 diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
---- openjdk-orig/jdk/make/sun/awt/mawt.gmk	2011-06-27 13:19:26.000000000 -0400
-+++ openjdk/jdk/make/sun/awt/mawt.gmk	2011-07-31 17:42:11.370026854 -0400
-@@ -223,12 +223,6 @@
-         -I$(PLATFORM_SRC)/native/$(PKGDIR) \
-         $(EVENT_MODEL)
+--- openjdk-orig/jdk/make/sun/awt/mawt.gmk	2012-08-28 19:13:16.000000000 -0400
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2013-01-22 11:56:22.315418708 -0500
+@@ -234,12 +234,6 @@
+ endif # !HEADLESS
+ endif # PLATFORM
  
 -ifeq ($(PLATFORM), linux)
 -  # Checking for the X11/extensions headers at the additional location
@@ -11,6 +11,6 @@ diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.
 -                        $(wildcard /usr/include/X11/extensions))
 -endif
 -
- ifeq ($(PLATFORM), solaris)
-   CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
- endif
+ ifeq ($(PLATFORM), macosx))
+   CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+               -I$(OPENWIN_HOME)/include 
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index a1cb2f7fe19..0be36379f33 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -39,37 +39,18 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  build = "147";
+  update = "6";
+
+  build = "24";
 
 in
 
 stdenv.mkDerivation rec {
-  name = "openj${if jreOnly then "re" else "dk"}-7b${build}";
+  name = "openj${if jreOnly then "re" else "dk"}-7u${update}b${build}";
 
   src = fetchurl {
-    url = "http://www.java.net/download/openjdk/jdk7/promoted/b${build}/openjdk-7-fcs-src-b${build}-27_jun_2011.zip";
-    sha256 = "1qhwlz9y5qmwmja4qnxg6sn3pgsg1i11fb9j41w8l26acyhk34rs";
-  };
-
-  jaxws_src_name = "jdk7-jaxws2_2_4-b03-2011_05_27.zip";
-
-  jaxws_src = fetchurl {
-    url = "http://download.java.net/glassfish/components/jax-ws/openjdk/jdk7/${jaxws_src_name}";
-    sha256 = "1mpzgr9lnbf2p3x45npcniy47kbzi3hyqqbd4w3j63sxnxcp5bh5";
-  };
-
-  jaxp_src_name = "jaxp145_01.zip";
-
-  jaxp_src = fetchurl {
-    url = "http://download.java.net/jaxp/1.4.5/${jaxp_src_name}";
-    sha256 = "1js8m1a6lcn95byplmjjs1lja1maisyl6lgfjy1jx3lqi1hlr4n5";
-  };
-
-  jaf_src_name = "jdk7-jaf-2010_08_19.zip";
-
-  jaf_src = fetchurl {
-    url = "http://java.net/downloads/jax-ws/JDK7/${jaf_src_name}";
-    sha256 = "17n0i5cgvfsd6ric70h3n7hr8aqnzd216gaq3603wrxlvggzxbp6";
+    url = "http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip";
+    sha256 = "1x1iq8ga0hqqh0bpcmydzzy19757hknn2yvgzib85p7b7dx0vfx9";
   };
 
 #  outputs = [ "out" ] ++ stdenv.lib.optionals (! jreOnly) [ "jre" ];
@@ -98,12 +79,6 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
 
   postUnpack = ''
-    mkdir -p drops
-    cp ${jaxp_src} drops/${jaxp_src_name}
-    cp ${jaxws_src} drops/${jaxws_src_name}
-    cp ${jaf_src} drops/${jaf_src_name}
-    export DROPS_PATH=$(pwd)/drops
-
     sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
       -e "s@/bin/ls@${coreutils}/bin/ls@" \
       openjdk/hotspot/make/linux/makefiles/sa.make
@@ -117,8 +92,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./cppflags-include-fix.patch
-    ./printf-fix.patch
-    ./linux-version-check-fix.patch
     ./no-crypto-restrictions.patch
   ];
 
@@ -135,7 +108,6 @@ stdenv.mkDerivation rec {
     "DEVTOOLS_PATH="
     "UNIXCOMMAND_PATH="
     "BOOTDIR=${jdk}"
-    "DROPS_DIR=$(DROPS_PATH)"
   ];
 
   configurePhase = ''
@@ -172,4 +144,3 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit architecture; };
 }
-
diff --git a/pkgs/development/compilers/openjdk/linux-version-check-fix.patch b/pkgs/development/compilers/openjdk/linux-version-check-fix.patch
deleted file mode 100644
index 9d749a198e3..00000000000
--- a/pkgs/development/compilers/openjdk/linux-version-check-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur openjdk-orig/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile
---- openjdk-orig/hotspot/make/linux/Makefile	2011-06-27 12:10:07.000000000 -0400
-+++ openjdk/hotspot/make/linux/Makefile	2011-08-10 20:08:40.879752771 -0400
-@@ -230,7 +230,7 @@
- # Solaris 2.5.1, 2.6).
- # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
- 
--SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%
-+SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% 3%
- OS_VERSION := $(shell uname -r)
- EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
- 
diff --git a/pkgs/development/compilers/openjdk/printf-fix.patch b/pkgs/development/compilers/openjdk/printf-fix.patch
deleted file mode 100644
index 3d66962a119..00000000000
--- a/pkgs/development/compilers/openjdk/printf-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur openjdk-orig/make/Defs-internal.gmk openjdk/make/Defs-internal.gmk
---- openjdk-orig/make/Defs-internal.gmk	2011-06-27 11:44:06.000000000 -0400
-+++ openjdk/make/Defs-internal.gmk	2011-07-31 18:30:15.784506762 -0400
-@@ -79,7 +79,7 @@
- # Find all build_time_* files and print their contents in a list sorted
- # on the name of the sub repository.
- define ReportBuildTimes
--$(PRINTF) "-- Build times ----------\nTarget %s\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" \
-+$(PRINTF) -- "-- Build times ----------\nTarget %s\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" \
- $1 \
- "`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
- "`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
new file mode 100644
index 00000000000..8d783a8c11e
--- /dev/null
+++ b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
@@ -0,0 +1,13 @@
+{ stdenv }:
+
+stdenv.mkDerivation {
+  name = "python-linkme-wrapper-1.0";
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat ${./python-linkme-wrapper.sh} >  $out/bin/.python-linkme-wrapper
+    chmod +x $out/bin/.python-linkme-wrapper
+  '';
+}
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.sh b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
new file mode 100644
index 00000000000..e6307d81ed4
--- /dev/null
+++ b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Install it into a nix profile and from there build symlink chains.
+# The chain will be followed to set the PYTHONPATH
+# A/bin/foo -> B/bin/bar -> NIXENV/bin/.python-linkme-wrapper.sh
+#
+
+if test ! -L "$0"; then
+   echo "Link me!"
+   exit 1
+fi
+
+PROG=$(basename "$0")
+SITES=
+
+pypath() {
+  BIN=$(dirname "$1")
+  BIN=$(realpath -s "$BIN")
+  ENV=$(dirname "$BIN")
+  SITE="$ENV/lib/python2.7/site-packages"
+  SITES="$SITES${SITES:+:}$SITE"
+
+  PRG=$BIN/$(readlink "$1")
+
+  if test -L "$PRG"; then
+    pypath "$PRG"
+  fi
+}
+
+pypath $(realpath -s "$0")
+
+export PYTHONPATH="$PYTHONPATH${PYTHONPATH:+:}$SITES"
+
+exec $BIN/$PROG "$@"
diff --git a/pkgs/development/interpreters/python/pythonhome-wrapper.nix b/pkgs/development/interpreters/python/pythonhome-wrapper.nix
deleted file mode 100644
index c9cf6277b24..00000000000
--- a/pkgs/development/interpreters/python/pythonhome-wrapper.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv }:
-
-stdenv.mkDerivation {
-  name = "pythonhome-wrapper";
-
-  unpackPhase = "true";
-  installPhase = ''
-    mkdir -p $out/bin
-    echo '
-#!/bin/sh
-
-BINDIR=`dirname $0`
-PYTHONHOME=`dirname $BINDIR`
-PYTHONHOME=`(cd $PYTHONHOME && pwd)`
-export PYTHONHOME
-
-$BINDIR/python "$@"
-    ' > $out/bin/py
-    chmod +x $out/bin/py
-  '';
-}
diff --git a/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch b/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch
deleted file mode 100644
index 30f3ab4907b..00000000000
--- a/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream patch
-
-From fc2870a65f6b3ed3b71bcac69c5faf3a9c759c64 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Mon, 21 Dec 2009 11:13:23 -0500
-Subject: [PATCH 1/2] Don't daemonize when activated
-
-It confuses some versions of D-Bus and isn't needed
-(or wanted it).
-
-http://bugs.freedesktop.org/show_bug.cgi?id=25642
----
- data/org.freedesktop.ConsoleKit.service.in |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/data/org.freedesktop.ConsoleKit.service.in b/data/org.freedesktop.ConsoleKit.service.in
-index ec2128c..d716a36 100644
---- a/data/org.freedesktop.ConsoleKit.service.in
-+++ b/data/org.freedesktop.ConsoleKit.service.in
-@@ -1,4 +1,4 @@
- [D-BUS Service]
- Name=org.freedesktop.ConsoleKit
--Exec=@sbindir@/console-kit-daemon
-+Exec=@sbindir@/console-kit-daemon --no-daemon
- User=root
--- 
-1.7.1
-
diff --git a/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch b/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch
deleted file mode 100644
index 2af59ac8d1e..00000000000
--- a/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Upstream patch
-
-From 2418840248f07025ad0edc96ed17e03ce5e47f3e Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Mon, 21 Dec 2009 11:14:54 -0500
-Subject: [PATCH 2/2] Don't take bus name until ready
-
-Previously, we would take a bus name right away, but
-not register the manager object until later.  This
-causes a race when being activated by a method call
-on the manager object, where ConsoleKit gets started
-but the method call fails.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=25744
----
- src/main.c |   16 ++++++++--------
- 1 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/main.c b/src/main.c
-index 809c6d6..b8f698f 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -294,11 +294,19 @@ main (int    argc,
- 
-         setup_debug_log (debug);
- 
-+        g_debug ("initializing console-kit-daemon %s", VERSION);
-+
-         connection = get_system_bus ();
-         if (connection == NULL) {
-                 goto out;
-         }
- 
-+        manager = ck_manager_new ();
-+
-+        if (manager == NULL) {
-+                goto out;
-+        }
-+
-         bus_proxy = get_bus_proxy (connection);
-         if (bus_proxy == NULL) {
-                 g_warning ("Could not construct bus_proxy object; bailing out");
-@@ -310,16 +318,8 @@ main (int    argc,
-                 goto out;
-         }
- 
--        g_debug ("initializing console-kit-daemon %s", VERSION);
--
-         create_pid_file ();
- 
--        manager = ck_manager_new ();
--
--        if (manager == NULL) {
--                goto out;
--        }
--
-         loop = g_main_loop_new (NULL, FALSE);
- 
-         g_signal_connect (bus_proxy,
--- 
-1.7.1
-
diff --git a/pkgs/development/libraries/consolekit/commands.patch b/pkgs/development/libraries/consolekit/commands.patch
deleted file mode 100644
index 48b0d5d8cf6..00000000000
--- a/pkgs/development/libraries/consolekit/commands.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-This patch adds shutdown commands specific to NixOS, as NixOS does not have
-a /sbin or /usr/sbin directory. In order not to have a dependency on the
-package that provides "shutdown" when in an environment other than NixOS,
-we'll make it depend on /var/run/current-system.
-
-Note: this patch does not compromise system security. Other systems than
-NixOS should have already shutdown in the earlier directories being searched,
-and otherwise /var/run is writable only be root.
-
---- ConsoleKit-0.4.1/tools/linux/ck-system-restart.org	2012-02-13 11:29:57.352902568 +0100
-+++ ConsoleKit-0.4.1/tools/linux/ck-system-restart	2012-02-13 11:43:27.593317712 +0100
-@@ -7,6 +7,9 @@
- elif [ -x "/usr/sbin/shutdown" ] ; then
- 	/usr/sbin/shutdown -r now
- 	exit $?
-+elif [ -x "/var/run/current-system/sw/sbin/shutdown" ] ; then
-+    /var/run/current-system/sw/sbin/shutdown -r now
-+    exit $?
- else
- 	exit 1
- fi
---- ConsoleKit-0.4.1/tools/linux/ck-system-stop.org	2012-02-13 11:30:06.228950934 +0100
-+++ ConsoleKit-0.4.1/tools/linux/ck-system-stop	2012-02-13 11:44:12.664563304 +0100
-@@ -7,6 +7,9 @@
- elif [ -x "/usr/sbin/shutdown" ] ; then
- 	/usr/sbin/shutdown -h now
- 	exit $?
-+elif [ -x "/var/run/current-system/sw/sbin/shutdown" ] ; then
-+    /var/run/current-system/sw/sbin/shutdown -h now
-+    exit $?
- else
- 	exit 1
- fi
diff --git a/pkgs/development/libraries/consolekit/default.nix b/pkgs/development/libraries/consolekit/default.nix
deleted file mode 100644
index e9cedf18857..00000000000
--- a/pkgs/development/libraries/consolekit/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, zlib, pam, glib, 
-  libX11, polkit, expat }:
-
-stdenv.mkDerivation rec {
-  name = "consolekit-0.4.1";
-  
-  src = fetchurl {
-    url = http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2;
-    sha256 = "0gj0airrgyi14a06w3d4407g62bs5a1cam2h64s50x3d2k3ascph";
-  };
-  
-  buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 polkit expat ];
-  patches = [ ./0001-Don-t-daemonize-when-activated.patch
-    ./0002-Don-t-take-bus-name-until-ready.patch
-    ./commands.patch  # adds shutdown commands for NixOS to the list of shutdown commands
-  ];
-
-  # For console-kit to get the rpath to libgcc_s, needed for pthread_cancel to work
-  NIX_LDFLAGS = "-lgcc_s";
-
-  configureFlags = "--enable-pam-module --with-pam-module-dir=$(out)/lib/security --localstatedir=/var --sysconfdir=/etc";
-
-  installFlags = "sysconfdir=$(out)/etc DBUS_SYS_DIR=$(out)/etc/dbus-1/system.d"; # keep `make install' happy
-  
-  meta = {
-    homepage = http://www.freedesktop.org/wiki/Software/ConsoleKit;
-    description = "A framework for defining and tracking users, login sessions, and seats";
-  };
-}
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 8f496c4312e..c1dab82e37a 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation (rec {
 
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = (!stdenv.isFreeBSD);
+  doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
 
   meta = {
     description = "The GNU Transport Layer Security Library";
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index 1f7d9067e75..c289c009256 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -1,17 +1,17 @@
-{ cabal, cereal, deepseq, mtl, primitive, transformers, vector
+{ cabal, binary, deepseq, mtl, primitive, transformers, vector
 , zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "2.0.2";
-  sha256 = "14nqifdsdhzlfq29waqlwspyy37gp174vw368ph772zp9b0ngyff";
+  version = "3.0";
+  sha256 = "1qhhhnfs12r67nf07bx58n8a2v6wikan8cqs1wnjnaad8yk2spsg";
   buildDepends = [
-    cereal deepseq mtl primitive transformers vector zlib
+    binary deepseq mtl primitive transformers vector zlib
   ];
   meta = {
     homepage = "https://github.com/Twinside/Juicy.Pixels";
-    description = "Picture loading/serialization (in png, jpeg, bitmap and gif)";
+    description = "Picture loading/serialization (in png, jpeg, bitmap, radiance and gif)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
new file mode 100644
index 00000000000..b4de1910465
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -0,0 +1,14 @@
+{ cabal, semigroupoids, semigroups }:
+
+cabal.mkDerivation (self: {
+  pname = "bifunctors";
+  version = "3.0.3";
+  sha256 = "1nmrwc9n9qkj9w9c38ja0had32isr6v35j1v19fhqdwk5ddbpxp4";
+  buildDepends = [ semigroupoids semigroups ];
+  meta = {
+    homepage = "http://github.com/ekmett/bifunctors/";
+    description = "Haskell 98 bifunctors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
new file mode 100644
index 00000000000..df92c4a6cf5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -0,0 +1,16 @@
+{ cabal, deepseq, filepath, ghcPaths, syb, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "doctest";
+  version = "0.9.5";
+  sha256 = "073q56gyhkb7r4f94b9nx341dkmgapy8gig7f668jkghv2zci5ws";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ deepseq filepath ghcPaths syb transformers ];
+  meta = {
+    homepage = "https://github.com/sol/doctest-haskell#readme";
+    description = "Test interactive Haskell examples";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/groupoids/default.nix b/pkgs/development/libraries/haskell/groupoids/default.nix
new file mode 100644
index 00000000000..4c085c0ae23
--- /dev/null
+++ b/pkgs/development/libraries/haskell/groupoids/default.nix
@@ -0,0 +1,14 @@
+{ cabal, semigroupoids }:
+
+cabal.mkDerivation (self: {
+  pname = "groupoids";
+  version = "3.0.1.1";
+  sha256 = "0r4xjyq7icd52nas27bhr5k8q7li6lba8mlkcipghhsgxsyjfp63";
+  buildDepends = [ semigroupoids ];
+  meta = {
+    homepage = "http://github.com/ekmett/groupoids/";
+    description = "Haskell 98 Groupoids";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 2824234ede3..14aa9620b4f 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.1.1.0";
-  sha256 = "0v0c2hbwnd56q3vwrf9515v85yn2k850z9jd8y8kj2i79wh7l3dz";
+  version = "4.1.2.0";
+  sha256 = "1kbilad4ry8lyfcygajaphkgragmq5js349mjmh1bjn04rhjm54c";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index 32187c39963..83b04869e68 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mongoDB";
-  version = "1.3.1";
-  sha256 = "1qvsb993n5gmchym4zz2pv68mdyir439cfindqdqlvjwam0jf4l5";
+  version = "1.3.2";
+  sha256 = "0gv0i2z6f797ibjfp16ax2aiqa66sclxjy8sabrwydwcyr96xb4y";
   buildDepends = [
     binary bson cryptohash liftedBase monadControl mtl network parsec
     random randomShuffle text transformersBase
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 98f4dfb0501..719eaa31961 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.10";
-  sha256 = "11zvyzn16zckgs1zzhl415y14nziw16zhgghg31a459d1ww7c3dg";
+  version = "1.10.0.4";
+  sha256 = "1zwjwzxgip3zhbs7v7i981f5ch1rrd8i04cmn1gkfxnapbxx6z26";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/profunctor-extras/default.nix b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
new file mode 100644
index 00000000000..df16898ddd3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
@@ -0,0 +1,19 @@
+{ cabal, comonad, profunctors, semigroupoidExtras, semigroupoids
+, tagged, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "profunctor-extras";
+  version = "3.3";
+  sha256 = "0sdiwc1d2jx2xrzsxjsxjh8m24f4blr2m8vmh78knpi9hy0bxgvr";
+  buildDepends = [
+    comonad profunctors semigroupoidExtras semigroupoids tagged
+    transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/profunctor-extras/";
+    description = "Profunctor extras";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
new file mode 100644
index 00000000000..7146359eda4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -0,0 +1,14 @@
+{ cabal, comonad, tagged }:
+
+cabal.mkDerivation (self: {
+  pname = "profunctors";
+  version = "3.2";
+  sha256 = "0c7242pk5hfz67cwjy0l7skqyz20akw9j2w7cb8iggcbbb27bgyc";
+  buildDepends = [ comonad tagged ];
+  meta = {
+    homepage = "http://github.com/ekmett/profunctors/";
+    description = "Haskell 98 Profunctors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
new file mode 100644
index 00000000000..263adb42f25
--- /dev/null
+++ b/pkgs/development/libraries/haskell/semigroupoid-extras/default.nix
@@ -0,0 +1,14 @@
+{ cabal, comonad, distributive, groupoids, semigroupoids }:
+
+cabal.mkDerivation (self: {
+  pname = "semigroupoid-extras";
+  version = "3.0.1";
+  sha256 = "1b6ix9myjav1h4bbq3jxlan8sn2pjw8x0zhazv3anxfab5n2sxpd";
+  buildDepends = [ comonad distributive groupoids semigroupoids ];
+  meta = {
+    homepage = "http://github.com/ekmett/semigroupoid-extras";
+    description = "Semigroupoids requiring Haskell extensions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix
index f57e3bd71e3..1ccedad6d11 100644
--- a/pkgs/development/libraries/haskell/skein/default.nix
+++ b/pkgs/development/libraries/haskell/skein/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "skein";
-  version = "0.1.0.10";
-  sha256 = "0qyiy2yx4qmazz744hyq51v2as51zd9r623bhhk21yzsgh7rl9kc";
+  version = "0.1.0.11";
+  sha256 = "16iy3frzxzkiybl5cglvnmvxzziwr8361s00m7130dh82r3vc21q";
   buildDepends = [ cereal cryptoApi tagged ];
   meta = {
     homepage = "https://github.com/meteficha/skein";
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 2a4d89bb4f0..2e444c32177 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation (rec {
   buildInputs = [ gnum4 ];
   propagatedBuildInputs = [ gmp ];
 
-  doCheck = (stdenv.system != "i686-cygwin");
+  doCheck = (stdenv.system != "i686-cygwin" && !stdenv.isDarwin);
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 88daab5ff92..788b6d6d32b 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, gettext
 , gobjectIntrospection
-, useSystemd ? false, systemd ? null }:
+, useSystemd ? true, systemd }:
 
 let
 
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index c675116f88a..aa46517f571 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
    
             # Ensure that the requested provisioning profile can be found
             
-            if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles" ]
+            if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ]
             then
                 mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
                 cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
@@ -75,7 +75,7 @@ stdenv.mkDerivation {
    
                 # Ensure that the requested provisioning profile can be found
             
-                if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles" ]
+                if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ]
                 then
                     mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"
                     cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision"
diff --git a/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix b/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix
deleted file mode 100644
index 32dc5a01606..00000000000
--- a/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ fetchurl, buildPerlPackage, bzip2 }:
-
-buildPerlPackage rec {
-  name = "Compress-Raw-Bzip2-2.055";
-
-  src = fetchurl {
-    url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz";
-    sha256 = "1qssagii3xy87lsnlq5y7cngasiiq7jmbi1s6lcwwfhv36ydlmx8";
-  };
-
-  # Don't build a private copy of bzip2.
-  BUILD_BZIP2 = false;
-  BZIP2_LIB = "${bzip2}/lib";
-  BZIP2_INCLUDE = "${bzip2}/include";
-}
diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
index f8cdc7b9279..70c2a294d6f 100644
--- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, buildPerlPackage, zlib, stdenv }:
 
 buildPerlPackage rec {
-  name = "Compress-Raw-Zlib-2.056";
+  name = "Compress-Raw-Zlib-2.060";
 
   src = fetchurl {
     url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz";
-    sha256 = "08cbgbrfx718r1n9d8hzmv7ssnhw41b0pwg7fw6dcq3svqhmwkyl";
+    sha256 = "03z2vqcdpysanqnh9m714fs2mcfshzbkd8i11w359h69h5q0kms3";
   };
 
   preConfigure = ''
@@ -19,4 +19,8 @@ buildPerlPackage rec {
   '';
 
   doCheck = !stdenv.isDarwin;
+
+  meta = {
+    license = "perl5";
+  };
 }
diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix
index 0d0cb1accc5..be5faa330ae 100644
--- a/pkgs/development/perl-modules/DBD-Pg/default.nix
+++ b/pkgs/development/perl-modules/DBD-Pg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
 
 buildPerlPackage rec {
-  name = "DBD-Pg-2.19.2";
+  name = "DBD-Pg-2.19.3";
 
   src = fetchurl {
     url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz";
-    sha256 = "0scnhbp0lfclbppbsfzmcyw32z8jhb9calvbg9q3gk4kli1119j9";
+    sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p";
   };
 
   buildInputs = [ postgresql ];
@@ -13,5 +13,10 @@ buildPerlPackage rec {
 
   makeMakerFlags = "POSTGRES_HOME=${postgresql}";
 
-  meta.platforms = stdenv.lib.platforms.linux;
+  meta = {
+    homepage = http://search.cpan.org/dist/DBD-Pg/;
+    description = "DBI PostgreSQL interface";
+    license = "perl";
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/perl-modules/starman-dont-change-name.patch b/pkgs/development/perl-modules/starman-dont-change-name.patch
deleted file mode 100644
index 82454cfdd16..00000000000
--- a/pkgs/development/perl-modules/starman-dont-change-name.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Changing the process name breaks applying libcgroup rules, so don't do it.
-
-diff -ru -x '*~' Starman-0.2014-orig/lib/Starman/Server.pm Starman-0.2014/lib/Starman/Server.pm
---- Starman-0.2014-orig/lib/Starman/Server.pm	2011-08-27 01:19:43.000000000 +0200
-+++ Starman-0.2014/lib/Starman/Server.pm	2011-11-25 13:30:24.570434653 +0100
-@@ -100,7 +100,7 @@
- 
- sub run_parent {
-     my $self = shift;
--    $0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
-+    #$0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
-     $self->SUPER::run_parent(@_);
- }
- 
-@@ -113,7 +113,7 @@
-         DEBUG && warn "[$$] Initializing the PSGI app\n";
-         $self->{app} = $self->{options}->{psgi_app_builder}->();
-     }
--    $0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
-+    #$0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
- }
- 
- sub post_accept_hook {
diff --git a/pkgs/development/perl-modules/template-toolkit-nix-store.patch b/pkgs/development/perl-modules/template-toolkit-nix-store.patch
deleted file mode 100644
index 402f1cb41be..00000000000
--- a/pkgs/development/perl-modules/template-toolkit-nix-store.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -rc Template-Toolkit-2.20-orig/lib/Template/Provider.pm Template-Toolkit-2.20/lib/Template/Provider.pm
-*** Template-Toolkit-2.20-orig/lib/Template/Provider.pm	2008-08-06 11:32:02.000000000 +0200
---- Template-Toolkit-2.20/lib/Template/Provider.pm	2008-11-28 16:37:36.000000000 +0100
-***************
-*** 936,942 ****
-  sub _template_modified {
-      my $self = shift;
-      my $template = shift || return;
-!     return (stat( $template ))[9];
-  }
-  
-  #------------------------------------------------------------------------
---- 936,945 ----
-  sub _template_modified {
-      my $self = shift;
-      my $template = shift || return;
-!     # Nix specific hack: timestamps of 0 (1-1-1970) should not be
-!     # treated as undefined, so return 1 instead.
-!     my $t = (stat( $template ))[9]; 
-!     return (defined $t && $t == 0) ? 1 : $t;
-  }
-  
-  #------------------------------------------------------------------------
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index adba3037286..f72fbff1806 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -50,11 +50,13 @@ python.stdenv.mkDerivation (attrs // {
 
   name = namePrefix + name;
 
-  # default values for maintainers and platforms
+  # default to python's platforms and add maintainer(s) to every
+  # package
   meta = {
-    maintainers = python.meta.maintainers;
     platforms = python.meta.platforms;
-  } // meta;
+  } // meta // {
+    maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow ];
+  };
 
   # checkPhase after installPhase to run tests on installed packages
   phases = "unpackPhase patchPhase configurePhase buildPhase installPhase checkPhase fixupPhase distPhase";
diff --git a/pkgs/development/python-modules/offline-distutils/default.nix b/pkgs/development/python-modules/offline-distutils/default.nix
index 2ed41b08bb7..269f67bf5cd 100644
--- a/pkgs/development/python-modules/offline-distutils/default.nix
+++ b/pkgs/development/python-modules/offline-distutils/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   unpackPhase = "true";
   installPhase = ''
-    dst="$out/lib/${python.libPrefix}"
+    dst="$out/lib/${python.libPrefix}/site-packages"
     ensureDir $dst/distutils
     ln -s ${python}/lib/${python.libPrefix}/distutils/* $dst/distutils/
     cat <<EOF > $dst/distutils/distutils.cfg
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index 82c502ede72..b60b6134fdd 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -25,9 +25,13 @@ in stdenv.mkDerivation {
 
   makeFlags = "prefix=$(out) etcprefix=$(out) DOCDIR=$(out)/share/doc";
 
+  preInstall = ''
+    ensureDir $out/share/doc
+  '';
+
   meta = {
     description = "Tool to display logged machine check exceptions";
     homepage = http://mcelog.org/;
     license = stdenv.lib.licenses.gpl2;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/linux/udev/173.nix b/pkgs/os-specific/linux/udev/173.nix
deleted file mode 100644
index 795826cf6bf..00000000000
--- a/pkgs/os-specific/linux/udev/173.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv, fetchurl, gperf, pkgconfig, glib, acl
-, libusb, usbutils, pciutils }:
-
-assert stdenv ? glibc;
-
-stdenv.mkDerivation rec {
-  name = "udev-173";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
-    sha256 = "1bxadi4bi11v8ipzj22wknv8hsb0wgdb99bx3w9w33rgl4aq78bh";
-  };
-
-  buildInputs = [ gperf pkgconfig glib acl libusb usbutils ];
-
-  configureFlags =
-    ''
-      --with-pci-ids-path=${pciutils}/share/pci.ids
-      --enable-udev_acl --enable-edd
-      --disable-introspection --libexecdir=$(out)/lib/udev
-      --with-firmware-path=/root/test-firmware:/var/run/current-system/firmware
-    '';
-
-  # Workaround for the Linux kernel headers being too old.
-  NIX_CFLAGS_COMPILE = "-DBTN_TRIGGER_HAPPY=0x2c0";
-
-  postInstall =
-    ''
-      # The path to rule_generator.functions in write_cd_rules and
-      # write_net_rules is broken.  Also, don't store the mutable
-      # persistant rules in /etc/udev/rules.d but in
-      # /var/lib/udev/rules.d.
-      for i in $out/lib/udev/write_cd_rules $out/lib/udev/write_net_rules; do
-        substituteInPlace $i \
-          --replace /lib/udev $out/lib/udev \
-          --replace /etc/udev/rules.d /var/lib/udev/rules.d
-      done
-
-      # Don't set PATH to /bin:/sbin; won't work in NixOS.
-      sed -e '/PATH=/d' -i $out/lib/udev/rule_generator.functions
-
-      ln -sv $out/lib/ConsoleKit $out/etc/ConsoleKit
-
-      rm -frv $out/share/gtk-doc
-    '';
-
-  patches = [ ./custom-rules.patch ] ++
-    [(fetchurl {
-      url = https://bugs.archlinux.org/task/25356?getfile=7281;
-      sha256 = "01xib1pfdbwacgx8dqxgrf67a0mwkpm4kxy9f9v3df93v0m4pmbm";
-    })] ++
-    stdenv.lib.optional stdenv.isArm ./pre-accept4-kernel.patch;
-
-  meta = {
-    homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
-    description = "Udev manages the /dev filesystem";
-  };
-}
diff --git a/pkgs/os-specific/linux/udev/custom-rules.patch b/pkgs/os-specific/linux/udev/custom-rules.patch
deleted file mode 100644
index 647691acfb1..00000000000
--- a/pkgs/os-specific/linux/udev/custom-rules.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-commit c49ec33ba0f1a7f11b188913bb4895360ced67f8
-Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date:   Tue Aug 16 16:28:56 2011 +0400
-
-    Upstream considers presence of rules_dir=... in udev.conf as a very special case.
-    In particular, they disable /dev/.udev/*. Re-enable it.
-
-diff --git a/udev/udev-rules.c b/udev/udev-rules.c
-index 6bf2726..c1ae1f3 100644
---- a/udev/udev-rules.c
-+++ b/udev/udev-rules.c
-@@ -1812,6 +1812,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
- 	struct udev_list file_list;
- 	struct udev_list_entry *file_loop;
- 	struct token end_token;
-+	char runpathrules[UTIL_PATH_SIZE];
- 
- 	rules = calloc(1, sizeof(struct udev_rules));
- 	if (rules == NULL)
-@@ -1854,22 +1855,21 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
- 	rules->trie_nodes_cur = 1;
- 
- 	if (udev_get_rules_path(udev) == NULL) {
--		char filename[UTIL_PATH_SIZE];
- 
- 		/* /lib/udev -- default/package rules */
- 		add_matching_files(udev, &file_list, LIBEXECDIR "/rules.d", ".rules");
- 
- 		/* /etc/udev -- system-specific/user/admin rules */
- 		add_matching_files(udev, &file_list, SYSCONFDIR "/udev/rules.d", ".rules");
--
--		/* /run/udev -- throw-away/temporary rules */
--		util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
--		add_matching_files(udev, &file_list, filename, ".rules");
- 	} else {
- 		/* custom rules files location for testing */
- 		add_matching_files(udev, &file_list, udev_get_rules_path(udev), ".rules");
- 	}
- 
-+	/* /run/udev -- throw-away/temporary rules */
-+	util_strscpyl(runpathrules, sizeof(runpathrules), udev_get_run_path(udev), "/rules.d", NULL);
-+	add_matching_files(udev, &file_list, runpathrules, ".rules");
-+
- 	/* add all filenames to the string buffer */
- 	udev_list_entry_foreach(file_loop, udev_list_get_entry(&file_list)) {
- 		const char *filename = udev_list_entry_get_value(file_loop);
-diff --git a/udev/udevd.c b/udev/udevd.c
-index f1a31e7..45d10b6 100644
---- a/udev/udevd.c
-+++ b/udev/udevd.c
-@@ -1198,6 +1198,8 @@ int main(int argc, char *argv[])
- 	struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker;
- 	struct udev_ctrl_connection *ctrl_conn = NULL;
- 	int rc = 1;
-+	char filename[UTIL_PATH_SIZE];
-+	struct stat statbuf;
- 
- 	udev = udev_new();
- 	if (udev == NULL)
-@@ -1480,23 +1482,21 @@ int main(int argc, char *argv[])
- 		inotify_add_watch(fd_inotify, udev_get_rules_path(udev),
- 				  IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
- 	} else {
--		char filename[UTIL_PATH_SIZE];
--		struct stat statbuf;
- 
- 		inotify_add_watch(fd_inotify, LIBEXECDIR "/rules.d",
- 				  IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
- 		inotify_add_watch(fd_inotify, SYSCONFDIR "/udev/rules.d",
- 				  IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
-+	}
- 
--		/* watch dynamic rules directory */
--		util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
--		if (stat(filename, &statbuf) != 0) {
--			util_create_path(udev, filename);
--			mkdir(filename, 0755);
--		}
--		inotify_add_watch(fd_inotify, filename,
--				  IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
-+	/* watch dynamic rules directory */
-+	util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
-+	if (stat(filename, &statbuf) != 0) {
-+		util_create_path(udev, filename);
-+		mkdir(filename, 0755);
- 	}
-+	inotify_add_watch(fd_inotify, filename,
-+			  IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
- 	udev_watch_restore(udev);
- 
- 	/* block and listen to all signals on signalfd */
diff --git a/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch b/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch
deleted file mode 100644
index 2cf549d99a7..00000000000
--- a/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From:
-https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch
-
-diff -urN a/udev/udev-ctrl.c b/udev/udev-ctrl.c
---- a/udev/udev-ctrl.c	2011-10-09 17:10:32.000000000 -0600
-+++ b/udev/udev-ctrl.c	2011-10-25 15:11:09.000000000 -0600
-@@ -15,6 +15,7 @@
- #include <stddef.h>
- #include <string.h>
- #include <unistd.h>
-+#include <fcntl.h>
- #include <sys/types.h>
- #include <sys/poll.h>
- #include <sys/socket.h>
-@@ -182,6 +183,7 @@
- 	struct ucred ucred;
- 	socklen_t slen;
- 	const int on = 1;
-+	int flgs;
- 
- 	conn = calloc(1, sizeof(struct udev_ctrl_connection));
- 	if (conn == NULL)
-@@ -189,13 +191,19 @@
- 	conn->refcount = 1;
- 	conn->uctrl = uctrl;
- 
--	conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
-+//	conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
-+	conn->sock = accept(uctrl->sock, NULL, NULL);
- 	if (conn->sock < 0) {
- 		if (errno != EINTR)
- 			err(uctrl->udev, "unable to receive ctrl connection: %m\n");
- 		goto err;
- 	}
- 
-+// Since we don't have accept4
-+	flgs = fcntl(conn->sock, F_GETFL, NULL);
-+	if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
-+	fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
-+
- 	/* check peer credential of connection */
- 	slen = sizeof(ucred);
- 	if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {
diff --git a/pkgs/os-specific/linux/udisks/default.nix b/pkgs/os-specific/linux/udisks/default.nix
index ea4fd1ca2cb..b53af52755f 100644
--- a/pkgs/os-specific/linux/udisks/default.nix
+++ b/pkgs/os-specific/linux/udisks/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5";
   };
 
-  patches = [ ./purity.patch ];
+  patches = [ ./purity.patch ./no-pci-db.patch ];
 
   postPatch =
     ''
@@ -30,11 +30,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--localstatedir=/var --enable-lvm2";
 
-  preConfigure =
-    ''
-      # Ensure that udisks can find the necessary programs.
-    '';
-
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/udisks;
     description = "A daemon and command-line utility for querying and manipulating storage devices";
diff --git a/pkgs/os-specific/linux/udisks/no-pci-db.patch b/pkgs/os-specific/linux/udisks/no-pci-db.patch
new file mode 100644
index 00000000000..b323b515c40
--- /dev/null
+++ b/pkgs/os-specific/linux/udisks/no-pci-db.patch
@@ -0,0 +1,13 @@
+Systemd no longer has the pci-db program.
+
+diff -ru -x '*~' udisks-1.0.4-orig/data/80-udisks.rules udisks-1.0.4/data/80-udisks.rules
+--- udisks-1.0.4-orig/data/80-udisks.rules	2011-08-25 23:31:20.000000000 +0200
++++ udisks-1.0.4/data/80-udisks.rules	2012-12-13 13:06:52.189650854 +0100
+@@ -3,7 +3,6 @@
+ 
+ # import names for PCI storage controllers
+ #
+-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
+ 
+ # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
+ # the device is on a cardbus controller (upper PCI device) - then we check
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index c31dae1fdfa..cce12f7954a 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
 , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils
-, useSystemd ? false, systemd ? null
+, useSystemd ? true, systemd
 }:
 
 assert stdenv.isLinux;
diff --git a/pkgs/servers/nosql/redis/darwin.patch b/pkgs/servers/nosql/redis/darwin.patch
deleted file mode 100644
index 002f09b36f3..00000000000
--- a/pkgs/servers/nosql/redis/darwin.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru redis-2.4.7/deps/hiredis/Makefile redis-2.4.7.patched/deps/hiredis/Makefile
---- redis-2.4.7/deps/hiredis/Makefile	2012-02-02 14:29:24.000000000 +0000
-+++ redis-2.4.7.patched/deps/hiredis/Makefile	2012-12-07 17:14:43.000000000 +0000
-@@ -20,7 +20,7 @@
-   CFLAGS?=-std=c99 -pedantic $(OPTIMIZATION) -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings $(ARCH) $(PROF)
-   CCLINK?=-lm -pthread
-   LDFLAGS?=-L. -Wl,-rpath,.
--  OBJARCH?=-arch i386 -arch x86_64
-+  #OBJARCH?=-arch i386 -arch x86_64
-   DYLIBNAME?=libhiredis.dylib
-   DYLIB_MAKE_CMD?=libtool -dynamic -o ${DYLIBNAME} -lm ${DEBUG} - ${OBJ}
-   STLIBNAME?=libhiredis.a
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index aa25b49e581..1992164b3d1 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,19 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  pname = "redis";
-  version = "2.4.7";
-  name = "${pname}-${version}";
+  name = "redis-2.6.9";
 
   src = fetchurl {
-    url = "http://redis.googlecode.com/files/redis-2.4.7.tar.gz";
-    sha256 = "f91956377b7ff23cc23e0c8758e0b873032f36545c61d88436ebb741bf4dd5e1";
+    url = "http://redis.googlecode.com/files/${name}.tar.gz";
+    sha256 = "12bl3inq7xr2lqlqbxjxa3v9s5v7xn2pxlbm72ivxbiq43zpx5jd";
   };
 
   makeFlags = "PREFIX=$(out)";
 
-  # commented out until the patch is found
-  # patches = if stdenv.isDarwin then [ ./darwin.patch ] else [];
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://redis.io;
     description = "An open source, advanced key-value store";
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index 8923637bbdb..0f20a8ad954 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
 , makeWrapper, pygobject, pygtk, docbook_xml_dtd_412, docbook_xsl
-, pythonDBus, libxml2, desktop_file_utils, libusb, cups, pycups
+, pythonDBus, libxml2, desktop_file_utils, libusb1, cups, pycups
 , pythonPackages
 , withGUI ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "${meta.name}-${meta.version}";
+  name = "system-config-printer-1.3.12";
 
   src = fetchurl {
-    url = "http://cyberelk.net/tim/data/${meta.name}/1.3/${name}.tar.xz";
-    sha256 = "1d50rqgpyrzyrxwq3qhafzq9075qm2wxdrh1f1q7whlr0chxi3mw";
+    url = "http://cyberelk.net/tim/data/system-config-printer/1.3/${name}.tar.xz";
+    sha256 = "1cg9n75rg5l9vr1925n2g771kga33imikyl0mf70lww2sfgvs18r";
   };
 
   buildInputs =
-    [ intltool pkgconfig glib udev libusb cups xmlto
+    [ intltool pkgconfig glib udev libusb1 cups xmlto
       libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
       pythonPackages.python pythonPackages.wrapPython
     ];
@@ -22,8 +22,11 @@ stdenv.mkDerivation rec {
   pythonPath =
     [ pythonDBus pycups pygobject ]
     ++ stdenv.lib.optionals withGUI [ pygtk pythonPackages.notify ];
-    
-  configureFlags = "--with-udev-rules";
+
+  configureFlags =
+    [ "--with-udev-rules"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
+    ];
 
   postInstall =
     ''
@@ -34,7 +37,6 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    name = "system-config-printer";
-    version = "1.3.4";
+    homepage = http://cyberelk.net/tim/software/system-config-printer/;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 2a86d416e16..d9e73a706db 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
     "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
     "--with-crypto=gnutls" "--disable-more-warnings"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    "--with-kernel-firmware-dir=/run/current-system/firmware" ];
+    "--with-kernel-firmware-dir=/run/current-system/firmware"
+    "--with-session-tracking=systemd" ];
 
   buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ];
 
@@ -55,11 +56,14 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       mkdir -p $out/lib/NetworkManager
+      
+      # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
+      substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
     '';
 
   meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/NetworkManager/;
-    description = "Network configuration and management in an easy way. Desktop environment independent.";
+    description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom urkud rickynils ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix
new file mode 100644
index 00000000000..bcfb584da1b
--- /dev/null
+++ b/pkgs/tools/networking/tinc/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, lzo, openssl, zlib}:
+
+stdenv.mkDerivation rec {
+  version = "1.0.19";
+  name = "tinc-${version}";
+
+  src = fetchurl {
+    url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz";
+    sha256 = "183nxj23d05vc3pxwbb692lr048wr81wnv0avzlkdm4r6c3bp7jh";
+  };
+
+  buildInputs = [ lzo openssl zlib ];
+
+  configureFlags = ''
+    --localstatedir=/var
+    --sysconfdir=/etc
+  '';
+
+  meta = { 
+    description = "VPN daemon with full mesh routing";
+    longDescription = ''
+      tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and
+      encryption to create a secure private network between hosts on the
+      Internet.  It features full mesh routing, as well as encryption,
+      authentication, compression and ethernet bridging.
+    '';
+    homepage="http://www.tinc-vpn.org/";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 2b961e5a7f2..4473bbab9c1 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.2pre2980_9de6bc5";
+  name = "nix-1.4pre3044_536c85e";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/3338447/download/4/${name}.tar.bz2";
-    sha256 = "b767c2b75a0036edfc6be209dcaab23643887b192e3788640380ac27298b08d0";
+    url = "http://hydra.nixos.org/build/3794557/download/5/${name}.tar.xz";
+    sha256 = "d0f952ff3b4c0cf7f9682b45844ffb3686ff333d02be83341380186a97834f95";
   };
 
   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/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index b3bf309b48e..c779b979d9d 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -15,11 +15,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.12";
+  name = "gnupg-1.4.13";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha1 = "9b78e20328d35525af7b8a9c1cf081396910e937";
+    sha1 = "17a75c54d292bd0923f0a1817a1b02ded37d1de1";
   };
 
   buildInputs = [ readline bzip2 ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fc6c0ae9be8..5632176a629 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -237,7 +237,7 @@ let
 
   ### BUILD SUPPORT
 
-  attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
+  attrSetToDir = arg: import ../build-support/upstream-updater/attrset-to-dir.nix {
     inherit writeTextFile stdenv lib;
     theAttrSet = arg;
   };
@@ -1591,6 +1591,8 @@ let
     guile = guile_1_8;
   };
 
+  tinc = callPackage ../tools/networking/tinc { };
+
   tmux = callPackage ../tools/misc/tmux { };
 
   tor = callPackage ../tools/security/tor { };
@@ -1881,7 +1883,11 @@ let
 
   ccl = builderDefsPackage ../development/compilers/ccl {};
 
-  clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix { };
+  clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix {
+    stdenv = if stdenv.isDarwin
+      then stdenvAdapters.overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   clang = wrapClang clangUnwrapped;
 
@@ -2490,7 +2496,11 @@ let
     fpc = fpc;
   };
 
-  llvm = callPackage ../development/compilers/llvm { };
+  llvm = callPackage ../development/compilers/llvm {
+    stdenv = if stdenv.isDarwin
+      then stdenvAdapters.overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
@@ -2860,7 +2870,7 @@ let
     inherit (python27Packages) recursivePthLoader;
   };
 
-  pythonhomeWrapper = callPackage ../development/interpreters/python/pythonhome-wrapper.nix { };
+  pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { };
 
   pyrex = pyrex095;
 
@@ -3488,8 +3498,6 @@ let
 
   confuse = callPackage ../development/libraries/confuse { };
 
-  consolekit = callPackage ../development/libraries/consolekit { };
-
   coredumper = callPackage ../development/libraries/coredumper { };
 
   ctl = callPackage ../development/libraries/ctl { };
@@ -5143,7 +5151,6 @@ let
 
   ### DEVELOPMENT / LIBRARIES / JAVA
 
-
   atermjava = callPackage ../development/libraries/java/aterm {
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
@@ -5214,6 +5221,7 @@ let
 
   jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
+
   ### DEVELOPMENT / PERL MODULES
 
   buildPerlPackage = import ../development/perl-modules/generic perl;
@@ -5313,7 +5321,7 @@ let
 
   twisted = pythonPackages.twisted;
 
-  ZopeInterface = pythonPackages.zopeInterface;
+  ZopeInterface = pythonPackages.zope_interface;
 
 
   ### SERVERS
@@ -5806,7 +5814,7 @@ let
     kernelPatches =
       [ kernelPatches.fbcondecor_2_6_31
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_2_6_32
+        # kernelPatches.aufs2_2_6_32
         kernelPatches.cifs_timeout_2_6_29
         kernelPatches.no_xsave
         kernelPatches.dell_rfkill
@@ -5818,7 +5826,7 @@ let
     kernelPatches =
       [ kernelPatches.fbcondecor_2_6_31
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_2_6_32
+        # kernelPatches.aufs2_2_6_32
         kernelPatches.cifs_timeout_2_6_29
         kernelPatches.no_xsave
         kernelPatches.dell_rfkill
@@ -5830,7 +5838,7 @@ let
     kernelPatches =
       [ kernelPatches.fbcondecor_2_6_35
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_2_6_35
+        # kernelPatches.aufs2_2_6_35
         kernelPatches.cifs_timeout_2_6_35
       ] ++ lib.optional (platform.kernelArch == "arm")
         kernelPatches.sheevaplug_modules_2_6_35;
@@ -5852,7 +5860,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_0
+        # kernelPatches.aufs3_0
       ];
   };
 
@@ -5861,7 +5869,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_1
+        # kernelPatches.aufs3_1
       ];
   };
 
@@ -5870,7 +5878,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_2
+        # kernelPatches.aufs3_2
         kernelPatches.cifs_timeout_2_6_38
       ];
   };
@@ -5886,7 +5894,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_3
+        # kernelPatches.aufs3_3
       ];
   };
 
@@ -5895,7 +5903,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_4
+        # kernelPatches.aufs3_4
       ] ++ lib.optionals (platform.kernelArch == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -5907,7 +5915,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_5
+        # kernelPatches.aufs3_5
         kernelPatches.perf3_5
         kernelPatches.cifs_timeout_3_5_7
       ] ++ lib.optionals (platform.kernelArch == "mips")
@@ -5922,7 +5930,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_6
+        # kernelPatches.aufs3_6
       ] ++ lib.optionals (platform.kernelArch == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -5935,7 +5943,7 @@ let
     kernelPatches =
       [
         kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs3_7
+        # kernelPatches.aufs3_7
       ] ++ lib.optionals (platform.kernelArch == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -6300,8 +6308,7 @@ let
   });
 
   udev145 = callPackage ../os-specific/linux/udev/145.nix { };
-  udev173 = callPackage ../os-specific/linux/udev/173.nix { };
-  udev = pkgs.udev173;
+  udev = pkgs.systemd;
 
   udisks = callPackage ../os-specific/linux/udisks { };
 
@@ -7026,7 +7033,7 @@ let
 
   firefoxWrapper = wrapFirefox { browser = pkgs.firefox; };
 
-  firefoxPkgs = pkgs.firefox17Pkgs;
+  firefoxPkgs = pkgs.firefox18Pkgs;
 
   firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix {
     inherit (gnome) libIDL;
@@ -7040,13 +7047,6 @@ let
 
   firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; });
 
-  firefox17Pkgs = callPackage ../applications/networking/browsers/firefox/17.0.nix {
-    inherit (gnome) libIDL;
-    inherit (pythonPackages) pysqlite;
-  };
-
-  firefox17Wrapper = lowPrio (wrapFirefox { browser = firefox17Pkgs.firefox; });
-
   firefox18Pkgs = callPackage ../applications/networking/browsers/firefox/18.0.nix {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
@@ -8937,19 +8937,13 @@ let
     stateDir = config.nix.stateDir or "/nix/var";
   };
 
-  nixUnstable = nixStable;
-
-  /*
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
     storeDir = config.nix.storeDir or "/nix/store";
     stateDir = config.nix.stateDir or "/nix/var";
   };
-  */
 
   nut = callPackage ../applications/misc/nut { };
 
-  nut_2_6_3 = callPackage ../applications/misc/nut/2.6.3.nix { };
-
   disnix = callPackage ../tools/package-management/disnix { };
 
   disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts {
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 19df77300b6..06f9ded8f2b 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -491,6 +491,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   benchpress = callPackage ../development/libraries/haskell/benchpress {};
 
+  bifunctors = callPackage ../development/libraries/haskell/bifunctors {};
+
   bimap = callPackage ../development/libraries/haskell/bimap {};
 
   binary_hackage = callPackage ../development/libraries/haskell/binary {};
@@ -733,6 +735,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   dns = callPackage ../development/libraries/haskell/dns {};
 
+  doctest = callPackage ../development/libraries/haskell/doctest {};
+
   dotgen = callPackage ../development/libraries/haskell/dotgen {};
 
   doubleConversion = callPackage ../development/libraries/haskell/double-conversion {};
@@ -908,6 +912,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     polyparse = self.polyparse_1_7;
   };
 
+  groupoids = callPackage ../development/libraries/haskell/groupoids {};
+
   hakyll = callPackage ../development/libraries/haskell/hakyll {};
 
   hamlet = callPackage ../development/libraries/haskell/hamlet {};
@@ -1387,6 +1393,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix   {};
   primitive = self.primitive_0_5_0_1;
 
+  profunctors = callPackage ../development/libraries/haskell/profunctors {};
+
+  profunctorExtras = callPackage ../development/libraries/haskell/profunctor-extras {};
+
   projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
   processExtras = callPackage ../development/libraries/haskell/process-extras {};
@@ -1504,6 +1514,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   semigroupoids = callPackage ../development/libraries/haskell/semigroupoids {};
 
+  semigroupoidExtras = callPackage ../development/libraries/haskell/semigroupoid-extras {};
+
   setenv = callPackage ../development/libraries/haskell/setenv {};
 
   shelly = callPackage ../development/libraries/haskell/shelly {};
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index be1ca951174..9f8a219e0cb 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -12,7 +12,7 @@ rec {
   inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn;
 
   # Helper functions for packages that use Module::Build to build.
-  buildModule = { buildInputs ? [], ... } @ args:
+  buildPerlModule = { buildInputs ? [], ... } @ args:
     buildPerlPackage (args // {
       buildInputs = buildInputs ++ [ ModuleBuild ];
       preConfigure = "touch Makefile.PL";
@@ -30,10 +30,7 @@ rec {
     };
     propagatedBuildInputs = [ FileNext ];
     meta = {
-      description = "grep-like text finder";
-      longDescription = ''
-        ack is a grep-like tool tailored to working with large trees of source code.
-      '';
+      description = "A grep-like tool tailored to working with large trees of source code";
       homepage = http://betterthangrep.com/;
       license = "free";  # Artistic 2.0
     };
@@ -48,13 +45,25 @@ rec {
     propagatedBuildInputs = [AlgorithmDiff];
   };
 
+  AlgorithmC3 = buildPerlModule {
+    name = "Algorithm-C3-0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Algorithm-C3-0.08.tar.gz;
+      sha256 = "016cjr63wivg54ms6sjnxz4g75fafgvgwralamv29phcic2cl2am";
+    };
+    meta = {
+      description = "A module for merging hierarchies using the C3 algorithm";
+      license = "perl";
+    };
+  };
+
   AlgorithmDiff = buildPerlPackage rec {
-    name = "Algorithm-Diff-1.1901";
+    name = "Algorithm-Diff-1.1902";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TY/TYEMQ/${name}.zip";
-      sha256 = "0qk60fi49mpyvnfpjd2dzcmya8x3g5zfgb2hrnl7a5krn045g6i2";
+      url = mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1902.tar.gz;
+      sha256 = "0xc315h7xwq65n9n6nq8flv5d89z6kra69hspnyccw3782zhvd68";
     };
-    buildInputs = [pkgs.unzip];
+    buildInputs = [ pkgs.unzip ];
   };
 
   aliased = buildPerlPackage rec {
@@ -89,6 +98,9 @@ rec {
       url = mirror://cpan/authors/id/A/AB/ABW/AppConfig-1.66.tar.gz;
       sha256 = "1p1vs9px20lrq9mdwpzp309a8r6rchibsdmxang4krk90pi2sh4b";
     };
+    meta = {
+      description = "A bundle of Perl5 modules for reading configuration files and parsing command line arguments";
+    };
   };
 
   ArrayCompare = buildPerlPackage {
@@ -188,13 +200,18 @@ rec {
     inherit (pkgs) db4;
   };
 
-  BHooksEndOfScope = buildPerlPackage rec {
-    name = "B-Hooks-EndOfScope-0.08";
+  BHooksEndOfScope = buildPerlPackage {
+    name = "B-Hooks-EndOfScope-0.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
-      sha256 = "07gbfc36qr8pfwrcskq3bbpwscmi7nkvvw54vz5d9ym1fyn3zf0g";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/B-Hooks-EndOfScope-0.12.tar.gz;
+      sha256 = "1gagn8b9zhbwk4f4cllrvir1mspvq0ladsy0pfkwl9w85q1843lj";
+    };
+    propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ];
+    meta = {
+      homepage = http://metacpan.org/release/B-Hooks-EndOfScope;
+      description = "Execute code after a scope finished compilation";
+      license = "perl5";
     };
-    propagatedBuildInputs = [SubExporter VariableMagic];
   };
 
   BitVector = buildPerlPackage {
@@ -259,38 +276,53 @@ rec {
     buildInputs = [TestPod];
   };
 
-  CaptureTiny = buildPerlPackage rec {
-    name = "Capture-Tiny-0.11";
+  CaptureTiny = buildPerlPackage {
+    name = "Capture-Tiny-0.21";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
-      sha256 = "09rhfjgryvfap2v6ym7ywl130r3q8a1p2rq70l1jv415qhj0194c";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.21.tar.gz;
+      sha256 = "1lvz2639zsjpr3001b2xyidnsd4kcgll5fvaa0pm928wzldb49wg";
+    };
+    meta = {
+      homepage = https://metacpan.org/release/Capture-Tiny;
+      description = "Capture STDOUT and STDERR from Perl, XS or external programs";
+      license = "apache_2_0";
     };
   };
 
-  CarpAssert = buildPerlPackage rec {
+  CarpAssert = buildPerlPackage {
     name = "Carp-Assert-0.20";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Carp-Assert-0.20.tar.gz;
       sha256 = "1wzy4lswvwi45ybsm65zlq17rrqx84lsd7rajvd0jvd5af5lmlqd";
     };
+    meta = {
+    };
   };
 
-  CarpAssertMore = buildPerlPackage rec {
-    name = "Carp-Assert-More-1.12";
+  CarpAssertMore = buildPerlPackage {
+    name = "Carp-Assert-More-1.14";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "1m9k6z0m10s03x2hnc9mh5d4r8lnczm9bqd54jmnw0wzm4m33lyr";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.14.tar.gz;
+      sha256 = "0cq7qk4qbhqppm4raby5k24b5mx5qjgy1884nrddhxillnzlq01z";
+    };
+    propagatedBuildInputs = [ CarpAssert TestException ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      license = "artistic_2";
     };
-    propagatedBuildInputs = [TestException CarpAssert];
   };
 
   CarpClan = buildPerlPackage {
-    name = "Carp-Clan-6.00";
+    name = "Carp-Clan-6.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJORE/Carp-Clan-6.00.tar.gz;
-      sha256 = "0lbin4i0vzagcwkywpd5x4gz3a4ira4yn5g5v1ip0pbpyqnjk15h";
+      url = mirror://cpan/authors/id/S/ST/STBEY/Carp-Clan-6.04.tar.gz;
+      sha256 = "1v71k8s1pi16l5y579gnrg372c6pdvy6qqm6iddm8h1dx7n16bjl";
+    };
+    propagatedBuildInputs = [ TestException ];
+    meta = {
+      description = "Report errors from perspective of caller of a \"clan\" of modules";
+      license = "perl";
     };
-    propagatedBuildInputs = [TestException];
   };
 
   CatalystActionRenderView = buildPerlPackage rec {
@@ -314,15 +346,17 @@ rec {
       [ CatalystPluginAuthentication ClassAccessor CryptPasswdMD5 AuthenHtpasswd HTMLForm ];
   };
 
-  CatalystAuthenticationStoreDBIxClass = buildPerlPackage rec {
-    name = "Catalyst-Authentication-Store-DBIx-Class-0.1082";
+  CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
+    name = "Catalyst-Authentication-Store-DBIx-Class-0.1503";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JA/JAYK/${name}.tar.gz";
-      sha256 = "1rh5jwqw3fb16ll5id8z0igpqdwr0czi0xbaa2igalxr53hh2cni";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1503.tar.gz;
+      sha256 = "1l11if91gjfrga7i7bjxwa0zybhkkrpgg6ps3nxm30vmg7xqaf4d";
+    };
+    propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ];
+    meta = {
+      description = "A storage class for Catalyst Authentication using DBIx::Class";
+      license = "perl";
     };
-    propagatedBuildInputs = [
-      CatalystRuntime CatalystPluginAuthentication CatalystModelDBICSchema
-    ];
   };
 
   CatalystComponentInstancePerContext = buildPerlPackage rec {
@@ -349,20 +383,20 @@ rec {
     ];
   };
 
-  CatalystDevel = buildPerlPackage rec {
-    name = "Catalyst-Devel-1.33";
+  CatalystDevel = buildPerlPackage {
+    name = "Catalyst-Devel-1.37";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "0g41rglw460y2n2xbysjbsjb56jkkz2m5jhap2nw3a5jby1ymp07";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.37.tar.gz;
+      sha256 = "0yk526py65iy40z10d6w0fspb8fam5rf1hzsxnfyy4lpy91lp7s9";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ CatalystRuntime CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast namespaceautoclean namespaceclean PathClass Starman TemplateToolkit ];
+    meta = {
+      homepage = http://dev.catalyst.perl.org/;
+      description = "Catalyst Development Tools";
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
-    buildInputs = [ TestFatal TestMore ];
-    propagatedBuildInputs =
-      [ CatalystRuntime CatalystActionRenderView
-        CatalystPluginStaticSimple CatalystPluginConfigLoader
-        ClassAccessor ConfigGeneral FileChangeNotify FileCopyRecursive
-        FileShareDir Parent PathClass TemplateToolkit YAMLTiny
-      ];
-    CATALYST_DEVEL_NO_510_CHECK = 1; # bug in Perl 5.10.0
   };
 
   CatalystEngineHTTPPrefork = buildPerlPackage rec {
@@ -383,70 +417,74 @@ rec {
     ];
   };
 
-  CatalystManual = buildPerlPackage rec {
-    name = "Catalyst-Manual-5.8000";
+  CatalystManual = buildPerlPackage {
+    name = "Catalyst-Manual-5.9006";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/H/HK/HKCLARK/${name}.tar.gz";
-      sha256 = "0ay4gcprwqw4h5vsk8g0n9ir51sq7n5i2rdahgqdlb8caj4fshz5";
+      url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Manual-5.9006.tar.gz;
+      sha256 = "0cl9nqg5jrqcf2h3pgk6q8408czf5s0k0xh3ra884c9cnx84mr95";
+    };
+    meta = {
+      description = "The Catalyst developer's manual";
+      license = "perl";
     };
-    buildInputs = [TestPod TestPodCoverage];
   };
 
-  CatalystModelDBICSchema = buildPerlPackage rec {
-    name = "Catalyst-Model-DBIC-Schema-0.54";
+  CatalystModelDBICSchema = buildPerlPackage {
+    name = "Catalyst-Model-DBIC-Schema-0.60";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "19iasq94nph33vz4jrk5x6cqd9ivq0db867s524faba8avrrlxz9";
+      url = mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Model-DBIC-Schema-0.60.tar.gz;
+      sha256 = "176jqvrmhp0wng446m0qlmh1kgqj4z1czg6s418ffr4a7c3jqyld";
+    };
+    buildInputs = [ DBDSQLite TestException TestRequires ];
+    propagatedBuildInputs = [ CarpClan CatalystComponentInstancePerContext CatalystDevel CatalystRuntime CatalystXComponentTraits DBIxClass DBIxClassCursorCached DBIxClassSchemaLoader HashMerge ListMoreUtils Moose MooseXMarkAsMethods MooseXNonMoose MooseXTypes namespaceautoclean namespaceclean TieIxHash TryTiny ];
+    meta = {
+      description = "DBIx::Class::Schema Model Class";
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
-    buildInputs = [ TestMore TestException TestRequires DBDSQLite ];
-    propagatedBuildInputs =
-      [ DBIxClass CatalystRuntime CatalystXComponentTraits Moose MooseXTypes
-        NamespaceAutoclean CarpClan ListMoreUtils TieIxHash TryTiny
-        CatalystDevel DBIxClassSchemaLoader MooseXNonMoose
-        NamespaceClean HashMerge DBIxClassCursorCached
-      ];
-    meta.platforms = stdenv.lib.platforms.linux;
   };
 
-  CatalystRuntime = buildPerlPackage rec{
-    name = "Catalyst-Runtime-5.90006";
+  CatalystRuntime = buildPerlPackage {
+    name = "Catalyst-Runtime-5.90019";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
-      sha256 = "01afjgcc5lqaw6gmzwym8n09q8nksj4jdl2z25m64sfiv1gdyx2w";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Runtime-5.90019.tar.gz;
+      sha256 = "0madnqyzhcvbv6iql6b10dzfqvajj0fyp1sla83csakkbff38mqp";
+    };
+    buildInputs = [ ClassDataInheritable DataDump HTTPMessage TestException ];
+    propagatedBuildInputs = [ CGISimple ClassC3AdoptNEXT ClassLoad ClassMOP DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI ListMoreUtils LWPUserAgent Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading MROCompat namespaceautoclean namespaceclean PathClass Plack PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI ];
+    meta = {
+      homepage = http://dev.catalyst.perl.org/;
+      description = "The Catalyst Framework Runtime";
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs =
-      [ ClassDataInheritable ListMoreUtils NamespaceAutoclean NamespaceClean
-        BHooksEndOfScope MooseXEmulateClassAccessorFast ClassMOP
-        Moose MooseXMethodAttributes MooseXRoleWithOverloading
-        ClassC3AdoptNEXT CGISimple DataDump DataOptList
-        HTMLParser HTTPBody HTTPRequestAsCGI
-        LWP ModulePluggable PathClass SubExporter
-        TextSimpleTable TimeHiRes TreeSimple TreeSimpleVisitorFactory
-        URI TaskWeaken /* TextBalanced */ MROCompat MooseXTypes
-        MooseXGetopt MooseXTypesCommon StringRewritePrefix
-        MooseXTypesLoadableClass Plack PlackMiddlewareReverseProxy
-      ];
-    meta.platforms = stdenv.lib.platforms.linux;
   };
 
-  CatalystPluginAccessLog = buildPerlPackage rec {
-    name = "Catalyst-Plugin-AccessLog-1.04";
+  CatalystPluginAccessLog = buildPerlPackage {
+    name = "Catalyst-Plugin-AccessLog-1.05";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "1cbbg6fviyv398lyhmv14ya0v0h0xs04d29zz9r49vzsbw6shy33";
+      url = mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.05.tar.gz;
+      sha256 = "0hqvckaw91q5yc25a33bp0d4qqxlgkp7rxlvi8n8svxd1406r55s";
+    };
+    propagatedBuildInputs = [ CatalystRuntime DateTime Moose namespaceautoclean ];
+    meta = {
+      description = "Request logging from within Catalyst";
+      license = "perl";
     };
-    propagatedBuildInputs = [ CatalystRuntime DateTime ];
   };
 
-  CatalystPluginAuthentication = buildPerlPackage rec {
-    name = "Catalyst-Plugin-Authentication-0.10018";
+  CatalystPluginAuthentication = buildPerlPackage {
+    name = "Catalyst-Plugin-Authentication-0.10022";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "1znm81baidzhiiyanigy8rs8jq97vh94fiv4xvkrmaxz0k6vppdx";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10022.tar.gz;
+      sha256 = "1yxx89j6q10ydmwwhv3zq68gwndcnh4vvdqiv7az5w2rf2w1nvip";
+    };
+    buildInputs = [ ClassMOP Moose TestException ];
+    propagatedBuildInputs = [ CatalystPluginSession CatalystRuntime ClassInspector Moose MooseXEmulateClassAccessorFast MROCompat namespaceautoclean StringRewritePrefix TryTiny ];
+    meta = {
+      description = "Infrastructure plugin for the Catalyst authentication framework";
+      license = "perl";
     };
-    propagatedBuildInputs =
-      [ CatalystRuntime CatalystPluginSession ClassInspector ];
   };
 
   CatalystPluginAuthorizationACL = buildPerlPackage rec {
@@ -459,15 +497,17 @@ rec {
   };
 
   CatalystPluginAuthorizationRoles = buildPerlPackage {
-    name = "Catalyst-Plugin-Authorization-Roles-0.07";
+    name = "Catalyst-Plugin-Authorization-Roles-0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICAS/Catalyst-Plugin-Authorization-Roles-0.07.tar.gz;
-      sha256 = "07b8zc7b06p0fprjj68fk7rgh781r9s3q8dx045sk03w0fnk3b4b";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz;
+      sha256 = "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime SetObject UNIVERSALisa ];
+    meta = {
+      description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
+      license = "perl";
     };
-    propagatedBuildInputs = [
-      CatalystRuntime CatalystPluginAuthentication
-      TestException SetObject UNIVERSALisa
-    ];
   };
 
   CatalystPluginConfigLoader = buildPerlPackage rec {
@@ -497,15 +537,18 @@ rec {
     propagatedBuildInputs = [CatalystRuntime HTMLWidget];
   };
 
-  CatalystPluginSession = buildPerlPackage rec {
-    name = "Catalyst-Plugin-Session-0.34";
+  CatalystPluginSession = buildPerlPackage {
+    name = "Catalyst-Plugin-Session-0.36";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "0vgm3pjymzxqnjn8cj8ld1wprwj3hq15n26djvjmnx6pwyf2ffgz";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.36.tar.gz;
+      sha256 = "14wgkrg3w69gwg6zg991k5f611xqsnyx0i0xzhw9rx2j5nf9rj4b";
+    };
+    buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ];
+    propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ];
+    meta = {
+      description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
+      license = "perl";
     };
-    buildInputs = [ TestMockObject TestDeep ];
-    propagatedBuildInputs =
-      [ CatalystRuntime ObjectSignature MROCompat ];
   };
 
   CatalystPluginSessionStateCookie = buildPerlPackage rec {
@@ -528,22 +571,30 @@ rec {
       [ PathClass CatalystPluginSession CacheFastMmap MROCompat ];
   };
 
-  CatalystPluginStackTrace = buildPerlPackage rec {
+  CatalystPluginStackTrace = buildPerlPackage {
     name = "Catalyst-Plugin-StackTrace-0.11";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MS/MSTROUT/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-StackTrace-0.11.tar.gz;
       sha256 = "1ingivnga1yb4dqsj6icc4a58i9wdalzpn2qflsn8n2skgm223qb";
     };
     propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ];
+    meta = {
+      description = "Display a stack trace on the debug screen";
+      license = "perl";
+    };
   };
 
-  CatalystPluginStaticSimple = buildPerlPackage rec {
-    name = "Catalyst-Plugin-Static-Simple-0.29";
+  CatalystPluginStaticSimple = buildPerlPackage {
+    name = "Catalyst-Plugin-Static-Simple-0.30";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "1wjh1a24gksjxzzl9wblbaar5gjvlm38kndjx8629fm9dcbqvc14";
+      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.30.tar.gz;
+      sha256 = "18zar1n4imgnv7b4dr5sxyikry4668ngqgc6f0dr210bqafvwv7w";
+    };
+    propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ];
+    meta = {
+      description = "Make serving static pages painless";
+      license = "perl";
     };
-    propagatedBuildInputs = [CatalystRuntime MIMETypes];
   };
 
   CatalystViewDownload = buildPerlPackage rec {
@@ -556,25 +607,31 @@ rec {
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
   };
 
-  CatalystViewJSON = buildPerlPackage rec {
+  CatalystViewJSON = buildPerlPackage {
     name = "Catalyst-View-JSON-0.33";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Catalyst-View-JSON-0.33.tar.gz;
       sha256 = "03yda9skcfnwkm4hf2a3y7g2rdjdia5hzfnll0h7z4wiyb8kxfii";
     };
-    propagatedBuildInputs = [ CatalystRuntime JSONAny YAML ];
+    buildInputs = [ JSON ];
+    propagatedBuildInputs = [ CatalystRuntime JSONAny MROCompat YAML ];
+    meta = {
+      description = "JSON view for your data";
+      license = "perl";
+    };
   };
 
-  CatalystViewTT = buildPerlPackage rec {
-    name = "Catalyst-View-TT-0.37";
+  CatalystViewTT = buildPerlPackage {
+    name = "Catalyst-View-TT-0.40";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "00vv4rkhpablmmfn70nybxy1jlfxhyf72ck3bch2gcfgqqysxvqz";
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-View-TT-0.40.tar.gz;
+      sha256 = "0j73mk631p9x0b0l24ikavh9nxl6lpya4g46fpanjk396d2zj8bs";
+    };
+    propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ];
+    meta = {
+      description = "Template View Class";
+      license = "perl";
     };
-    propagatedBuildInputs = [
-      CatalystRuntime TemplateToolkit ClassAccessor
-      PathClass TemplateTimer
-    ];
   };
 
   CatalystXComponentTraits = buildPerlPackage rec {
@@ -584,17 +641,21 @@ rec {
       sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4";
     };
     propagatedBuildInputs =
-      [ CatalystRuntime MooseXTraitsPluggable NamespaceAutoclean ListMoreUtils ];
+      [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ];
   };
 
-  CatalystXScriptServerStarman = buildPerlPackage rec {
-    name = "CatalystX-Script-Server-Starman-0.01";
+  CatalystXScriptServerStarman = buildPerlPackage {
+    name = "CatalystX-Script-Server-Starman-0.02";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz";
-      sha256 = "18hpp35bjyw65x564m1m82mr0nmff6836vfjqdwf2lwsb4n8s4xr";
+      url = mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.02.tar.gz;
+      sha256 = "0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5";
     };
     buildInputs = [ TestWWWMechanizeCatalyst ];
-    propagatedBuildInputs = [ CatalystRuntime Starman ];
+    propagatedBuildInputs = [ CatalystRuntime Moose namespaceautoclean Starman ];
+    meta = {
+      description = "Replace the development server with Starman";
+      license = "perl";
+    };
   };
 
   CGICookieXS = buildPerlPackage rec {
@@ -622,20 +683,27 @@ rec {
     buildInputs = [ DBFile ];
   };
 
-  CGISimple = buildPerlPackage rec {
+  CGISimple = buildPerlPackage {
     name = "CGI-Simple-1.113";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/CGI/${name}.tar.gz";
+      url = mirror://cpan/authors/id/A/AN/ANDYA/CGI-Simple-1.113.tar.gz;
       sha256 = "0g8v0jd7dk310k6ncz47qa1cfrysi8yib1zwkhasv4zhswgqiqjj";
     };
     propagatedBuildInputs = [ IOStringy ];
+    meta = {
+      description = "A Simple totally OO CGI interface that is CGI.pm compliant";
+      license = "perl";
+    };
   };
 
   ClassAccessor = buildPerlPackage {
-    name = "Class-Accessor-0.31";
+    name = "Class-Accessor-0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.31.tar.gz;
-      sha256 = "1a4v5qqdf9bipd6ba5n47mag0cmgwp97cid67i510aw96bcjrsiy";
+      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz;
+      sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd";
+    };
+    meta = {
+      license = "perl";
     };
   };
 
@@ -648,14 +716,18 @@ rec {
     propagatedBuildInputs = [ClassAccessor];
   };
 
-  ClassAccessorGrouped = buildPerlPackage rec {
-    name = "Class-Accessor-Grouped-0.10003";
+  ClassAccessorGrouped = buildPerlPackage {
+    name = "Class-Accessor-Grouped-0.10009";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
-      sha256 = "036cyp74cdz8y5nig2b1iyqk6ps60sbqb0dqy0ybp3j5qiy28mix";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10009.tar.gz;
+      sha256 = "1cs6wvng9xxhmrps7qb7ccxswqkqskwj862dp4fqfra14aprlg4c";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ ClassXSAccessor ModuleRuntime SubName ];
+    meta = {
+      description = "Lets you build groups of accessors";
+      license = "perl";
     };
-    buildInputs = [ TestMore TestException ];
-    propagatedBuildInputs = [ ClassInspector SubName ClassXSAccessor ];
   };
 
   ClassAutouse = buildPerlPackage {
@@ -674,31 +746,45 @@ rec {
     };
   };
 
-  ClassC3 = buildPerlPackage rec {
-    name = "Class-C3-0.21";
+  ClassC3 = buildPerlPackage {
+    name = "Class-C3-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
-      sha256 = "1bl8z095y4js66pwxnm7s853pi9czala4sqc743fdlnk27kq94gz";
+      url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-0.24.tar.gz;
+      sha256 = "1nhwf7bj7z5szk7sxmq0ynqh2k9p42a7zkfyikkairfb78xckpkz";
+    };
+    propagatedBuildInputs = [ AlgorithmC3 ];
+    meta = {
+      description = "A pragma to use the C3 method resolution order algortihm";
+      license = "perl";
     };
   };
 
-  ClassC3AdoptNEXT = buildPerlPackage rec {
-    name = "Class-C3-Adopt-NEXT-0.07";
+  ClassC3AdoptNEXT = buildPerlPackage {
+    name = "Class-C3-Adopt-NEXT-0.13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
-      sha256 = "1kxbdq10vicrbz3i6hvml3mma5x0r523gfdd649f9bvrsizb0jxj";
+      url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-Adopt-NEXT-0.13.tar.gz;
+      sha256 = "1rwgbx6dsy4rpas94p8wakzj7hrla1p15jnbm24kwhsv79gp91ld";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ ListMoreUtils MROCompat ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Class-C3-Adopt-NEXT;
+      description = "Make NEXT suck less";
+      license = "perl";
     };
-    propagatedBuildInputs = [MROCompat TestException ListMoreUtils];
   };
 
-  ClassC3Componentised = buildPerlPackage rec {
+  ClassC3Componentised = buildPerlPackage {
     name = "Class-C3-Componentised-1.001000";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
+      url = mirror://cpan/authors/id/F/FR/FREW/Class-C3-Componentised-1.001000.tar.gz;
       sha256 = "1nzav8arxll0rya7r2vp032s3acliihbb9mjlfa13rywhh77bzvl";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
+    meta = {
+      license = "perl";
+    };
   };
 
   ClassDataAccessor = buildPerlPackage {
@@ -725,11 +811,15 @@ rec {
     };
   };
 
-  ClassInspector = buildPerlPackage rec {
-    name = "Class-Inspector-1.24";
+  ClassInspector = buildPerlPackage {
+    name = "Class-Inspector-1.28";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "0rhsn73g516knx5djqzlgygjk8ij6xxjkm1sim0facvd4z0wlw0a";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Class-Inspector-1.28.tar.gz;
+      sha256 = "04iij8dbcgaim7g109frpyf7mh4ydsd8zh53r53chk0zxnivg91w";
+    };
+    meta = {
+      description = "Get information about a class and its structure";
+      license = "perl";
     };
   };
 
@@ -741,6 +831,20 @@ rec {
     };
   };
 
+  ClassMethodModifiers = buildPerlPackage {
+    name = "Class-Method-Modifiers-2.00";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SA/SARTAK/Class-Method-Modifiers-2.00.tar.gz;
+      sha256 = "0lvj38ahqqyhv9dpi7ks1cq35f19nfw8ygxw22x2mcmagl8mnkhs";
+    };
+    buildInputs = [ TestFatal ];
+    meta = {
+      homepage = https://github.com/sartak/Class-Method-Modifiers/tree;
+      description = "Provides Moose-like method modifiers";
+      license = "perl";
+    };
+  };
+
   ClassMix = buildPerlPackage rec {
     name = "Class-Mix-0.005";
     src = fetchurl {
@@ -768,24 +872,34 @@ rec {
     };
   };
 
-  ClassLoad = buildPerlPackage rec {
-    name = "Class-Load-0.12";
+  ClassLoad = buildPerlPackage {
+    name = "Class-Load-0.20";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
-      sha256 = "0siw8hyqnmn0flk1hbd6fnnfqlhkgfr1d5442rri1d8a0rs1a36r";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-0.20.tar.gz;
+      sha256 = "084cxrm0hcpyz3ly1iqkcjpl4bs03n42na37d3pzwa8xbs44ag42";
+    };
+    buildInputs = [ TestFatal TestRequires ];
+    propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "A working (require \"Class::Name\") and more";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ DataOptList PackageStash ModuleRuntime ];
   };
 
-  ClassLoadXS = buildModule rec {
-    name = "Class-Load-XS-0.03";
+  ClassLoadXS = buildPerlModule {
+    name = "Class-Load-XS-0.06";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
-      sha256 = "1k3fffm4z6hvml5gqh27p7l78xs220s2d7ybd2a42akxrx8gk9r8";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-XS-0.06.tar.gz;
+      sha256 = "1dl739nnfw2j9rjgqxx24jqbanyvncqfnkwm27af8ik6kiqk50ik";
     };
-    buildInputs = [ TestFatal ];
+    buildInputs = [ ModuleImplementation TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassLoad ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "XS implementation of parts of Class::Load";
+      license = "artistic_2";
+    };
   };
 
   ClassUnload = buildPerlPackage rec {
@@ -797,33 +911,58 @@ rec {
     propagatedBuildInputs = [ ClassInspector ];
   };
 
-  ClassXSAccessor = buildPerlPackage rec {
-    name = "Class-XSAccessor-1.13";
+  ClassXSAccessor = buildPerlPackage {
+    name = "Class-XSAccessor-1.16";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
-      sha256 = "1nj21xq8bqvfz2mafrfskzw2p2j48b5k3rqxgxk99lw5ysmkz834";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.16.tar.gz;
+      sha256 = "1yjpw9kssy4m52407k45hxjnqz02494z7x8j44pjzkyi8msafvg5";
+    };
+    meta = {
+      description = "Generate fast XS accessors without runtime compilation";
+      license = "perl5";
     };
   };
 
-  Clone = buildPerlPackage rec {
-    name = "Clone-0.31";
+  Clone = buildPerlPackage {
+    name = "Clone-0.34";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RD/RDF/${name}.tar.gz";
-      sha256 = "0fazl71hrc0r56gnc7vzwz9283p7h62gc8wsna7zgyfvrajjnhwl";
+      url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.34.tar.gz;
+      sha256 = "0qk32i2ncmn7wm2dbjpwhwa4js079bgfs4ayb90mnxjhwq5358ix";
+    };
+    meta = {
+      description = "Recursively copy Perl datatypes";
+      license = "perl5";
     };
   };
 
   CommonSense = buildPerlPackage rec {
-    name = "common-sense-3.4";
+    name = "common-sense-3.6";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz";
-      sha256 = "0s1lym5519gwdgwd6c6cq9c9iagr7bmb16jklq5iq3nsdyb0qc2l";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.6.tar.gz;
+      sha256 = "0nkbp1by0mpvg1x6053fbh9dl8nnswlyfmqp8k2lppd717hw5ql6";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
     };
   };
 
-  CompressRawBzip2 = import ../development/perl-modules/Compress-Raw-Bzip2 {
-    inherit fetchurl buildPerlPackage;
-    inherit (pkgs) bzip2;
+  CompressRawBzip2 = buildPerlPackage {
+    name = "Compress-Raw-Bzip2-2.060";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.060.tar.gz;
+      sha256 = "02azwhglk2w68aa47sjqhj6vwzi66mv4hwal87jccjfy17gcwvx7";
+    };
+
+    # Don't build a private copy of bzip2.
+    BUILD_BZIP2 = false;
+    BZIP2_LIB = "${pkgs.bzip2}/lib";
+    BZIP2_INCLUDE = "${pkgs.bzip2}/include";
+
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Low-Level Interface to bzip2 compression library";
+      license = "perl5";
+    };
   };
 
   CompressRawZlib = import ../development/perl-modules/Compress-Raw-Zlib {
@@ -850,11 +989,14 @@ rec {
     };
   };
 
-  ConfigGeneral = buildPerlPackage rec {
-    name = "Config-General-2.50";
+  ConfigGeneral = buildPerlPackage {
+    name = "Config-General-2.51";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
-      sha256 = "0ff5qh6dx8qijbkx5yfvn3fhn5m2hkcl8yjmqxwnvcg78h33s3ps";
+      url = mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.51.tar.gz;
+      sha256 = "1khby072f10jbml0dlh82bg1s91ph8z6xa9bpk0l180q936k1xcg";
+    };
+    meta = {
+      license = "perl";
     };
   };
 
@@ -901,21 +1043,59 @@ rec {
     propagatedBuildInputs = [ CGICookieXS ];
   };
 
-  CPANMeta = buildPerlPackage rec {
-    name = "CPAN-Meta-2.112150";
+  CPANMeta = buildPerlPackage {
+    name = "CPAN-Meta-2.120921";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/CPAN/${name}.tar.gz";
-      sha256 = "0k48ccws3j158mrr348gishh5q7vg4fmx36fgrnnnydv0psic4n0";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.120921.tar.gz;
+      sha256 = "12cprk636jaklc97vdh55yjvzcr13h3csdnv3dgna84r2jijka79";
+    };
+    propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements ];
+    meta = {
+      homepage = https://github.com/dagolden/cpan-meta;
+      description = "The distribution metadata for a CPAN dist";
+      license = "perl5";
+    };
+  };
+
+  CPANMetaCheck = buildPerlPackage {
+    name = "CPAN-Meta-Check-0.004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.004.tar.gz;
+      sha256 = "0ccybgfc0p41shmc6nmbg20xljq2ygfjcxmyaf6y07yk6wdcyf7s";
+    };
+    buildInputs = [ TestDifferences ];
+    propagatedBuildInputs = [ CPANMeta CPANMetaRequirements ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Verify requirements in a CPAN::Meta object";
+      license = "perl5";
+    };
+  };
+
+  CPANMetaRequirements = buildPerlPackage {
+    name = "CPAN-Meta-Requirements-2.122";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz;
+      sha256 = "1fq2blw9ynja34fm9ck24m3qcpyk0hp25dhxvgs01k7yz64ryffh";
+    };
+    buildInputs = [ TestMore ];
+    meta = {
+      homepage = https://github.com/dagolden/cpan-meta-requirements;
+      description = "A set of version requirements for a CPAN dist";
+      license = "perl5";
     };
-    propagatedBuildInputs =
-      [ CPANMetaYAML JSONPP ParseCPANMeta VersionRequirements version ];
   };
 
-  CPANMetaYAML = buildPerlPackage rec {
-    name = "CPAN-Meta-YAML-0.003";
+  CPANMetaYAML = buildPerlPackage {
+    name = "CPAN-Meta-YAML-0.008";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/CPAN/${name}.tar.gz";
-      sha256 = "1mdmn9znk60izxdvvawsylv7n85x4y6lx8pa0gnkcp6d96q031af";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz;
+      sha256 = "1fxc8ybn6mdgzxyq1n69rgihmpfaarfclmbdw2rznya5zg2b0nz0";
+    };
+    meta = {
+      homepage = https://github.com/dagolden/cpan-meta-yaml;
+      description = "Read and write a subset of YAML for CPAN Meta files";
+      license = "perl5";
     };
   };
 
@@ -1052,12 +1232,16 @@ rec {
     propagatedBuildInputs = [ FileFindRule ];
   };
 
-  DataDump = buildPerlPackage rec {
+  DataDump = buildPerlPackage {
     name = "Data-Dump-1.21";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.21.tar.gz;
       sha256 = "1fcy6q8p406ag8g50l7znns3kxazfb458l6kw8pbsp4axnkz9ydx";
     };
+    meta = {
+      description = "Pretty printing of data structures";
+      license = "perl";
+    };
   };
 
   DataDumperConcise = buildPerlPackage rec {
@@ -1102,13 +1286,18 @@ rec {
     };
   };
 
-  DataOptList = buildPerlPackage rec {
+  DataOptList = buildPerlPackage {
     name = "Data-OptList-0.107";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.107.tar.gz;
       sha256 = "0r2sbvh1kj69al5crg394v5j5wkffvqdb17fz1rjfgb6h3v93xi8";
     };
-    propagatedBuildInputs = [SubInstall ParamsUtil];
+    propagatedBuildInputs = [ ParamsUtil SubInstall ];
+    meta = {
+      homepage = http://github.com/rjbs/data-optlist;
+      description = "Parse and validate simple name/value option pairs";
+      license = "perl5";
+    };
   };
 
   DataPage = buildPerlPackage {
@@ -1136,7 +1325,7 @@ rec {
     };
     buildInputs = [ TestRequires ];
     propagatedBuildInputs =
-      [ ClassLoad Moose TaskWeaken TieToObject NamespaceClean ];
+      [ ClassLoad Moose TaskWeaken TieToObject namespaceclean ];
   };
 
   DateCalc = buildPerlPackage {
@@ -1156,14 +1345,19 @@ rec {
     };
   };
 
-  DateTime = buildModule rec {
-    name = "DateTime-0.74";
+  DateTime = buildPerlModule {
+    name = "DateTime-0.78";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "0wabln41nk73w4j3lc1ri8jzmxd3yyskdlagv9jflqaz8awcs8qy";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-0.78.tar.gz;
+      sha256 = "0gicc3ib42jba989lxwy5i5sp4w3bmakdimgfxqbb57mbdarpxc5";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone MathRound ];
+    propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "A date and time object";
+      license = "artistic_2";
+    };
   };
 
   DateTimeFormatBuilder = buildPerlPackage rec {
@@ -1220,6 +1414,19 @@ rec {
     propagatedBuildInputs = [ ClassLoad ClassSingleton ParamsValidate TryTiny ];
   };
 
+  DevelCaller = buildPerlPackage {
+    name = "Devel-Caller-2.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.06.tar.gz;
+      sha256 = "1pxpimifzmnjnvf4icclx77myc15ahh0k56sj1djad1855mawwva";
+    };
+    propagatedBuildInputs = [ PadWalker ];
+    meta = {
+      description = "Meatier versions of C<caller>";
+      license = "perl5";
+    };
+  };
+
   DevelChecklib = buildPerlPackage rec {
     name = "Devel-CheckLib-0.98";
     src = fetchurl {
@@ -1241,7 +1448,7 @@ rec {
 
   DBDPg = import ../development/perl-modules/DBD-Pg {
     inherit stdenv fetchurl buildPerlPackage DBI;
-    inherit (pkgs) postgresql;
+    postgresql = pkgs.postgresql92;
   };
 
   DBFile = import ../development/perl-modules/DB_File {
@@ -1249,38 +1456,46 @@ rec {
     inherit (pkgs) db4;
   };
 
-  DBI = buildPerlPackage rec {
+  DBI = buildPerlPackage {
     name = "DBI-1.616";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz";
+      url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.616.tar.gz;
       sha256 = "0m6hk66xprjl314d5c665hnd1vch9a0b9y6ywvmf04kdqj33kkk0";
     };
+    meta = {
+      homepage = http://dbi.perl.org/;
+      description = "Database independent interface for Perl";
+      license = "perl5";
+    };
   };
 
-  DBIxClass = buildPerlPackage rec {
-    name = "DBIx-Class-0.08196";
+  DBIxClass = buildPerlPackage {
+    name = "DBIx-Class-0.08204";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AR/ARODLAND/${name}.tar.gz";
-      sha256 = "15k1kgbrsnkwr0ib6cyr114zk904lisy4k09gfiynag9wjhv47lm";
+      url = mirror://cpan/authors/id/G/GE/GETTY/DBIx-Class-0.08204.tar.gz;
+      sha256 = "0pghq6b60fyffb233hdk9qi47wcbf2sgp08679v9nxh4i5qp49gx";
+    };
+    buildInputs = [ DBDSQLite PackageStash TestException TestWarn ];
+    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ClassMethodModifiers ConfigAny ContextPreserve DataCompare DataDumperConcise DataPage DBI DevelGlobalDestruction HashMerge ModuleFind Moo MROCompat namespaceclean PathClass ScopeGuard SQLAbstract strictures SubName TryTiny ];
+    meta = {
+      homepage = http://www.dbix-class.org/;
+      description = "Extensible and flexible object <-> relational mapper.";
+      license = "perl";
     };
-    buildInputs = [ DBDSQLite TestException TestWarn ];
-    propagatedBuildInputs =
-      [ PackageStash ClassAccessorGrouped ClassC3Componentised
-        ClassInspector ConfigAny ContextPreserve DBI DataCompare
-        DataDumperConcise DataPage HashMerge MROCompat ModuleFind
-        PathClass SQLAbstract ScopeGuard SubName TryTiny
-        NamespaceClean
-      ];
   };
 
-  DBIxClassCursorCached = buildPerlPackage rec {
+  DBIxClassCursorCached = buildPerlPackage {
     name = "DBIx-Class-Cursor-Cached-1.001002";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz";
+      url = mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001002.tar.gz;
       sha256 = "19r7jr6pknxiirrybq0cd0lnr76xiw05arnfqgk9nrhp6c7vvil0";
     };
-    buildInputs = [ DBDSQLite ];
-    propagatedBuildInputs = [ CacheCache DBIxClass CarpClan ];
+    buildInputs = [ CacheCache DBDSQLite ];
+    propagatedBuildInputs = [ CarpClan DBIxClass ];
+    meta = {
+      description = "Cursor class with built-in caching support";
+      license = "perl";
+    };
   };
 
   DBIxClassHTMLWidget = buildPerlPackage rec {
@@ -1292,29 +1507,44 @@ rec {
     propagatedBuildInputs = [DBIxClass HTMLWidget];
   };
 
-  DBIxClassSchemaLoader = buildPerlPackage rec {
-    name = "DBIx-Class-Schema-Loader-0.07014";
+  DBIxClassIntrospectableM2M = buildPerlPackage {
+    name = "DBIx-Class-IntrospectableM2M-0.001001";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz";
-      sha256 = "0qrsh6i8p4mpx5bapn40cpsbvnvzivli71gymbiqjd0mjflbsjf6";
+      url = mirror://cpan/authors/id/G/GR/GRODITI/DBIx-Class-IntrospectableM2M-0.001001.tar.gz;
+      sha256 = "0p9zx1yc1f6jg583l206wilsni2v8mlngc2vf2q8yn10pmy4y6wm";
+    };
+    propagatedBuildInputs = [ DBIxClass ];
+    meta = {
+      description = "Introspect many-to-many relationships";
+      license = "perl";
     };
-    buildInputs = [ TestException TestMore TestWarn DBDSQLite ];
-    propagatedBuildInputs =
-      [ DataDump LinguaENInflectNumber LinguaENInflectPhrase
-        ClassAccessor ClassAccessorGrouped ClassC3Componentised
-        MROCompat CarpClan DBIxClass ClassLoad ClassUnload
-        ListMoreUtils NamespaceClean ScopeGuard TryTiny TaskWeaken
-        StringCamelCase StringToIdentifierEN
-      ];
   };
 
-  DevelGlobalDestruction = buildPerlPackage rec {
-    name = "Devel-GlobalDestruction-0.02";
+  DBIxClassSchemaLoader = buildPerlPackage {
+    name = "DBIx-Class-Schema-Loader-0.07033";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/N/NU/NUFFIN/${name}.tar.gz";
-      sha256 = "174m5dx2z89h4308gx6s6vmg93qzaq0bh9m91hp2vqbyialnarhw";
+      url = mirror://cpan/authors/id/R/RK/RKITOVER/DBIx-Class-Schema-Loader-0.07033.tar.gz;
+      sha256 = "1vrcxxlbvdch5r9v5i6vrb4fqqfbpxybpdqndmlnc2jzlqjwjahi";
+    };
+    buildInputs = [ ConfigAny ConfigGeneral DBDSQLite DBI DBIxClassIntrospectableM2M Moose MooseXMarkAsMethods MooseXNonMoose namespaceautoclean TestException TestPod TestWarn ];
+    propagatedBuildInputs = [ CarpClan ClassAccessorGrouped ClassC3Componentised ClassInspector ClassUnload DataDump DBIxClass HashMerge LinguaENInflectNumber LinguaENInflectPhrase LinguaENTagger ListMoreUtils MROCompat namespaceclean ScopeGuard StringCamelCase StringToIdentifierEN SubName TaskWeaken TryTiny ];
+    meta = {
+      description = "Create a DBIx::Class::Schema based on a database";
+      license = "perl";
+    };
+  };
+
+  DevelGlobalDestruction = buildPerlPackage {
+    name = "Devel-GlobalDestruction-0.09";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Devel-GlobalDestruction-0.09.tar.gz;
+      sha256 = "1hvrv88167rc2chqgxpd6q0ir5fki1q6r3w11v3lxfs118fdi65m";
+    };
+    propagatedBuildInputs = [ SubExporterProgressive ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Devel-GlobalDestruction;
+      license = "perl5";
     };
-    propagatedBuildInputs = [SubExporter ScopeGuard];
   };
 
   DevelHide = buildPerlPackage rec {
@@ -1325,21 +1555,30 @@ rec {
     };
   };
 
-  DevelStackTrace = buildPerlPackage rec {
-    name = "Devel-StackTrace-1.27";
+  DevelStackTrace = buildPerlPackage {
+    name = "Devel-StackTrace-1.30";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Devel/${name}.tar.gz";
-      sha256 = "01p7b9cmji582bld81c3b84jffhdi59zydnxjj6fh3m29zyysmfs";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.30.tar.gz;
+      sha256 = "1m13wzg4pmbc0f1w2rn9ybqwkqg66zw9zv34ayk7gr3349v7kbzl";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "An object representing a stack trace";
+      license = "artistic_2";
     };
   };
 
-  DevelStackTraceAsHTML = buildPerlPackage rec {
+  DevelStackTraceAsHTML = buildPerlPackage {
     name = "Devel-StackTrace-AsHTML-0.11";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Devel/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.11.tar.gz;
       sha256 = "0y0r42gszp3bxbs9j2nn3xgs8ij1cnadrywwwdc6r0y8m0siyapg";
     };
     propagatedBuildInputs = [ DevelStackTrace ];
+    meta = {
+      description = "Displays stack trace in HTML";
+      license = "perl";
+    };
   };
 
   DevelSymdump = buildPerlPackage rec {
@@ -1362,12 +1601,15 @@ rec {
   };
 
   DigestHMAC = buildPerlPackage {
-    name = "Digest-HMAC-1.01";
+    name = "Digest-HMAC-1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.01.tar.gz;
-      sha256 = "042d6nknc5icxqsy5asrh8v2shmvg7b3vbj95jyk4sbqlqpacwz3";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz;
+      sha256 = "0naavabbm1c9zgn325ndy66da4insdw9l3mrxwxdfi7i7xnjrirv";
+    };
+    meta = {
+      description = "Keyed-Hashing for Message Authentication";
+      license = "perl";
     };
-    propagatedBuildInputs = [DigestSHA1];
   };
 
   DigestMD4 = buildPerlPackage rec {
@@ -1378,55 +1620,70 @@ rec {
     };
   };
 
-  DigestSHA = buildPerlPackage rec {
-    name = "Digest-SHA-5.47";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MS/MSHELOR/${name}.tar.gz";
-      sha256 = "1xk9hdds4dk5iklxr8fdfbgfvd8cwgcjh5jqmjxhaw57ss2dh5wx";
-    };
-  };
+  DigestSHA = null;
 
   DigestSHA1 = buildPerlPackage {
-    name = "Digest-SHA1-2.12";
+    name = "Digest-SHA1-2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.12.tar.gz;
-      sha256 = "19gmbb3yb9pr0y02c6rf99zh14a7a67l4frl7cs0lzpxb41484xa";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz;
+      sha256 = "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8";
+    };
+    meta = {
+      description = "Perl interface to the SHA-1 algorithm";
+      license = "perl";
     };
   };
 
-  DistCheckConflicts = buildPerlPackage rec {
+  DistCheckConflicts = buildPerlPackage {
     name = "Dist-CheckConflicts-0.02";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
+      url = mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.02.tar.gz;
       sha256 = "1lh7j20vvsh4dyh74hr0wnabyv8vcdkilfi93m2fbk69qk3w995j";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ListMoreUtils SubExporter ];
+    propagatedBuildInputs = [ SubExporter ListMoreUtils ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Declare version conflicts for your dist";
+      license = "perl5";
+    };
   };
 
-  EmailAbstract = buildPerlPackage rec {
+  EmailAbstract = buildPerlPackage {
     name = "Email-Abstract-3.004";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.004.tar.gz;
       sha256 = "0fiaagxc2hy5g3qiipv4cspkwbaggdmsxbll1f4jx2qnq5hm668d";
     };
     propagatedBuildInputs = [ EmailSimple MROCompat ];
+    meta = {
+      license = "perl";
+    };
   };
 
-  EmailAddress = buildPerlPackage rec {
-    name = "Email-Address-1.889";
+  EmailAddress = buildPerlPackage {
+    name = "Email-Address-1.897";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0icpln4cs058x5lbqsg4wzb8p02qv7bb1z6ljxh70yd3y1mn0nxn";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.897.tar.gz;
+      sha256 = "17v5jvwhkd5clyihwsldnh4k7vpmaisn064s3mkxlr9dnz7nd10r";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "RFC 2822 Address Parsing";
+      license = "perl5";
     };
   };
 
-  EmailDateFormat = buildPerlPackage rec {
+  EmailDateFormat = buildPerlPackage {
     name = "Email-Date-Format-1.002";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.002.tar.gz;
       sha256 = "114fqcnmvzi0z100yx89j6rgwbicb0bslswhyr8z2pzsvwv3czqc";
     };
+    meta = {
+      description = "Produce RFC 8822 date strings";
+      license = "perl";
+    };
   };
 
   EmailSend = buildPerlPackage rec {
@@ -1438,26 +1695,31 @@ rec {
     propagatedBuildInputs = [EmailSimple EmailAddress ModulePluggable ReturnValue];
   };
 
-  EmailSender = buildPerlPackage rec {
+  EmailSender = buildPerlPackage {
     name = "Email-Sender-0.120002";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-0.120002.tar.gz;
       sha256 = "1cp735ndmh76xzijsm1hd0yh0m9yj34jc8akjhidkn677h2021dc";
     };
-    buildInputs = [ TestMore ];
-    propagatedBuildInputs =
-      [ CaptureTiny EmailAbstract EmailAddress ListMoreUtils Moose
-        Throwable TryTiny
-      ];
+    propagatedBuildInputs = [ CaptureTiny EmailAbstract EmailAddress EmailSimple ListMoreUtils Moose Throwable TryTiny ];
+    meta = {
+      homepage = https://github.com/rjbs/email-sender;
+      description = "A library for sending email";
+      license = "perl5";
+    };
   };
 
-  EmailSimple = buildPerlPackage rec {
-    name = "Email-Simple-2.100";
+  EmailSimple = buildPerlPackage {
+    name = "Email-Simple-2.102";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "1q86p9r5sb1dwdhcbnkfrbx08440cf74vzgrqc05cgi8mmhdfsh9";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.102.tar.gz;
+      sha256 = "19da1a06vnixhqfl41mfjrihvvxjgdgkq9bczp8k9mpr29xlbnq4";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      license = "perl5";
+    };
   };
 
   EmailValid = buildPerlPackage {
@@ -1479,10 +1741,10 @@ rec {
   };
 
   EncodeLocale = buildPerlPackage rec {
-    name = "Encode-Locale-1.02";
+    name = "Encode-Locale-1.03";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Encode/${name}.tar.gz";
-      sha256 = "0h2kim6mg236s749wlg35lhv1zdkrkr0bm65spkg005cn0mbmi90";
+      sha256 = "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp";
     };
   };
 
@@ -1494,14 +1756,19 @@ rec {
     };
   };
 
-  EvalClosure = buildPerlPackage rec {
-    name = "Eval-Closure-0.06";
+  EvalClosure = buildPerlPackage {
+    name = "Eval-Closure-0.08";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "0qjfigd7r3xwizf8wff3g2mhidbqqlb6xy125iwd03f3i5hmnhic";
+      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.08.tar.gz;
+      sha256 = "01x449ljj8mhr3jgfvnhzn0zz3xc81krslxiq29srqccsqjf933k";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ SubExporter TryTiny ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Safely and cleanly create closures via string eval";
+      license = "perl5";
+    };
   };
 
   ExceptionClass = buildPerlPackage rec {
@@ -1521,14 +1788,6 @@ rec {
     };
   };
 
-  ExtUtilsInstall = buildPerlPackage rec {
-    name = "ExtUtils-Install-1.54";
-    src = fetchurl {
-      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "19igil4iwh3jdyvjm8s0ypm8wxsny6nv4z3b3lkwhq0ccjgd3rp3";
-    };
-  };
-
   ExtUtilsMakeMaker = buildPerlPackage rec{
     name = "ExtUtils-MakeMaker-6.59";
     src = fetchurl {
@@ -1557,7 +1816,7 @@ rec {
     };
   };
 
-  FileChangeNotify = buildModule rec {
+  FileChangeNotify = buildPerlModule rec {
     name = "File-ChangeNotify-0.20";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
@@ -1566,7 +1825,7 @@ rec {
     buildInputs = [ TestException ];
     propagatedBuildInputs =
       [ ClassMOP Moose MooseXParamsValidate MooseXSemiAffordanceAccessor
-        NamespaceAutoclean
+        namespaceautoclean
       ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
   };
 
@@ -1623,10 +1882,10 @@ rec {
   };
 
   FileListing = buildPerlPackage rec {
-    name = "File-Listing-6.03";
+    name = "File-Listing-6.04";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "154hp49pcngsqrwi1pbw3fx82v7vql4dc9wh7qfj37vmy8sn1s93";
+      sha256 = "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y";
     };
     propagatedBuildInputs = [ HTTPDate ];
   };
@@ -1655,36 +1914,42 @@ rec {
     };
   };
 
-  FileShareDir = buildPerlPackage rec {
-    name = "File-ShareDir-1.00";
+  FileShareDir = buildPerlPackage {
+    name = "File-ShareDir-1.03";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "1afr1r1ys2ij8i4r0i85hfrgrbvcha8c7cgkhcrdya1f0lnpw59z";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/File-ShareDir-1.03.tar.gz;
+      sha256 = "0fczaqjxyzmzgrmn3ib84cj6pd2085wsvni3wf5b018i21j2wi2r";
+    };
+    propagatedBuildInputs = [ ClassInspector ];
+    meta = {
+      description = "Locate per-dist and per-module shared files";
+      license = "perl";
     };
-    propagatedBuildInputs = [ClassInspector ParamsUtil];
   };
 
-  FilesysNotifySimple = buildPerlPackage rec {
+  FilesysNotifySimple = buildPerlPackage {
     name = "Filesys-Notify-Simple-0.08";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Filesys/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.08.tar.gz;
       sha256 = "042klyvi8fbkhmyg1h7883bbjdhiclmky9w2wfga7piq5il6nxgi";
     };
-  };
-
-  FileTemp = buildPerlPackage rec {
-    name = "File-Temp-0.22";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TJ/TJENNESS/${name}.tar.gz";
-      sha256 = "11a738swa2as5d6mva798slxnd7ndhqii027ydm0av3y94i957wq";
+    meta = {
+      description = "Simple and dumb file system watcher";
+      license = "perl";
     };
   };
 
-  FileSlurp = buildPerlPackage rec {
-    name = "File-Slurp-9999.13";
+  FileTemp = null;
+
+  FileSlurp = buildPerlPackage {
+    name = "File-Slurp-9999.19";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1rdkih4iv77y4xaprwdaw85d8pmja01152ngw66rb1h9rby3n1dv";
+      url = mirror://cpan/authors/id/U/UR/URI/File-Slurp-9999.19.tar.gz;
+      sha256 = "0hrn4nipwx40d6ji8ssgr5nw986z9iqq8cn0kdpbszh9jplynaff";
+    };
+    meta = {
+      description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
+      license = "perl";
     };
   };
 
@@ -1764,14 +2029,18 @@ rec {
     };
   };
 
-  GetoptLongDescriptive = buildPerlPackage rec {
-    name = "Getopt-Long-Descriptive-0.090";
+  GetoptLongDescriptive = buildPerlPackage {
+    name = "Getopt-Long-Descriptive-0.093";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Getopt/${name}.tar.gz";
-      sha256 = "17ghqd50y3627ajc7wl6n7sv055p2gg0h40lavx7qhwyg5rf46lw";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.093.tar.gz;
+      sha256 = "0iccps0jlcjm68i5yywgs477plfnkc6b2386bzb99blm3jwdfyac";
+    };
+    propagatedBuildInputs = [ ParamsValidate SubExporter SubExporterUtil ];
+    meta = {
+      homepage = https://github.com/rjbs/Getopt-Long-Descriptive;
+      description = "Getopt::Long, but simpler and more powerful";
+      license = "perl5";
     };
-    buildInputs = [ TestMore ];
-    propagatedBuildInputs = [ ParamsValidate SubExporter ];
   };
 
   GoogleProtocolBuffers = buildPerlPackage rec {
@@ -1781,9 +2050,12 @@ rec {
       sha256 = "0pxfphg671wh56h59pf0zrj7m1cr0yga95hf3w54563pzcw2vqv3";
     };
     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
-    patches = [
-      ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch
-    ];
+    patches =
+      [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ];
+    meta = {
+      description = "Simple interface to Google Protocol Buffers";
+      license = "perl";
+    };
   };
 
   Graph = buildPerlPackage rec {
@@ -1830,13 +2102,20 @@ rec {
       sha256 = "07h7dyldxwqhq3x4fp9hacnc4vgipp0jk50b5cbvib975nfxx98z";
     };
     propagatedBuildInputs = [ Clone ];
+    meta = {
+      description = "Merges arbitrarily deep hashes into a single hash";
+    };
   };
 
-  HashMultiValue = buildPerlPackage rec {
-    name = "Hash-MultiValue-0.10";
+  HashMultiValue = buildPerlPackage {
+    name = "Hash-MultiValue-0.13";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz";
-      sha256 = "1n9klrg01myij2svcmdc212msmsr3cmsl2yw5k9my8j3s96b5yn1";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.13.tar.gz;
+      sha256 = "0flflmk2kxq9sjmhxr1547lidgigibhck912j4ambdwg21sbxjjd";
+    };
+    meta = {
+      description = "Store multiple values per key";
+      license = "perl";
     };
   };
 
@@ -1849,13 +2128,17 @@ rec {
     buildInputs = [ pkgs.unzip ];
   };
 
-  HTMLForm = buildPerlPackage rec {
-    name = "HTML-Form-6.00";
+  HTMLForm = buildPerlPackage {
+    name = "HTML-Form-6.03";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
-      sha256 = "11s9mlybjm14sa6m3wcfjf9pv00yynv0yk4parx44ga9h1a6y6xl";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Form-6.03.tar.gz;
+      sha256 = "0dpwr7yz6hjc3bcqgcbdzjjk9l58ycdjmbam9nfcmm85y2a1vh38";
     };
     propagatedBuildInputs = [ HTMLParser HTTPMessage URI ];
+    meta = {
+      description = "Class that represents an HTML form element";
+      license = "perl";
+    };
   };
 
   HTMLFormFu = buildPerlPackage rec {
@@ -1877,13 +2160,17 @@ rec {
       ];
   };
 
-  HTMLParser = buildPerlPackage rec {
-    name = "HTML-Parser-3.68";
+  HTMLParser = buildPerlPackage {
+    name = "HTML-Parser-3.69";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
-      sha256 = "1hhniqqpvi01vxsyvmcj677yg7a12zy0a3ynwxwg3ig6shn8a3j3";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.69.tar.gz;
+      sha256 = "01i4lj37dgwbj9mna756dzzz5lvx7adcnjk9s0hskqq0cn81r2vl";
+    };
+    propagatedBuildInputs = [ HTMLTagset ];
+    meta = {
+      description = "HTML parser class";
+      license = "perl";
     };
-    propagatedBuildInputs = [HTMLTagset];
   };
 
   HTMLScrubber = buildPerlPackage {
@@ -1929,13 +2216,19 @@ rec {
     buildInputs = [TestPod];
   };
 
-  HTMLTree = buildPerlPackage rec {
-    name = "HTML-Tree-4.2";
+  HTMLTree = buildPerlModule {
+    name = "HTML-Tree-5.03";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JF/JFEARN/${name}.tar.gz";
-      sha256 = "80e4e3caa5e0e025dee5ed383a8d4cc7479ae4802184c4757dafd147a8fca7c9";
+      url = mirror://cpan/authors/id/C/CJ/CJM/HTML-Tree-5.03.tar.gz;
+      sha256 = "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ HTMLParser HTMLTagset ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Work with HTML in a DOM-like tree structure";
+      license = "perl5";
     };
-    propagatedBuildInputs = [HTMLParser];
   };
 
   HTMLWidget = buildPerlPackage {
@@ -1951,30 +2244,55 @@ rec {
     ];
   };
 
-  HTTPBody = buildPerlPackage rec {
-    name = "HTTP-Body-1.12";
+  HTTPBody = buildPerlPackage {
+    name = "HTTP-Body-1.17";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "1229hhcm762n9x82jkhl8hmjcaigprcsrhymcdbkqlwch2agm6g2";
+      url = mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.17.tar.gz;
+      sha256 = "1476zdcg1cdal3ik6ccwm3rqfgsdac6b63f92wmipvn8lkjdl70k";
     };
     buildInputs = [ TestDeep ];
-    propagatedBuildInputs = [ LWP ];
+    propagatedBuildInputs = [ HTTPMessage ];
+    meta = {
+      description = "HTTP Body Parser";
+      license = "perl";
+    };
   };
 
-  HTTPCookies = buildPerlPackage rec {
-    name = "HTTP-Cookies-6.00";
+  HTTPCookies = buildPerlPackage {
+    name = "HTTP-Cookies-6.01";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "0758c3rj22z1bj7pbypmh1jadgd6w68nn8inhds96r39jhc79d9h";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz;
+      sha256 = "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm";
     };
     propagatedBuildInputs = [ HTTPDate HTTPMessage ];
+    meta = {
+      description = "HTTP cookie jars";
+      license = "perl";
+    };
   };
 
-  HTTPDate = buildPerlPackage rec {
-    name = "HTTP-Date-6.00";
+  HTTPDaemon = buildPerlPackage {
+    name = "HTTP-Daemon-6.01";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "15nrnfir4xqdd3lm0s0jgh9zwxx5ylmvl63xqmj5wipzl4l76vs6";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz;
+      sha256 = "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3";
+    };
+    propagatedBuildInputs = [ HTTPDate HTTPMessage LWPMediaTypes ];
+    meta = {
+      description = "A simple http server class";
+      license = "perl";
+    };
+  };
+
+  HTTPDate = buildPerlPackage {
+    name = "HTTP-Date-6.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz;
+      sha256 = "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8";
+    };
+    meta = {
+      description = "Date conversion routines";
+      license = "perl";
     };
   };
 
@@ -1994,31 +2312,39 @@ rec {
     };
   };
 
-  HTTPMessage = buildPerlPackage rec {
-    name = "HTTP-Message-6.02";
+  HTTPMessage = buildPerlPackage {
+    name = "HTTP-Message-6.06";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "10ai2vabbx6yqsyz6rbi7hp4vljmlq9kyn74jvjp95la5v4b6c93";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-6.06.tar.gz;
+      sha256 = "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8";
+    };
+    propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
+    meta = {
+      description = "HTTP style messages";
+      license = "perl";
     };
-    propagatedBuildInputs = [ EncodeLocale HTMLParser HTTPDate IOCompress LWPMediaTypes URI ];
   };
 
-  HTTPParserXS = buildPerlPackage rec {
-    name = "HTTP-Parser-XS-0.14";
+  HTTPNegotiate = buildPerlPackage {
+    name = "HTTP-Negotiate-6.01";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05";
+      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz;
+      sha256 = "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw";
+    };
+    propagatedBuildInputs = [ HTTPMessage ];
+    meta = {
+      description = "Choose a variant to serve";
+      license = "perl";
     };
-    buildInputs = [ TestMore ];
   };
 
-  HTTPRequest = buildPerlPackage rec {
-    name = "HTTP-Message-6.03";
+  HTTPParserXS = buildPerlPackage rec {
+    name = "HTTP-Parser-XS-0.14";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
-      sha256 = "c736e083bdf0eea1bb73e2dc3b66db0a8283942c0f69063afadb9a7cfa80011b";
+      sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05";
     };
-    propagatedBuildInputs = [ HTTPDate URI HTMLParser LWP ];
+    buildInputs = [ TestMore ];
   };
 
   HTTPRequestAsCGI = buildPerlPackage rec {
@@ -2030,23 +2356,28 @@ rec {
     propagatedBuildInputs = [ ClassAccessor LWP ];
   };
 
-  HTTPResponseEncoding = buildPerlPackage rec {
+  HTTPResponseEncoding = buildPerlPackage {
     name = "HTTP-Response-Encoding-0.06";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
+      url = mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz;
       sha256 = "1am8lis8107s5npca1xgazdy5sknknzcqyhdmc220s4a4f77n5hh";
     };
-    propagatedBuildInputs = [ LWP ];
+    propagatedBuildInputs = [ LWPUserAgent HTTPMessage ];
+    meta = {
+      description = "Adds encoding() to HTTP::Response";
+    };
   };
 
-  HTTPServerSimple = buildPerlPackage rec {
-    name = "HTTP-Server-Simple-0.38";
+  HTTPServerSimple = buildPerlPackage {
+    name = "HTTP-Server-Simple-0.44";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JE/JESSE/${name}.tar.gz";
-      sha256 = "1m1lmpbg0zhiv2vyc3fyyqfsv3jhhb2mbdl5624fqb0va2pnla6n";
+      url = mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-0.44.tar.gz;
+      sha256 = "05klpfkss2a6i5ihmvcm27fyar0f2v4ispg2f49agab3va1gix6g";
     };
-    propagatedBuildInputs = [URI];
     doCheck = false;
+    meta = {
+      license = "perl";
+    };
   };
 
   I18NLangTags = buildPerlPackage {
@@ -2065,15 +2396,19 @@ rec {
     };
   };
 
-  IOCompress = buildPerlPackage rec {
-    name = "IO-Compress-2.055";
+  IOCompress = buildPerlPackage {
+    name = "IO-Compress-2.060";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz";
-      sha256 = "0hxgic4m4wdwgwa15w5f2fhn9hd8jyrimd2rvhiav321zw9w3jg7";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.060.tar.gz;
+      sha256 = "03zaq9xzg0z9wcgj1hws8zhzdgdlwiz48nh6sy663bn7rzxm5k28";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
-    # Work around a self-referencing Makefile variable.
-    makeFlags = "INSTALLARCHLIB=$(INSTALLSITEARCH)";
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "IO Interface to compressed data files/buffers";
+      license = "perl5";
+    };
+    doCheck = !stdenv.isDarwin;
   };
 
   IODigest = buildPerlPackage {
@@ -2085,6 +2420,19 @@ rec {
     propagatedBuildInputs = [PerlIOviadynamic];
   };
 
+  IOHTML = buildPerlPackage {
+    name = "IO-HTML-0.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-0.04.tar.gz;
+      sha256 = "0c4hc76c1gypdwfasnibr2qlf9x3bnhyw357lhqlrczbm6vn8hw5";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Open an HTML file with automatic charset detection";
+      license = "perl5";
+    };
+  };
+
   IOLockedFile = buildPerlPackage rec {
     name = "IO-LockedFile-0.23";
     src = fetchurl {
@@ -2144,13 +2492,18 @@ rec {
     };
   };
 
-  IPCRun = buildPerlPackage rec {
-    name = "IPC-Run-0.82";
+  IPCRun = buildPerlPackage {
+    name = "IPC-Run-0.92";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "1v5yfavvhxscqkdl68xs7i7vcp9drl3y1iawppzwqcl1fprd58ip";
+      url = mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-0.92.tar.gz;
+      sha256 = "1lj6kmr8rs6na77b3v673vvw6qsr511bmhgf257x4xqmvxnv91p1";
     };
     doCheck = false; /* attempts a network connection to localhost */
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
+      license = "perl5";
+    };
   };
 
   IPCRun3 = buildPerlPackage rec {
@@ -2170,35 +2523,35 @@ rec {
   };
 
   ImageExifTool = buildPerlPackage rec {
-      name = "Image-ExifTool-8.41";
+    name = "Image-ExifTool-8.41";
 
-      src = fetchurl {
-        url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
-        sha256 = "1fdjic0bhbai8zzl3287i9wcs88khiv8qx5slx9n3gzvbnxacvqg";
-      };
+    src = fetchurl {
+      url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
+      sha256 = "1fdjic0bhbai8zzl3287i9wcs88khiv8qx5slx9n3gzvbnxacvqg";
+    };
 
-      meta = {
-        description = "ExifTool, a tool to read, write and edit EXIF meta information";
-        homepage = http://www.sno.phy.queensu.ca/~phil/exiftool/;
+    meta = {
+      description = "ExifTool, a tool to read, write and edit EXIF meta information";
+      homepage = http://www.sno.phy.queensu.ca/~phil/exiftool/;
 
-        longDescription = ''
-          ExifTool is a platform-independent Perl library plus a command-line
-          application for reading, writing and editing meta information in
-          image, audio and video files.  ExifTool supports many different types
-          of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC
-          Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker
-          notes of many digital cameras by Canon, Casio, FujiFilm, HP,
-          JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon,
-          Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo,
-          Sigma/Foveon and Sony.
-        '';
+      longDescription = ''
+        ExifTool is a platform-independent Perl library plus a command-line
+        application for reading, writing and editing meta information in
+        image, audio and video files.  ExifTool supports many different types
+        of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC
+        Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker
+        notes of many digital cameras by Canon, Casio, FujiFilm, HP,
+        JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon,
+        Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo,
+        Sigma/Foveon and Sony.
+      '';
 
-        licenses = [ "GPLv1+" /* or */ "Artistic" ];
+      licenses = [ "GPLv1+" /* or */ "Artistic" ];
 
-        maintainers = [ stdenv.lib.maintainers.ludo ];
-	platforms = stdenv.lib.platforms.unix;
-      };
+      maintainers = [ stdenv.lib.maintainers.ludo ];
+      platforms = stdenv.lib.platforms.unix;
     };
+  };
 
   Inline = buildPerlPackage rec {
     name = "Inline-0.45";
@@ -2266,39 +2619,53 @@ rec {
     };
   };
 
-  JSON = buildPerlPackage rec {
+  JSON = buildPerlPackage {
     name = "JSON-2.53";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.53.tar.gz;
       sha256 = "0rfms17d0pkai26kqyzaylbr5wxcrrhyjkyshq85l41xb0g1iplh";
     };
-    propagatedBuildInputs = [JSONXS];
+    meta = {
+      description = "JSON (JavaScript Object Notation) encoder/decoder";
+      license = "perl";
+    };
   };
 
-  JSONAny = buildPerlPackage rec {
-    name = "JSON-Any-1.19";
+  JSONAny = buildPerlPackage {
+    name = "JSON-Any-1.29";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PERIGRIN/${name}.tar.gz";
-      sha256 = "16h2p2qcbh0a6wfr5lfspilmjmpdnkn1rrkqw34v8xq1a77fl870";
+      url = mirror://cpan/authors/id/P/PE/PERIGRIN/JSON-Any-1.29.tar.gz;
+      sha256 = "15v2j9dh58r7r4s7rnnmgnzzbyz61bhyxwpx1z7r811ixs9bkks2";
+    };
+    buildInputs = [ JSON ];
+    meta = {
+      description = "Wrapper Class for the various JSON classes.";
+      license = "perl";
     };
-    propagatedBuildInputs = [JSON];
   };
 
   JSONPP = buildPerlPackage rec {
     name = "JSON-PP-2.27200";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/JSON/${name}.tar.gz";
+      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27200.tar.gz;
       sha256 = "1lv9riws9f72gya2fsp5jvbd1fbzyi8423x38a491ryy9cai2ph3";
     };
+    meta = {
+      description = "JSON::XS compatible pure-Perl module.";
+      license = "perl";
+    };
   };
 
-  JSONXS = buildPerlPackage rec {
-    name = "JSON-XS-2.32";
+  JSONXS = buildPerlPackage {
+    name = "JSON-XS-2.33";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz";
-      sha256 = "012bf324pf5lnrf6ck2y167i1q1zzzc0w43b381qfnk7v5fcvaik";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.33.tar.gz;
+      sha256 = "0p68f85xz6xx2c9ydz4bij5x4d1747rxs3jdq53ab915mnc1qfdl";
+    };
+    propagatedBuildInputs = [ CommonSense ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
     };
-    buildInputs = [CommonSense];
   };
 
   libxml_perl = buildPerlPackage rec {
@@ -2310,11 +2677,14 @@ rec {
     propagatedBuildInputs = [XMLParser];
   };
 
-  LinguaENInflect = buildPerlPackage rec {
-    name = "Lingua-EN-Inflect-1.893";
+  LinguaENInflect = buildPerlPackage {
+    name = "Lingua-EN-Inflect-1.895";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz";
-      sha256 = "1j0jxf3pqnsshakmpdwkgcmlz26hzmkrhg33kz52qzdfys254xmy";
+      url = mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.895.tar.gz;
+      sha256 = "0drzg9a2dkjxgf00n6jg0jzhd8972bh3j4wdnmdxpqi3zmfqhwcy";
+    };
+    meta = {
+      description = "Convert singular to plural";
     };
   };
 
@@ -2338,13 +2708,17 @@ rec {
       [ LinguaENInflect LinguaENInflectNumber LinguaENTagger ];
   };
 
-  LinguaENTagger = buildPerlPackage rec {
-    name = "Lingua-EN-Tagger-0.16";
+  LinguaENTagger = buildPerlPackage {
+    name = "Lingua-EN-Tagger-0.23";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz";
-      sha256 = "0nzjgpxd0i5a3sacxsqfvvrfyamxlmzfa9y14r4vs7sc8qm20xd2";
+      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.23.tar.gz;
+      sha256 = "0xq6567gijczxzq72ghfa9jr8zyc1p0ax9s12mv7slibpkfkm2d2";
+    };
+    propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ];
+    meta = {
+      description = "Part-of-speech tagger for English natural language processing.";
+      license = "gpl_3";
     };
-    propagatedBuildInputs = [ HTMLParser LinguaStem ];
   };
 
   LinguaStem = buildPerlPackage rec {
@@ -2365,12 +2739,16 @@ rec {
     propagatedBuildInputs = [ CommonSense ];
   };
 
-  ListMoreUtils = buildPerlPackage rec {
+  ListMoreUtils = buildPerlPackage {
     name = "List-MoreUtils-0.33";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/List-MoreUtils-0.33.tar.gz;
       sha256 = "1bcljhhsk5g0xykvgbxz10ilmj02s58ydiy3g8hbzdr29i20np1i";
     };
+    meta = {
+      description = "Provide the stuff missing in List::Util";
+      license = "perl";
+    };
   };
 
   LocaleGettext = buildPerlPackage {
@@ -2423,22 +2801,29 @@ rec {
     };
   };
 
-  LWP = buildPerlPackage rec {
-    name = "libwww-perl-6.03";
+  LWP = buildPerlPackage {
+    name = "libwww-perl-6.04";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/LWP/${name}.tar.gz";
-      sha256 = "1zlnz4ylk1y0rw56vlf9knawwjx72b1gm09yp06ccpgmmndif4dg";
+      url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz;
+      sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr";
     };
-    propagatedBuildInputs =
-      [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPMessage LWPMediaTypes URI NetHTTP ];
+    propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
     doCheck = false; # tries to start a daemon
+    meta = {
+      description = "The World-Wide Web library for Perl";
+      license = "perl";
+    };
   };
 
-  LWPMediaTypes = buildPerlPackage rec {
-    name = "LWP-MediaTypes-6.01";
+  LWPMediaTypes = buildPerlPackage {
+    name = "LWP-MediaTypes-6.02";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/LWP/${name}.tar.gz";
-      sha256 = "1fhxql3xnhrlyzkjyss4swvhyh0r58cv2kwjcpj3mdbbg54ah9fz";
+      url = mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz;
+      sha256 = "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q";
+    };
+    meta = {
+      description = "Guess media type for a file or a URL";
+      license = "perl";
     };
   };
 
@@ -2453,6 +2838,19 @@ rec {
     doCheck = false; # tries to connect to https://www.apache.org/.
   };
 
+  LWPUserAgent = buildPerlPackage {
+    name = "LWP-UserAgent-6.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz;
+      sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr";
+    };
+    propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
+    meta = {
+      description = "The World-Wide Web library for Perl";
+      license = "perl";
+    };
+  };
+
   LWPxParanoidAgent = buildPerlPackage rec {
     name = "LWPx-ParanoidAgent-1.07";
     src = fetchurl {
@@ -2520,25 +2918,29 @@ rec {
     buildInputs = [ ProcWaitStat ];
   };
 
-  MIMETypes = buildPerlPackage rec {
-    name = "MIME-Types-1.27";
+  MIMETypes = buildPerlPackage {
+    name = "MIME-Types-1.38";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MA/MARKOV/${name}.tar.gz";
-      sha256 = "1zhzyb85zbil2jwrh74rg3bnm9wl74fcg2s64y8b57bk04fdfb7l";
+      url = mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-1.38.tar.gz;
+      sha256 = "12m8cvj80qbwxckj5jildl5zw6p1jincj3m1s77z6lnw3h59rj4l";
+    };
+    meta = {
+      description = "Definition of MIME types";
+      license = "perl5";
     };
-    propagatedBuildInputs = [TestPod];
   };
 
-  ModuleBuild = buildPerlPackage rec {
-    name = "Module-Build-0.3800";
+  ModuleBuild = buildPerlPackage {
+    name = "Module-Build-0.4003";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
-      sha256 = "1gk0xn5s48f0n3a6k4izw6sigsk84rk06hky7dd48hdmvrq23f4v";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4003.tar.gz;
+      sha256 = "1izx26gfnjffnj0j601hkc008b31y9f25hms1nzidfkb6r3110s2";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Build and install Perl modules";
+      license = "perl5";
     };
-    propagatedBuildInputs =
-      [ ExtUtilsInstall ExtUtilsManifest ExtUtilsCBuilder ExtUtilsParseXS
-        CPANMeta PerlOSType ModuleMetadata
-      ];
   };
 
   ModuleFind = buildPerlPackage {
@@ -2549,6 +2951,35 @@ rec {
     };
   };
 
+  ModuleImplementation = buildPerlPackage {
+    name = "Module-Implementation-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.06.tar.gz;
+      sha256 = "0v8qajzkpkwb9mfj2p46j352bwiszkg1zk778b008axqb817hfys";
+    };
+    buildInputs = [ TestFatal TestRequires ];
+    propagatedBuildInputs = [ ModuleRuntime TryTiny ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Loads one of several alternate underlying implementations for a module";
+      license = "artistic_2";
+    };
+  };
+
+  ModuleInstall = buildPerlPackage {
+    name = "Module-Install-1.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Install-1.06.tar.gz;
+      sha256 = "06a5375q1cr21rzcr07z3n8w6hv611a9p199jrnpsj9vbcwwi7ny";
+    };
+    buildInputs = [ YAMLTiny ];
+    propagatedBuildInputs = [ FileRemove LWPUserAgent ModuleScanDeps PARDist YAMLTiny ];
+    meta = {
+      description = "Standalone, extensible Perl module installer";
+      license = "perl";
+    };
+  };
+
   ModuleMetadata = buildPerlPackage rec {
     name = "Module-Metadata-1.000005";
     src = fetchurl {
@@ -2579,28 +3010,58 @@ rec {
     propagatedBuildInputs = [UNIVERSALrequire];
   };
 
-  ModuleRuntime = buildPerlPackage rec {
-    name = "Module-Runtime-0.011";
+  ModuleRuntime = buildPerlPackage {
+    name = "Module-Runtime-0.013";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
-      sha256 = "0hbpn2jd11gsni77aw189ss4q83jlcvcxr49x9j28bh36hjgif7s";
+      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz;
+      sha256 = "08qhqg1qshrispcpzf24jbbpx2gh5ks84amnv9wmd46wj0yy0dzc";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Runtime module handling";
+      license = "perl5";
     };
-    propagatedBuildInputs = [ ParamsClassify ];
   };
 
-  Moose = buildPerlPackage rec {
-    name = "Moose-2.0401";
+  ModuleScanDeps = buildPerlPackage {
+    name = "Module-ScanDeps-1.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "07mx4xqfl0bk21kk49gs86ba3wcviarfx9yhxxw96pmaxd0l932i";
+      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.10.tar.gz;
+      sha256 = "0z85zqvqpj2ck80sw91hmzn94q8m3s40anybw324xh3pcrm9cg5s";
+    };
+    meta = {
+      description = "Recursively scan Perl code for dependencies";
+      license = "perl";
+    };
+  };
+
+  Moo = buildPerlPackage {
+    name = "Moo-1.000007";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/Moo-1.000007.tar.gz;
+      sha256 = "02q5j5vsfv8ykzmkqk8zac88svard4g6rl455slgz8y2w3xn41ql";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny strictures ];
+    meta = {
+      description = "Minimalist Object Orientation (with Moose compatiblity)";
+      license = "perl5";
+    };
+  };
+
+  Moose = buildPerlPackage {
+    name = "Moose-2.0604";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz;
+      sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj";
+    };
+    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
+    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "A postmodern object system for Perl 5";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs =
-      [ DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure
-        ListMoreUtils MROCompat PackageDeprecationManager PackageStash
-        PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny
-        ClassLoad ClassLoadXS
-      ];
   };
 
   MooseAutobox = buildPerlPackage rec {
@@ -2622,7 +3083,7 @@ rec {
     propagatedBuildInputs = [ Moose ];
   };
 
-  MooseXAttributeChained = buildModule rec {
+  MooseXAttributeChained = buildPerlModule rec {
     name = "MooseX-Attribute-Chained-1.0.1";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
@@ -2631,44 +3092,91 @@ rec {
     propagatedBuildInputs = [ Moose TryTiny ];
   };
 
-  MooseXEmulateClassAccessorFast = buildPerlPackage rec {
+  MooseXDaemonize = buildPerlPackage {
+    name = "MooseX-Daemonize-0.15";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MI/MICHAELR/MooseX-Daemonize-0.15.tar.gz;
+      sha256 = "1h6rzdmk68q4p0nh2bzmwwvr5iaf7pvdfrpwdxmr3z5pc64wajvd";
+    };
+    buildInputs = [ TestMoose ];
+    propagatedBuildInputs = [ Moose MooseXGetopt MooseXTypesPathClass ];
+    meta = {
+      description = "Role for daemonizing your Moose based application";
+      license = "perl";
+    };
+  };
+
+  MooseXEmulateClassAccessorFast = buildPerlPackage {
     name = "MooseX-Emulate-Class-Accessor-Fast-0.00903";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
+      url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Emulate-Class-Accessor-Fast-0.00903.tar.gz;
       sha256 = "1lkn1h4sxr1483jicsgsgzclbfw63g2i2c3m4v4j9ar75yrb0kh8";
     };
     buildInputs = [ TestException ];
-    propagatedBuildInputs = [ Moose NamespaceClean ];
+    propagatedBuildInputs = [ Moose namespaceclean ];
+    meta = {
+      description = "Emulate Class::Accessor::Fast behavior using Moose attributes";
+      license = "perl";
+    };
   };
 
-  MooseXGetopt = buildPerlPackage rec {
-    name = "MooseX-Getopt-0.37";
+  MooseXGetopt = buildPerlPackage {
+    name = "MooseX-Getopt-0.50";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "161j44v2b4qzv75lk35gvfvs864vcyhkzq6phmhh8zllg3cnfc8k";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.50.tar.gz;
+      sha256 = "0fwm5vb8z8q4b6fmf7gz4xzw5z713mmfnxzjph6vfyyymlr5bll9";
+    };
+    buildInputs = [ PathClass TestCheckDeps TestFatal TestMoose TestNoWarnings TestRequires TestTrap TestWarn ];
+    propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized ];
+    meta = {
+      homepage = http://metacpan.org/release/MooseX-Getopt;
+      description = "A Moose role for processing command line options";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal TestRequires TestWarn ];
-    propagatedBuildInputs = [ Moose GetoptLongDescriptive MooseXRoleParameterized ];
   };
 
-  MooseXMethodAttributes = buildPerlPackage rec {
-    name = "MooseX-MethodAttributes-0.25";
+  MooseXMarkAsMethods = buildPerlPackage {
+    name = "MooseX-MarkAsMethods-0.15";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "0rkk0rija7s96747y46qz49g88kymgxvn70mr21id9i8n7cdacww";
+      url = mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz;
+      sha256 = "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69";
+    };
+    buildInputs = [ TestMoose ];
+    propagatedBuildInputs = [ BHooksEndOfScope Moose namespaceautoclean ];
+    meta = {
+      homepage = http://metacpan.org/release/MooseX-MarkAsMethods/;
+      description = "Mark overload code symbols as methods";
+      license = "lgpl_2_1";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs = [ Moose MooseXTypes NamespaceAutoclean NamespaceClean ];
   };
 
-  MooseXNonMoose = buildPerlPackage rec {
+  MooseXMethodAttributes = buildPerlPackage {
+    name = "MooseX-MethodAttributes-0.28";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.28.tar.gz;
+      sha256 = "0srk85z6py9brw1jfvacd76y6219wycq3dj0wackbkmmbq04ln0g";
+    };
+    buildInputs = [ namespaceautoclean TestCheckDeps TestException ];
+    propagatedBuildInputs = [ Moose MooseXTypes namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/karenetheridge/moosex-methodattributes;
+      description = "Code attribute introspection";
+      license = "perl5";
+    };
+  };
+
+  MooseXNonMoose = buildPerlPackage {
     name = "MooseX-NonMoose-0.22";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
+      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.22.tar.gz;
       sha256 = "0mhyabg5f6kngkm1w7hfglkdzjdn5pbgm7vgia0aqy9mwwclbpdp";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ListMoreUtils Moose ];
+    meta = {
+      description = "Easy subclassing of non-Moose classes";
+      license = "perl5";
+    };
   };
 
   MooseXSetOnce = buildPerlPackage rec {
@@ -2681,32 +3189,48 @@ rec {
     propagatedBuildInputs = [ Moose ];
   };
 
-  MooseXParamsValidate = buildPerlPackage rec {
-    name = "MooseX-Params-Validate-0.10";
+  MooseXParamsValidate = buildPerlPackage {
+    name = "MooseX-Params-Validate-0.18";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "16mjxa72gn41pvrk0fgyi98iw6yc7qafnbzr6v2xfiabp9wf5j5m";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.18.tar.gz;
+      sha256 = "02yim0lmr7p2nzswy97d5ylbs4ksmgklqq350p119i2611x7ai0k";
+    };
+    buildInputs = [ Moose TestFatal ];
+    propagatedBuildInputs = [ DevelCaller Moose ParamsValidate SubExporter ];
+    meta = {
+      description = "An extension of Params::Validate using Moose's types";
+      license = "perl5";
     };
-    propagatedBuildInputs = [Moose ParamsValidate SubExporter TestException];
   };
 
-  MooseXRoleParameterized = buildPerlPackage rec {
-    name = "MooseX-Role-Parameterized-0.26";
+  MooseXRoleParameterized = buildPerlPackage {
+    name = "MooseX-Role-Parameterized-1.00";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "1wfqdkjhwzbzk2cm65r5gz9n6406j8mdq78iga7dnj3mp2csn631";
+      url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.00.tar.gz;
+      sha256 = "0642h71j90i0jrqxz1snizkw9pch8v1s1w0zndrcl5bb85lx3z7y";
     };
-    buildInputs = [ TestFatal TestMore ];
+    buildInputs = [ TestFatal TestMoose ];
     propagatedBuildInputs = [ Moose ];
+    meta = {
+      homepage = http://github.com/sartak/MooseX-Role-Parameterized/tree;
+      description = "Roles with composition parameters";
+      license = "perl";
+    };
   };
 
-  MooseXRoleWithOverloading = buildPerlPackage rec {
-    name = "MooseX-Role-WithOverloading-0.09";
+  MooseXRoleWithOverloading = buildPerlPackage {
+    name = "MooseX-Role-WithOverloading-0.13";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
-      sha256 = "0qs013vkm0ysykd3hibk4m8bkl0rnysxzralwq19zrvxaqk2krn8";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.13.tar.gz;
+      sha256 = "01mqpvbz7yw993918hgp72vl22i6mgicpq5b3zrrsp6vl8sqj2sw";
+    };
+    buildInputs = [ TestCheckDeps TestNoWarnings ];
+    propagatedBuildInputs = [ aliased Moose namespaceautoclean namespaceclean ];
+    meta = {
+      homepage = http://metacpan.org/release/MooseX-Role-WithOverloading;
+      description = "Roles which support overloading";
+      license = "perl5";
     };
-    propagatedBuildInputs = [ Moose MooseXTypes NamespaceAutoclean aliased ];
   };
 
   MooseXSemiAffordanceAccessor = buildPerlPackage rec {
@@ -2725,7 +3249,7 @@ rec {
       sha256 = "0sqmpf2kw25847fwrrwpcfhrq694bgs8jbix7qxp9qyjm769np6n";
     };
     buildInputs = [ TestException TestUseOk ];
-    propagatedBuildInputs = [ ClassMOP Moose NamespaceAutoclean ];
+    propagatedBuildInputs = [ ClassMOP Moose namespaceautoclean ];
   };
 
   MooseXTraitsPluggable = buildPerlPackage rec {
@@ -2736,18 +3260,22 @@ rec {
     };
     buildInputs =[ TestException ];
     propagatedBuildInputs =
-      [ ClassMOP Moose NamespaceAutoclean ListMoreUtils ];
+      [ ClassMOP Moose namespaceautoclean ListMoreUtils ];
   };
 
-  MooseXTypes = buildPerlPackage rec {
-    name = "MooseX-Types-0.30";
+  MooseXTypes = buildPerlPackage {
+    name = "MooseX-Types-0.35";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1c9z30fbk2h11xkgq8v2idnpaqay3m7ig9bb8scnawgrm49v2f4l";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Types-0.35.tar.gz;
+      sha256 = "11namg9pjw328ybvj70cgn15aac093jwdm4jv0b173gb7vkflx8a";
+    };
+    buildInputs = [ TestFatal TestMoose TestRequires ];
+    propagatedBuildInputs = [ CarpClan Moose namespaceclean SubInstall SubName ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Organise your Moose types in libraries";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs =
-      [ Moose CarpClan NamespaceClean SubInstall SubName ];
   };
 
   MooseXTypesCommon = buildPerlPackage rec {
@@ -2766,7 +3294,20 @@ rec {
       url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz";
       sha256 = "035d2gzq1j60skn39jav2jr6sbx1hq9vqmmfjfc3cvhahfzrygs4";
     };
-    propagatedBuildInputs = [ ClassLoad Moose MooseXTypes NamespaceClean ];
+    propagatedBuildInputs = [ ClassLoad Moose MooseXTypes namespaceclean ];
+  };
+
+  MooseXTypesPathClass = buildPerlPackage {
+    name = "MooseX-Types-Path-Class-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TH/THEPLER/MooseX-Types-Path-Class-0.06.tar.gz;
+      sha256 = "02lw86r6pp6saiwc7ns890mlwq93vhkqyri3cipsfwhnhcap847g";
+    };
+    propagatedBuildInputs = [ ClassMOP Moose MooseXTypes PathClass ];
+    meta = {
+      description = "A Path::Class type library for Moose";
+      license = "perl";
+    };
   };
 
   Mouse = buildPerlPackage rec {
@@ -2779,15 +3320,19 @@ rec {
     doCheck = false; # check can't find its own Mouse::Tiny module
   };
 
-  MROCompat = buildPerlPackage rec {
-    name = "MRO-Compat-0.11";
+  MROCompat = buildPerlPackage {
+    name = "MRO-Compat-0.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
-      sha256 = "0p2hl0cygcds3jjq3awackd72j3vzidfyjacj7gxdlqh65a2fjq7";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/MRO-Compat-0.12.tar.gz;
+      sha256 = "1mhma2g83ih9f8nkmg2k9l0x6izhhbb6k5lli4rpllxad4wbk9dv";
+    };
+    meta = {
+      description = "Mro::* interface compatibility for Perls < 5.9.5";
+      license = "perl";
     };
   };
 
-  MusicBrainzDiscID = buildModule rec {
+  MusicBrainzDiscID = buildPerlModule rec {
     name = "MusicBrainz-DiscID-0.03";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NJ/NJH/${name}.tar.gz";
@@ -2811,22 +3356,33 @@ rec {
     doCheck = false; # Test performs network access.
   };
 
-  NamespaceAutoclean = buildPerlPackage rec {
-    name = "namespace-autoclean-0.12";
+  namespaceautoclean = buildPerlPackage rec {
+    name = "namespace-autoclean-0.13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
-      sha256 = "125g5ny4sqf9kj1sxaqh1jipzyii56p9nsp45jg9fg67i4ljm9pg";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/namespace-autoclean-0.13.tar.gz;
+      sha256 = "1w53k9f9zla90qdn7cyc9dx8zcv26gwy2y87gcazqsq1aj371m04";
+    };
+    buildInputs = [ Moose SubName ];
+    propagatedBuildInputs = [ BHooksEndOfScope ClassMOP namespaceclean ];
+    meta = {
+      homepage = http://metacpan.org/release/namespace-autoclean;
+      description = "Keep imports out of your namespace";
+      license = "perl5";
     };
-    propagatedBuildInputs = [ BHooksEndOfScope ClassMOP NamespaceClean Moose ];
   };
 
-  NamespaceClean = buildPerlPackage rec {
-    name = "namespace-clean-0.21";
+  namespaceclean = buildPerlPackage rec {
+    name = "namespace-clean-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "0djqishj6mcw1jn9saff4i2glq89dq3rc7slpprcky31jay6jq5i";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.24.tar.gz;
+      sha256 = "0c0jj44f3y26scybnxp2lnkcydjqh0lfr6l1jsy13r3x9r4d8qd6";
+    };
+    propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
+    meta = {
+      homepage = http://search.cpan.org/dist/namespace-clean;
+      description = "Keep imports and functions out of your namespace";
+      license = "perl5";
     };
-    propagatedBuildInputs = [ BHooksEndOfScope DevelHide PackageStash ];
   };
 
   NetAddrIP = buildPerlPackage rec {
@@ -2881,19 +3437,26 @@ rec {
     doCheck = false;
   };
 
-  NetHTTP = buildPerlPackage rec {
-    name = "Net-HTTP-6.01";
+  NetHTTP = buildPerlPackage {
+    name = "Net-HTTP-6.05";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz";
-      sha256 = "0ipad5y605fr968snxmp1sxrkvag9r5y0g8qvj9n7ca9nbwq7n3n";
+      url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.05.tar.gz;
+      sha256 = "1r2bv3cw4m054qfsm6i7rpvhrql1d78izpc36prv3xvahfsqxawc";
+    };
+    meta = {
+      description = "Low-level HTTP connection (client)";
+      license = "perl";
     };
   };
 
   NetIP = buildPerlPackage {
-    name = "Net-IP-1.25";
+    name = "Net-IP-1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz;
-      sha256 = "1iv0ka6d8kp9iana6zn51sxbcmz2h3mbn6cd8pald36q5whf5mjc";
+      url = mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz;
+      sha256 = "0ffn2xqqbkfi7v303sp5dwgbv36jah3vg8r4nxhxfiv60vric3q4";
+    };
+    meta = {
+      description = "Perl extension for manipulating IPv4/IPv6 addresses";
     };
   };
 
@@ -2906,13 +3469,30 @@ rec {
     };
   };
 
-  NetServer = buildPerlPackage rec {
-    name = "Net-Server-0.99";
+  NetOAuth = buildPerlPackage {
+    name = "Net-OAuth-0.28";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz";
-      sha256 = "0pdf2fvklpcxrdz3wwmhbvjs6kvzcvjw28f3pny8z17188lv06n1";
+      url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz;
+      sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v";
+    };
+    buildInputs = [ TestWarn ];
+    propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ];
+    meta = {
+      description = "An implementation of the OAuth protocol";
+      license = "perl";
+    };
+  };
+
+  NetServer = buildPerlPackage {
+    name = "Net-Server-2.007";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.007.tar.gz;
+      sha256 = "0a03m237cw6j5bvm2yxk2b2gbfx7wj0w2x5zivi9ddqvbcad6vqw";
     };
     doCheck = false; # seems to hang waiting for connections
+    meta = {
+      description = "Extensible, general Perl server engine";
+    };
   };
 
   NetSMTP = buildPerlPackage {
@@ -2955,15 +3535,18 @@ rec {
   };
 
   NetTwitterLite = buildPerlPackage {
-    name = "Net-Twitter-Lite-0.10003";
-
+    name = "Net-Twitter-Lite-0.11002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.10003.tar.gz;
-      sha256 = "1qh5bw68ad4fqiqbqwhgj859kq35asjmp0fsmrqhlbqy195pwi1i";
+      url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.11002.tar.gz;
+      sha256 = "032gyn1h3r5d83wvz7nj3k7g50wcf73lbbmjc18466ml90vigys0";
     };
+    propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ];
     doCheck = false;
-
-    propagatedBuildInputs = [JSONAny Encode LWP CryptSSLeay];
+    meta = {
+      homepage = http://github.com/semifor/Net-Twitter-Lite;
+      description = "A perl interface to the Twitter API";
+      license = "perl";
+    };
   };
 
   NumberCompare = buildPerlPackage rec {
@@ -3004,7 +3587,7 @@ rec {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
       sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff";
     };
-    propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPRequest XMLSimple ];
+    propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ];
   };
 
   NetOpenIDConsumer = buildPerlPackage rec {
@@ -3013,36 +3596,51 @@ rec {
       url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz";
       sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8";
     };
-    propagatedBuildInputs = [ NetOpenIDCommon JSON ];
+    propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ];
   };
 
-  PackageDeprecationManager = buildPerlPackage rec {
-    name = "Package-DeprecationManager-0.11";
+  PackageDeprecationManager = buildPerlPackage {
+    name = "Package-DeprecationManager-0.13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "1q2jgq3dfva5wfsl1jn8711bk7fvf5cgpjddd8if9cx3zixnq2n1";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.13.tar.gz;
+      sha256 = "0fkvq3xxwc3l5hg64dr9sj3l12dl59i44cg407qx9sd6r51j3qfi";
+    };
+    buildInputs = [ TestRequires TestFatal ];
+    propagatedBuildInputs = [ ParamsUtil SubInstall ListMoreUtils ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Manage deprecation warnings for your distribution";
+      license = "artistic_2";
     };
-    buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs = [ ListMoreUtils ParamsUtil SubInstall ];
   };
 
-  PackageStash = buildPerlPackage rec {
-    name = "Package-Stash-0.33";
+  PackageStash = buildPerlPackage {
+    name = "Package-Stash-0.34";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "0md52rqgcnvspg3l2hvwc31jilq4gkbdwgr5h32gy1hmslaxhpzn";
+      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.34.tar.gz;
+      sha256 = "1674zs96ndq3czs6v8xkdqqz4fnka0i2835nnns9zbw2q01yirj6";
+    };
+    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
+    propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation PackageDeprecationManager ];
+    meta = {
+      homepage = http://metacpan.org/release/Package-Stash;
+      description = "Routines for manipulating stashes";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal TestRequires ];
-    propagatedBuildInputs = [ DistCheckConflicts PackageDeprecationManager PackageStashXS ];
   };
 
-  PackageStashXS = buildPerlPackage rec {
-    name = "Package-Stash-XS-0.25";
+  PackageStashXS = buildPerlPackage {
+    name = "Package-Stash-XS-0.26";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "1i45mhd17sfq41j62r8kkx2d2f4mi0sp6vl86mmk8a4ssq85i73k";
+      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.26.tar.gz;
+      sha256 = "1pfdpb3x40f5ldp5kp0d9xvrz4wk2fc3ww53wrq4dp326s08h7r9";
+    };
+    buildInputs = [ TestRequires TestFatal ];
+    meta = {
+      homepage = http://metacpan.org/release/Package-Stash-XS;
+      description = "Faster and more correct implementation of the Package::Stash API";
+      license = "perl5";
     };
-    buildInputs = [ TestFatal ];
   };
 
   ParamsClassify = buildPerlPackage rec {
@@ -3054,19 +3652,42 @@ rec {
     buildInputs = [ ExtUtilsParseXS ];
   };
 
-  ParamsUtil = buildPerlPackage rec {
-    name = "Params-Util-1.01";
+  ParamsUtil = buildPerlPackage {
+    name = "Params-Util-1.07";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "6a1613b669f18bf329003c7dbd11435248cffa9c1497645073821a68c0987a40";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz;
+      sha256 = "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Simple, compact and correct param-checking functions";
+      license = "perl5";
     };
   };
 
-  ParamsValidate = buildModule rec {
-    name = "Params-Validate-1.00";
+  ParamsValidate = buildPerlModule {
+    name = "Params-Validate-1.07";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Params/${name}.tar.gz";
-      sha256 = "1yziygqb8km28xr3yzzsllzgg7xnxdh4wqfm2kmf2s6qck0dkij4";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz;
+      sha256 = "15mz2wxarxjlr3365m1hhcnfs6d2mw3m0yimnlv06j13cxs39py1";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ ModuleImplementation ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Validate method/function parameters";
+      license = "artistic_2";
+    };
+  };
+
+  PARDist = buildPerlPackage {
+    name = "PAR-Dist-0.49";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.49.tar.gz;
+      sha256 = "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy";
+    };
+    meta = {
+      description = "Create and manipulate PAR distributions";
     };
   };
 
@@ -3079,10 +3700,10 @@ rec {
   };
 
   ParseCPANMeta = buildPerlPackage rec {
-    name = "Parse-CPAN-Meta-1.4401";
+    name = "Parse-CPAN-Meta-1.4404";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Parse/${name}.tar.gz";
-      sha256 = "0g381a0wynh9xc9wf44drw5vhfbd3wa693myy018jwq9vp51pf5q";
+      sha256 = "1y4mr5hmkkl405x4v31kx2nmlahpg0c38k8s65vgqc4s28wxafmh";
     };
     propagatedBuildInputs = [ CPANMetaYAML JSONPP ];
   };
@@ -3095,11 +3716,15 @@ rec {
     };
   };
 
-  PathClass = buildPerlPackage rec {
-    name = "Path-Class-0.24";
+  PathClass = buildPerlPackage {
+    name = "Path-Class-0.29";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz";
-      sha256 = "1g4in1k3nvk7w034hmhix9hjbjgpshwc5m8xvpga84rfzbadpnyc";
+      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.29.tar.gz;
+      sha256 = "1z3wvci2qcb1m9qrkxphbnfnr4jqgxbxnxrmdb25ks8gap98hk4z";
+    };
+    meta = {
+      description = "Cross-platform path specification manipulation";
+      license = "perl";
     };
   };
 
@@ -3177,26 +3802,45 @@ rec {
     };
   };
 
-  Plack = buildPerlPackage rec {
-    name = "Plack-0.9985";
+  Plack = buildPerlPackage {
+    name = "Plack-1.0015";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "0cik1iwpwky7aliwi59z93ykd13ysp4xg5dps1vd4dhqylkn4ns8";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0015.tar.gz;
+      sha256 = "1zg30bb55ws8fka5iawmfqnc3wg6ggigl0wljgvw0mk466sr3lxf";
+    };
+    buildInputs = [ TestRequires ];
+    propagatedBuildInputs = [ DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HashMultiValue HTTPBody HTTPMessage LWPUserAgent StreamBuffered TestTCP TryTiny URI ];
+    meta = {
+      homepage = http://plackperl.org;
+      description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
+      license = "perl";
     };
-    buildInputs = [ TestRequires TestTCP HTTPRequestAsCGI ];
-    propagatedBuildInputs =
-      [ LWP FileShareDir TryTiny DevelStackTrace DevelStackTraceAsHTML HTTPBody
-        HashMultiValue FilesysNotifySimple
-      ];
   };
 
-  PlackMiddlewareReverseProxy = buildPerlPackage rec {
-    name = "Plack-Middleware-ReverseProxy-0.10";
+  PlackMiddlewareReverseProxy = buildPerlPackage {
+    name = "Plack-Middleware-ReverseProxy-0.15";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Plack/${name}.tar.gz";
-      sha256 = "0w9bl1z71frra0dgz4gsxskvj1c8dhjkhrj2gqwdds6jcqyny7mf";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.15.tar.gz;
+      sha256 = "1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f";
+    };
+    propagatedBuildInputs = [ Plack ];
+    meta = {
+      description = "Supports app to run as a reverse proxy backend";
+      license = "perl";
+    };
+  };
+
+  PlackTestExternalServer = buildPerlPackage {
+    name = "Plack-Test-ExternalServer-0.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Plack-Test-ExternalServer-0.01.tar.gz;
+      sha256 = "1dbg1p3rgvvbkkpvca5jlc2mzx8iqyiybk88al93pvbca65h1g7h";
+    };
+    propagatedBuildInputs = [ HTTPMessage LWPUserAgent Plack TestTCP URI ];
+    meta = {
+      description = "Run HTTP tests on external live servers";
+      license = "perl";
     };
-    propagatedBuildInputs = [ Plack YAML ];
   };
 
   PPI = buildPerlPackage rec {
@@ -3235,11 +3879,13 @@ rec {
     };
   };
 
-  PadWalker = buildPerlPackage rec {
-    name = "PadWalker-1.9";
+  PadWalker = buildPerlPackage {
+    name = "PadWalker-1.96";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RO/ROBIN/${name}.tar.gz";
-      sha256 = "0lvh0qlyrpnkssqkhfxhbjpb5lyr4fp6d1p7la8k6w3wv1qmbl1s";
+      url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.96.tar.gz;
+      sha256 = "180c72l3ssnsdbyifl9lzdz83x4zidf3nfgyx6l0j41a5wj0w9fz";
+    };
+    meta = {
     };
   };
 
@@ -3359,6 +4005,32 @@ rec {
     };
   };
 
+  RoleTiny = buildPerlPackage {
+    name = "Role-Tiny-1.002004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IL/ILMARI/Role-Tiny-1.002004.tar.gz;
+      sha256 = "0n126kazifmx6grdk4rmq226xklfc996cqw4ix26z9jcccl4v756";
+    };
+    buildInputs = [ TestFatal ];
+    meta = {
+      description = "Roles, like a nouvelle cuisine portion size slice of Moose";
+      license = "perl5";
+    };
+  };
+
+  SafeIsa = buildPerlPackage {
+    name = "Safe-Isa-1.000002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/Safe-Isa-1.000002.tar.gz;
+      sha256 = "07jr4fy6zbw9zwpalxzxlkn4nym6fd0304fsrb5ag0v156ygpwvl";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Call isa, can, does and DOES safely on things that may not be objects";
+      license = "perl5";
+    };
+  };
+
   ScalarString = buildPerlPackage rec {
     name = "Scalar-String-0.002";
     src = fetchurl {
@@ -3368,18 +4040,27 @@ rec {
   };
 
   ScopeGuard = buildPerlPackage {
-    name = "Scope-Guard-0.03";
+    name = "Scope-Guard-0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.03.tar.gz;
-      sha256 = "07x966fkqxlwnngxs7a2jrhabh8gzhjfpqq56n9gkwy7f340sayb";
+      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.20.tar.gz;
+      sha256 = "1lsagnz6pli035zvx5c1x4qm9fabi773vns86yd8lzfpldhfv3sv";
+    };
+    meta = {
+      description = "Lexically-scoped resource management";
+      license = "perl";
     };
   };
 
-  ScopeUpper = buildPerlPackage rec {
-    name = "Scope-Upper-0.12";
+  ScopeUpper = buildPerlPackage {
+    name = "Scope-Upper-0.21";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz";
-      sha256 = "1yrjx22hlsv2qdgicnz589j9iipyxl56y6pnks2cfg6icpp97v5w";
+      url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.21.tar.gz;
+      sha256 = "058nfnzp31k7hmdvbsr72nvrw0i23gwjplb6g6pag3s18m7fl1p6";
+    };
+    meta = {
+      homepage = http://search.cpan.org/dist/Scope-Upper/;
+      description = "Act on upper scopes";
+      license = "perl5";
     };
   };
 
@@ -3418,15 +4099,18 @@ rec {
     propagatedBuildInputs = [ IOStringy OLEStorageLight ];
   };
 
-  SQLAbstract = buildPerlPackage rec {
-    name = "SQL-Abstract-1.72";
+  SQLAbstract = buildPerlPackage {
+    name = "SQL-Abstract-1.73";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz";
-      sha256 = "12abz50zz51s1f5hvs5xl6smb369sjid1zyjkfygkiglqp4an0kr";
+      url = mirror://cpan/authors/id/F/FR/FREW/SQL-Abstract-1.73.tar.gz;
+      sha256 = "081ppyvsc66yshmfr9q9v7hp9g58725nnibd771i9g153vzs49kb";
+    };
+    buildInputs = [ TestException TestWarn ];
+    propagatedBuildInputs = [ ClassAccessorGrouped GetoptLongDescriptive HashMerge ];
+    meta = {
+      description = "Generate SQL from Perl data structures";
+      license = "perl";
     };
-    buildInputs = [ TestDeep TestException TestWarn ];
-    propagatedBuildInputs =
-      [ ClassAccessorGrouped GetoptLongDescriptive HashMerge ];
   };
 
   SQLAbstractLimit = buildPerlPackage rec {
@@ -3472,16 +4156,19 @@ rec {
     ];
   };
 
-  Starman = buildPerlPackage rec {
-    name = "Starman-0.2014";
+  Starman = buildPerlPackage {
+    name = "Starman-0.3006";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Plack/${name}.tar.gz";
-      sha256 = "0hf3wpm2q4zcgjahjrpkkzy4fn74vkddg9yqs7p97xb290pvlbki";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.3006.tar.gz;
+      sha256 = "0dlwrrq570v5mbpzsi4pmj6n2sjm3xpcilhh6dvpq8qbp550wixy";
     };
-    patches = [ ../development/perl-modules/starman-dont-change-name.patch ];
-    buildInputs = [ TestRequires TestTCP ];
-    propagatedBuildInputs = [ Plack DataDump HTTPParserXS NetServer ];
+    buildInputs = [ TestRequires ];
+    propagatedBuildInputs = [ DataDump HTTPDate HTTPParserXS HTTPMessage NetServer Plack TestTCP ];
     doCheck = false; # binds to various TCP ports1
+    meta = {
+      description = "High-performance preforking PSGI/Plack web server";
+      license = "perl";
+    };
   };
 
   StatisticsDescriptive = buildPerlPackage rec {
@@ -3509,6 +4196,32 @@ rec {
     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
   };
 
+  StreamBuffered = buildPerlPackage {
+    name = "Stream-Buffered-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.02.tar.gz;
+      sha256 = "0bfa3h2pryrbrcd1r7235k0ik4gw35r5ig8h8y3dfmk9l3y96vjr";
+    };
+    meta = {
+      homepage = http://plackperl.org;
+      description = "Temporary buffer to save bytes";
+      license = "perl";
+    };
+  };
+
+  strictures = buildPerlPackage {
+    name = "strictures-1.004004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/strictures-1.004004.tar.gz;
+      sha256 = "0d7fanr4ggmlqvdxf63ci7nxba2vrdz9558xy35hfpm8max7s48j";
+    };
+    meta = {
+      homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git;
+      description = "Turn on strict and make all warnings fatal";
+      license = "perl5";
+    };
+  };
+
   StringCamelCase = buildPerlPackage rec {
     name = "String-CamelCase-0.02";
     src = fetchurl {
@@ -3533,11 +4246,17 @@ rec {
     };
   };
 
-  StringRewritePrefix = buildPerlPackage rec {
-    name = "String-RewritePrefix-0.004";
+  StringRewritePrefix = buildPerlPackage {
+    name = "String-RewritePrefix-0.006";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "17v0pwiprsz9ibxlhpi789jxg691nz9prpabvb4dn4nb0qbi0yd0";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz;
+      sha256 = "1b9fg805g0agsyij28w8hhmnf485bii8zl03i092mv1p2hqrpxll";
+    };
+    propagatedBuildInputs = [ SubExporter ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Rewrite strings based on a set of known prefixes";
+      license = "perl5";
     };
   };
 
@@ -3548,16 +4267,48 @@ rec {
       sha256 = "1rmldr7jf4jvkhzlv8hgp48lrmybvinmhv8kcnrpa8las0ijm4vm";
     };
     propagatedBuildInputs =
-      [ LinguaENInflectPhrase TextUnidecode NamespaceClean ];
+      [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
   };
 
-  SubExporter = buildPerlPackage rec {
-    name = "Sub-Exporter-0.982";
+  SubExporter = buildPerlPackage {
+    name = "Sub-Exporter-0.984";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0xf8q05k5xs3bw6qy3pnnl5d670njxsxbw2dprl7n50hf488cbvj";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.984.tar.gz;
+      sha256 = "190qly7nv7zf17c1v0gnqhyf25p6whhh2m132mh4xzs5mqadwq0f";
+    };
+    propagatedBuildInputs = [ DataOptList ParamsUtil SubInstall ];
+    meta = {
+      homepage = https://github.com/rjbs/sub-exporter;
+      description = "A sophisticated exporter for custom-built routines";
+      license = "perl5";
+    };
+  };
+
+  SubExporterProgressive = buildPerlPackage {
+    name = "Sub-Exporter-Progressive-0.001006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/L/LE/LEONT/Sub-Exporter-Progressive-0.001006.tar.gz;
+      sha256 = "0s13fz86c8slhgban10sywp2skjdxnl3nvkqqy7pbwg81g3v9rr2";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Only use Sub::Exporter if you need it";
+      license = "perl5";
+    };
+  };
+
+  SubExporterUtil = buildPerlPackage {
+    name = "Sub-Exporter-Util-0.984";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.984.tar.gz;
+      sha256 = "190qly7nv7zf17c1v0gnqhyf25p6whhh2m132mh4xzs5mqadwq0f";
+    };
+    propagatedBuildInputs = [ DataOptList ParamsUtil SubInstall ];
+    meta = {
+      homepage = https://github.com/rjbs/sub-exporter;
+      description = "A sophisticated exporter for custom-built routines";
+      license = "perl5";
     };
-    propagatedBuildInputs = [SubInstall DataOptList ParamsUtil];
   };
 
   SubIdentify = buildPerlPackage rec {
@@ -3568,20 +4319,28 @@ rec {
     };
   };
 
-  SubInstall = buildPerlPackage rec {
-    name = "Sub-Install-0.925";
+  SubInstall = buildPerlPackage {
+    name = "Sub-Install-0.926";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "1sccc4nwp9y24zkr42ww2gwg6zwax4madi9spsdym1pqna3nwnm6";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.926.tar.gz;
+      sha256 = "0gkns6p11j46j6yzacanhbqgd4ws5r0ppg6yivz7cjbq8dk4kcmc";
+    };
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Install subroutines into packages easily";
+      license = "perl5";
     };
   };
 
-  SubName = buildPerlPackage rec {
+  SubName = buildPerlPackage {
     name = "Sub-Name-0.05";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
+      url = mirror://cpan/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz;
       sha256 = "1w9sf51ai2r3i0kv5wnq7h9g3hcd6zb6i51ivvykb3hzx82vilf9";
     };
+    meta = {
+      description = "(Re)name a sub";
+    };
   };
 
   SubOverride = buildPerlPackage rec {
@@ -3594,10 +4353,15 @@ rec {
   };
 
   SubUplevel = buildPerlPackage {
-    name = "Sub-Uplevel-0.2002";
+    name = "Sub-Uplevel-0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2002.tar.gz;
-      sha256 = "19b2b9xsw7lvvkcmmnhhv8ybxdkbnrky9nnqgjridr108ww9m5rh";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.24.tar.gz;
+      sha256 = "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg";
+    };
+    meta = {
+      homepage = https://github.com/dagolden/sub-uplevel;
+      description = "Apparently run a function in a higher stack frame";
+      license = "perl5";
     };
   };
 
@@ -3690,34 +4454,41 @@ rec {
   };
 
   TaskWeaken = buildPerlPackage {
-    name = "Task-Weaken-1.02";
+    name = "Task-Weaken-1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Task-Weaken-1.02.tar.gz;
-      sha256 = "10f9kd1lwbscmmjwgbfwa4kkp723mb463lkbmh29rlhbsl7kb5wz";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz;
+      sha256 = "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7";
+    };
+    meta = {
+      description = "Ensure that a platform has weaken support";
+      license = "perl";
     };
   };
 
   TemplateTimer = buildPerlPackage {
-    name = "Template-Timer-0.04";
+    name = "Template-Timer-1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-0.04.tar.gz;
-      sha256 = "0j0gmxbq1svp0rb4kprwj2fk2mhl07yah08bksfz0a0pfz6lsam4";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz;
+      sha256 = "1d3pbcx1kz73ncg8s8lx3ifwphz838qy0m40gdar7790cnrlqcdp";
+    };
+    propagatedBuildInputs = [ TemplateToolkit ];
+    meta = {
+      description = "Rudimentary profiling for Template Toolkit";
+      license = "null";
     };
-    propagatedBuildInputs = [TemplateToolkit];
   };
 
   TemplateToolkit = buildPerlPackage rec {
-    name = "Template-Toolkit-2.22";
+    name = "Template-Toolkit-2.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz";
-      sha256 = "023sb6mf43m085pf8qq1dh1ill66p424mmj66xna5ji1nkw96pm3";
+      url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.24.tar.gz;
+      sha256 = "1j01kpsdpwxrwbsz2y1d8xyyliw9l23g0f3jigxvgxs9qal4m0rq";
+    };
+    propagatedBuildInputs = [ AppConfig ];
+    meta = {
+      description = "Comprehensive template processing system";
+      license = "perl5";
     };
-    propagatedBuildInputs = [AppConfig];
-    patches = [
-      # Needed to make TT works proy on templates in the Nix store.
-      # !!! unnecessary with Nix >= 0.13.
-      ../development/perl-modules/template-toolkit-nix-store.patch
-    ];
   };
 
   TermReadKey = buildPerlPackage {
@@ -3761,22 +4532,43 @@ rec {
     buildInputs = [ LogTrace ];
   };
 
-  TestDeep = buildPerlPackage rec {
-    name = "Test-Deep-0.109";
+  TestCheckDeps = buildPerlPackage {
+    name = "Test-CheckDeps-0.002";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "0nqqxj00ln3b4pma47bj2rcpblpvipfrchqbcxahlq9lh1q4p5s6";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.002.tar.gz;
+      sha256 = "0fmm9xsgial599bqb6rcrc6xp0627rcdp0ivx8wsy807py5jk5i6";
+    };
+    propagatedBuildInputs = [ CPANMetaCheck ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Check for presence of dependencies";
+      license = "perl5";
     };
-    propagatedBuildInputs = [TestTester TestNoWarnings];
   };
 
-  TestDifferences = buildPerlPackage rec {
-    name = "Test-Differences-0.500";
+  TestDeep = buildPerlPackage {
+    name = "Test-Deep-0.110";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
-      sha256 = "0ha36j6wr1d47zzilb28bvkm5lm5c6i4rqp4aqyknwg4qmagjr4w";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.110.tar.gz;
+      sha256 = "12rd9fknm778685ypyc599lcmzbqvbqnjhcrkybgpq2siai9q4h5";
+    };
+    propagatedBuildInputs = [ TestNoWarnings TestTester ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+    };
+  };
+
+  TestDifferences = buildPerlPackage {
+    name = "Test-Differences-0.61";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.61.tar.gz;
+      sha256 = "044wg7nqmhvh5ms8z305f9bzldhigr020l1a7iqycxqv05h6b6vm";
+    };
+    propagatedBuildInputs = [ TextDiff ];
+    meta = {
+      description = "Test strings and data structures and show differences if not ok";
+      license = "perl";
     };
-    propagatedBuildInputs = [ TestMore TextDiff ];
   };
 
   TestException = buildPerlPackage rec {
@@ -3788,13 +4580,18 @@ rec {
     propagatedBuildInputs = [ SubUplevel ];
   };
 
-  TestFatal = buildPerlPackage rec {
-    name = "Test-Fatal-0.006";
+  TestFatal = buildPerlPackage {
+    name = "Test-Fatal-0.010";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0laxzphmqwq0rrizv3n7pcnrn345yh70cip61sl8f8mw8dir1jdx";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.010.tar.gz;
+      sha256 = "01ck4wyrj4nqyr1cz3lcff6g9nryadsflpf85jmsa6vcl2bq8pl0";
     };
     propagatedBuildInputs = [ TryTiny ];
+    meta = {
+      homepage = https://github.com/rjbs/test-fatal;
+      description = "Incredibly simple helpers for testing code with exceptions";
+      license = "perl5";
+    };
   };
 
   TestHarness = buildPerlPackage rec {
@@ -3822,6 +4619,21 @@ rec {
     propagatedBuildInputs = [TestException UNIVERSALisa UNIVERSALcan];
   };
 
+  TestMoose = buildPerlPackage {
+    name = "Test-Moose-2.0604";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz;
+      sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj";
+    };
+    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
+    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "A postmodern object system for Perl 5";
+      license = "perl5";
+    };
+  };
+
   TestMockTime = buildPerlPackage rec {
     name = "Test-MockTime-0.09";
     src = fetchurl {
@@ -3833,12 +4645,17 @@ rec {
   TestMore = TestSimple;
 
   TestNoWarnings = buildPerlPackage {
-    name = "Test-NoWarnings-0.084";
+    name = "Test-NoWarnings-1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FD/FDALY/Test-NoWarnings-0.084.tar.gz;
-      sha256 = "19g47pa3brr9px3jnwziapvxcnghqqjjwxz1jfch4asawpdx2s8b";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz;
+      sha256 = "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3";
+    };
+    buildInputs = [ TestTester ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Make sure you didn't emit any warnings while testing";
+      license = "open_source";
     };
-    propagatedBuildInputs = [TestTester];
   };
 
   TestObject = buildPerlPackage rec {
@@ -3869,10 +4686,15 @@ rec {
   };
 
   TestPod = buildPerlPackage {
-    name = "Test-Pod-1.26";
+    name = "Test-Pod-1.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-Pod-1.26.tar.gz;
-      sha256 = "025rviipiaa1rf0bp040jlwaxwvx48kdcjriaysvkjpyvilwvqd4";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-Pod-1.45.tar.gz;
+      sha256 = "0yv0bglm4b9zfi9l5z6x2dy6pzlh8n5z9yl7py5v6h48mwgk74fk";
+    };
+    meta = {
+      homepage = http://search.cpan.org/dist/Test-Pod/;
+      description = "Check for POD errors in files";
+      license = "perl5";
     };
   };
 
@@ -3885,12 +4707,16 @@ rec {
     propagatedBuildInputs = [PodCoverage];
   };
 
-  TestRequires = buildPerlPackage rec {
+  TestRequires = buildPerlPackage {
     name = "Test-Requires-0.06";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
+      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.06.tar.gz;
       sha256 = "1ksyg4npzx5faf2sj80rm74qjra4q679750vfqfvw3kg1d69wvwv";
     };
+    meta = {
+      description = "Checks to see if the module can be loaded";
+      license = "perl";
+    };
   };
 
   TestScript = buildPerlPackage rec {
@@ -3910,13 +4736,7 @@ rec {
     };
   };
 
-  TestSimple = buildPerlPackage rec {
-    name = "Test-Simple-0.98";
-    src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "1a0jrl3n2g05qn6c79pv5bnc1wlq36qccwdgf1pjrrvmrgi07cig";
-    };
-  };
+  TestSimple = null;
 
   TestSubCalls = buildPerlPackage rec {
     name = "Test-SubCalls-1.09";
@@ -3927,20 +4747,24 @@ rec {
     propagatedBuildInputs = [ HookLexWrap ];
   };
 
-  TestTCP = buildPerlPackage rec {
-    name = "Test-TCP-1.13";
+  TestTCP = buildPerlPackage {
+    name = "Test-TCP-1.18";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
-      sha256 = "00vbkynkdflqgdvywdxzgg3yx1w7nfb68py8l3lglq9jq4pq9wbb";
+      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-TCP-1.18.tar.gz;
+      sha256 = "0flm7x0z7amppi9y6s8mxm0pkrgfihfpfjs0w4i6s80jiss1gfld";
+    };
+    propagatedBuildInputs = [ TestSharedFork ];
+    meta = {
+      description = "Testing TCP program";
+      license = "perl";
     };
-    propagatedBuildInputs = [ TestMore TestSharedFork ];
   };
 
   TestTester = buildPerlPackage {
-    name = "Test-Tester-0.107";
+    name = "Test-Tester-0.108";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.107.tar.gz;
-      sha256 = "0qgmsl6s6xm39211lywyzwrlz0gcmax7fb8zipybs9yxfmwcvyx2";
+      url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.108.tar.gz;
+      sha256 = "1pby9w41b7z0cgnxpgkh397x7z68855sjg5yda48r6lck3lga62h";
     };
   };
 
@@ -3952,26 +4776,32 @@ rec {
     };
   };
 
-  TestWarn = buildPerlPackage rec {
+  TestWarn = buildPerlPackage {
     name = "Test-Warn-0.24";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
+      url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.24.tar.gz;
       sha256 = "12r1mcwrm6cgc3ppgawwv265vmrighj4bl6xc5c41f4c2l6bdxml";
     };
-    propagatedBuildInputs = [ TestSimple TestException ArrayCompare TreeDAGNode ];
-    buildInputs = [ TestPod ];
+    propagatedBuildInputs = [ SubUplevel TreeDAGNode ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "Perl extension to test methods for warnings";
+      license = "perl5";
+    };
   };
 
-  TestWWWMechanize = buildPerlPackage rec {
-    name = "Test-WWW-Mechanize-1.24";
+  TestWWWMechanize = buildPerlPackage {
+    name = "Test-WWW-Mechanize-1.44";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "11knym5ppish78rk8r1hymvq1py43h7z8d6nk8p4ig3p246xx5qa";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.44.tar.gz;
+      sha256 = "062pj242vsc73bw11jqpap92ax9wzc9f2m4xhyp1wzrwkfchpl2q";
+    };
+    propagatedBuildInputs = [ CarpAssertMore HTMLTree HTTPServerSimple LWP TestLongString URI WWWMechanize ];
+    meta = {
+      homepage = https://github.com/petdance/test-www-mechanize;
+      description = "Testing-specific WWW::Mechanize subclass";
+      license = "artistic_2";
     };
-    propagatedBuildInputs = [
-      CarpAssertMore URI TestLongString WWWMechanize
-    ];
-    doCheck = false;
   };
 
   TestWWWMechanizeCatalyst = buildPerlPackage rec {
@@ -3988,11 +4818,27 @@ rec {
     doCheck = false; # listens on an external port
   };
 
-  TextAligner = buildPerlPackage rec {
-    name = "Text-Aligner-0.03";
+  TestWWWMechanizePSGI = buildPerlPackage {
+    name = "Test-WWW-Mechanize-PSGI-0.35";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANNO/${name}.tar.gz";
-      sha256 = "137m8w13ffdm3fbvy6yw0izrl2p87zawp1840qvsdw1nd0plxyp9";
+      url = mirror://cpan/authors/id/L/LB/LBROCARD/Test-WWW-Mechanize-PSGI-0.35.tar.gz;
+      sha256 = "1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc";
+    };
+    propagatedBuildInputs = [ Plack TestWWWMechanize TryTiny ];
+    meta = {
+      description = "Test PSGI programs using WWW::Mechanize";
+      license = "perl";
+    };
+  };
+
+  TextAligner = buildPerlPackage {
+    name = "Text-Aligner-0.07";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AN/ANNO/Text-Aligner-0.07.tar.gz;
+      sha256 = "1vpb87binmmysr4sxfjinxg4bh3rb4rmrx48yyczgmyddmda9rik";
+    };
+    meta = {
+      description = "Align text in columns";
     };
   };
 
@@ -4004,13 +4850,17 @@ rec {
     };
   };
 
-  TextDiff = buildPerlPackage rec {
-    name = "Text-Diff-1.37";
+  TextDiff = buildPerlPackage {
+    name = "Text-Diff-1.41";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "08das6k4nrf8dgcg2l1jcy8868kgzx976j38rpdndgrgq0nz148n";
+      url = mirror://cpan/authors/id/O/OV/OVID/Text-Diff-1.41.tar.gz;
+      sha256 = "1ynjsa4sr1yvyh65sdfvahaafglibz70j8b6rj01cg1iisj50zx6";
     };
     propagatedBuildInputs = [ AlgorithmDiff ];
+    meta = {
+      description = "Perform diffs on files and record sets";
+      license = "perl";
+    };
   };
 
   TextGlob = buildPerlPackage rec {
@@ -4056,20 +4906,29 @@ rec {
   };
 
   TextSimpleTable = buildPerlPackage {
-    name = "Text-SimpleTable-0.05";
+    name = "Text-SimpleTable-2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Text-SimpleTable-0.05.tar.gz;
-      sha256 = "028pdfmr2gnaq8w3iar8kqvrpxcghnag8ls7h4227l9zbxd1k9p9";
+      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.03.tar.gz;
+      sha256 = "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs";
+    };
+    meta = {
+      description = "Simple eyecandy ASCII tables";
+      license = "artistic_2";
     };
   };
 
-  TextTable = buildPerlPackage rec {
-    name = "Text-Table-1.114";
+  TextTable = buildPerlPackage {
+    name = "Text-Table-1.126";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANNO/${name}.tar.gz";
-      sha256 = "0qnpfyv7l98hyah3bnq19c33m9jh5sg0fmw2xxzaygmnp2pgpmpm";
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.126.tar.gz;
+      sha256 = "18v9ll360q4hlhmpks175da7y8nf6ywygd39archnw3zpn1cv7h1";
+    };
+    propagatedBuildInputs = [ TextAligner ];
+    meta = {
+      homepage = http://www.shlomifish.org/open-source/projects/docmake/;
+      description = "Organize Data in Tables";
+      license = "bsd";
     };
-    propagatedBuildInputs = [TextAligner];
   };
 
   TextTabularDisplay = buildPerlPackage rec {
@@ -4081,6 +4940,20 @@ rec {
     propagatedBuildInputs = [TextAligner];
   };
 
+  TestTrap = buildPerlPackage {
+    name = "Test-Trap-v0.2.2";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.2.2.tar.gz;
+      sha256 = "1ci5ag9pm850ww55n2929skvw3avy6xcrwmmi2yyn0hifxx9dybs";
+    };
+    buildInputs = [ TestTester ];
+    propagatedBuildInputs = [ DataDump ];
+    meta = {
+      description = "Trap exit codes, exceptions, output, etc.";
+      license = "perl";
+    };
+  };
+
   TextUnidecode = buildPerlPackage rec {
     name = "Text-Unidecode-0.04";
     src = fetchurl {
@@ -4098,11 +4971,15 @@ rec {
     propagatedBuildInputs = [ DevelStackTrace Moose ];
   };
 
-  TieIxHash = buildPerlPackage rec {
-    name = "Tie-IxHash-1.21";
+  TieIxHash = buildPerlPackage {
+    name = "Tie-IxHash-1.22";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GS/GSAR/${name}.tar.gz";
-      sha256 = "1xpj2c1dzcp14hfnxahy4r5f19c8afh8k6sfryq9gi76aadvjyk8";
+      url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz;
+      sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7";
+    };
+    meta = {
+      description = "Ordered associative arrays for Perl";
+      license = "perl";
     };
   };
 
@@ -4132,10 +5009,16 @@ rec {
   };
 
   TreeDAGNode = buildPerlPackage {
-    name = "Tree-DAG_Node-1.06";
+    name = "Tree-DAG_Node-1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz;
-      sha256 = "0anvwfh4vqj41ipq52p65sqlvw3rvm6cla5hbws13gyk9mvp09ah";
+      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.09.tgz;
+      sha256 = "1k2byyk7dnm8l6i1igagpfr58b02zsq5hwd9jcdp8yrlih7dzii3";
+    };
+    buildInputs = [ TestPod ];
+    meta = {
+      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      description = "An N-ary tree";
+      license = "perl5";
     };
   };
 
@@ -4145,7 +5028,11 @@ rec {
       url = mirror://cpan/authors/id/S/ST/STEVAN/Tree-Simple-1.18.tar.gz;
       sha256 = "0bb2hc8q5rwvz8a9n6f49kzx992cxczmrvq82d71757v087dzg6g";
     };
-    propagatedBuildInputs = [TestException];
+    buildInputs = [ TestException ];
+    meta = {
+      description = "A simple tree object";
+      license = "perl";
+    };
   };
 
   TreeSimpleVisitorFactory = buildPerlPackage {
@@ -4158,11 +5045,14 @@ rec {
     buildInputs = [TestException];
   };
 
-  TryTiny = buildPerlPackage rec {
-    name = "Try-Tiny-0.09";
+  TryTiny = buildPerlPackage {
+    name = "Try-Tiny-0.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "1fjhwq347wa74h94nd54lx194s26s7x9whfc0kkpcng2sgs54vvs";
+      url = mirror://cpan/authors/id/D/DO/DOY/Try-Tiny-0.12.tar.gz;
+      sha256 = "0awv2w33jb1xw3bsrfwsz53dgwm8s8vnpk4ssxxp3n89i7116p2g";
+    };
+    meta = {
+      homepage = https://github.com/doy/try-tiny.git;
     };
   };
 
@@ -4174,11 +5064,16 @@ rec {
     };
   };
 
-  UNIVERSALisa = buildModule rec {
-    name = "UNIVERSAL-isa-1.01";
+  UNIVERSALisa = buildPerlPackage {
+    name = "UNIVERSAL-isa-1.20120726";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CH/CHROMATIC/${name}.tar.gz";
-      sha256 = "0iksklmfhiaxg2rsw827n97k1mris6dg596rdwk2gmrwl0rsk0wz";
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-isa-1.20120726.tar.gz;
+      sha256 = "1qal99sp888b50kwank9ffyprv7kqx42p4vyfahdabf915lyzc61";
+    };
+    meta = {
+      homepage = https://github.com/chromatic/UNIVERSAL-isa;
+      description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
+      license = "perl";
     };
   };
 
@@ -4190,11 +5085,15 @@ rec {
     };
   };
 
-  URI = buildPerlPackage rec {
-    name = "URI-1.59";
+  URI = buildPerlPackage {
+    name = "URI-1.60";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
-      sha256 = "1inanl9vs6q1bwvig1s8hdwagjw4484gs4s7pjnx5f4xb2dx526b";
+      url = mirror://cpan/authors/id/G/GA/GAAS/URI-1.60.tar.gz;
+      sha256 = "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz";
+    };
+    meta = {
+      description = "Uniform Resource Identifiers (absolute and relative)";
+      license = "perl";
     };
   };
 
@@ -4261,14 +5160,32 @@ rec {
     doCheck = false; # performs network access
   };
 
-  WWWMechanize = buildPerlPackage rec {
-    name = "WWW-Mechanize-1.54";
+  WWWMechanize = buildPerlPackage {
+    name = "WWW-Mechanize-1.72";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "1yxvw5xfng5fj4422869p5dwvmrkmqph9gdm2nl12wngydk93lnh";
+      url = mirror://cpan/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz;
+      sha256 = "0vs3p2697675bswjayfmm37lg3xsxm94z1mif18s732kwvnpg6m6";
     };
-    propagatedBuildInputs = [LWP HTTPResponseEncoding HTTPServerSimple];
+    propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ];
     doCheck = false;
+    meta = {
+      homepage = https://github.com/bestpractical/www-mechanize;
+      description = "Handy web browsing in a Perl object";
+      license = "perl5";
+    };
+  };
+
+  WWWRobotRules = buildPerlPackage {
+    name = "WWW-RobotRules-6.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz;
+      sha256 = "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6";
+    };
+    propagatedBuildInputs = [ URI ];
+    meta = {
+      description = "Database of robots.txt-derived permissions";
+      license = "perl";
+    };
   };
 
   X11GUITest = buildPerlPackage rec {
@@ -4381,27 +5298,29 @@ rec {
     };
   };
 
-  # XSLoader = buildPerlPackage {
-  #   name = "XSLoader-0.08";
-  #   src = fetchurl {
-  #     url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz;
-  #     sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5";
-  #   };
-  # };
-
-  YAML = buildPerlPackage rec {
-    name = "YAML-0.80";
+  YAML = buildPerlPackage {
+    name = "YAML-0.84";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "81ada73c7eda69dad3cc679b2facba50f2634edcc16c59a7b66bffb9f2fa0e90";
+      url = mirror://cpan/authors/id/M/MS/MSTROUT/YAML-0.84.tar.gz;
+      sha256 = "03349n2z32gwjqiq7l3g57avvphl2rw3lmwc8i5cl9hmfw51yd8a";
+    };
+    meta = {
+      homepage = https://github.com/ingydotnet/yaml-pm/tree;
+      description = "YAML Ain't Markup Language (tm)";
+      license = "perl";
     };
   };
 
-  YAMLSyck = buildPerlPackage rec {
-    name = "YAML-Syck-1.05";
+  YAMLSyck = buildPerlPackage {
+    name = "YAML-Syck-1.22";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AU/AUDREYT/${name}.tar.gz";
-      sha256 = "15acwp2qdxfmhfqj4c1s57xyy48hcfc87lblww3lbvihqbysyzss";
+      url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.22.tar.gz;
+      sha256 = "0n3k71i0b8mhdrl5kp1cwyvjbkqahyqkhp81wl3qnkfhyi39f55y";
+    };
+    meta = {
+      homepage = http://search.cpan.org/dist/YAML-Syck;
+      description = "Fast, lightweight YAML loader and dumper";
+      license = "mit";
     };
   };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index dd0719747ad..7b301618215 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1,6 +1,12 @@
 { pkgs, python }:
 
-let pythonPackages = python.modules // rec {
+let
+isPy26 = python.majorVersion == "2.6";
+isPy27 = python.majorVersion == "2.7";
+optional = pkgs.lib.optional;
+optionals = pkgs.lib.optionals;
+
+pythonPackages = python.modules // rec {
 
   inherit python;
   inherit (pkgs) fetchurl fetchsvn fetchgit stdenv;
@@ -108,19 +114,18 @@ let pythonPackages = python.modules // rec {
       homepage = https://github.com/teythoon/afew;
       description = "afew is an initial tagging script for notmuch mail.";
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   };
 
 
   alot = buildPythonPackage rec {
-    rev = "5b5dbecb5a03840b751219db90bcf4dcffda315e";
+    rev = "6b5f1a8bf68eecf4364f97c71ec177cf715c081e";
     name = "alot-0.3.3_${rev}";
 
     src = fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "156q7x4wilhcgmaap7rjci3cgwm5ia85ddgx6xm6lfp5hkf5300v";
+      sha256 = "1l6b5gy0z549p54p2va1q7pxyiwb6ghqfy6gdm3kg1np9hw59rl4";
     };
 
     # error: invalid command 'test'
@@ -137,7 +142,6 @@ let pythonPackages = python.modules // rec {
       homepage = https://github.com/pazz/alot;
       description = "Terminal MUA using notmuch mail";
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -461,7 +465,6 @@ let pythonPackages = python.modules // rec {
       description = "Simple, lightweight, and easily extensible STOMP message broker";
       homepage = http://code.google.com/p/coilmq/;
       license = pkgs.lib.licenses.asl20;
-      platforms = python.meta.platforms;
     };
   });
 
@@ -481,16 +484,15 @@ let pythonPackages = python.modules // rec {
       homepage = http://pypi.python.org/pypi/configobj;
       license = pkgs.lib.licenses.bsd3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   });
 
   coverage = buildPythonPackage rec {
-    name = "coverage-3.5.3";
+    name = "coverage-3.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz";
-      md5 = "5f1f523940c473faa8a9f6ca29f78efc";
+      md5 = "67d4e393f4c6a5ffc18605409d2aa1ac";
     };
 
     meta = {
@@ -498,7 +500,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://nedbatchelder.com/code/coverage/;
       license = pkgs.lib.licenses.bsd3;
       maintainers = [ stdenv.lib.maintainers.shlevy ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -603,33 +604,43 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  distribute = buildPythonPackage (rec {
-    name = "distribute-0.6.26";
+  distribute = stdenv.mkDerivation rec {
+    name = "distribute-0.6.34";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.26.tar.gz";
-      md5 = "841f4262a70107f85260362f5def8206"; #"ecd75ea629fee6d59d26f88c39b2d291";
-
+      url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz";
+      md5 = "4576ab843a6db5100fb22a72deadf56d";
     };
 
-    buildInputs = [ pkgs.unzip ];
+    buildInputs = [ python wrapPython offlineDistutils ];
 
-    installCommand =
-      ''
-        # ehm, YES, the --verbose flags needs to be there, otherwise it tries to patch setuptools!
-        easy_install --verbose --prefix=$out .
-      '';
+    pythonPath = [ recursivePthLoader ];
 
-    # test for 27 fails
-    doCheck = false;
+    installPhase=''
+      dst="$out/lib/${python.libPrefix}/site-packages"
+      mkdir -p $dst
+      PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+      export PYTHONPATH="$dst:$PYTHONPATH"
+
+      python setup.py install --prefix="$out"
+
+      eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+      if [ -e "$eapth" ]; then
+          # move colliding easy_install.pth to specifically named one
+          mv "$eapth" $(dirname "$eapth")/${name}.pth
+      fi
+
+      rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+      wrapPythonPrograms
+    '';
 
     meta = {
       description = "Easily download, build, install, upgrade, and uninstall Python packages";
       homepage = http://packages.python.org/distribute;
       license = "PSF or ZPL";
-      platforms = python.meta.platforms;
     };
-  });
+  };
 
 
   distutils2  = buildPythonPackage rec {
@@ -858,11 +869,11 @@ let pythonPackages = python.modules // rec {
 
 
   flake8 = buildPythonPackage (rec {
-    name = "flake8-1.6.2";
+    name = "flake8-1.7.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
-      md5 = "abfdbb25d37c28e9da05f1b5c3596d1a";
+      md5 = "a7830d1a6c23e889bc1fcaa4a87f53bd";
     };
 
     buildInputs = [ nose ];
@@ -875,7 +886,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://pypi.python.org/pypi/flake8;
       license = pkgs.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -939,7 +949,6 @@ let pythonPackages = python.modules // rec {
       license = "MIT";
 
       maintainers = [ stdenv.lib.maintainers.ludo ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -996,14 +1005,12 @@ let pythonPackages = python.modules // rec {
       sha256 = "0bhiyx41kilvy04cgjbvjy2r4b6l7zz31fbrg3l6lvnqm26nihb0";
     };
 
-    buildInputs = [ pkgs.setuptools ] ++
-                  (if python.majorVersion == "2.6" then [ argparse ] else []);
+    buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse);
 
     meta = {
       description = "automatically generated zsh completion function for Python's option parser modules";
       license = "BSD";
       maintainers = [ stdenv.lib.maintainers.simons ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -1097,10 +1104,17 @@ let pythonPackages = python.modules // rec {
       description = "A comprehensive HTTP client library";
       license = pkgs.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   };
 
+  importlib = if isPy26 then (buildPythonPackage {
+    name = "importlib-1.0.2";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/i/importlib/importlib-1.0.2.tar.gz";
+      md5 = "4aa23397da8bd7c7426864e88e4db7e1";
+    };
+    doCheck = false;
+  }) else null;
 
   iptools = buildPythonPackage rec {
     version = "0.4.0";
@@ -1136,6 +1150,15 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  ipdb = buildPythonPackage {
+    name = "ipdb-0.7";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
+      md5 = "d879f9b2b0f26e0e999809585dcaec61";
+    };
+    propagatedBuildInputs = [ ipython ];
+  };
+
   jedi = buildPythonPackage (rec {
     name = "jedi-0.5b5";
 
@@ -1149,7 +1172,6 @@ let pythonPackages = python.modules // rec {
       description = "An autocompletion tool for Python that can be used for text editors.";
       license = pkgs.lib.licenses.lgpl3Plus;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -1202,7 +1224,7 @@ let pythonPackages = python.modules // rec {
       sha256 = "11qilrs4sd4c1mkd64ikrjsc2vwrshhc54n5mh4xrark9c7ayp0y";
     };
 
-    buildInputs = [ zopeInterface mock ];
+    buildInputs = [ zope_interface mock ];
 
     preConfigure = "cp test/secrets.py-dist test/secrets.py";
 
@@ -1445,7 +1467,7 @@ let pythonPackages = python.modules // rec {
       md5 = "361c8ac7a31953ab94a95cf34d9a0b2b";
     };
 
-    buildInputs = [ pkgs.unzip ];
+    buildInputs = [ pkgs.unzip six ] ++ (optionals isPy26 [ importlib ordereddict ]);
 
     propagatedBuildInputs = [ argparse jinja2 ];
 
@@ -1604,7 +1626,7 @@ let pythonPackages = python.modules // rec {
     buildInputs = [ coverage ];
   };
 
-  nose2 = buildPythonPackage rec {
+  nose2 = if isPy26 then null else (buildPythonPackage rec {
     name = "nose2-0.4.5";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose2/${name}.tar.gz";
@@ -1616,9 +1638,9 @@ let pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ six ];
     # AttributeError: 'module' object has no attribute 'collector'
     doCheck = false;
-  };
+  });
 
-  nose2Cov = buildPythonPackage rec {
+  nose2Cov = if isPy26 then null else (buildPythonPackage rec {
     name = "nose2-cov-1.0a4";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose2-cov/nose2-cov-1.0a4.tar.gz";
@@ -1627,8 +1649,8 @@ let pythonPackages = python.modules // rec {
     meta = {
       description = "nose2 plugin for coverage reporting, including subprocesses and multiprocessing";
     };
-    buildInputs = [ covCore nose2 ];
-  };
+    propagatedBuildInputs = [ covCore nose2 ];
+  });
 
   notify = pkgs.stdenv.mkDerivation (rec {
     name = "python-notify-0.1.1";
@@ -1666,7 +1688,6 @@ let pythonPackages = python.modules // rec {
       description = "A Python wrapper around notmuch";
       homepage = http://notmuchmail.org/;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -1743,6 +1764,15 @@ let pythonPackages = python.modules // rec {
   #   };
   # });
 
+  ordereddict = if isPy26 then (buildPythonPackage {
+    name = "ordereddict-1.1";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz";
+      md5 = "a0ed854ee442051b249bfad0f638bbec";
+    };
+    doCheck = false;
+  }) else null;
+
   ply = buildPythonPackage (rec {
     name = "ply-3.2";
 
@@ -1773,7 +1803,6 @@ let pythonPackages = python.modules // rec {
       license = "revised-BSD";
 
       maintainers = [ stdenv.lib.maintainers.ludo ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -1804,8 +1833,6 @@ let pythonPackages = python.modules // rec {
         tunnel -- this is how sftp works, for example.  it is written
         entirely in python (no C or platform-dependent code) and is released
         under the GNU LGPL (lesser GPL).  '';
-
-      platforms = python.meta.platforms;
     };
   };
 
@@ -1899,10 +1926,19 @@ let pythonPackages = python.modules // rec {
       '';
 
       maintainers = [ stdenv.lib.maintainers.simons ];
-      platforms = python.meta.platforms;
     };
   };
 
+  pip = buildPythonPackage {
+    name = "pip-1.2.1";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz";
+      md5 = "db8a6d8a4564d3dc7f337ebed67b1a85";
+    };
+    buildInputs = [ mock scripttest virtualenv nose ];
+    # ValueError: Working directory tests not found, or not a directory
+    doCheck = false;
+  };
 
   polib = buildPythonPackage rec {
     name = "polib-${version}";
@@ -2184,7 +2220,6 @@ let pythonPackages = python.modules // rec {
       description = "A Python wrapper for the GPGME library.";
       license = pkgs.lib.licenses.lgpl21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -2417,7 +2452,6 @@ let pythonPackages = python.modules // rec {
       license = "revised BSD";
 
       maintainers = [ stdenv.lib.maintainers.ludo ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -2983,7 +3017,6 @@ let pythonPackages = python.modules // rec {
       description = "Lightweight and extensible STOMP messaging client";
       homepage = http://bitbucket.org/hozn/stompclient;
       license = pkgs.lib.licenses.asl20;
-      platforms = python.meta.platforms;
     };
   });
 
@@ -3116,7 +3149,7 @@ let pythonPackages = python.modules // rec {
       md5 = "b7c2ff135939f605a8c54e1c13cd5d66";
     };
 
-    propagatedBuildInputs = [ zopeInterface ];
+    propagatedBuildInputs = [ zope_interface ];
 
     meta = {
       description = "Transaction management";
@@ -3135,7 +3168,7 @@ let pythonPackages = python.modules // rec {
        md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7";
      };
 
-     propagatedBuildInputs = [ zopeInterface zope_testing ];
+     propagatedBuildInputs = [ zope_interface zope_testing ];
      meta = {
        description = "A tool which computes a dependency graph between active Python eggs";
        homepage = http://thomas-lotze.de/en/software/eggdeps/;
@@ -3145,16 +3178,14 @@ let pythonPackages = python.modules // rec {
 
 
   turses = buildPythonPackage (rec {
-    name = "turses-0.2.9";
+    name = "turses-0.2.11";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
-      sha256 = "c0f32fa31e2c5fa42f5cc19f3dba4e73f0438bf36bf756ba137f2423c0ac4637";
+      sha256 = "0zd0fjb5rr5if8wp6kmi29wrkj7ypp4vz00xxb0if1kjrakczlvm";
     };
 
-    propagatedBuildInputs = [ oauth2 urwid tweepy ] ++
-                            (if python.majorVersion == "2.6" then [ argparse ]
-                                                             else []);
+    propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
 
     #buildInputs = [ tox ];
     # needs tox
@@ -3170,11 +3201,11 @@ let pythonPackages = python.modules // rec {
   });
 
   tweepy = buildPythonPackage (rec {
-    name = "tweepy-1.12";
+    name = "tweepy-1.13";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
-      sha256 = "66d728527ab3d5f5e4d6725654783f99169172678105f609d14353f6626c1315";
+      sha256 = "1gaki8qvzi72jaj5xls51lc6fgs1xnm9c6jgpirwklpdn7y8wyy5";
     };
 
     meta = {
@@ -3194,7 +3225,7 @@ let pythonPackages = python.modules // rec {
       sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn";
     };
 
-    propagatedBuildInputs = [ zopeInterface ];
+    propagatedBuildInputs = [ zope_interface ];
 
     # Generate Twisted's plug-in cache.  Twited users must do it as well.  See
     # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
@@ -3215,7 +3246,6 @@ let pythonPackages = python.modules // rec {
       license = "MIT";
 
       maintainers = [ stdenv.lib.maintainers.ludo ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3273,7 +3303,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://excess.org/urwid;
       license = pkgs.lib.licenses.lgpl21;
       maintainers = [ stdenv.lib.maintainers.garbas ];
-      platforms = python.meta.platforms;
     };
   });
 
@@ -3478,16 +3507,17 @@ let pythonPackages = python.modules // rec {
       description = "Structured Configuration Library";
       homepage = http://pypi.python.org/pypi/ZConfig;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
 
   zc_lockfile = buildPythonPackage rec {
-    name = "zc_lockfile-${version}";
+    name = "zc.lockfile-${version}";
     version = "1.0.2";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zc.lockfile/zc.lockfile-${version}.tar.gz";
+      url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz";
       md5 = "f099d4cf2583a0c7bea0146a44dc4d59";
     };
 
@@ -3495,6 +3525,7 @@ let pythonPackages = python.modules // rec {
       description = "Inter-process locks";
       homepage =  http://www.python.org/pypi/zc.lockfile;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
@@ -3514,6 +3545,7 @@ let pythonPackages = python.modules // rec {
       description = "A daemon process control library and tools for Unix-based systems";
       homepage = http://pypi.python.org/pypi/zdaemon;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
@@ -3557,22 +3589,144 @@ let pythonPackages = python.modules // rec {
       md5 = "6f180c6897a1820948fee2a6290503cd";
     };
 
-    propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zopeInterface zope_event ];
+    propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event ];
 
     meta = {
       description = "An object-oriented database for Python";
       homepage = http://pypi.python.org/pypi/ZODB3;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_broken = buildPythonPackage rec {
+    name = "zope.broken-3.6.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip";
+      md5 = "eff24d7918099a3e899ee63a9c31bee6";
+    };
+
+    buildInputs = [ pkgs.unzip zope_interface ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_browser = buildPythonPackage rec {
+    name = "zope.browser-1.3";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip";
+      md5 = "4ff0ddbf64c45bfcc3189e35f4214ded";
+    };
+
+    buildInputs = [ pkgs.unzip ];
+
+    propagatedBuildInputs = [ zope_interface ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_component = buildPythonPackage rec {
+    name = "zope.component-4.0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz";
+      md5 = "8c2fd4414ca23cbbe014dcaf911acebc";
+    };
+
+    propagatedBuildInputs = [
+      zope_configuration zope_event zope_i18nmessageid zope_interface
+      zope_testing
+    ];
+
+    # ignore tests because of a circular dependency on zope_security
+    doCheck = false;
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_configuration = buildPythonPackage rec {
+    name = "zope.configuration-4.0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz";
+      md5 = "40b3c7ad0b748ede532d8cfe2544e44e";
+    };
+
+    propagatedBuildInputs = [ zope_i18nmessageid zope_schema ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_container = buildPythonPackage rec {
+    name = "zope.container-3.11.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz";
+      md5 = "fc66d85a17b8ffb701091c9328983dcc";
+    };
+
+    propagatedBuildInputs = [
+      zodb3 zope_broken zope_dottedname zope_publisher
+      zope_filerepresentation zope_lifecycleevent zope_size
+      zope_traversing
+    ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_contenttype = buildPythonPackage rec {
+    name = "zope.contenttype-3.5.5";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.zip";
+      md5 = "c6ac80e6887de4108a383f349fbdf332";
+    };
+
+    buildInputs = [ pkgs.unzip ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_dottedname = buildPythonPackage rec {
+    name = "zope.dottedname-3.4.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz";
+      md5 = "62d639f75b31d2d864fe5982cb23959c";
+    };
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
 
   zope_event = buildPythonPackage rec {
-    name = "zope_event-${version}";
+    name = "zope.event-${version}";
     version = "4.0.2";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.event/zope.event-${version}.tar.gz";
+      url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz";
       md5 = "e08dd299d428d77a1cfcbfe841b81872";
     };
 
@@ -3580,83 +3734,285 @@ let pythonPackages = python.modules // rec {
       description = "An event publishing system";
       homepage = http://pypi.python.org/pypi/zope.event;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
 
   zope_exceptions = buildPythonPackage rec {
-     name = "zopeexceptions-${version}";
+     name = "zope.exceptions-${version}";
      version = "4.0.5";
 
      src = fetchurl {
-       url = "http://pypi.python.org/packages/source/z/zope.exceptions/zope.exceptions-${version}.tar.gz";
+       url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz";
        md5 = "c95569fcb444ae541777de7ae5297492";
      };
 
-     propagatedBuildInputs = [ zopeInterface ];
+     propagatedBuildInputs = [ zope_interface ];
 
      meta = {
        description = "Exception interfaces and implementations";
        homepage = http://pypi.python.org/pypi/zope.exceptions;
        license = "ZPL";
+       maintainers = [ stdenv.lib.maintainers.goibhniu ];
      };
    };
 
 
+  zope_filerepresentation = buildPythonPackage rec {
+    name = "zope.filerepresentation-3.6.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz";
+      md5 = "4a7a434094f4bfa99a7f22e75966c359";
+    };
+
+    propagatedBuildInputs = [ zope_schema ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_i18n = buildPythonPackage rec {
+    name = "zope.i18n-3.7.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz";
+      md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7";
+    };
+
+    propagatedBuildInputs = [ pytz zope_component ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_i18nmessageid = buildPythonPackage rec {
+    name = "zope.i18nmessageid-4.0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz";
+      md5 = "c4550f7a0b4a736186e6e0fa3b2471f7";
+    };
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_lifecycleevent = buildPythonPackage rec {
+    name = "zope.lifecycleevent-3.6.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz";
+      md5 = "3ba978f3ba7c0805c81c2c79ea3edb33";
+    };
+
+    propagatedBuildInputs = [ zope_event zope_component ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_location = buildPythonPackage rec {
+    name = "zope.location-4.0.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz";
+      md5 = "cd0e10d5923c95e352bcde505cc11324";
+    };
+
+    propagatedBuildInputs = [ zope_proxy ];
+
+    # ignore circular dependency on zope_schema
+    installCommand = ''
+      easy_install --always-unzip --no-deps --prefix="$out" .
+    '';
+
+    doCheck = false;
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_proxy = buildPythonPackage rec {
+    name = "zope.proxy-4.1.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.1.tar.gz";
+      md5 = "c36691f0abee7573f4ddcc378603cefd";
+    };
+
+    propagatedBuildInputs = [ zope_interface ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_publisher = buildPythonPackage rec {
+    name = "zope.publisher-3.12.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz";
+      md5 = "495131970cc7cb14de8e517fb3857ade";
+    };
+
+    propagatedBuildInputs = [
+      zope_browser zope_contenttype zope_i18n zope_security
+    ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_schema = buildPythonPackage rec {
+    name = "zope.schema-4.2.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz";
+      md5 = "e7e581af8193551831560a736a53cf58";
+    };
+    
+    propagatedBuildInputs = [ zope_event zope_interface zope_testing ];
+
+    # ignore circular dependency on zope_location
+    installCommand = ''
+      easy_install  --no-deps --prefix="$out" .
+    '';
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_security = buildPythonPackage rec {
+    name = "zope.security-3.7.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.security/zope.security-3.7.4.tar.gz";
+      md5 = "072ab8d11adc083eace11262da08630c";
+    };
+
+    propagatedBuildInputs = [
+      zope_component zope_configuration zope_i18nmessageid zope_schema
+      zope_proxy
+    ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_size = buildPythonPackage rec {
+    name = "zope.size-3.4.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz";
+      md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d";
+    };
+
+    propagatedBuildInputs = [ zope_i18nmessageid zope_interface ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
   zope_testing = buildPythonPackage rec {
-    name = "zope_testing-${version}";
+    name = "zope.testing-${version}";
     version = "4.1.1";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.testing/zope.testing-${version}.tar.gz";
+      url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz";
       md5 = "2e3829841090d6adff718b8b73c87b6b";
     };
 
-    propagatedBuildInputs = [ zopeInterface zope_exceptions ];
+    propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
 
     meta = {
       description = "Zope testing helpers";
       homepage =  http://pypi.python.org/pypi/zope.testing;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
 
   zope_testrunner = buildPythonPackage rec {
-    name = "zope_testrunner-${version}";
+    name = "zope.testrunner-${version}";
     version = "4.0.4";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.testrunner/zope.testrunner-${version}.zip";
+      url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip";
       md5 = "cd648fc865a79aa0950e73342836dd4c";
     };
 
     buildInputs = [ pkgs.unzip ];
 
-    propagatedBuildInputs = [ subunit zopeInterface zope_exceptions zope_testing ];
+    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing ];
 
     meta = {
       description = "A flexible test runner with layer support";
       homepage = http://pypi.python.org/pypi/zope.testrunner;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    };
+  };
+
+
+  zope_traversing = buildPythonPackage rec {
+    name = "zope.traversing-3.13.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip";
+      md5 = "eaad8fc7bbef126f9f8616b074ec00aa";
+    };
+
+    buildInputs = [ pkgs.unzip ];
+
+    propagatedBuildInputs = [ zope_location zope_security zope_publisher ];
+
+    meta = {
+        maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
 
-  zopeInterface = buildPythonPackage {
-    name = "zope-interface-3.6.1";
+  zope_interface = buildPythonPackage rec {
+    name = "zope.interface-4.0.3";
+
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.interface/zope.interface-3.6.1.tar.gz";
-      sha256 = "294c3c0529e84169177bce78d616c768fa1c028a2fbc1854f615d32ed88dbc6c";
+      url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz";
+      md5 = "1ddd308f2c83703accd1696158c300eb";
     };
 
+    propagatedBuildInputs = [ zope_event ];
+
     meta = {
       description = "Zope.Interface";
       homepage = http://zope.org/Products/ZopeInterface;
       license = "ZPL";
+      maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
+
   # XXX: link broken
   # hgsvn = buildPythonPackage rec {
   #   name = "hgsvn-0.1.8";
@@ -3693,7 +4049,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://liw.fi/cliapp/;
       description = "Python framework for Unix command line programs.";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3714,7 +4069,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://liw.fi/tracing/;
       description = "Python debug logging helper.";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3735,7 +4089,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://liw.fi/ttystatus/;
       description = "Progress and status updates on terminals for Python.";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3758,7 +4111,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://liw.fi/larch/;
       description = "Python B-tree library.";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3778,7 +4130,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://graphite.wikidot.com/;
       description = "Fixed size round-robin style database";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3791,7 +4142,7 @@ let pythonPackages = python.modules // rec {
       sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg";
     };
 
-    buildInputs = [ txamqp zopeInterface twisted ];
+    buildInputs = [ txamqp zope_interface twisted ];
     propagatedBuildInputs = [ whisper ];
 
     # error: invalid command 'test'
@@ -3801,7 +4152,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://graphite.wikidot.com/;
       description = "Backend data caching and persistence daemon for Graphite";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3820,7 +4170,6 @@ let pythonPackages = python.modules // rec {
       homepage = https://launchpad.net/txamqp;
       description = "Library for communicating with AMQP peers and brokers using Twisted";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
@@ -3842,7 +4191,6 @@ let pythonPackages = python.modules // rec {
       homepage = http://graphite.wikidot.com/;
       description = "Enterprise scalable realtime graphing";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
-      platforms = python.meta.platforms;
     };
   };
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index af21e3ac1ad..7a4a770ff2d 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -47,7 +47,6 @@ with (import ./release-lib.nix);
   chatzilla = linux;
   cksfv = all;
   classpath = linux;
-  consolekit = linux;
   coreutils = all;
   cpio = all;
   cron = linux;
@@ -349,7 +348,6 @@ with (import ./release-lib.nix);
   };
 
   firefox36Pkgs.firefox = linux;
-  firefox17Pkgs.firefox = linux;
   firefox18Pkgs.firefox = linux;
 
   gnome = {